循环验证

2020-09-10 10:11发布

         点击此处--->   EasySAP.com群内免费提供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

有人可以提出一些逻辑吗?

         点击此处--->   EasySAP.com群内免费提供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

有人可以提出一些逻辑吗?

付费偷看设置
发送
10条回答
小灯塔
1楼 · 2020-09-10 11:10.采纳回答

您可以尝试子程序的迭代调用:这是算法。

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。

jovirus
2楼-- · 2020-09-10 10:54

您是否有一个动态内部表,并且要设置其他列?请再次重新输入您的问题。

compass1988
3楼-- · 2020-09-10 10:57

您有什么? 试过了吗 对我来说看起来很简单-一个或两个DO循环,从表中读取并存储临时结果。

对于每个元素-下一个元素。 递归执行此操作,直到最终重复或链结束。 实际上,您正在寻找层次结构中的循环。

风早神人
4楼-- · 2020-09-10 11:02

事实我不明白您的问题。 想要实现的示例之前和之后的示例都会有所帮助...

亦是此间程序员
5楼-- · 2020-09-10 11:05

我修改了问题以使其更易于理解。

宇峰Kouji
6楼-- · 2020-09-10 10:54

有趣的算法 ...作为人类,您能在没有计算机的情况下解决问题吗? 是的->将您的逻辑转换为算法,然后将其转换为程序。 否->您将无法编写程序。

hengyuye
7楼-- · 2020-09-10 11:02

马修,您怎么知道DO循环将运行的次数?

一周热门 更多>