zoukankan      html  css  js  c++  java
  • 物料冲销过账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
  • 相关阅读:
    java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'
    generate failed: Cannot resolve classpath entry: mysql-connector-java-5.1.38.jar
    Spring boot 零配置开发微服务
    【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请
    【ABAP系列】SAP ABAP 字符编码与解码、Unicode
    【ABAP系列】ABAP CL_ABAP_CONV_IN_CE
    【Fiori系列】浅谈SAP Fiori的设计美感与发展历程
    【Fiori系列】为什么SAP Fiori活的如此精致
    【ABAP系列】SAP ABAP下载带密码的Excel文件
    【ABAP系列】SAP ABAP 高级业务应用程序编程(ABAP)
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802155.html
Copyright © 2011-2022 走看看