点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
有一个包含3列的内部表
其采样数据如下。
XX YY错误
a b
a
米
b n
b x
b y
c w
c t
x d
d
n c
n p
我
n j
p q
q r
r s
s d
对于所有循环记录,必须将err列设置为X。
循环记录是指YY = XX的循环记录。
从第一条记录开始,开始搜索,并搜索所有XX = b的记录。
找到b n,b x,b y
然后我们用YY搜索找到的内容,依此类推。
上例中的循环记录集(1)
a b
b n
n p
p q
q r
r s
s d
d
上例中的循环记录Set(2)
a b
b x
x d
d
因此,执行后输出应如下所示
XX YY错误
a b X
a
米
b n X
b x X
b y
c w
c t
x d X
一个X
n c
n p X
我
n j
p q X
q r X
r s X
s d X
有人可以提出一些逻辑吗?
您可以尝试子程序的迭代调用:这是算法。
ITAB上的循环。
PERFORM F_CYCLE表ITAB
使用ITAB-YY
Endloop。
* ------------------------------
FORM F_CYCLE。
在ITAB处循环,其中XX = YY进入LS_LINE。
设置ITAB-ERR ='X'。
PERFORM F_CYCLE表ITAB
使用LS_LINE-YY
Endloop。
ENDFORM。
您能告诉我您在ABAP中提出的逻辑吗?
不。 这是留给程序员付费的编程解决方案。
数据的来源无关紧要,为什么要提呢? 此外,我所说的内容没有任何内容表明必须定义循环数。 您从一个元素开始,测试那里的所有可能性,然后接受下一个元素并在那里测试所有可能性,直到没有剩余元素为止。 有一些优化的余地,就好像您有A-> B,那么您显然不需要再次检查B。
请使用COMMENT按钮答复有人要求 细节。 答案仅是提出解决方案。
请使用"评论"按钮回复询问详细信息的人。 答案仅是提出解决方案。
一周热门 更多>