DATA:ls_data TYPE bapilogond,
ls_addr TYPE bapiaddr3,
ls_defu TYPE bapidefaul,
ls_pwd TYPE xuncode,
lt_return01 TYPE TABLE OF bapiret2,
lt_bapiparam TYPE TABLE OF bapiparam,
ls_bapiparam TYPE bapiparam.
DATA:lt_role TYPE TABLE OF bapiagr,
ls_role TYPE bapiagr,
lt_return02 TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2.
DATA:ls_bname TYPE xubname,
lv_name TYPE bapibname-bapibname VALUE 'TEST001'.
SELECT SINGLE bname FROM usr21 INTO ls_bname WHERE bname = lv_name.
IF sy-subrc NE 0 .
*--------------------------------------------------------------------*创建账号
ls_data-gltgv = sy-datum.
ls_data-gltgb = '99991231'.
ls_data-ustyp = 'A'.
ls_data-tzone = 'UTC+8'.
ls_defu-langu = '1'.
ls_defu-spld = 'LP01'.
ls_defu-spdb = 'G'.
ls_defu-datfm = '6'.
ls_defu-dcpfm = 'X'.
ls_defu-timefm = '0'.
ls_defu-timefm = '0'.
ls_pwd = 'Bdr2019@'.
ls_addr-lastname = lv_name.
ls_bapiparam-parid = 'EVO'.
ls_bapiparam-parva = '03'.
APPEND ls_bapiparam TO lt_bapiparam.
CALL FUNCTION 'BAPI_USER_CREATE1'
EXPORTING
username = lv_name
logondata = ls_data
password = ls_pwd
defaults = ls_defu
address = ls_addr
TABLES
return = lt_return01
parameter = lt_bapiparam.
*--------------------------------------------------------------------*分配账号角色
ls_role-agr_name = 'Z_GENERAL_ROLE'.
ls_role-from_dat = sy-datum.
ls_role-to_dat = '99991231'.
SELECT SINGLE text FROM agr_texts INTO ls_role-agr_text WHERE agr_name = ls_role-agr_name AND spras = '1'.
APPEND ls_role TO lt_role.
CALL FUNCTION 'BAPI_USER_ACTGROUPS_ASSIGN'
EXPORTING
username = lv_name
TABLES
activitygroups = lt_role[]
return = lt_return02[].
ENDIF.
ABAP 创建SAP账号和分配账号角色程序
最新推荐文章于 2024-05-02 19:09:55 发布