FUNCTION ZDOCUMENT_BILL_EXCHANG_POST .
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_HEADER) LIKE  BKPF STRUCTURE  BKPF
*"  EXPORTING
*"     VALUE(E_BELNR) TYPE  BKPF-BELNR
*"     VALUE(E_GJAHR) TYPE  BKPF-GJAHR
*"  TABLES
*"      IT_ITEM STRUCTURE  ZFS_BSED
*"      RETURN STRUCTURE  BAPIRET2 OPTIONAL
*"----------------------------------------------------------------------
   DATA :LV_ZFBDT ( 10 )  TYPE  C ,
       LV_WDATE ( 10 )  TYPE  C ,
       LV_VALUT ( 10 )  TYPE  C .
   CLEAR :E_BELNR ,E_GJAHR .
   REFRESH : IT_BLNTAB ,IT_FTCLEAR ,IT_FTPOST , RETURN .

IF I_HEADER -BUDAT  IS  INITIAL .
     WRITE SY -DATUM  TO LV_DATUM .
   ELSE .
     WRITE I_HEADER -BUDAT  TO LV_DATUM .
   ENDIF .
   IF I_HEADER -BLDAT  IS  INITIAL .
     WRITE SY -DATUM  TO LV_BLDAT .
   ELSE .
     WRITE I_HEADER -BLDAT  TO LV_BLDAT .
   ENDIF .

CALL  FUNCTION  'POSTING_INTERFACE_START'
     EXPORTING
      I_FUNCTION          =  'C'
      I_KEEP              =  'X'
      I_MODE              =  MODE
      I_UPDATE            =  'A'
     EXCEPTIONS
      CLIENT_INCORRECT    =  1
      FUNCTION_INVALID    =  2
      GROUP_NAME_MISSING  =  3
      MODE_INVALID        =  4
      UPDATE_INVALID      =  5
       OTHERS              =  6 .

POPULATE_FTPOST :  'K'  1  'BKPF-BUKRS' I_HEADER -BUKRS , "Company code
   'K'  1  'BKPF-BLART' I_HEADER -BLART ,
   'K'  1  'BKPF-BLDAT' LV_BLDAT ,
   'K'  1  'BKPF-BUDAT' LV_DATUM ,
   'K'  1  'BKPF-MONAT' I_HEADER -MONAT ,
   'K'  1  'BKPF-WAERS' I_HEADER -WAERS ,
   'K'  1  'BKPF-XBLNR' I_HEADER -XBLNR ,
   'K'  1  'BKPF-BKTXT' I_HEADER -BKTXT ,
   'K'  1  'BKPF-NUMPG' I_HEADER -NUMPG .
   DATA :LV_DMBTR  TYPE  C LENGTH  15 ,
       LV_SKFBT  TYPE  C LENGTH  15 .
   SORT IT_ITEM  BY BUZEI .
   LOOP  AT IT_ITEM .
     IF IT_ITEM -ZFBDT  IS  INITIAL .
       WRITE SY -DATUM  TO LV_ZFBDT .
     ELSE .
       WRITE IT_ITEM -ZFBDT  TO LV_ZFBDT .
     ENDIF .
     IF IT_ITEM -WDATE  IS  NOT  INITIAL .
       WRITE IT_ITEM -WDATE  TO LV_WDATE .
     ENDIF .
     IF IT_ITEM -VALUT  IS  NOT  INITIAL .
       WRITE IT_ITEM -VALUT  TO LV_VALUT .
     ENDIF .
     WRITE IT_ITEM -DMBTR  TO LV_DMBTR .
     CONDENSE LV_DMBTR .
     WRITE IT_ITEM -SKFBT  TO LV_SKFBT .
    POPULATE_FTPOST :
         'P' IT_ITEM -BUZEI  'RF05A-NEWBS' IT_ITEM -BSCHL .
     IF IT_ITEM -KOART  =  'D' .
      POPULATE_FTPOST :  'P' IT_ITEM -BUZEI  'BSEG-HKONT' IT_ITEM -KUNNR .
     ELSEIF IT_ITEM -KOART  =  'K' .
      POPULATE_FTPOST :  'P' IT_ITEM -BUZEI  'BSEG-HKONT' IT_ITEM -LIFNR .
     ELSE .
      POPULATE_FTPOST :  'P' IT_ITEM -BUZEI  'BSEG-HKONT' IT_ITEM -HKONT .
     ENDIF .
     IF IT_ITEM -UMSKZ  =  'Q'  OR IT_ITEM -UMSKZ  =  'R'  OR IT_ITEM -UMSKZ  =  'S' .
      POPULATE_FTPOST :
           'P' IT_ITEM -BUZEI  'RF05A-NEWUM' IT_ITEM -UMSKZ ,
           'P' IT_ITEM -BUZEI  'BSED-WDATE' LV_WDATE ,
           'P' IT_ITEM -BUZEI  'BSED-WLZBP' IT_ITEM -WLZBP ,
           'P' IT_ITEM -BUZEI  'BSED-WBANK' IT_ITEM -WBANK ,
           'P' IT_ITEM -BUZEI  'BSEG-ZFBDT' LV_ZFBDT .
     ELSE .
      POPULATE_FTPOST :
           'P' IT_ITEM -BUZEI  'RF05A-NEWUM' IT_ITEM -UMSKZ .
      POPULATE_FTPOST :
           'P' IT_ITEM -BUZEI  'COBL-PRCTR' IT_ITEM -PRCTR .
     ENDIF .
    POPULATE_FTPOST :
         'P' IT_ITEM -BUZEI  'BSEG-SGTXT' IT_ITEM -SGTXT ,
         'P' IT_ITEM -BUZEI  'BSEG-ZUONR' IT_ITEM -ZUONR ,
         'P' IT_ITEM -BUZEI  'BSEG-WRBTR' LV_DMBTR .
     IF IT_ITEM -SKFBT <>  0 .
      POPULATE_FTPOST :
           'P' IT_ITEM -BUZEI  'BSEG-SKFBT' LV_SKFBT .
     ENDIF .
     IF IT_ITEM -XNEGP  =  'X' .
      POPULATE_FTPOST :
       'P' IT_ITEM -BUZEI  'BSEG-XNEGP' IT_ITEM -XNEGP .
     ENDIF .
   ENDLOOP .

