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,多重迴...