读取内部表中的记录并将值插入字段

2020-09-10 17:03发布

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

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


您好,我已经建立了一个内部表,其中包含以下字段,并且内部连接了3个HR表,如您所见。 接下来,我需要读取i_employee中的每个记录,以确定PERNR和CHIEF是否相同。 如果它们相同,则需要在i_employee-approver中放置一个" Y";如果它们不相同,请在i_employee-approver中放置一个" N"。 批准人应位于每条记录的末尾。

代码:

表格:
pa0001,
pa0105,
pa0002。

类型:
t_pernr的开始,
pernr类型pa0001-pernr,
werks类型pa0001-werks,
btrtl类型pa0001-btrtl,
orgeh类型pa0001-orgeh,
bukrs型pa0001-bukrs,
kostl型pa0001-kostl,
vorna型pa0002-vorna,
nachn型pa0002-nachn,
usrid型pa0105-usrid,
usrid_long型pa0105- usrid_long,
计划TYPE pa0001-plans,
首席persno,
批准人,
t_pernr的结尾。

数据:i_employee带有标题行的t_pernr类型表。

数据:w_employee TYPE t_pernr。

*通过PERNR将所有表连接在一起,并用作提取必要字段的键。
SELECT pa0001〜pernr pa0001〜werks pa0002〜vorna pa0002〜nachn pa0001〜btrtl pa0001 〜orgeh pa0001〜bukrs pa0001〜kostl
pa0105〜usrid pa0105〜usrid_long pa0001〜plans
到表i_employee
的对应字段
从pa0001的内部联接pa0002到pa0001〜pernr = pa0002〜pernr的内部联接pa0105到pa0001 〜pernr = pa0105〜pernr。


*将员工职位传递给FM以获取负责人/e xpense批准者ID
呼叫功能'Z_HR_GET_MGR_BY_ORG'
导出
计划= i_employee-plans
导入
mgr_pernr = i_employee-chief。

IF i_employe-chief EQ i_employ 。
i_employee-approver ='Y'。
ELSE。
i_employee-approver ='N'。
ENDIF。

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

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


您好,我已经建立了一个内部表,其中包含以下字段,并且内部连接了3个HR表,如您所见。 接下来,我需要读取i_employee中的每个记录,以确定PERNR和CHIEF是否相同。 如果它们相同,则需要在i_employee-approver中放置一个" Y";如果它们不相同,请在i_employee-approver中放置一个" N"。 批准人应位于每条记录的末尾。

代码:

表格:
pa0001,
pa0105,
pa0002。

类型:
t_pernr的开始,
pernr类型pa0001-pernr,
werks类型pa0001-werks,
btrtl类型pa0001-btrtl,
orgeh类型pa0001-orgeh,
bukrs型pa0001-bukrs,
kostl型pa0001-kostl,
vorna型pa0002-vorna,
nachn型pa0002-nachn,
usrid型pa0105-usrid,
usrid_long型pa0105- usrid_long,
计划TYPE pa0001-plans,
首席persno,
批准人,
t_pernr的结尾。

数据:i_employee带有标题行的t_pernr类型表。

数据:w_employee TYPE t_pernr。

*通过PERNR将所有表连接在一起,并用作提取必要字段的键。
SELECT pa0001〜pernr pa0001〜werks pa0002〜vorna pa0002〜nachn pa0001〜btrtl pa0001 〜orgeh pa0001〜bukrs pa0001〜kostl
pa0105〜usrid pa0105〜usrid_long pa0001〜plans
到表i_employee
的对应字段
从pa0001的内部联接pa0002到pa0001〜pernr = pa0002〜pernr的内部联接pa0105到pa0001 〜pernr = pa0105〜pernr。


*将员工职位传递给FM以获取负责人/e xpense批准者ID
呼叫功能'Z_HR_GET_MGR_BY_ORG'
导出
计划= i_employee-plans
导入
mgr_pernr = i_employee-chief。

IF i_employe-chief EQ i_employ 。
i_employee-approver ='Y'。
ELSE。
i_employee-approver ='N'。
ENDIF。

付费偷看设置
发送
5条回答
宇峰Kouji
1楼-- · 2020-09-10 17:46

查找在线帮助,以获取在itab上搜索 分配fs (使用字段符号,无需稍后修改记录

Tong__Ming
2楼-- · 2020-09-10 18:02

使用字段符号,则您需要进行分配,而不是INTO

哎,真难
3楼-- · 2020-09-10 17:39

如果您使用的是7.4版下面的代码。

但是首先,您应该使用SAP HR表中的LDB编写代码,而不要选择查询。

确定将您的ITAB数据移至另一个JTAB。

 PERNR的SOTA ITAB。
 在ITAB上展开以分配字段符号()。

 如果 -PERNR =  -CHIEF

  -APPROVER ='Y'。

 ELSE。 -APPROVER ='N'。

 万一。

 ENDLOOP。
我是小鹏鹏啊
4楼-- · 2020-09-10 17:54

S Nalluri :当心GETWA_NOT_ASSIGNED)

愤怒的猪头君
5楼-- · 2020-09-10 17:45

能给我一个代码示例吗?

一周热门 更多>