通过CUA中的BAPI更改密码

2020-08-30 20:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 我们需要使用BAPI通过C...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们需要使用BAPI通过CUA系统重置用户密码。

我们正在使用BAPI_USER_CHANGE并在BAPIPWD结构中设置以下参数:

 USERNAME = MyUser
 密码= NewPassword123
 PASSWORDX = X 

在非CUA系统上运行时它可以工作,但是在CUA上,我们收到一条错误消息:

"无法在此系统中维护用户属性'新密码'。未对用户MyUser进行任何更改。"

"地址"选项卡中的所有SCUM设置均已设置为"全局"。

我们如何在CUA中重置密码? 也许我们应该使用另一个BAPI吗?

2条回答
me_for_i
2020-08-30 21:06

BAPI遵循SCUM中维护的规则,并且如果"初始密码"设置为全局,我找不到在特定子系统中重置用户密码的方法。

< 您可以做的是在中央系统中使用cl_identity类(由BAPI调用),并使用方法if_identity_cua〜set_cua_password。 您的代码如下(未经测试):

 cl_identity => retrieve_for_update(
   出口
     it_bname =值#((<用户名>))
   输入
     et_node_root = data(root_node))。

 root_node-> idref-> if_identity_cua〜set_cua_password(
   iv_pdwplain = <新密码>
   it_cua_systems =值#((<子系统>)))。

 cl_identity => do_save(
   出口
     iv_update_task = if_identity => co_false
   输入
     ev_rejected =数据(已拒绝)
     eo_msg_buffer = data(msg_buffer))。

 如果拒绝= abap_false。
   提交工作。
 其他。
   回滚工作。
 万一。
 

当然,使用此解决方案需您自担风险:-)。

关于Nicolas

一周热门 更多>