目录
- ABAP 内表排序总结
- 需求的场景
- 二分法查找
- SAP 二分法查找
- SAP SORT排序
ABAP 内表排序总结
ABAP 内表排序SORT总结:
- 在创建完内表之后,最好使用sort去排序一下
- 使用read读取内表,如果没有排序的话,可能会读取失败
- read内表只能读取第一条数据
如下:
需求的场景
以下参考:https://blog.csdn.net/OutThink/article/details/130425190
-
需要对内表排序,按降序排列,获取第一行;
-
二分法查找需要的数据 我按照降序排列后,获取到了第一行,但是通过二分法查找没有获取到
二分法查找
二分查找,对排序数组通过二分区间排除的方法进行快速目标查找,是排序典型算法之一,升序或降序对二分法本身没有影响。
SAP 二分法查找
READ TABLE默认使用顺序查找,效率较低。
ABAP中,仅支持Addition Binary Search(升序),不支持Subtraction Binary Search(降序)。 以下来自SAP Help中的说明。
使用ABAP 二分法查找,必须要先排序,且必须升序。ABAP SORT默认使用ASCENDING(升序)
SAP SORT排序
- SORT TABLE BY XX1 XX2 默认是升序
在字段后面加ASC DESC可以实现对单个字段的升序降序控制。 - SORT TABLE BY XX1 DESCENDING XX2,这里XX1是降序 XX2就是升序
在表后面加就是对所有字段的升序降序控制。 - SORT TABLE DESCENDING BY XX1 XX2,这里XX1,XX2都是降序
如果表后面和字段都加的情况,优先表的排序,再对字段进行排序。