コンテンツフレーム起動

プロシージャの文書化  権限チェックの定義 文書を SAP ライブラリストラクチャに組み込む

Selektionsbildverarbeitung

トランザクション TZ80 には、プログラムに権限チェックを含める方法についての例が入っています。 

以下は航空便の予約システムの例で、2 つの画面で構成されています。最初の画面では、照会を選択して、航空便のデータおよびリクエスト詳細を入力することができます。 変更を選択して、データを変更することもできます。

 

トランザクション TZ80 には、権限オブジェクトS_CARRID が割り当てられています。この権限オブジェクトには 2 つの項目があります。最初の項目航空会社には、一般的な値を入力することができます。2 番めの項目アクティビティでは、登録 (01) 、変更 (02) 、照会 (02) の中から選択することができます。

 

新しくトランザクションをプログラムする場合、トランザクションコードの定義で権限オブジェクトを指定することができます。権限オブジェクトの入力項目の横に、という押ボタンがあります。

 

トランザクション TZ80 を開始できるようにするには、項目アクティビティに値照会 (03) および項目航空会社に任意の値 (‘*’ など) が入った、オブジェクト S_CARRID のユーザマスタレコードに対する権限が必要です。

 注記

標準トランザクションバリアントの更新を許可 は、トランザクションにデフォルトバリアントを登録できることを示します。追加情報については、トランザクション SHD0 のオンラインマニュアルを参照してください。

Authority-Check 命令を使用すると、より高度な権限チェックを行うことができます。

トランザクション TZ80 内では、権限オブジェクトS_CARRID のユーザマスタレコードに対する適切な権限を持っていれば、航空便のデータを照会および変更することができます。

*&------------------------------------------------------------*

*&      Module  USER_COMMAND_0100  INPUT

*&------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.
  CASE OK_CODE.
    WHEN 'SHOW'.
  
   AUTHORITY-CHECK OBJECT 'S_CARRID'
         
ID 'CARRID' FIELD '*'
         
ID 'ACTVT'  FIELD '03'.

      IF SY-SUBRC NE 0. MESSAGE E009.ENDIF.
      
   MODE = CON_SHOW.
      
   SELECT SINGLE * FROM  SPFLI
         
    WHERE  CARRID      = SPFLI-CARRID
         
    AND    CONNID      = SPFLI-CONNID.
      
   IF SY-SUBRC NE 0.
                  MESSAGE E005 WITH SPFLI-CARRID SPFLI-CONNID.

      
   ENDIF.
      
   CLEAR OK_CODE.
      
   SET SCREEN 200.
    WHEN 'CHNG'.

  
   AUTHORITY-CHECK OBJECT 'S_CARRID'
         
ID 'CARRID' FIELD '*'
         
ID 'ACTVT'  FIELD '02'.
  
   IF SY-SUBRC NE 0. MESSAGE E010.ENDIF.
  
   MODE = CON_CHANGE.
  
   SELECT SINGLE * FROM  SPFLI
         
    WHERE  CARRID      = SPFLI-CARRID
         
    AND    CONNID      = SPFLI-CONNID.
  
   IF SY-SUBRC NE 0.
                  MESSAGE E005 WITH SPFLI-CARRID SPFLI-CONNID.

  
   ENDIF.
  
   OLD_SPFLI = SPFLI.
  
   CLEAR OK_CODE.
  
   SET SCREEN 200.
  ENDCASE.

ENDMODULE.                  " USER_COMMAND_0100  INPUT

トランザクションで照会機能を選択すると、AUTHORITY-CHECK 命令によって、S_CARRID 権限オブジェクトの ACTVT 項目の値 ‘03’ がチェックされます。変更機能を選択した場合は、ACTVT 項目に値 ‘02’ が表示される必要があります。

ユーザマスタレコードでの権限設定の追加情報については、「ユーザと権限」を参照してください。

 

 

 

 

コンテンツフレーム終了