小木木 发表于 2015-9-21 07:48:16

SAP接口直连

     

  在SAP开发过程中,通常会遇到不同系统之间的数据通信
  在这里主要分为两种情况:A 和 B系统之间进行直连;A 和 B通过其他协议(如ESB连接)进行通信等等。
  下面主要探讨下直连方式
  直连方式通常是用在 A 、B系统基本是一样的模式,比如:是同一套开发语言等
  直连的特点:数据通信速度快,稳定。
  局限性:受限于A、B系统本身的相似度
  下面进行一个简单demo来直观感受下直连模式
  应用背景:A 和 B系统是两个类系统(基本一样,服务器地址不同而已),现在想要把B系统的一张表迁移到
  A系统
  解决办法一:直接复制,拷贝
  缺陷:单张表可以,多张表的话方法不可取
  解决办法二:通过建立接口,来专门获取B系统的表
  实现方法:
  现在A系统里建立一个链接
  通过sm59,新建如图
http://i.cnblogs.com/file:///C:/Users/12030625/AppData/Local/YNote/data/xiyoulbg@163.com/f7e3c30d65ee498584cf87191ea7189a/clipboard.png
点击新建后如下图所示
http://i.cnblogs.com/file:///C:/Users/12030625/AppData/Local/YNote/data/xiyoulbg@163.com/1539e1e989b14770a06721bb44dbd99a/clipboard.png
这里进行下解释
RFC目标:是我们设定的 destination 及逻辑目标,这里的名字可以随便起
2、链接类型:3表示到ABAP系统的链接,及直连
3、目标主机的服务器地址
完成后,点击 登录&安全性 页签,如图所示:
http://i.cnblogs.com/file:///C:/Users/12030625/AppData/Local/YNote/data/xiyoulbg@163.com/42a3ae46d2714aadb07d352cf9d43f25/clipboard.png
这里的客户端是目标系统的客户端
用户是:目标系统的用户名
密码:目标系统的密码(这里注意密码里没有字母)




建立好连接之后,我们可以进行测试
http://i.cnblogs.com/file:///C:/Users/12030625/AppData/Local/YNote/data/xiyoulbg@163.com/752138308d3b46d8a8f8b5a06262ba12/clipboard.png
当点击远程登录时,如果进到目标系统,说明连接成功,否则失败
当点击连接测试时,
http://i.cnblogs.com/file:///C:/Users/12030625/AppData/Local/YNote/data/xiyoulbg@163.com/ac5793dfbf6f484f9d53c5ab61ed69af/clipboard.png
则说明成功


第二步:在调动系统A去写调用
data: l_destination type char20 value'test'.(注意,这里test区分大小写)
如:call function 'func1'DESTINATION l_destination.
这里的func1通常是建立一个空壳子,加上需要传入的参数即可


第三步:在B系统我们去真正实现func1,


原理,当在A里执行程序时,函数会直接跳到B系统执行该接口  
页: [1]
查看完整版本: SAP接口直连