zoukankan      html  css  js  c++  java
  • 返回支付成功的发票、报销凭证、借款凭证

    FUNCTION zrfc_mm014.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(CALLNO) TYPE  ZCALLNO
    *"  TABLES
    *"      ZMMS002 STRUCTURE  ZMMS002
    *"----------------------------------------------------------------------
    TYPES:BEGIN OF ty_regup,
      bukrs      TYPE regup-bukrs,
      belnr      TYPE regup-belnr,
      gjahr      TYPE regup-gjahr,
      retn_date  TYPE regup-retn_date,
      zzbelnr    TYPE regup-zzbelnr,
      zzgjahr    TYPE regup-zzgjahr,
      END OF ty_regup.
    
    DATA: lt_zmmt002  TYPE TABLE OF zmmt002,
          lt_zmmt002s TYPE TABLE OF zmmt002,
          ls_zmmt002  LIKE LINE  OF lt_zmmt002,
          lt_regup    TYPE TABLE OF ty_regup,
          ls_regup    TYPE ty_regup,
          lv_datano   TYPE i.
    
    *---查询未发给费控的会计凭证
    SELECT * INTO TABLE lt_zmmt002 FROM zmmt002
      WHERE flag = ' '.
    
    lt_zmmt002s = lt_zmmt002.
    SORT lt_zmmt002 BY bukrs gjahr belnr.
    DELETE ADJACENT DUPLICATES FROM lt_zmmt002 COMPARING bukrs gjahr belnr.
    
    IF lt_zmmt002 IS NOT INITIAL.
      SELECT bukrs belnr gjahr retn_date zzbelnr zzgjahr INTO TABLE lt_regup
        FROM regup
        FOR ALL ENTRIES IN lt_zmmt002
        WHERE bukrs = lt_zmmt002-bukrs
         AND  belnr = lt_zmmt002-belnr
         AND  gjahr = lt_zmmt002-gjahr.
    ENDIF.
    
    *---删除未产生清帐凭证的数据
    DELETE lt_regup WHERE zzbelnr IS INITIAL.
    
    
    *---数据编辑
    LOOP AT  lt_regup INTO  ls_regup.
    zmms002-bukrs       = ls_regup-bukrs.
    zmms002-gjahr       = ls_regup-gjahr.
    zmms002-belnr       = ls_regup-belnr.
    zmms002-retn_date   = ls_regup-retn_date.
    zmms002-flag        = 'S'.
    APPEND zmms002.
    ENDLOOP.
    
    *---记录已发给费控系统的凭证
    CLEAR:gt_log,gs_log.
    LOOP AT zmms002.
      lv_datano     = lv_datano + 1.
      gs_log-name   = 'ZRFC_MM014'.
      gs_log-cdate  = sy-datum.
      GET TIME.
      gs_log-ctime  = sy-uzeit.
      gs_log-callno = callno.
      gs_log-datano = lv_datano.
      gs_log-flag   = 'S'.
      gs_log-log    = 'Success'.
      CONCATENATE zmms002-bukrs  zmms002-gjahr zmms002-belnr zmms002-retn_date
                  zmms002-flag
      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.
    ENDLOOP.
    IF gt_log IS NOT INITIAL.
      INSERT zrfc_mm01out_log FROM TABLE gt_log.
      IF sy-subrc = 0.
        COMMIT WORK.
      ENDIF.
    ENDIF.
    
    
    *---更新客制会计凭证表
    CLEAR ls_zmmt002.
    ls_zmmt002-flag = 'X'.
    MODIFY lt_zmmt002s FROM ls_zmmt002 TRANSPORTING flag WHERE flag IS INITIAL.
    
    MODIFY zmmt002 FROM TABLE lt_zmmt002s.
    IF sy-subrc = 0 .
    COMMIT WORK.
    ELSE.
    ROLLBACK WORK.
    ENDIF.
    
    ENDFUNCTION.
  • 相关阅读:
    webpack打包优化提升构建速度、减少打包文件体积等
    centos安装LibreOffice
    JRebel注册码,XRebel注册码,在线破解教程,可激活至2100(亲测有效)
    linux 脚本命令
    python+selenium自动化(四)之selenium切换窗口
    python 面试常见的编程题
    python+selenium自动化(六)之元素其他属性定位
    python+selenium自动化(一)之环境搭建
    pytest 多重断言
    pytest 用例初始化和用例数据清除
  • 原文地址:https://www.cnblogs.com/caizjian/p/6074241.html
Copyright © 2011-2022 走看看