zoukankan      html  css  js  c++  java
  • 冲销收货

    FUNCTION zrfc_mm004.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(CALLNO) TYPE  ZCALLNO
    *"     VALUE(MAT_DOC) TYPE  BAPI2017_GM_HEAD_02-MAT_DOC
    *"     VALUE(DOC_YEAR) TYPE  BAPI2017_GM_HEAD_02-DOC_YEAR
    *"     VALUE(PSTNG_DATE) TYPE  BAPI2017_GM_HEAD_02-PSTNG_DATE DEFAULT
    *"       SY-DATUM
    *"     VALUE(PR_UNAME) TYPE  BAPI2017_GM_HEAD_01-PR_UNAME OPTIONAL
    *"  EXPORTING
    *"     VALUE(MBLNR) LIKE  BAPI2017_GM_HEAD_RET-MAT_DOC
    *"     VALUE(MJAHR) LIKE  BAPI2017_GM_HEAD_RET-DOC_YEAR
    *"     VALUE(FLAG) LIKE  BAPIRET2-TYPE
    *"     VALUE(MESSAGE) LIKE  BAPIRET2-MESSAGE
    *"----------------------------------------------------------------------
    DATA:ls_goodsmvt_headret LIKE bapi2017_gm_head_ret,
         lv_message          LIKE bapiret2-message.
    DATA lv_datano           TYPE zdatano.
    CLEAR:gt_return,gs_return,mblnr,mjahr,flag,ls_goodsmvt_headret,message.
    
    CALL FUNCTION 'BAPI_GOODSMVT_CANCEL'
      EXPORTING
        materialdocument          = mat_doc
        matdocumentyear           = doc_year
       goodsmvt_pstng_date        = pstng_date
       goodsmvt_pr_uname          = pr_uname
     IMPORTING
       goodsmvt_headret           = ls_goodsmvt_headret
      TABLES
        return                    = gt_return.
    
      READ TABLE gt_return INTO gs_return WITH KEY type = 'E'.
      IF sy-subrc NE 0.
        flag = 'S'.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
    
        mblnr  = ls_goodsmvt_headret-mat_doc.                                              "物料凭证
        mjahr  = ls_goodsmvt_headret-doc_year.                                             "年度
        CONCATENATE '生成凭证号:'  mblnr '年度:' mjahr INTO message.
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    
        LOOP AT gt_return INTO gs_return WHERE type CA 'AEX'.
            MESSAGE ID     gs_return-id
                    TYPE   gs_return-type
                    NUMBER gs_return-number
                    WITH   gs_return-message_v1 gs_return-message_v2
                           gs_return-message_v3 gs_return-message_v4
                           INTO lv_message.
            CONCATENATE message lv_message INTO message SEPARATED BY ''.
        ENDLOOP.
        SHIFT message LEFT DELETING LEADING  ''.
        flag = 'E'.
      ENDIF.
    
    *记录日志
      CLEAR:gt_log,gs_log.
       gs_log-name   = 'ZRFC_MM004'.
       gs_log-cdate  = sy-datum.
       lv_datano     = lv_datano + 1.
       gs_log-datano = lv_datano.
       GET TIME.
       gs_log-ctime  = sy-uzeit.
       gs_log-callno = callno.
       gs_log-flag   = flag.
       gs_log-log    = message.
       CONCATENATE mat_doc doc_year pstng_date pr_uname
       mblnr mjahr
       INTO gs_log-content SEPARATED BY '|'.
    
       CONDENSE gs_log-content NO-GAPS.
       gs_log-length = STRLEN( gs_log-content ).
       APPEND gs_log TO gt_log.
    
     IF gt_log IS NOT INITIAL.
       INSERT zrfc_mm01in_log FROM TABLE gt_log.
       IF sy-subrc = 0.
         COMMIT WORK.
       ENDIF.
     ENDIF.
    
    ENDFUNCTION.
  • 相关阅读:
    Spring
    Spring
    Spring
    Spring
    JS 脱敏通用方法
    JS 实用技巧记录
    多快?好省!
    实战 | 如何使用微搭低代码实现按条件过滤数据
    2021腾讯数字生态大会落地武汉,微搭低代码专场等你来
    实战 | 如何使用微信云托管部署flask项目
  • 原文地址:https://www.cnblogs.com/caizjian/p/6074208.html
Copyright © 2011-2022 走看看