인터널테 | IT_TAB1 | IT_TAB2 | |||||||||||
필드명 | zgubun | za1 | zval1 | zval2 | zval3 | za1 | zval1 | zval2 | zval3 | zval1_1 | zval2_1 | zval3_1 | |
데이터 | A | A1 | 10 | 10 | 10 | A1 | 10 | 10 | 10 | 12 | 12 | 12 | |
B | A1 | 12 | 12 | 12 | A2 | 13 | 13 | 13 | 14 | 14 | 14 | ||
A | A2 | 13 | 13 | 13 | |||||||||
B | A2 | 14 | 14 | 14 | |||||||||
IT_TAB1 의 내용을 IT_TAB2로 넘기는데 za1값을 기준으로 2개의 데이터 중 | |||||||||||||
구분이 A인 경우는 IT_TAB2 의 zval1, zval2, zval3 로 | |||||||||||||
B인 경우는 IT_TAB2 의 zval1_1, zval2_1, zval3_1 로 | |||||||||||||
데이터를 머지하려면 어떤 방법이 있는지요? |
단, IT_TAB1의 내용에서 za1값을 기준으로 데이타가 2개일수도 있지만 1개일수도 있습니다.
맞는지는 모르겠네요..
sap에서 코딩한게 아니구 메모장에서 한거 옮긴거라서요 틀리면 지적바랍니다.
암튼 at end of 를 이용하면..될듯합니다.
loop at it_tab1.
move it_tab1-za1 to it_tab2-za1.
case za1.
when 'A1'.
if zgubun = 'A'.
it_tab2-zval1 = it_tab1-zval1.
it_tab2-zval2 = it_tab1-zval2.
it_tab2-zval3 = it_tab1-zval3.
else.
it_tab2-zval1_1 = it_tab1-zval1.
it_tab2-zval2_1 = it_tab1-zval2.
it_tab2-zval3_1 = it_tab1-zval3.
endif.
when 'A2'.
if zgubun = 'A'.
it_tab2-zval1 = it_tab1-zval1.
it_tab2-zval2 = it_tab1-zval2.
it_tab2-zval3 = it_tab1-zval3.
else.
it_tab2-zval1_1 = it_tab1-zval1.
it_tab2-zval2_1 = it_tab1-zval2.
it_tab2-zval3_1 = it_tab1-zval3.
endif.
endcase.
at end of zal1.
append it_tab2.
clear it_tab2.
endloop.