1、需要打开银行的http文档
银行的报文格式
<?xml version="1.0" encoding="GBK"?><PGK><DATA><![CDATA[
<?xml version="1.0" encoding ="GBK"?>
<CBSERPPGK>
<INFO>
<FUNNAM>ERPAYSAV</FUNNAM>
</INFO>
<APPAYSAVX>
<BNKTYP>CMB</BNKTYP>
<BUSTYP>0</BUSTYP>
<CCYNBR>10</CCYNBR>
<CLTACC>000110100002</CLTACC>
<CLTNBR>0003</CLTNBR>
<EPTDAT>2019-07-04</EPTDAT>
<EPTTIM>11:01:00</EPTTIM>
<EXTTX1>摘要信息03</EXTTX1>
<OPRMOD>3</OPRMOD>
<OPRTYP>202</OPRTYP>
<PAYSON>N</PAYSON>
<PAYTYP>2</PAYTYP>
<INNACC></INNACC>
<INTDAT></INTDAT>
<ITMNBR></ITMNBR>
<PLNNBR></PLNNBR>
<RECNUM>1</RECNUM>
<REFNBR>TEST20190704</REFNBR>
<REVACC>8512384214654654</REVACC>
<REVBNK>招商银行科技园支行</REVBNK>
<REVCIT>深圳市</REVCIT>
<REVEML></REVEML>
<REVMOB></REVMOB>
<REVNAM>招商银行</REVNAM>
<REVPRV>广东省</REVPRV>
<TRSAMT>200.00</TRSAMT>
<TRSUSE>摘要信息01</TRSUSE>
<REVCAT></REVCAT>
<PAYCAT></PAYCAT>
</APPAYSAVX>
</CBSERPPGK>
]]></DATA><CHECKCODE>Z5060D345</CHECKCODE></PGK>
2、DMEEX新建付款结构
选择XML结构
3、设置格式树的属性
4、根据文档创建节点
根据银行给的示例报文,创建节点CBSEPRPGK,和子节点INFO和APPAYSAVX和APATHINFY
根据银行给的报文,对于节点CBSEPRPGK外有常量<?xml version="1.0" encoding = "GBK"?>,可以直接添加进结构,但是需要先设置节点的属性为常量,然后再将常量改为未映射。
接着创建子节点
5、创建元素
根据银行报文在相应节点下创建相应的元素
5.1、创建常量元素
5.2、创建 EXIT的出口字段
RECNUM | 记录序号 | INTEGER | 否 | 批量提交时序号不能重复 单笔提交时值为1 |
Copy函数 DMEE_EXIT_CGI_BANK_CHANGE
FUNCTION zfi_dmee_exit_recnum.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_TREE_TYPE) TYPE DMEE_TREETYPE_ABA
*" VALUE(I_TREE_ID) TYPE DMEE_TREEID_ABA
*" VALUE(I_ITEM)
*" VALUE(I_PARAM)
*" VALUE(I_UPARAM)
*" REFERENCE(I_EXTENSION) TYPE DMEE_EXIT_INTERFACE_ABA
*" EXPORTING
*" REFERENCE(O_VALUE)
*" REFERENCE(C_VALUE)
*" REFERENCE(N_VALUE)
*" REFERENCE(P_VALUE)
*" TABLES
*" I_TAB
*"----------------------------------------------------------------------
DATA:lv_value TYPE int4.
CASE i_tree_id.
WHEN 'ZEPIC_TEST_CN_CMB_PAYMENT'.
"获取当前序列号
SELECT SINGLE recnum FROM zfit020a
INTO @DATA(lv_recnum).
IF lv_recnum IS NOT INITIAL.
lv_value = |{ lv_recnum + 1 }|.
ELSE.
lv_value = 1.
ENDIF.
c_value = |{ lv_value }| .
"清空历史
DELETE FROM zfit020a.
INSERT zfit020a FROM @( VALUE #( recnum = lv_value ) ).
WHEN OTHERS.
ENDCASE.
ENDFUNCTION.
5.3、结构字段
REFNBR | 企业参考业务号 | VARCHAR(30) | 否 | ERP系统唯一编号,此编号同一渠道不能重复提交 |
采用标准结构字段