在具有升序和降序排序字段的内部表上进行二进制搜索

2020-09-20 14:08发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我的程序中有一个逻辑,其...

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

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


嗨,

我的程序中有一个逻辑,其中内部表按升序和降序排序,如下所示:

将Itab按A B递增C D降序排列。

如果我仅读取前两个字段(如A B Binary Search的REAT itab)的表,可以使用二进制搜索吗? 我以为这应该可行,但是失败了。 你能帮我吗? 我知道已经有太多帖子发布了。 二进制搜索,但仍然找不到与此非常相似的内容。

谢谢。

此致

Rajarajan。

6条回答
huskylover
2020-09-20 14:41

"我认为这应该可以,但是失败了。"

您的问题到底在哪里? 以下代码运行良好:

 DATA(rnd)= cl_abap_random_int => create(seed = + sy-uzeit
  分钟= 1
  最大= 100)。
数据: 行的开头, 我是TYPE I b类型i, c类型i, d类型i, 行结束, Itab像带空键的表一样。
做10000次 itab = VALUE#(基础itab (a = rnd-> get_next() b = rnd-> get_next() c = rnd-> get_next() d = rnd-> get_next()) )。 ENDDO。
按b升序c降序排序itab。
使用键a = 10 b = 10二进制搜索将表itab读入DATA(wa)。
BREAK-POINT。

一周热门 更多>