比较记录并将记录传递到多个内部表

2020-09-08 11:45发布

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

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


大家好,

我正在使用一种智能表格。在这种情况下,我正面临一种情况,如

示例:在一次交货中,我有多种材料,其类型为"城市"或"危险品"的HTS代码(MARC-STAWN)和指示符(MARC-MOGRU)。

Mat1-> MAT1 HTS 123

Mat2-> MAT2 HTS 123

Mat3-> MAT3 HTS 234

Mat4-> MAT4 HTS 234个城市

MAT5-> MAT5 HTS 345 DG

MAT6-> MAT6 HTS 345 DG

MAT7-> MAT7 HTS 456个城市

它应该组合并显示为

形式1:MAT1,MAT2

形式2:MAT3

形式3:MAT4

形式4:MAT5,MAT6

形式5:MAT7

如果我有7种材料,每种材料都具有HTS CODE(MARC-STAWN),那么我需要如何组合起来?

可能(也可能不)(MARC-MOGRU)指示器(CITIES/DG)。

我需要检查Mat1是否具有HTS CODE,例如HTS 123,我们需要首先根据HTS CODE和指标字段检查循环中的所有记录。

形式1:HTS 123具有MAT1和MAT2的功能,并且没有任何指示器,因此我将这些记录移至一个内部表中。

形式2,3:HTS 234具有MAT3和MAT4,首先我们需要检查hts代码是否相同,如果需要,我们需要检查指标字段,这里不一样,所以我将MAT3移至形式2和MAT4 到形式3。

形式4:Mat 5,6具有相同的HTS代码和DG类型的指示器,因此我将MAT5,6移至形式4

形式5:MAT7的hts代码和指示器不匹配,因此将MAT 7移至形式5。

我知道很难说一个循环简单,需要使用HTS CODE检查每种材料,相应地,指示器也需要移动以分隔形式。

目前,我正计划将每个形式表移至内部表,但是形式表的数量没有限制,因此如果可以使用动态内部表,该如何使用它?

基于smartform输出中形式的数量,我需要获取包含相关材料的大量页面,例如,如果我们有5个形式,则需要有5页包含其形式相关的材料。

在过去四天中,任何人都可以帮助我解决这个问题,但是现在我可以破解了...

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

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


大家好,

我正在使用一种智能表格。在这种情况下,我正面临一种情况,如

示例:在一次交货中,我有多种材料,其类型为"城市"或"危险品"的HTS代码(MARC-STAWN)和指示符(MARC-MOGRU)。

Mat1-> MAT1 HTS 123

Mat2-> MAT2 HTS 123

Mat3-> MAT3 HTS 234

Mat4-> MAT4 HTS 234个城市

MAT5-> MAT5 HTS 345 DG

MAT6-> MAT6 HTS 345 DG

MAT7-> MAT7 HTS 456个城市

它应该组合并显示为

形式1:MAT1,MAT2

形式2:MAT3

形式3:MAT4

形式4:MAT5,MAT6

形式5:MAT7

如果我有7种材料,每种材料都具有HTS CODE(MARC-STAWN),那么我需要如何组合起来?

可能(也可能不)(MARC-MOGRU)指示器(CITIES/DG)。

我需要检查Mat1是否具有HTS CODE,例如HTS 123,我们需要首先根据HTS CODE和指标字段检查循环中的所有记录。

形式1:HTS 123具有MAT1和MAT2的功能,并且没有任何指示器,因此我将这些记录移至一个内部表中。

形式2,3:HTS 234具有MAT3和MAT4,首先我们需要检查hts代码是否相同,如果需要,我们需要检查指标字段,这里不一样,所以我将MAT3移至形式2和MAT4 到形式3。

形式4:Mat 5,6具有相同的HTS代码和DG类型的指示器,因此我将MAT5,6移至形式4

形式5:MAT7的hts代码和指示器不匹配,因此将MAT 7移至形式5。

我知道很难说一个循环简单,需要使用HTS CODE检查每种材料,相应地,指示器也需要移动以分隔形式。

目前,我正计划将每个形式表移至内部表,但是形式表的数量没有限制,因此如果可以使用动态内部表,该如何使用它?

基于smartform输出中形式的数量,我需要获取包含相关材料的大量页面,例如,如果我们有5个形式,则需要有5页包含其形式相关的材料。

在过去四天中,任何人都可以帮助我解决这个问题,但是现在我可以破解了...

付费偷看设置
发送
4条回答
蓋茨
1楼-- · 2020-09-08 12:30

为什么不在HTS和INDICATOR上排序(或使用排序的类型表),然后在LOOP过程中在AT NEW(新页,清除总计)和AT END OF语句(页末)之间使用单个"形式" ,总计)

Alt:使用7.40以上的新itab语法...

小c菟菟
2楼-- · 2020-09-08 12:36

(我将重新制定答案)

< p>您不需要任何"动态"内部表,只需对一个内部表进行排序并在一个循环中管理记录...

在Abap/Code节点或驱动程序SORT itab BY字段1中 场2。
 在LOOP节点中
 -新field2的事件,触发新页面
 -打印详细记录
 -field2结束的事件,打印sum 

如果您确实希望使用动态内部表,则可以构建内部表的内部表。

天桥码农
3楼-- · 2020-09-08 12:23

取决于您要的内容,有一些选项:

1。 在智能表单中使用SORT函数:

https: //help.sap.com/doc/saphelp_nw70/7.0.31/zh-CN/0b/5da4ea2cf511d5b692006094192fe3/content.htm?no_cache=true

2。 在发送到Smartforms之前对内部表进行排序:使用SORT,GROUP BY ...

SKY徐
4楼-- · 2020-09-08 12:42

srikanth javvaji

您是说要基于MARC-STAWN和MARC-MOGRU对数据进行分组,在智能表单的1页中显示每个组成员,还是要对数据进行汇总并仅显示总数?

当您根据以上两个字段对数据进行排序时,将决定组合,使用smartforms排序功能,您可以在每个组的末尾设置分页符。 看一下演示智能表单:SF_EXAMPLE_03以了解排序事件。 您还可以在此处阅读有关分页符的信息:

https://blogs.sap.com/2015/02/24/how-to-set-page-break-page-reset-in-smartforms-using-events

一周热门 更多>