自学内容网 自学内容网

ABAP 内表排序总结

ABAP 内表排序总结

ABAP 内表排序SORT总结:

  1. 在创建完内表之后,最好使用sort去排序一下
  2. 使用read读取内表,如果没有排序的话,可能会读取失败
  3. 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排序

  1. SORT TABLE BY XX1 XX2 默认是升序
    在字段后面加ASC DESC可以实现对单个字段的升序降序控制。
  2. SORT TABLE BY XX1 DESCENDING XX2,这里XX1是降序 XX2就是升序
    在表后面加就是对所有字段的升序降序控制。
  3. SORT TABLE DESCENDING BY XX1 XX2,这里XX1,XX2都是降序
    如果表后面和字段都加的情况,优先表的排序,再对字段进行排序。

原文地址:https://blog.csdn.net/weixin_44686958/article/details/136561243

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!