關於使用READ TABLE語句

2022-06-25 06:00:10 字數 1525 閱讀 5405

read tabe 是用來遍歷內錶,取第一條符合條件的記錄。

read table [into ] with key [binary search].

add-20200427

with key 中的檢索條件比較符不能使用『<>』(不等於)。

如果只想取得內部表中不等於某條件的一條記錄,那麼請使用下面變通方法。

loop at itab where key <> 『xx』.

此處取得第一條記錄。

exit.

endloop.

如果在執行時 值為空,則 統忽略該關鍵字段。另外可對關鍵字段指定偏移量和長度。

用 into 選項可以指定目標區域 。如果**有表頭行,則可以忽略 into 選項。這樣,**工作區域就成了目標區域。

系統讀取 中匹配 中所定義的關鍵字的第乙個條目。

如果使用二分法搜尋法的話,需要先對內表進行相關條件的排序。

如果找到有適當關鍵字的條目,則將系統字段 sy-subrc設定為0,並且sy-tabix包含該行的索引。否則,將 sy-subrc設定為非0值 。

例子如下:

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 matnr = 'm06a-caa42' txz01 = '三氧化二鋁'.

關於使用READ TABLE語句的幾點注意事項

關於使用read table語句的幾點注意事項 1 如果使用read table語句來讀取內部表資料,而不是簡單看返回值判斷是否存在,那麼在使用read table語句之前,一定要記得使用clear語句清空內部表的工作區。2 read table itab with key v binary sea...

關於使用READ TABLE語句的幾點注意事項

1 如果使用read table語句來讀取內部表資料,而不是簡單看返回值判斷是否存在,那麼在使用read table語句之前,一定要記得使用clear語句清空內部表的工作區。2 read table itab with key v binary search.使用read table語句的二分法搜尋...

關於goto語句的使用

在專案中用到了大量的goto語句,遭到了領導的指責,感覺挺委屈的。作為乙個程式設計師,在很多地方都看到說要避免goto語句的使用。goto語句如洪水猛獸,其實都誤解了goto。濫用goto的確很恐怖,可是合理使用卻能夠對程式的結構效能有很大幫助。以下簡單說一下專案中用到goto的3類地方。1,多重迴...