728x90

 

> 임시전표 대체처리 <

 

임시전표를 대체할 수 있는 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.

 

끝.

 

반응형
Posted by Gomtui
,