如何在内部表中使用最小最大

2020-08-16 17:58发布

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

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


大家好,
我需要您的建议,
如何对内部表进行排序以获取最小值-最大值。

Ex。
Itab 1.
ID价格
> AB 500 LH 1000
LH 1500 LH 2000 BC 700

并输入my itab 2的字段:ID,MIN,MAX

我会将值从itab1移到itab2
因此,我需要的输出是
ID MIN MAX

AB 500 500
LH 1000 2000
BC 700 700.

请帮助我

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

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


大家好,
我需要您的建议,
如何对内部表进行排序以获取最小值-最大值。

Ex。
Itab 1.
ID价格
> AB 500 LH 1000
LH 1500 LH 2000 BC 700

并输入my itab 2的字段:ID,MIN,MAX

我会将值从itab1移到itab2
因此,我需要的输出是
ID MIN MAX

AB 500 500
LH 1000 2000
BC 700 700.

请帮助我

付费偷看设置
发送
4条回答
追夢秋陽
1楼 · 2020-08-16 18:13.采纳回答

斯蒂芬·麦克奈特

您可以尝试使用GROUP BY方法。 但是请注意,此代码仅可从ABAP 7.40 SP08中获得。

数据:lv_index TYPE sy-tabix。
 依格里德价格排序gt_flight。
 循环至gt_flight进入数据(飞行)
      GROUP BY(carrid =飞行carrid
                 大小= GROUP SIZE)
                 没有成员
                 放入数据(内容)。

   使用键carrid = content-carrid读取表gt_flight进入DATA(ls_final)。

   it_flight-carrid = ls_final-carrid。
   it_flight-min = ls_final-price。

   lv_index = lv_index +内容大小。

   读取表gt_flight INTO ls_final索引lv_index。

   it_flight-max = ls_final-price。

   APPEND it_flight。

 结局。

 写:'CARRID','MIN','MAX',/。
 循环到it_flight。
   写:it_flight-carrid,it_flight-min,it_flight-max,/。
 ENDLOOP。

或者:

您必须按照下面提到的顺序继续以下编码技术:

1)SORT内部表包含 ID和价格。

2)在已排序的内部表上循环并应用控制中断语句

3)AT NEW将帮助您获取最小值,而AT END OF将帮助您获取最小值

下面的"伪代码"应该可以助您一臂之力,我强烈建议您开始编码,并与我们联系以解决问题,以便我们进一步指导您。

您可以 通过 LINK 进行操作 可以更好地理解控制中断语句。

按ID PRICE分类IT_TAB。
 在IT_TAB处进入WA_TAB。

 以新ID。
 *在这里,您可以获取每个ID的最低价格。
 ENDAT。

 在ID末尾。
 *在这里,您可以获取每个ID的最高价格。
 ENDAT。

 *一旦您收到ID的最小值和最大值的详细信息,然后追加到另一个表格中并显示
 ENDLOOP。

注意!

野沐沐
2楼-- · 2020-08-16 18:27

尝试

按ID和值对内部表进行排序。

在new处使用以获取最小值 并最终获得最大值。

compass1988
3楼-- · 2020-08-16 18:33

使用GROUP BY而不是全新...

Baoming ROSE
4楼-- · 2020-08-16 18:08

仍然-这是一种更好的方法!

一周热门 更多>