SAP-常见取数逻辑-001-用户信息
大家可以关注我个人公众号以及知识星球,所有分享内容,会在公众号第一时间推送,且阅读排版更好。
愿大家的学习,轻松且愉快。
如果大家觉得有用,希望转发关注,谢谢
导读
本文简单分享一下SAP中账号基本信息的取值逻辑。
本文的取值表字段,是以ECC 6.0为测试环境。
正文
SAP账号的基本信息,主要是通过 BNAME(SAP账号ID), PERSNUMBER(人员编号)以及ADDRNUMBER(地址编号)作为关键字进行关联取值。如下图所示。
人员基本信息
TITLE(标题);NAME_LAST(姓);NAME_FIRST(名);NAME_TEXT(完整名称);LANGU(语言)
上述字段均存储在ADRP中;
根据SAP账号ID,在表USR21中,取PERSNUMBER(人员编号),再根据人员编号,在表ADRP中取到上述字段。
如下图所示:
SQL 代码伪代码如下:
SELECT SINGLE ADRP~NAME_FIRST ADRP~NAME_LAST
INTO (LV_NAME_FIRST,LV_NAME_LAST)
FROM ADRP
INNER JOIN USR21
ON ADRP~PERSNUMBER = USR21~PERSNUMBER
WHERE USR21~BNAME = SY-UNAME
或者直接通过视图V_USERNAME取值,也是可以的,
SQL 代码伪代码如下:
select ADRP~NAME_FIRST ADRP~NAME_LAST
into (LV_NAME_FIRST,LV_NAME_LAST)
from V_USERNAME
where BNAME = SY-UNAME
通信信息(以邮件地址为例)
根据SAP账号ID,在表USR21中,取PERSNUMBER(人员编号),再根据PERSNUMBER(人员编号),在表ADR6中取到邮件地址字段。
SQL 代码伪代码如下:
SELECT adr6~smtp_addr "Email
INTO ( l_email )
FROM usr21
INNER JOIN adr6 ON adr6~persnumber = usr21~persnumber
WHERE usr21~bname = sy-uname
其他常见信息参考如下
1 ADR2 : 电话号码 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
2.ADR3:传真号 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
3.ADR4:电传号码 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
4.ADR5:电传号码 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
5.ADR6:SMTP 编号 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10))
6.ADR7:远程邮件地址 (R/3 - R/3; 业务地址服务) (ADDRNUMBER(10),PERSNUMBER(10))
7.ADRC:地址 (业务地址服务) (ADDRNUMBER(10))
8.ADCP:个人/地址分配 (业务地址服务)(ADDRNUMBER(10),PERSNUMBER(10)),纪录用户哪些数据被维护如:FLAGCOMM3为'X'表示传真号被维护;
9.ADRP:个人(办公地址管理)(PERSNUMBER(10))
shenyu0416: good good good!解决了我的疑问!
2301_77472383: 楼主讲的真的通透,全网看下来,目前楼主的解说是最通俗且形象的,支持大佬多多分享
zdmz666888whm: UB转储采购订单内填写的收货工厂的采购组织要分配给供货工厂吗?
不说话装糕手.: 看的真过瘾
2301_79357515: 作为一个初级的实施顾问,目前遇到了一个用户提到的问题,即MD04显示的界面里这个delivery shcedule是一天多行的不汇总,但如博主分享 的给供应商releas的版本中一天的交货数量又是汇总的 查了很久 也没有找到原因 是reschedule horizon天数设置为1的原因吗?