需求场景
- 需要对内表排序,按降序排列,获取第一行;
- 二分法查找需要的数据
我按照降序排列后,获取到了第一行,但是通过二分法查找没有获取到
二分法查找
二分查找,对排序数组通过二分区间排除的方法进行快速目标查找,是排序典型算法之一,升序或降序对二分法本身没有影响。
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都是降序 - 如果表后面和字段都加的情况,优先表的排序,再对字段进行排序。