SAP MM 如何通过SAP User ID拿到User的基本信息?
笔者所在的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.
使用我自己的user id来作为参数,执行下这个FM ,
这个FM执行结果能取到user的姓名等基本信息。但是没能取到用户主数据中的email地址信息。
3, 最后找到了一些有用的表,比如table usr01/usr03/usr21 etc。经过调查,可以从USR21表里取到该用户的person number / address number, 然后通过Person number去ADR6表里取email地址信息。
Then get PERSNUMBER from USR21 table where USR21-BNAME = PR creator;
Then goto table ADR6 to get ADR6-SMTP_ADDR (email) where ADR6-PERSNUMBER = USR21-PERSNUMBER.
ADR*系列的表,用于存储用户,供应商,客户等地址信息,包括电话号码,传真号码,以及邮政编码等等。