关于使用READ TABLE语句

*爱你&永不变心* 提交于 2020-02-04 11:58:02

关于使用READ TABLE语句

READ tabe 是用来遍历内表,取第一条符合条件的记录。

READ TABLE <itab> [INTO <wa>] WITH KEY <key> [BINARY SEARCH].

用 INTO 选项可以指定目标区域 。如果表格有表头行,则可以忽略 INTO 选项。这样,表格工作区域就成了目标区域。

系统读取 <itab> 中匹配 <key> 中所定义的关键字的第一个条目。

如果使用二分法搜索法的话,需要先对内表进行相关条件的排序。

如果找到有适当关键字的条目,则将系统字段 SY-SUBRC设置为0,并且SY-TABIX包含该行的索引。否则,将 SY-SUBRC设置为非0值 。

例子如下:

FUNCTION ZWHMES_TES.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------

DATA:IT_TAB1 TYPE STANDARD TABLE OF EKPO WITH HEADER LINE,
      IT_TAB2 TYPE STANDARD TABLE OF EKPO,
      IT_TAB3 TYPE STANDARD TABLE OF EKPO,
      WA_TAB1 TYPE EKPO,
      WA_TAB2 TYPE EKPO,
      WA_TAB3 TYPE EKPO.
SELECT * FROM EKPO INTO TABLE IT_TAB1 UP TO 10 ROWS.
SELECT * FROM EKPO INTO TABLE IT_TAB2 UP TO 10 ROWS.
SELECT * FROM EKPO INTO TABLE IT_TAB3 UP TO 10 ROWS.
SORT IT_TAB1.
SORT IT_TAB2.
SORT IT_TAB3.
  READ TABLE IT_TAB1 WITH KEY MATNR = 'QQQ'.
WRITE:/ SY-SUBRC,SY-TABIX.
READ TABLE IT_TAB2 INTO WA_TAB2 WITH KEY MATNR = 'M06A-CAA42' TXZ01 = '芯片M06A-CAA42'."这个是多个KEY的
WRITE:/ SY-SUBRC,SY-TABIX.
READ TABLE IT_TAB3 INTO WA_TAB3 WITH KEY EBELN ='4700000696'.
WRITE:/ SY-SUBRC,SY-TABIX.
READ TABLE IT_TAB1 WITH KEY '4500000002'.
WRITE:/ SY-SUBRC,SY-TABIX.



ENDFUNCTION.

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!