zoukankan      html  css  js  c++  java
  • 资产主数据同步接口

    FUNCTION zrfc_mm008.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(CALLNO) TYPE  ZCALLNO
    *"     VALUE(ZDATE) LIKE  SY-DATUM DEFAULT SY-DATUM
    *"  EXPORTING
    *"     VALUE(FLAG) LIKE  BAPIRET2-TYPE
    *"     VALUE(MESSAGE) LIKE  BAPIRET2-MESSAGE
    *"  TABLES
    *"      ZANLA STRUCTURE  ZANLA OPTIONAL
    *"----------------------------------------------------------------------
    TYPES:BEGIN OF ty_zanla,
      bukrs      LIKE anla-bukrs,
      anln1      LIKE anla-anln1,
      anlkl      LIKE anla-anlkl,
      txt50      LIKE anla-txa50,
      deakt      LIKE anla-deakt,
      xspeb      LIKE anla-xspeb,
      ktansw  LIKE t095-ktansw,
      END OF ty_zanla.
    
    DATA :lv_datano TYPE zdatano,
          lv_index  TYPE i,
          lt_zanla  TYPE TABLE OF ty_zanla,  "资产主数据
          ls_zanla  TYPE ty_zanla,
          lt_t095   TYPE TABLE OF t095,      "资产科目表
          ls_t095   TYPE t095.
    
    IF zdate IS INITIAL OR zdate = '00000000'.
    SELECT bukrs
           anln1
           anlkl
           txt50
           deakt
           xspeb
                 INTO TABLE lt_zanla
           FROM  anla.
    ELSE.
    SELECT bukrs
           anln1
           anlkl
           txt50
           deakt
           xspeb
            INTO TABLE lt_zanla
           FROM  anla
           WHERE erdat = zdate
            OR   aedat = zdate.
    ENDIF.
    
    *查询资产科目
    SELECT * INTO TABLE lt_t095 FROM t095 WHERE ktopl = 'GFFA'.
    
    SORT  lt_t095 BY  ktogr.
    LOOP AT lt_zanla INTO ls_zanla.
      lv_index = sy-tabix.
      READ TABLE  lt_t095 INTO  ls_t095 WITH KEY ktogr = ls_zanla-anlkl
                                                 BINARY SEARCH.
      IF sy-subrc = 0.
         ls_zanla-ktansw  =  ls_t095-ktansw.
         MODIFY lt_zanla FROM ls_zanla  TRANSPORTING ktansw.
      ENDIF.
    ENDLOOP.
    
    
    IF lt_zanla IS NOT INITIAL.
         flag = 'S'.
         message = '执行成功'.
    ELSE.
         flag = 'E'.
         message = '没有数据'.
    ENDIF.
    
    zanla[] = lt_zanla.
    
    CLEAR:gt_log,gs_log.
    LOOP AT zanla INTO ls_zanla.
    *日志记录
        lv_datano = lv_datano + 1.
        gs_log-datano = lv_datano.
        gs_log-name   = 'ZRFC_MM008'.
        gs_log-cdate  = sy-datum.
        GET TIME.
        gs_log-ctime  = sy-uzeit.
        gs_log-callno = callno.
        gs_log-flag   = flag.
        gs_log-log    = message.
    
        CONCATENATE zdate
        ls_zanla-bukrs  ls_zanla-anln1  ls_zanla-anlkl ls_zanla-txt50  ls_zanla-deakt  ls_zanla-xspeb ls_zanla-ktansw
        INTO gs_log-content SEPARATED BY ''.
        CONDENSE gs_log-content NO-GAPS.
        SHIFT message LEFT DELETING LEADING  ''.
        gs_log-length = STRLEN( gs_log-content ).
        APPEND gs_log TO gt_log.
        CLEAR: gs_log,ls_zanla.
    ENDLOOP.
    
       IF gt_log IS NOT INITIAL.
         INSERT zrfc_mm01in_log FROM TABLE gt_log.
         IF sy-subrc = 0.
           COMMIT WORK.
         ENDIF.
       ENDIF.
    ENDFUNCTION.
  • 相关阅读:
    大三寒假学习进度(3)
    大三寒假学习进度(2)
    大三寒假学习进度(1)
    Tensorflow深度学习(二)
    Tensorflow深度学习(一)
    了解使用Pyppeteer
    为什么我还可以继续使用python自动填问卷星?
    周总结(十四)
    docker常用命令总结
    周总结(十三)
  • 原文地址:https://www.cnblogs.com/caizjian/p/6074228.html
Copyright © 2011-2022 走看看