2020-08-21 04:24发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好,
是否可以使用for循环以新的语法编写此代码?
在mt_xyz的LOOP AT分配。 如果 <>'C'。 继续。 万一。 读表lt_abc将分配给键parent_key组件parent_key = -key。 如果sy-subrc <> 0。 继续。 万一。 如果 -field ='z'。 ls_key-key = -键。 将ls_key插入表lt_keys中。 万一。 ENDLOOP。
亲切的问候,
帕斯卡
在修改了TABLE TYPE定义(以及其他更正,例如MT_XYZ <> C的属性限制,您的编码缺少该属性)之后,这是一条适合您的语句
DATA(lt_keys)= VALUE tty_keys(FOR wa1 IN mt_xyz WHERE(key <>'C'AND field ='z') 在lt_abc中使用wa2 IN使用密钥parent_key 在哪里(parent_key = wa1-key) (键= wa1-key))。
这里是一个包含示例数据和上述编码输出的测试报告:
REPORT ZVALUESFOREXAMPLE。 类型:开始于ty_key, 键TYPE char1, END OF ty_key, tty_keys带有Empty KEY的ty_key类型标准表, 开始ty_xyz, 键TYPE char1, 字段TYPE char1, 结束于ty_xyz, 带有空键的ty_xyz的tty_xyz类型标准表, 开始ty_abc, 键TYPE char1, parent_key TYPE char1, 结束于ty_abc, 带有空键的ty_abc的tty_abc类型标准表 带非唯一的已排序键parent_key COMPONENTS parent_key。 "表mt_xyz的测试数据 DATA(mt_xyz)= VALUE tty_xyz((key ='A'field ='z') (键='B'字段='y') (键='C'字段='x') (key ='D'field ='w'))。 "表lt_abc的测试数据 DATA(lt_abc)= VALUE tty_abc((键='B'parent_key ='A') (key ='D'parent_key ='C'))。 "这是您正在寻找的实际陈述 "基于mt_xyz和lt_abc为表lt_keys创建值 DATA(lt_keys)= VALUE tty_keys(FOR wa1 IN mt_xyz WHERE(key <>'C'AND field ='z') 在lt_abc中使用wa2 IN使用密钥parent_key 在哪里(parent_key = wa1-key) (key = wa1-key))。 "示例数据的输出 DATA(out)= cl_demo_output => new()。 out-> write(mt_xyz)。 out-> write(lt_abc)。 out-> write(lt_keys)。 out-> display()。
帕斯卡·迪茨(Pascal Ditzel),上面的编码是使用新语法的最终结构,就像您使用旧语法所做的一样。
尝试一下并使用它。
最多设置5个标签!
在修改了TABLE TYPE定义(以及其他更正,例如MT_XYZ <> C的属性限制,您的编码缺少该属性)之后,这是一条适合您的语句
这里是一个包含示例数据和上述编码输出的测试报告:
帕斯卡·迪茨(Pascal Ditzel),上面的编码是使用新语法的最终结构,就像您使用旧语法所做的一样。
尝试一下并使用它。
一周热门 更多>