2020-08-16 17:58发布
加入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. 请帮助我
斯蒂芬·麦克奈特,
您可以尝试使用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。
注意!
尝试
按ID和值对内部表进行排序。
在new处使用以获取最小值 并最终获得最大值。
使用GROUP BY而不是全新...
仍然-这是一种更好的方法!
最多设置5个标签!
斯蒂芬·麦克奈特,
您可以尝试使用GROUP BY方法。 但是请注意,此代码仅可从ABAP 7.40 SP08中获得。
或者:
您必须按照下面提到的顺序继续以下编码技术:
1)SORT内部表包含 ID和价格。
2)在已排序的内部表上循环并应用控制中断语句
3)AT NEW将帮助您获取最小值,而AT END OF将帮助您获取最小值
下面的"伪代码"应该可以助您一臂之力,我强烈建议您开始编码,并与我们联系以解决问题,以便我们进一步指导您。
您可以 通过 LINK 进行操作 可以更好地理解控制中断语句。
注意!
尝试
按ID和值对内部表进行排序。
在new处使用以获取最小值 并最终获得最大值。
使用GROUP BY而不是全新...
仍然-这是一种更好的方法!
一周热门 更多>