点击此处---> 群内免费提供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。
您是否有一个动态内部表,并且要设置其他列?请再次重新输入您的问题。
您有什么? 试过了吗 对我来说看起来很简单-一个或两个DO循环,从表中读取并存储临时结果。
对于每个元素-下一个元素。 递归执行此操作,直到最终重复或链结束。 实际上,您正在寻找层次结构中的循环。
事实我不明白您的问题。 想要实现的示例之前和之后的示例都会有所帮助...
我修改了问题以使其更易于理解。
有趣的算法 ...作为人类,您能在没有计算机的情况下解决问题吗? 是的->将您的逻辑转换为算法,然后将其转换为程序。 否->您将无法编写程序。
马修,您怎么知道DO循环将运行的次数?
一周热门 更多>