*&---------------------------------------------------------------------*
*& Report YZB_TEST4
*&
*&---------------------------------------------------------------------*
*&
*& ABAP,取內表中任意兩數之和等於已知數,並輸出相應的ID
*&---------------------------------------------------------------------*
report yzb_test4.
*-------------------------------------------------------------------*
*** DATA定義以下【
" 自定義內表
data: begin of lw_test,
itm_no type n length 4,
matnr type matnr_d,
menge type menge_d,
id type n length 6,
end of lw_test.
data: lt_test like table of lw_test.
data: lw_test1 like lw_test.
data: lw_test2 like lw_test.
" 循環變量
data: n type i value 1,
w type i value 1,
m type i value 1.
" 內錶行數
data: line type i.
" 已知數
data: lv_menge type menge_d value 400.
" 查找標識
data: flag type c.
*** DATA定義以上】
*-------------------------------------------------------------------*
*** 邏輯處理以下【
" 添加內表數據
lw_test-itm_no = 10.
lw_test-matnr = 'A'.
lw_test-menge = 200.
lw_test-id = 1.
append lw_test to lt_test.
lw_test-itm_no = 20.
lw_test-matnr = 'A'.
lw_test-menge = 100.
lw_test-id = 2.
append lw_test to lt_test.
lw_test-itm_no = 30.
lw_test-matnr = 'A'.
lw_test-menge = 200.
lw_test-id = 3.
append lw_test to lt_test.
" 計算內錶行數
describe table lt_test lines line.
" 開始循環處理
do line times.
while m < line.
read table lt_test into lw_test1 index n.
w = w + 1.
read table lt_test into lw_test2 index w.
if lw_test1-menge + lw_test2-menge = lv_menge.
write: lw_test1-id, lw_test2-id.
flag = '1'.
exit.
endif.
m = m + 1.
endwhile.
if flag = '1'.
exit.
endif.
n = n + 1.
m = n.
w = n.
enddo.
*** 邏輯處理以上】
1. ABAP,取內表中任意兩數之和等於已知數,並輸出相應的ID
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.