循环排序表和二进制搜索

2020-08-25 23:49发布

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

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


你好大师,

我对排序表的查询很少

我有一个已排序的内部表

具有非唯一键MATNR WERKS的itab_sorted类型排序表。

将itab_循环分类为wa_srtd,其中matnr ='xxxx'。

.....

Endloop。

如果我在where语句中同时使用两个键,则可以实现二进制搜索。

1。,但是如果我不使用整个密钥怎么办? 当我使用密钥的最左部分时,它还会继续执行二进制搜索吗?

我已经读到,如果您使用键的最左边部分,我们可以对已排序的表进行二进制搜索。

2。。此外,如何遍历所有关键字段和其他字段?

例如

具有非唯一键MATNR WERKS的itab_sorted类型排序表。

将itab_循环分类为wa_srtd,其中MATNR ='xxxx'WERKS ='yyyy'PSTNK ='zzzz'。

.....

Endloop

3。

具有非唯一键MATNR WERKS的

itab_sorted类型排序表。

读取表itab_sorted with KEY matnr ='XXXX'。

上面的语句会导致二进制搜索吗?

预先感谢

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

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


你好大师,

我对排序表的查询很少

我有一个已排序的内部表

具有非唯一键MATNR WERKS的itab_sorted类型排序表。

将itab_循环分类为wa_srtd,其中matnr ='xxxx'。

.....

Endloop。

如果我在where语句中同时使用两个键,则可以实现二进制搜索。

1。,但是如果我不使用整个密钥怎么办? 当我使用密钥的最左部分时,它还会继续执行二进制搜索吗?

我已经读到,如果您使用键的最左边部分,我们可以对已排序的表进行二进制搜索。

2。。此外,如何遍历所有关键字段和其他字段?

例如

具有非唯一键MATNR WERKS的itab_sorted类型排序表。

将itab_循环分类为wa_srtd,其中MATNR ='xxxx'WERKS ='yyyy'PSTNK ='zzzz'。

.....

Endloop

3。

具有非唯一键MATNR WERKS的

itab_sorted类型排序表。

读取表itab_sorted with KEY matnr ='XXXX'。

上面的语句会导致二进制搜索吗?

预先感谢

付费偷看设置
发送
3条回答
葫芦娃快救爷爷
1楼-- · 2020-08-26 00:30

Rojar,

请找到我对您问题的回答

1)是。 该表已经按MATNR和WERKS排序,如果仅使用MATNR,它将仅用作二进制搜索。

2)请找到以下符合您要求的语法(带有所有关键字段和其他字段的循环)

具有非唯一键MATNR WERKS的

itab_sortd类型排序表。

将itab_循环分为wa_srtd,其中MATNR ='xxxx'和WERKS ='yyyy'并且PSTNK ='zzzz'。

.....

Endloop

3)否

对于您上面提到的语句,由于您没有提到使用BINARY SEARCH技术进行读取的编译器,因此只会进行线性搜索。您需要在read语句中明确提及" BINARY SEARCH",即使它已经 BINARY搜索将减少搜索时间,这就是它的目的。

具有非唯一键MATNR WERKS的

itab_sortd类型排序表。

读取表itab_sorted with key matnr ='XXXX'二进制搜索。

渐行渐远_HoldOn
2楼-- · 2020-08-26 00:55

Ulf Bauer 您知道,回答互联网上有人错了;-)

huskylover
3楼-- · 2020-08-26 00:45
的旧答案并不重要

hi Rojer,

1)是的。

2)二进制搜索仅适用于表键中提到的键。

3) 是的。

一周热门 更多>