来自不同信息类型的相同pernr的数据

2020-09-25 05:24发布

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

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


SAP专家们,

我对SAP完全陌生,一直在尝试从信息类型pa0001和pa0023获取数据。 我的任务是显示给定雇员的先前雇主的详细信息以及他/她的姓名。 我可以从pa0023获取所需的数据,但无法在同一表中获取员工的姓名。

我编写的代码将员工名称添加为表的下一行,但我希望更新相应的列。 请帮忙。

此致

潘库里

这是代码:

表:pa0001,pa0023。
数据:itab OCCURS的开始0,像pernr一样pa0023-pernr,"雇员ID"是" ename",就像pa0001-ename,"雇员名称是
arbgb LIKE pa0023-ybdate,"上一个雇主
yfdate,LIKE pa0023-yfdate,开始日期,在上一个雇主
ytdate,Like pa0023-ytdate,在上一个雇主 dateposition的结束日期,例如LIKE pa0023-yposition," 在上一个雇主的位置
itab的末尾。

b1块的选择屏幕开始,带有框架标题text-001。
参数:p_pernr类似于pa0023-pernr。 "获取雇员ID
开始选择。

*从信息类型pa0023
SELECT pernr
中获取前雇主的数据 arbgb
yfdate
ytdate 位置
FROM pa0023 表itab的对应字段
pernr = p_pernr。

*要校正的代码
选择 ename
pa0001
表itab的对应字段的附加字段,用于itab中的所有条目,其中pernr = itab-pernr。

按yfdate降序对itab进行排序。


> *打印数据
如果不是itab []初始。
在itab上循环。
写:/itab-pernr,
itab-ename,
itab-arbgb,
itab -yfdate,
itab-ytdate,
itab-yposition。
ENDLOOP。
ENDIF。

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

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


SAP专家们,

我对SAP完全陌生,一直在尝试从信息类型pa0001和pa0023获取数据。 我的任务是显示给定雇员的先前雇主的详细信息以及他/她的姓名。 我可以从pa0023获取所需的数据,但无法在同一表中获取员工的姓名。

我编写的代码将员工名称添加为表的下一行,但我希望更新相应的列。 请帮忙。

此致

潘库里

这是代码:

表:pa0001,pa0023。
数据:itab OCCURS的开始0,像pernr一样pa0023-pernr,"雇员ID"是" ename",就像pa0001-ename,"雇员名称是
arbgb LIKE pa0023-ybdate,"上一个雇主
yfdate,LIKE pa0023-yfdate,开始日期,在上一个雇主
ytdate,Like pa0023-ytdate,在上一个雇主 dateposition的结束日期,例如LIKE pa0023-yposition," 在上一个雇主的位置
itab的末尾。

b1块的选择屏幕开始,带有框架标题text-001。
参数:p_pernr类似于pa0023-pernr。 "获取雇员ID
开始选择。

*从信息类型pa0023
SELECT pernr
中获取前雇主的数据 arbgb
yfdate
ytdate 位置
FROM pa0023 表itab的对应字段
pernr = p_pernr。

*要校正的代码
选择 ename
pa0001
表itab的对应字段的附加字段,用于itab中的所有条目,其中pernr = itab-pernr。

按yfdate降序对itab进行排序。


> *打印数据
如果不是itab []初始。
在itab上循环。
写:/itab-pernr,
itab-ename,
itab-arbgb,
itab -yfdate,
itab-ytdate,
itab-yposition。
ENDLOOP。
ENDIF。

付费偷看设置
发送
3条回答
1楼 · 2020-09-25 05:33.采纳回答

您好Pankhuri,

 *要更正的代码
 从pa0001中选择ename,在itab中添加表itab的相应字段,其中pernr = itab-pernr。

您已经找到错误的语句,请对其进行调试。 调试是分析代码的最佳选择。 这里的第二条选择语句包含APPENDING关键字,该关键字将记录追加到现有表ITAB中。 您可以在上述情况下使用内部联接概念。 如果您有疑问,请在编码过程中始终使用 help.sap.com 或在关键字中按F1键,ABAP关键字文档将 填充了详细的语法。

致谢

Rajkumar Narasimman

clasier
2楼-- · 2020-09-25 05:34

您好Pankhuri,

"我创建了另一个内部表itab1,该表从信息类型pa0001中获取pernr和ename 

对于您的上述计划,内部联接有效地工作。 通过增加时间的问卷,您可以创建两个具有内部联接而没有内部联接的不同程序,并使用运行时工具检查性能,这可能会回答您的疑问。

请勿在循环内使用Modify语句,而应使用Field符号。 我们在scn上有很多讨论。

致谢

Rajkumar Narasimman

路亽曱_Ryan
3楼-- · 2020-09-25 05:30

要读取HCM数据,您应该使用逻辑数据库PNPCE

阅读报告SAPDBPNPCE的文档

一周热门 更多>