ABAP read內錶資料

2021-10-09 07:34:36 字數 1102 閱讀 1961

對於所loop的內錶中的資料是只可能有一行或者無,用以下方法

注意事項:

需要對所需要查詢的關鍵字進行排序

需要判斷read語句是否執行成功

read語句執行成功後需要清空工作區,否則會導致資料的重複寫入

sort gt_t001w by werks.

loop at gt_data into gwa_data .

read table gt_t001w into gwa_t001w with key werks = gwa_data-werks binary search.

if sy-subrc eq 0..

gwa_data-name2 = gwa_t001w-name1.

modify gt_data from gwa_data.

endif.

clear gwa_t001w.

clear: gwa_data.

endloop.

如果所需要查詢的內錶內容是一對多的內錶,則是在read語句後面再加loop語句

注意事項

排序,因為是需要用到二分法

清除工作區

sort  gt_mseg by ebeln ebelp.

loop at gt_data into gwa_data .

read table gt_mseg with key ebeln = gwa_data-ebeln ebelp = gwa_data-ebelp binary search transporting no fields .

if sy-subrc eq 0.

loop at gt_mseg into gwa_mseg from sy-tabix.

if gwa_mseg-ebeln <> gwa_data-ebeln or gwa_mseg-ebelp <> gwa_data-ebelp.

exit.

endif.

gwa_data-menge3 = gwa_mseg-menge.

endloop.

endif.

clear: gwa_data.

endloop.

內錶 XML互轉 JSON 內錶互轉

轉進內錶 strans try.call transformation id source xml lv text out options clear all 4.7 沒有這個options value handling accept data loss 這個引數也沒有 result data p ...

Oracle誤刪表內資料,如何恢復

實際操作中,有時候會誤刪資料,下面是一些恢復資料的方法 1.flashback query 這裡只是查出被刪之前的資料,如果要恢復,則把查詢出來的資料匯出為sql,然後找到原表,重新匯入資料即可 閃回到15分鐘前 select from orders as of timestamp systimes...

刪除資料庫中的表及表內資料

如果要刪除資料表中所有資料只要遍歷一下資料庫再刪除就可以了,清除所有資料我們可以使用搜尋出所有表名,構造為一條sql語句進行清除了 使用sql刪除資料庫中所有表是不難的,就是遍歷一下資料庫中所有使用者表,並將它清除,下邊是具體的sql語句,在關鍵部分已經作了詳細的注釋 變數 tablename儲存表...