• 物料冲销过账MB_CANCEL_GOODS_MOVE…


    *&---------------------------------------------------------------------*
    *& 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.

    http://blog.sina.com.cn/sapliumeng
  • 相关阅读:
    SpringBoot启动项目时提示:Error:java: 读取***.jar时出错;
    K8S操作
    二、kubernetes搭建集群
    三、Json方式函数
    一、Gulp
    大萨达所
    三、IIS通过目录方式部署以供外部调试
    四、附加到进程调试(.NET Framework)
    一、bootstrap-fontawesome-iconpicker组件
    表单
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802155.html
Copyright © 2020-2023  润新知