在SAP开发过程中,通常会遇到不同系统之间的数据通信
在这里主要分为两种情况:A 和 B系统之间进行直连;A 和 B通过其他协议(如ESB连接)进行通信等等。
下面主要探讨下直连方式
直连方式通常是用在 A 、B系统基本是一样的模式,比如:是同一套开发语言等
直连的特点:数据通信速度快,稳定。
局限性:受限于A、B系统本身的相似度
下面进行一个简单demo来直观感受下直连模式
应用背景:A 和 B系统是两个类系统(基本一样,服务器地址不同而已),现在想要把B系统的一张表迁移到
A系统
解决办法一:直接复制,拷贝
缺陷:单张表可以,多张表的话方法不可取
解决办法二:通过建立接口,来专门获取B系统的表
实现方法:
现在A系统里建立一个链接
通过sm59,新建如图
点击新建后如下图所示
这里进行下解释
RFC目标:是我们设定的 destination 及逻辑目标,这里的名字可以随便起
2、链接类型:3表示到ABAP系统的链接,及直连
3、目标主机的服务器地址
完成后,点击 登录&安全性 页签,如图所示:
这里的客户端是目标系统的客户端
用户是:目标系统的用户名
密码:目标系统的密码(这里注意密码里没有字母)
建立好连接之后,我们可以进行测试
当点击远程登录时,如果进到目标系统,说明连接成功,否则失败
当点击连接测试时,
则说明成功
第二步:在调动系统A去写调用
data: l_destination type char20 value 'test'. (注意,这里test区分大小写)
如:call function 'func1' DESTINATION l_destination.
这里的func1通常是建立一个空壳子,加上需要传入的参数即可
第三步:在B系统我们去真正实现func1,
原理,当在A里执行程序时,函数会直接跳到B系统执行该接口