0
点赞
收藏
分享

微信扫一扫

物料冲销过账MB_CANCEL_GOODS_MOVEMENT

624c95384278 2022-10-17 阅读 32


*&---------------------------------------------------------------------*

*& Report  ZLM_TEST_023

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT  zlm_test_023.

TABLES: mkpf, imkpf, emkpf, likp.

DATA:  BEGIN OF imseg OCCURS 0.

    INCLUDE STRUCTURE imseg.

DATA:  END OF imseg.

DATA:  BEGIN OF emseg OCCURS 0.

    INCLUDE STRUCTURE emseg.

DATA:  END OF emseg.

PARAMETERS: lf_budat  LIKE sy-datlo  DEFAULT sy-datlo OBLIGATORY,

      lf_mjahr  LIKE mkpf-mjahr DEFAULT sy-datlo(4) OBLIGATORY,

      lf_mblnr  LIKE mkpf-mblnr OBLIGATORY,

      lf_vbeln  LIKE likp-vbeln OBLIGATORY,

      lf_test  TYPE c DEFAULT 'X'.

DATA:  mblpo LIKE mseg-zeile.

SELECT SINGLE * FROM mkpf WHERE mblnr = lf_mblnr

             AND  mjahr = lf_mjahr

             AND  xblnr = lf_vbeln.

IF sy-subrc IS INITIAL.

 CALL FUNCTION 'MB_CANCEL_GOODS_MOVEMENT'

  EXPORTING

   budat   = lf_budat

   mblnr   = lf_mblnr

   mblpo   = mblpo

   mjahr   = lf_mjahr

   tcode   = 'VL09'

   called_by = 'VL09'

  IMPORTING

   emkpf   = emkpf

  TABLES

   emseg   = emseg

   imseg   = imseg

  EXCEPTIONS

   OTHERS   = 1.

*... No error found, then it will be posted

 IF emkpf-subrc EQ 1.

  IF lf_test IS INITIAL.

   CALL FUNCTION 'MB_POST_GOODS_MOVEMENT'

    EXPORTING

     xblnr_sd = lf_vbeln

    IMPORTING

     emkpf   = emkpf

    EXCEPTIONS

     OTHERS  = 0.

   COMMIT WORK.

   WRITE: / 'Goods movement was cancelled successfully with document:',

       emkpf-mblnr.

  ELSE.

   WRITE: / 'Testmode: Goods movement could be cancelled !'.

  ENDIF.

 ELSE.

*... otherwise write an error-log

  LOOP AT emseg.

   WRITE: /

        emseg-msgid,

        emseg-msgno,

        emseg-msgty,

        emseg-msgv1,

        emseg-msgv2,

        emseg-msgv3,

        emseg-msgv4.

  ENDLOOP.

  WRITE: / emkpf-msgid,

       emkpf-msgno,

       emkpf-msgty,

       emkpf-msgv1,

       emkpf-msgv2,

       emkpf-msgv3,

       emkpf-msgv4.

 ENDIF.

ELSE.

 WRITE: / 'Material document to reverse does not exsist'.

ENDIF.


举报

相关推荐

0 条评论