SAP MM 如何通过SAP User ID拿到User的基本信息?

2021-03-01 11:02:26 浏览数 (2)

笔者所在的D项目,有一个功能需求就是采购订单收货后,需要发送给一个邮件给到申请采购这些物料的业务部门的人,也就是要发邮件给采购订单对应的采购申请的creator。笔者在撰写功能说明书的时候,通过采购订单号找到采购申请号码,去采购申请表里找到了created by字段值,拿到了采购申请创建者的user id。此时,需要通过这个user id 去找到它的email地址。看起来简单,费了点周折。

1, 试图在SU01D界面里Email字段处按F1帮助按钮,得到的是一个structure,没能找到对应的Table。

使用SE84以及SE11等事务代码也看不出该structure与哪些表有关。

2, 上网找资料,发现了Function Module:SUSR_USER_ADDRESS_READ.

使用我自己的userid来作为参数,执行下这个FM ,

这个FM执行结果能取到user的姓名等基本信息。但是没能取到用户主数据中的email地址信息。

3, 最后找到了一些有用的表,比如table usr01/usr03/usr21etc。经过调查,可以从USR21表里取到该用户的personnumber / address number, 然后通过Person number去ADR6表里取email地址信息。

Get PERSNUMBER from USR21 table whereUSR21-BNAME = PR creator;

Then goto table ADR6 to get ADR6-SMTP_ADDR(email) where ADR6-PERSNUMBER = USR21-PERSNUMBER.

ADR*系列的表,用于存储用户,供应商,客户等地址信息,包括电话号码,传真号码,以及邮政编码等等。

2017-11-09 写于无锡市新吴区

0 人点赞