FOR表迭代

2020-08-22 17:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想使用FOR Operand进...

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

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


我想使用FOR Operand进行表迭代并遇到障碍。 这是我的要求:

数据结构-

ITAB1具有两个包含10条记录的FIELD1和FIELD2字段。

ITAB2具有两个具有6条记录的字段FIELD1和FIELD 3。

ITAB3具有4个字段FIELD1、2和3。

要求:

将itab1循环放入ls_itab1 WHERE field2 ='X'。

将表itab2读入具有键field1 = ls_itab1-field1的ls_itab2

如果sy-subrc = 0。

从LS_ITAB1和LS_ITAB2填充表ITAB3映射FIELD1、2和3。

ELSE。

带有LS_ITAB1-FIELD1的消息i000。

ENDIF。

ENDLOOP。

需要帮助完成以下代码:

DATA(ITAB3)= VALUE TY_TAB3(FOR its1itab1在itab1中(field2 ='X')....

2条回答
clever101
2020-08-22 17:52
Raj Ananthakrishnan , 您说您更喜欢第二个选项(itab4),但显示了第一个选项(itab3)的编码。 如果尝试访问该行的字段时该行不存在,则该版本实际上已经引发了错误。抛出错误" ITAB_LINE_NOT_FOUND"" CX_SY_ITAB_LINE_NOT_FOUND":
 DATA(itab3)=值itab3(
               for it in itab1其中(field2 ='X')
               (field1 = wa-field1
                 field2 = wa-field2
                 field3 = itab2 [field1 = wa-field1] -field3))。  "引发错误
不引发错误:
 DATA(itab3)= VALUE itab3(
               for it in itab1其中(field2 ='X')
               (field1 = wa-field1
                 field2 = wa-field2
                 field3 =值#(itab2 [field1 = wa-field1] -field3 OPTIONAL)))。  "不会引发错误

一周热门 更多>