ユーザロール割当BAPI

BAPI_USER_ACTGROUPS_ASSIGN

概要

ユーザに権限ロールを割り当てるBAPIです。ユーザをCUA管理している場合は別のBAPIでロール設定を行います。

パラメータ

主なパラメータはユーザ名と活動グループ割当です。活動グループには現在割当済みのロールも含め割当てをする全ロールを設定します。現在割当済みのロールを活動グループ割当(ACTIVITYGROUPS)に設定しなかった場合は、そのロール割当は解除されます。
尚、「活動グループ」はロールの古い呼び方です。
パラメータ一覧
種別パラメータ説明
インポートUSERNAMEユーザ名
テーブルACTIVITYGROUPS全ユーザ活動グループ割当
RETURNリターン構造

インポートパラメータを設定する

ロールを付与するユーザIDを指定します。
設定例:インポートパラメータ
項目項目名称設定値
USERNAMEユーザ名USER01

ユーザロールのパラメータを設定する

全ユーザ活動グループ割当(ACTIVITYGROUPS)には、ロール名、開始日、終了日の項目を設定します。
設定例:ACTIVITYGROUPS
項目項目名称設定値
AGR_NAMEロール名Z_ACCOUNTING
FROM_DAT開始日2015/01/01
TO_DAT終了日9999/12/31

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。ユーザロール割当のBAPIの内部ではコミットされるため、ロールバックすることはできません。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LV_USERNAME       TYPE BAPIBNAME-BAPIBNAME,
      LS_ACTIVITYGROUPS TYPE BAPIAGR,
      LT_ACTIVITYGROUPS TYPE TABLE OF BAPIAGR,
      LT_RETURN         TYPE TABLE OF BAPIRET2.

* パラメータに値を設定する
LV_USERNAME                = 'USER01'.       " ユーザ名
LS_ACTIVITYGROUPS-AGR_NAME = 'Z_ACCOUNTING'. " ロール名
LS_ACTIVITYGROUPS-FROM_DAT = '20150101'.     " 開始日
LS_ACTIVITYGROUPS-TO_DAT   = '9999123'.      " 終了日
*             :
*          (以下略)

CALL FUNCTION 'BAPI_USER_ACTGROUPS_ASSIGN'
  EXPORTING
    USERNAME       = LV_USERNAME
  TABLES
    ACTIVITYGROUPS = LT_ACTIVITYGROUPS
    RETURN         = LT_RETURN
  .
* エラーメッセージの取得
READ TABLE LT_RETURN WITH KEY TYPE = 'E'.

* エラーメッセージがない場合
IF SY-SUBRC <> 0.
  " 正常処理
ELSE.
  " エラー処理
ENDIF.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

2017年:ブログをリニューアルしました。(旧Zの高速道路)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク