ABAP 创建SAP账号和分配账号角色程序

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.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值