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