> 임시전표 대체처리 <
임시전표를 대체할 수 있는 Exit을 찾지 못해 대안으로 BTE 2213을 활용함
BTE 2213에 아래와 같이 대체를 처리할 수 있음
FIELD-SYMBOLS: <t_bkpf> TYPE STANDARD TABLE,
<t_bseg> TYPE STANDARD TABLE,
<s_bkpf>,
<s_bseg>,
<fs_field>.
"-- Table Assign.
ASSIGN ('(SAPLF040)XVBKPF[]') TO <t_bkpf>.
ASSIGN ('(SAPLF040)XVBSEG[]') TO <t_bseg>.
CHECK <t_bkpf> IS ASSIGNED.
CHECK <t_bseg> IS ASSIGNED.
"-- BKPF 읽기.
READ TABLE <t_bkpf> INDEX 1 ASSIGNING <s_bkpf>.
"-- BKPF 대체1 : ...
ASSIGN COMPONENT 'XREF1_HD' OF STRUCTURE <s_bkpf> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = 'xxx'. "-- 대체값.
MODIFY <t_bkpf> FROM <s_bkpf> INDEX 1.
UNASSIGN <fs_field>.
ENDIF.
"-- BSEG 대체로직.
LOOP AT <t_bseg> ASSIGNING <s_bseg>.
lv_tabix = sy-tabix.
"-- BSEG 대체1 : ...
ASSIGN COMPONENT 'SGTXT' OF STRUCTURE <s_bseg> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = 'xxx'. "-- 대체값.
MODIFY <t_bseg> FROM <s_bseg> INDEX lv_tabix.
UNASSIGN <fs_field>.
ENDIF.
"-- BSEG 대체2 : ...
ASSIGN COMPONENT 'XREF1' OF STRUCTURE <s_bseg> TO <fs_field>.
IF <fs_field> IS ASSIGNED.
<fs_field> = 'xxx'. "-- 대체값.
MODIFY <t_bseg> FROM <s_bseg> INDEX lv_tabix.
UNASSIGN <fs_field>.
ENDIF.
ENDLOOP.
끝.