CALL  FUNCTION  'POSTING_INTERFACE_DOCUMENT'
     EXPORTING
      I_TCODE                   =  'FB01'
*     I_SGFUNCT                = ' '
*     I_NO_AUTH                = ' '
     IMPORTING
      E_MSGID                   =  RETURN - ID
      E_MSGNO                   =  RETURN - NUMBER
      E_MSGTY                   =  RETURN - TYPE
      E_MSGV1                   =  RETURN -MESSAGE_V1
      E_MSGV2                   =  RETURN -MESSAGE_V2
      E_MSGV3                   =  RETURN -MESSAGE_V3
      E_MSGV4                   =  RETURN -MESSAGE_V4
*     E_SUBRC                  =
     TABLES
      T_BLNTAB                  = IT_BLNTAB
      T_FTPOST                  = IT_FTPOST
      T_FTTAX                   = IT_FTTAX
     EXCEPTIONS
      ACCOUNT_MISSING           =  1
      COMPANY_CODE_MISSING      =  2
      POSTING_KEY_INVALID       =  3
      POSTING_KEY_MISSING       =  4
      RECORD_TYPE_INVALID       =  5
      TRANSACTION_CODE_INVALID  =  6
      AMOUNT_FORMAT_ERROR       =  7
      TOO_MANY_LINE_ITEMS       =  8
      COMPANY_CODE_INVALID      =  9
      SCREEN_NOT_FOUND          =  10
      NO_AUTHORIZATION          =  11
       OTHERS                    =  12 .
   IF SY -SUBRC  =  0  AND IT_BLNTAB[]  IS  NOT  INITIAL  AND  RETURN - TYPE <>  'E' .
     READ  TABLE IT_BLNTAB  INDEX  1 .
     IF SY -SUBRC  =  0 .
      E_BELNR  = IT_BLNTAB -BELNR .
      E_GJAHR  = IT_BLNTAB -GJAHR .
     ENDIF .
   ENDIF .

CALL  FUNCTION  'MESSAGE_TEXT_BUILD'
     EXPORTING
      MSGID                =  RETURN - ID
      MSGNR                =  RETURN - NUMBER
      MSGV1                =  RETURN -MESSAGE_V1
      MSGV2                =  RETURN -MESSAGE_V2
      MSGV3                =  RETURN -MESSAGE_V3
      MSGV4                =  RETURN -MESSAGE_V4
     IMPORTING
      MESSAGE_TEXT_OUTPUT  =  RETURN - MESSAGE .
   APPEND  RETURN .

CALL  FUNCTION  'POSTING_INTERFACE_END'
     EXCEPTIONS
      SESSION_NOT_PROCESSABLE  =  1
       OTHERS                   =  2 .

ENDFUNCTION .

ZDOCUMENT_BILL_EXCHANG_POST相关推荐

  1. 销售单据条件价格明细表

    REPORT ZSDR_DDFYCX   NO  STANDARD  PAGE HEADING . TABLES :VBAK ,        LIKP ,        VBUK ,         ...

最新文章

  1. boke例子: freermarker:在使用ajax传递json数据的时候多出冒号
  2. Python 进阶_闭包 amp; 装饰器
  3. mysql show status
  4. 引入antd组件样式_扩大团队技术影响力,搭建团队自己的 UI 组件库
  5. 杭电1043java实现bfs一遍
  6. python 参数解析器_Python中最好用的命令行参数解析工具
  7. python类之间传参_没看懂这11 条,别说你精通 Python 装饰器
  8. java 属性类_类和对象系列教材 (九)- Java的类属性,静态属性
  9. 如果你要补充益生菌 ——益生菌补充、个体化、定植指南
  10. 基于B/S模式的设备管理系统开发
  11. IAR中使用IELFTOOL进行软件代码checksum的生成和添加
  12. 信息安全工程师学习笔记《第三章》
  13. kso经验记录 --- c# 之MD5加密算法
  14. c++,数组与指针的差别
  15. 多模态自编码器从EEG信号预测fNIRS静息态
  16. 怎么让照片变年轻_怎么把照片变年轻
  17. 论文笔记:ICLR 2021 Combining Lable Propagation And Simple Models Out-Performs Graph Neural Network
  18. 上海腾科教育干货分享之达梦数据库培训课程DCP
  19. react中key的作用 1
  20. 从医疗保健攻击到HIPAA 合规性

热门文章

  1. 【干货】专注用户体验,用最小代价验证你想法的可执行性
  2. PMcaff-活动| 产品经理免费培训最后一批通过名单公布啦!
  3. Spring Boot 简单集成 Liquibase
  4. mysql之数据库主从复制配置报错1677
  5. Java 8 CompletableFuture 教程
  6. Delphi常见各类编译错误信息-中英对照
  7. jQuery之文本框得失焦点
  8. 声明式事务和编程式事务
  9. HTMLCSS设计与构建网站 笔记HTML
  10. backbone.js入门