スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ユーザマスタ登録BAPI

BAPI_USER_CREATE1

概要

ユーザマスタを新規登録するBAPIです。集中ユーザ管理(CUA)のクライアントで当BAPIを実行した場合は別途ユーザへのシステム割当も実行する必要があります。
ユーザへの権限ロールの割当機能はないため、別のBAPIで権限の割当を行う必要があります。

パラメータ

ユーザ名、パスワードなどのログオン関連データやアドレスやデフォルト値などのパラメータから構成されています。
パラメータ一覧
種別パラメータ説明
インポートUSERNAMEユーザ名
NAME_INユーザ名 (入力例)
LOGONDATAログオンデータのある構造
PASSWORDパスワード
DEFAULTSユーザデフォルトを持つ構造
ADDRESSアドレスデータ
COMPANY会社アドレス用会社コード
SNC安全なネットワーク通信データ
REF_USER権限参照用ユーザ
ALIASユーザ名エイリアス
EX_ADDRESS使用禁止
UCLASSライセンス関連ユーザ分類
FORCE_SYSTEM_ASSIGNMENTシステム割当を常に実行 (セントラルシステムで呼び出した場合も含む)
SELF_REGISTERセルフ登録の作成
TECH_USERテクニカルユーザ
LOCK_LOCALLYロック済みユーザ登録
テーブルPARAMETERユーザパラメータのあるテーブル
ORETURNリターン構造
ADDTEL追加TEL
ADDFAX追加FAX
ADDTTX追加TTX
ADDTLX追加TLX
ADDSMTP追加SMTP
ADDRML追加RML
ADDX400追加X400
ADDRFC追加RFC
ADDPRT追加PRT
ADDSSF追加SSF
ADDURI追加URI
ADDPAG追加PAG
ADDCOMREM追加COMREM
GROUPSユーザグループ一覧用転送構造
PARAMETER1パラメータ置換 (長さ18 -> 40)
EXTIDHEADユーザの外部IDのヘッダデータ
EXTIDPARTユーザの外部ID用長項目の部分

ログオンデータ関連のパラメータを設定する

ユーザ名(USERNAME)に登録するユーザのIDを設定します。NAME_INのパラメータにユーザIDを設定した場合はこのパラメータが優先されて利用されます。パスワード(PASSWORD)にはユーザの初期パスワードを設定します。初期パスワードは初回ログオン時に変更が必要になります。

ログオンデータのある構造(LOGONDATA)には、ユーザタイプやユーザグループなどを設定します。ユーザタイプは、Aがダイアログユーザ、Bがシステムユーザ、C通信データユーザ、Lが参照(ログオン不可)ユーザ、Sがサービスユーザです。
設定例:インポートパラメータ
項目項目名称設定値
USERNAMEユーザ名USER01
NAME_INユーザ名 (入力例)
設定例:PASSWORD
項目項目名称設定値
BAPIPWD新パスワードXXXXXXXX
設定例:LOGONDATA
項目項目名称設定値
USTYPユーザタイプA
CLASSユーザグループSUPER
TZONEタイムゾーンJAPAN

アドレス、初期値のパラメータを設定する

アドレスデータ(ADDRESS)にはユーザの姓、名を設定します。ユーザフルネームを姓、名の順で表示したい場合は姓名編集の設定もします。
ユーザデフォルト(DEFAULTS)には日付書式やログオン言語などを設定します。日付書式「5」はYYYY/MM/DDを表します。10進書式「X」は小数点がピリオドの書式です。印刷パラメータ2に「G」を設定すると即時印刷の設定になります。
設定例:ADDRESS
項目項目名称設定値
FIRSTNAMEテスト
LASTNAME太郎
NAMEFORMAT姓名編集01
NAMECOUNTRY姓名編集規則の国コードJP
設定例:DEFAULTS
項目項目名称設定値
SPLDスプール: 出力デバイスLP01
SPDB印刷パラメータ2G
DATFM日付書式5
DCPFM10進書式X
LANGUログオン言語J

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

ユーザパラメータはPARAMETER1に設定します。会社コードなどのSET/GETパラメータIDとパラメータ値をペアで設定します。
設定例:PARAMETER1
項目項目名称設定値(1)設定値(2)
PARIDSET/GETパラメータIDBUKVKO
PARVAパラメータ値10001000

サンプルコード

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

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

* パラメータに値を設定する
LV_USERNAME         = 'USER01'.   " ユーザ名
LS_PASSWORD-BAPIPWD = 'XXXXXXXX'. " パスワード
LS_LOGONDATA-USTYP  = 'A'.        " ユーザタイプ
*             :
*          (以下略)

CALL FUNCTION 'BAPI_USER_CREATE1'
  EXPORTING
    USERNAME   = LV_USERNAME
    LOGONDATA  = LS_LOGONDATA
    PASSWORD   = LS_PASSWORD
    DEFAULTS   = LS_DEFAULTS
    ADDRESS    = LS_ADDRESS
  TABLES
    RETURN     = LT_RETURN
    PARAMETER1 = LT_PARAMETER1

  .
* エラーメッセージの取得
READ TABLE LT_RETURN WITH KEY TYPE = 'E'.

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

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

このブログを気に入って頂いた方は、リンクを張っていただけると嬉しいです。

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。