首页 > SAP > ABAP > SAP与农业银行做银企直联(项目正常使用)
2019
08-29

SAP与农业银行做银企直联(项目正常使用)

BACK TOP文章索引

由于一个项目上,需要在SAP与农银的银行前置机上进行连接,并从中取银行的交易记录,需求只是取交易记录(其实,只要在JAVA源码中,修改少量的代码,就可以与农业银行提供的也有接口进行SOCKET连接,从而达到SAP与农业银行的完全连接)。

其实以前也都做个多个SAP与银行的银企业直联,包换工行,建行等多家银行的,但以前做的都是直接调用PI,然后PI如何连接的银行前置机一直没关注,而这一次的项目上连接农业银行的前置机需要自己想办法,在网上找了几天的资料才发现农业银行的前置机,使用的连接协议是TCP/IP,的SOCKET,而不是以前理解的HTTP方式,但SAP的ABAP当前没办法使用SOCKET连接(据说可以使用JSOCKET,WSF方式连接,但测试了一下没成功)。所以需要在连接银行前置机前面现做一个WEB服务,提供线ABAP调用。,就自己用JAVA做了一个SERVICE 调用 SOCKET,并成功在项目上使用,加上ABAP部份功能,一共算了10人天的工时,还是算成功的。

以下是我做的步骤,记录以下

所以设计如下,

银行前置机上提供如下服务:

1.一、安装农业银行前置机服务软件

测试时我使用的是银行提供的:中国农业银行银企通平台(4.6版).msi,本部下载可查看最后下地址。

此软件也可以让农业银相关人员提供最新版本。

由于后期我使用TOMCAT虚拟一个目录连接到此软件的\detail目录,但发现TOMCAT目录设置成中文目录总是出错,修改TOMCAT编码也不行,

1.所以在此把农业银行前置机软件安装到自己的非中文目录   C:\abcBANK  中;

2.前置机软件安装好后在etc/loginset.xml里1改为

0

3.打开前置机软件,设置,并选择“ERP接入”

在系统设置里修改本地服务器地址127.0.0.1为219.142.79.145

交易端口15028

文件端口14029

ERp接口:15999

4.使用银行提供的,客户号(账号),操作员,密码进行登陆。

SAP与农业银行做银企直联(项目正常使用) - 第1张  | 优通SAP

2.二、在此前置机上安用JDK1.7,TOMCAT,安装步骤参看

3.三、JAVA开发WEB Service,并部署WEB 服务。

由于SAP没找到办法通过SOCKET连接农业银行前置机,所在使用JAVA做了一个WEB 服务,与银行前置机放到同一机器上,ABAP调用此WEB服务,JAVA 的WEB 服务通过SOCKET连接农业银行前置机软件来得到数据。

1.JAVA开发连接农业银行的前置机的WEB服务;

2.下载WEB 服务部署到TOMCAT.

4.四、部署文件下载服务

4.1.1.部署服务abcAP,

此下载内容为我JAVA开发的使用SOCKET连接农业银行前置机的WEBService,的源代码及部署包abcAP。此为收费内容,需要的可付费下载,我能确保此为项目上真实使用的源代码(只CQRA10交易),但不保证一定提供技术支持,付费自己判断。当然如你们项目可远程兼职(JAVA开发只限农行连接接口,主要以ABAP为主),那可以联系我。

      隐藏内容需要支付:¥50
任何问题请联系yan252@163.com
立即购买
SAP与农业银行做银企直联(项目正常使用) - 第2张  | 优通SAP


下载后,可以直接把
abcAP.war 拷贝到TOMCAT的WEBAPPS目录下,系统会自动完成发布,生成一个abcAP目录,此目录就是生成的服务了。

压缩包中的另外一个目录是JAVA的原代码,可以再次进行二次开发(我不是专业的JAVA人员,这也是第一次把自己做的JAVA功能成功使用于项目,但当前此代码已在某项目上成功运行两年。所以可作为参考),

这时,打开:http://localhost:8080/abcAP/services/SendAndReceive_CQRA10?wsdl,测试自己的WEBSERVICE,应该能正常出现WSDL内容.

4.2.2.设置虚拟目录,用于文件操作

由于我此次要做的是接口是查询交易明细的接口(CQRA10交易,其它的交易码看:CMP2.0公网ERP接入开发手册5.1版.doc),而此接口提供的查询结果是返回的一个文件(其它交易返回的不一定是文件,所以其它交易码的功能可依据需求进行修改),农行的文件放到了前置机的\detail目录下(可参看农行提供的文档),所以需要在TOMCAT中配置一个虚拟目录,当ABAP调用此接口后,得到文件名,再从此虚拟目录读取文件内容。,

写字板打开TOMCAT目录下的\conf\server.xml文件,在前面加入:

这里表示虚拟了目录abcBANK,到指定目录C:\abcBANK\detail.

修改完成后重启TOMCAT,后,IE中打开,http://locathost:8080/abcBANK/****,就能打开C:\abcBANK\detail目录下的文件了。

:此是为虚拟目录做的配置,如使用其它的交易码,不一定需要此配置此虚拟目录,具体可参考源代码就明白了。

八、ABAP代码实现

abap代码就没什么新意了,我是直接HTTP_POST调用 的,这样简单些。具体代码ABAP都会写,网上也很多调用WEBSERVICE的例子,可以网上找。

1.创建维护表,用于保存需要从银行读取数据的银行卡号。

2.创建程序,读取步骤1中的银行卡号,

3.对每一个银行卡号调用函数ZFM_**从WEB服务中读取数

5.相关下载:

1.

链接:https://pan.baidu.com/s/1ZMcbAIVjv7_oeQXyQLo66w

提取码:wsbo

中国农业银行银企通平台(4.6版).msi


,

最后编辑:
作者:yangsen
有需要可在文章留言或者邮件yan252@163.com给我。

5 Responses to SAP与农业银行做银企直联(项目正常使用)

  1. Anonymous says:

    请问您有做过农行银企直连代发工资的业务么?

    1. yangsen says:

      农行用的就是文中所说的SOCKET方式,SAP不能直接访问,我用的就是文中所说的自己JAVA做WEBSERVICE,然后提供给SAP使用,至于你所说的“代发工资”那只是农行接口里的其中一个交易类型,交易码可问农行对应的接口方,他们会提供的,然后你按交易码所需的接口要求处理就成了。

    2. yangsen says:

      此代码提供的是JAVA连接农业银行的WEBService的JAVA源码。此源码中以其中CQRA10交易(查询交易明细,此交易码可在农业银行提供的接口文档中找到)的功能,我另外做的是ABAP连接此WEBService的功能,我主要工作做的是ABAP,但ABAP连接WEBService没什么提供的,所以在此没提供,

  2. Tim says:

    有一些请教的问题,发送您邮箱了。。。麻烦您查看,并指导下!

留下一个回复

你的email不会被公开。

16 − five =