SAP银行接口实例
曹晓明
(赛默飞世尔(上海)管理有限公司,上海201206)
摘要:文章举例说明了SAP银行接口的3种方案:网上银行上传、EDI发送以及银企直连,详细描述了3种方案的具体实现方法以及操作步骤,指出了各方案之间的异同和各自的优缺点。
关键词:SAP;银行接口
中图分类号:TP391文献标识码:A
文章编号:1009-3044(2021)09-0239-04开放科学(资源服务)标识码(OSID):Examples of SAP Bank Interfaces
CAO Xiao-ming
(Thermofisher(Shanghai)Management Co.,Ltd,Shanghai201206,China)
Abstract:It explains3solutions to implement bank interfaces in SAP through examples–payment medium files,EDI connection and EPIC(Electronic Bank Interface for China).Then,it describes implementation settings and configuration step by step,and it describe operation steps as well.And finally it compared the3solutions and their pro’s and con’s.
Key words:SAP;bank interface
1SAP银行接口实例(一)——以批量上传方式将付款请求从SAP传送至银行
SAP是世界领先的ERP软件,随着企业规模的发展壮大,国内越来越多的企业实施了SAP。在实施过程中,一个常见的需求就是与银行的接口。SAP与银行的接口包括两个方面:从SAP发送到银行的付款请求,和从银行返回的交易明细(SAP中称为对账单bank statement)。
从SAP发送到银行的付款请求,其实现方法主要有3种:
1)在SAP上生成付款请求文件,客户将该付款文件上传到银行的专用软件或网上银行;
2)从SAP中将付款请求以EDI方式发送给银行;
3)最新的SAP版本提供了一个新的功能模块EPIC(Elec⁃tronic Payment Integration for China中国电子付款集成,在中国也称之为银企直连),该模块提供了跟银行接口的一个集成界面。
我们从最简单的入手,本篇讲述了从SAP发送付款请求到银行的第一种情况,即在SAP上生成付款请求文件,再将该付款文件上传到银行的专用软件或网上银行。我们将在以后的篇幅里讨论从SAP发送付款请求到银行的其他情况。
1.1实例
以中国银行为例。中国银行的网上银行提供了上传批量付款文件的界面:
图1中国银行企业网银界面
但是却没有提供该文件的规范或详细说明书。不过,中国银行提供了批量工具小程序,可以在同一上传页面下载。该工具提供了对公汇款、对私汇款、跨境汇款和境内外币汇款四种格式。具体文件格式可以通过工具的帮助文件得到。需要注意的是,该工具导入文件的格式和此工具生成的可以上传到网上银行的文件格式是不同的。导入文件可以是txt、csv、xls等,其字段/列的次序跟屏幕显示一致。
而它生成的文件虽然也是txt文件,但有特定的格式。具
收稿日期:2020-11-15
作者简介:曹晓明(1969—),男,江苏无锡人,工程师,本科,长期从事ERP的实施和支持服务,曾
任毕博(中国)咨询有限公司咨询经理,获毕博公司金标兵(Gold Beacon)称号,曾参与多个全球ERP项目实施,具有多个国家的ERP实施经验(比如美国、德国、荷兰、新加坡、日本、韩国等),现担任赛默飞世尔科技集团技术和运作部高级业务分析员,主要从事SAP的实施和支持。
Computer Knowledge and Technology电脑知识与技术第17卷第9期(2021年3月)
体来说,该文件分成三部分-文件头、付款明细行、文件尾。文件头和文件尾都只有一行,付款明细行可以有多行,分别对应每一条付款。可以通过批量工具导出来得到具体的文件格式。需要注意的是付款明细部分的字段顺序和批量工具中的顺序也是不同的。这个文件才是我们需要在SAP中生成的、可以直接上传到网上银行的格式。
1.2后台配置
要在SAP中生成可以上传到中国银行网上银行的文件,需要在SAP中做一系列的设置。
1.2.1定义付款文件格式
SAP没有提供现成的中国银行文件格式。我们需要在DMEE(Data Medium Exchange Engine数据介质交换引擎)中自己定义。由于各付款方式的文件格式不同,我们需要定义3个格式树(对公汇款和对私汇款格式相同,合并为一个格式树)。
在DMEE中定义一个PAYM类型的格式树(交易码:DMEE)。
图2DMEE元素
格式树以树形表示文件格式,下面将一一介绍各树形节点的要点。
格式树属性
树属性是整个格式树的属性,在结构中只能有一个节点,位于结构顶部。其属性包括:
·格式属性:中国银行的付款文件是以竖线“|”为分隔符的文本文件,所以指定字段类型为1(带分隔符的文件),分隔符(定界符)为“|”;
·等级:给文件行定义不同的层级,以区分文件头、付款头、付款明细等不同的层级。后面的偿付因素其实是指该层级可重复次数。
·排序/代码字段:指定付款明细的输出顺序。
段组
段组是一整套记录的集合。通常我们会在树属性下建一个段组将所有记录包括进去。
段
段通常用来表示一条记录。需要给文件中的每个类型的记录建一个段。比如,文件头、付款明细、文件尾等等。
元素
元素用来表示一条记录中的一个字段。其属性中各参数含义如下:
l名称:名称可以重复。系统用节点标识作为唯一标识。
l参考标识:如果要在其他地方引用该字段,需要输入一个参考标识。
l SAP脚本名称:用来在附表中引用该元素。
l长度:字段长度。
l类型:字段类型。
l目标偏移量:系统从偏移量后一位开始填写元素内容。
l转换功能:字段格式。
l状态:用来标志字段是必填还是可选的。
l映射过程:用来指定数据来源。具体来源在“源”页面指定(集合例外)。
常量:字段填入一个常量。
结构字段:可以指定为付款运行中的内容(包括FPAYH, FPAYHX,FPAYP以及DMEE_PAYD结构字段),或系统字段的内容。
参照树节点:某个树节点的内容。
集合:某个节点的统计数字。比如总计多少个付款,总计付款金额等等。其来源在“集合”页面指定。
退出模块:可以在一个退出模块(user exit)中,指定元素内容。可以拷贝SAP提供的函数模块例子DMEE_EXIT_TEM⁃PLATE和DMEE_EXIT_TEMPLATE_EXTENDED。
内部映射:指定元素内容由多个子键(最小单位)组成,需要在其下面建2个以上的最小单位:
技术节点
技术节点和元素类似,但是不输出到目标付款文件中。可以将其看成临时存储的一个元素。
最小单位
最小单位也和元素类似,但是它只能是某个元素的组成部分。可以将多个最小单位的内容拼接成一个元素。
元素、技术节点和最小单位都有“条件”页面。只有当其中的条件成立时,它们才会输出。
1.2.2配置付款运行
根据银行付款文件格式定义好格式树后,我们需要配置付款运行。付款运行的配置只需按照通常的方式配置。以下只对影响银行接口的地方做详细说明,通常的付款运行配置我们将只作简要说明或略过不提,不再赘述。
1.2.2.1开户银行
从菜单进入
交易码
IMG>财务会计>银行会计核算>银行账户>定义开户行
FI12
开户银行中除一般的开户行名称、银行国家和银行代码外,还可以在数据媒介交换中指定一些信息,比如本公司在银行的客户编号、费用账户等等,以便在格式树中引用。
1.2.2.2定义支付媒介
从菜单进
入
交易码
IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支付
媒介>进行支付方式工作台中支付方式格式化的设置>创建支付媒体格式
无
根据前面在DMEE中创建的付款文件格式创建支付媒介格式。在媒介格式中指定输入为“01文件”,并指定“使用DME Engine映射”。
1.2.2.3调整支付方式格式
从菜单进入
IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支
付媒介>进行支付方式工作台中支付方式格式化的设置>调整支付方式
格式
Computer Knowledge and Technology电脑知识与技术第17卷第9期(2021年3月)
交易码无
在支付格式中,指定代码页为“4110–Unicode UTF-8”。
在有中文输出的付款格式,必须指定Unicode代码页或兼容的
中文代码页,否则输出的付款文件有可能带有乱码。
1.2.2.4创建付款方式
从菜单进
入
交易码IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支付程序的付款方式/银行选择>设置支付事务每一国家的支付方法
无
需要为银行不同的付款格式创建一个新的付款方式。对公汇款和对私汇款虽然格式相同,但为了生成不同的付款文件,我们也分别为它们建一个新的付款方式。在付款方式中,指定所用的支付媒介格式。
1.2.2.5定义付款文件生成的变式
从菜单进入交易码
无FBPM
运行FBPM,为每一个付款格式指定相应的参数,并将参数保存为一个变式。
1.2.2.6为付款文件的生成分配变式
从菜单进
入
交易码IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支付媒介>进行支付方式工作台中支付方式格式化的设置>创建/分配选择变式
无
按照自动付款银行确定,给相应的账户和付款方式组合分配变式。
在做完其他的付款运行配置后,我们就可以执行付款运行,并生成付款文件了。
1.3在付款运行时生成付款文件
执行付款运行F110/F111的方法没有变化,在最后一步过账付款运行时,需要选择“创建付款媒介”
。
图3付款运行1
收付任务完成后,可以在菜单中选择管理付款媒介。在此界面下,
可以下载付款文件。
图4付款运行2
此文件可直接上传到中国银行网上银行作为批量付款。你也可以将此文件导入中国银行批量文件工具里,验证矫正后生成批量付款文件,再上传到网上银行。
1.4小结
使用上传付款文件的方式来将付款请求发送到银行,这种方式简单方便。虽然执行付款运行后,需要下载文件,再上传到网银,需要手工操作,中间存在一定的风险。但是这种方式稳定可靠,适用面广,基本上所有银行都可以使用。
2SAP银行接口实例(二)-以EDI方式将付款请求发送给银行
上篇讲述了从SAP发送付款请求到银行的第一种情况,这里我们继续讲第二种情况——即以EDI方式将付款请求发送给银行。使用该方法需要满足一定的前提条件:
1)银行方面提供对企业的直接接口服务(该服务可能收取额外的费用);
2)银行方面可以接收EDI820标准格式的付款请求;或者通过某个中间件(比如Oracle OFM)将EDI820转换成银行方面可以接收的格式(比如XML)并将请求传送到银行。
2.1实例
花旗银行就提供了这样的接口,允许企业将付款请求以指定文件格式发送到指定地址。因此,企业可以将付款请求以EDI方式发送到OFM上,再在OFM上将付款请求转换成花旗银行指定的格式,并传送到花旗银行指定地址。整个过程不需
要人为干预。
图5EDI连接示意图
2.2.后台配置
这种连接方法在SAP中的配置比较简单,除了一般的付款运行设置外,还需要做以下设置:
2.2.1设置付款方式
从菜单进入
交易码
IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支
付程序的付款方式/银行选择>设置支付事务每一国家的支付方法
无
首先要创建一个新的付款方式,并在付款方式的支付媒介中指定EDI付款程序REFOEDI1。
2.2.2为开户行定义EDI兼容支付方式
从菜单进入
交易码
IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支付媒介>EDI支付命令和借项凭证>为开户行定义EDI兼容支付方式
无
针对每个付款公司,按照开户行和付款方式的组合开通EDI付款。
Computer Knowledge and Technology电脑知识与技术第17卷第9期(2021年3月) 2.2.3在开户行定义中指定EDI合作伙伴
从菜单进入交易码IMG>财务会计>银行会计核算>银行账户>定义开户行FI12(S/4HANA只能在NWBC或Fiori中维护)
在开户行中,需要指定相应的合作伙伴编号。下面WE20中创建的合作伙伴编号需要与这里指定的编号一致。
2.2.4设置IDOC接收端口(Port)
从菜单进入交易码IMG>财务供应链管理>开票合并>环境>定义IDoc处理的端口WE21
首先根据连接属性选择端口类型。可选择的类型包括RFC、文件、XML文件、XML HTTP等。OFM要求提供XML文件,所以此处选择了XML文件。
XML文件端口需要指定文件存放的网络地址和路径。同时可以指定一个功能模块,此功能模块会在文件存放时触发。例如,我们可以利用这个功能模块指定文件的名称等。
2.2.5有了端口就可以配置合作伙伴参数文件(Partner Profile)
从菜单进
入
交易码IMG>财务供应链管理>开票合并>环境>定义合作伙伴参数文件
WE20
伙伴参数文件类型必须选择B(Bank)。合作伙伴编号就使用上述步骤3开户行定义中指定的编号。
在出站参数中添加下面2个消息类型:
·PAYEXT–付款请求扩展类型,它包括了付款请求的主要内容;
·EUPEXR–付款请求的参考消息,如果EDI子系统无法处理EUPEXR,可以把他指向一个临时路径,然后通过TCODE
SARA将其归档。
在消息类型中将接收方端口指定为步骤4中创建的端口。
将消息PAYEXT中的IDOC基本类型指定为PEXR2002, EUPEXR中的IDOC基本类型指定为IDCREF01。如果银行还需要基本类型以外的信息,可以创建一个扩展类型将这些信息包括进去。
在进站消息中添加状态消息STATUS。
2.2.6为支付方式分配支付媒介程序
从菜单进入交易码IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支付媒介>进行标准支付方式程序的设置>对本国支付方式分配支付媒介
程序
无
将EDI程序REFOEDI1分配给EDI支付方式。
2.2.7为支付方式分配表单
从菜单进入交易码IMG>财务会计>应收账款和应付账款>业务交易>付款>自动付款>支付媒介>进行标准支付方式程序的设置>向公司代码支付方式分配支
付格式
无
可以使用标准附表F110_EDI_01,也可以使用自定义的
附表。
2.2.8为EDI支付程序创建变式
从菜单进入
交易码
无
SE38
使用ABAP编辑器为程序REFOEDI1创建一个变式。在变式中指定公司代码和支付方式,并勾选“生成SAP IDoc”。这个变式将被用在付款程序中。
2.3在付款运行时发送EDI付款请求
执行付款运行F110/F111的方法基本没有变化。只是要在“打印输出/数据媒介”页面要为EDI支付程序指定前面创建的变式。
然后,在最后一步过账付款运行时,需要选择“创建付款媒介”。付款运行结束后,EDI付款请求就会以IDoc的形式发送出去。
收付任务完成后,可以在菜单中选择管理付款媒介。在此可以看到产生的付款概况。显示(Ctrl+F1)相应的付款可以跳转到对应的IDOC
。
图6付款运行–IDOC记录
状态记录显示了IDOC处理的结果,如有异常可以从这儿到原因。其中的数据记录包含了具体的付款明细。
2.4小结
通过EDI发送付款请求到银行,需要银行方面提供EDI服务或提供某种直接连接方式。但这种方式对用户来说是最方便的、最可靠的。用户执行付款运行后不需要进行任何操作,也避免了付款请求在发送过程中可能被修改的风险。从用户角度看,这是最佳方案。
3SAP银行接口实例(三)-电子支付集成/银企直连本篇我们继续讲第三种情况。从ECC6SP05开始,SAP专门为中国开发了面向本地银行的接口EPIC(电子支付集成/银企直连)。将所有与银行的交互都集成到了一个界面里。这比较符合中国用户的操作习惯,因此在新实施的项目中比较流行。
目前,EPIC只提供了针对下列五大银行的http/https接口例子:
·中国银行
·中国工商银行
·中国建设银行
Computer Knowledge and Technology 电脑知识与技术
第17卷第9期(2021年3月)
·中国招商银行·中国农业银行
如果其他银行也提供类似的http/https 接口,可以拷贝这些例子,再在此基础上进行定制。但即便是这五大银行,SAP 也只提供了样例,实际使用时还需要进行定制。3.1业务流程
EPIC 通过http/https 连接将付款请求发送到银行前置机,然后银行前置机再将付款请求转发到银行主机。业务流程示
意图如下所示:
图7银企直连示意图
银行前置机需要联系银行安装和配置。本篇只讲述SAP 上的设置以及跟银行前置机的连接,并假定前置机与银行的连接已经配置好并正常运行。3.2后台配置
如前所述,这种连接方法需要较多的定制,系统配置也相对复杂。除了一般的付款运行设置外,还需要做以下设置。3.2.1激活EPIC 模块
从菜单进入
交易码
无SFW5
EPIC 并不默认激活,你需要在SFW5里激活FIN_LOC_CI_16,以及相应的功能模块(FIN_LOC_EPIC_*)。激活以后你才能在IMG 看到相应的配置,在菜单里才能到相应的功能。3.2.2定义银行通信类型
从菜单进入
交易码
IMG >财务会计>应收账款和应付账款>业务交易>国家特定设置>中国>电子支付集成>定义银行通信类型
无
下面是系统默认的6种类型,如果需要,可以自定义新的
通信类型。
图8定义银行通信类型
3.2.3创建到银行前置机的连接
从菜单进入交易码
无SM59
新建一个G 类(通过HTTP 方式与外部服务器的连接)连
接。在连接中指定主机地址和目标路径。
3.2.4定制EPIC 类
从菜单进入
交易码
无SE80/SE24
将程序包ID-FI-EPIC-CN 下的相关类拷贝一份,并根据银行的实际要求进行定制。比如中国银行的付款类CL_EP⁃IC_EXAMPLE_CN_BOC_PAY ,可以重命名为ZCL_EP⁃IC_CN_BOC_PAY 。3.2.5定义银行通信明细
从菜单进入
交易码
IMG >财务会计>应收账款和应付账款>业务交易>国家特定设置>中国>电子支付集成>定义银行通信明细
无
我们需要对每一个银行账号和通信类型建立通信明细,并
指定:
对话参数结构–定义该通信类型的对话字段结构。比如查询交易明细时要指定的起止日期。
其他参数结构–发送给银行的参数结构。输出结构–定义银行返回查询信息的字段。
其他结果结构–定义银行返回其他信息的字段。目标–前面创建的、到银行前置机的连接。编码–字符编码。
实施类-前面拷贝和定制化后的类。3.2.6定义付款文件格式bank文件
从菜单进入交易码
无DMEE
具体付款文件格式请参考各银行的银企直连接口规范。
创建时可以参考SAP 提供的格式例子(EPIC_EXAM⁃PLE_CN*)。3.2.7创建新的付款方式,把上述付款文件格式赋予付款方式
从菜单进入
交易码
IMG >财务会计>应收账款和应付账款>业务交易>付款>
自动付款>支付程序的付款方式/银行选择>设置支付事务每
一国家的支付方法
无
在付款方式中指定付款格式。需要为每一个不同的付款格式创建一个新的付款方式。
其他的自动付款设置这里就不再赘述,请参考以前的文章。
3.3运行银企直连付款
SAP 银企直连的事务码EPIC_PROC 。运行此事务码出现下列屏幕,包括了银企直连的所有功能-查询余额、查询对账单、付款等。其付款流程与F110
类似。
图9电子支付集成(EPIC )1(下转第250页)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论