REPORT z_barry_user_pass.
TABLES: usr02,xu400 .
DATA: msgid LIKE sy-msgid,
msgno LIKE sy-msgno,
param.
usr02-bname = 'BARRY'.
xu400-newcode = 'BARRY'.
CALL 'XXPASS'
ID 'CODE' FIELD xu400-newcode
ID 'CODX' FIELD usr02-bcode
ID 'NAME' FIELD usr02-bname
ID 'VERS' FIELD usr02-codvn
ID 'MESG' FIELD msgno
ID 'ARBG' FIELD msgid.
WRITE usr02-bcode .
友情提示:运行CALL 'XXPASS'前最好跟Basis搞好关系,在你运行后好让他给你解除用户锁定,哈哈
如果仅仅是验证密码:
CALL FUNCTION 'SUSR_CHECK_LOGON_DATA'
EXPORTING
auth_method = 'P'
userid = 'barry'
password = 'barry'
EXCEPTIONS
OTHERS = 25.
IF sy-subrc <> 0.
WRITE 'Error!'.
ELSE.
WRITE 'Correct!'.
ENDIF.
由于sap的维护费用和sap系统内用户数量有关,且比较贵,
所以考虑把系统用采用两中方式1、下查询外部系统用户表(usr02)为了和SAP用户表对应好记命名,外部系统用户查询结果为空时调用RFC(ZUSR_LOGIN),设置返回值,根据返回值确定sap系统是否有此用户,登录密码是否正确,JSP页面再做相应提示,密码不正确,还是用户名为空。