IT WORK/SAP FI and ABAP

[FI/ABAP] 임시전표 삭제

Bathildis 2025. 4. 11. 10:10
반응형
PARAMETERS: p_bukrs TYPE bukrs,
            p_belnr TYPE belnr_d,
            p_gjahr TYPE gjahr.

DATA(lv_msgtext) = VALUE string( ).

DATA(lt_bdcdata) = VALUE bdcdata_tab(
    ( program  = 'SAPMF05V' dynpro   = '0100' dynbegin = 'X' )
    ( fnam = 'BDC_OKCODE'  fval  = '=ENTR' )
    ( fnam = 'RF05V-BUKRS' fval  = p_bukrs )
    ( fnam = 'RF05V-BELNR' fval  = p_belnr )
    ( fnam = 'RF05V-GJAHR' fval  = p_gjahr )
    ( program  = 'SAPLF040' dynpro   = '0700' dynbegin = 'X' )
    ( fnam = 'BDC_OKCODE'  fval  = '=BL' )
    ( program  = 'SAPLSPO1' dynpro   = '0200' dynbegin = 'X' )
    ( fnam = 'BDC_OKCODE'  fval  = '=YES' ) ).

DATA(lt_mesgtab) = VALUE tab_bdcmsgcoll( ).

CALL TRANSACTION 'FBV0' USING lt_bdcdata
                     MODE 'N'
                   UPDATE 'S'
            MESSAGES INTO lt_mesgtab.

IF lt_mesgtab IS INITIAL.
  lv_msgtext = '성공'.
ELSE.
  READ TABLE lt_mesgtab ASSIGNING FIELD-SYMBOL(<msg>)
    WITH KEY msgtyp = 'E'.
  IF sy-subrc NE 0.
    READ TABLE lt_mesgtab ASSIGNING <msg>
      WITH KEY msgtyp = 'S'.
    IF sy-subrc NE 0.
      READ TABLE lt_mesgtab ASSIGNING <msg> INDEX 1.
    ENDIF.
  ENDIF.

  MESSAGE ID <msg>-msgid TYPE 'S' NUMBER <msg>-msgnr
    INTO lv_msgtext
    WITH <msg>-msgv1 <msg>-msgv2 <msg>-msgv3 <msg>-msgv4.
ENDIF.

WRITE: / |Result: { lv_msgtext }|.

 

 

임시전표 삭제는 PRELIMINARY_POSTING_DOC_DELETE를 사용할 수도 있지만... 그러면 CO전표나 FM전표는 따로 삭제해줘야 하기 때문에 FBV0를 BDC 태우는게 좋다.........

 

참고)

SAP: 임시전표삭제

 

임시전표삭제

   SELECT  SINGLE  *      FROM  VBKPF     WHERE  VBKPF ~ BUKRS  EQ  I_BUKRS       AND  VBKPF ~ GJAHR  EQ  I_GJAHR       AND  VBKPF ~ BE...

adonishansap.blogspot.com

 

반응형