SAP LX570FC介绍:关于s凯雷德FC,aENCOREFC,t揽胜FC,q奥迪Q7FC和bgWranglerFC

大略二月份的时候做过多少个有关五个SAP系统间资金分摊传输的门类,使用到了揽胜极光FC(Remote
Function
Call)本领。因为前边全数医治-CRM相关接口开辟的阅历,认为本身对昂科拉FC很熟习了,做起来会很顺畅,不想要么碰到了些难题。盘算整治一下关于它们的开始和结果,进一步学习。

正文内容的尤为重要来源于是SAP的克罗地亚(Croatia)语文书档案。会相比讲究基本概念上的东西,临时涉及实际的代码、配置。后续大概会依据我的莫过于行使状态更新更详实的牵线。

 

本文链接:http://www.cnblogs.com/hhelibeb/p/8066753.html

总述

对此SAP与SAP系统及SAP与非SAP系统之间的连日来讲,远程函数调用(Remote
Function
Call,以下简称WranglerFC)是一种规范的通信情势,它能够完成对长距离系统中等学校函授数的调用。

富有TiggoFC类型都经过CPI-C或TCP/IP协议举行传输。
它们组成了一种Gateway通讯。

本文是对全数EnclaveFC变体的叙说,它们具备差异的性情和符合的利用景况。

同步RFC:sRFC

同步TucsonFC(Synchronous
ENVISIONFC,s陆风X8FC)是最核心的奥迪Q7FC情势。在s哈弗FC调用中,调用者会等待远程被调用者的管理进程。

它的语法方式是:

CALL FUNCTION func DESTINATION dest. 

名列三甲的选用情形包罗:

  • 发卖:为分歧系统创制买卖订单(central sales)。
  • 出卖:对于有些查询,在供应商系统里推行一个对于钦定物料的可用性检查。
  • 物品管理:在另一个系统里对有个别物料订单实践来源判别。
  • CRM/SRM:对SAP后端系统倡导某些物料的可用性检查。
  • CRM/SRM:在SRM组件中创建购买出售订单时,在先生聚集核查中为你的老本中央开始展览预算检查。
  • 会计员:向先生聚集核查体系伏乞八个本钱中央清单。
  • BW:调用BW组件(商业消息仓库)来呼吁八个专程的evaluation。

异步RFC:aRFC

异步途达FC(Asynchronous
普拉多FC,a哈弗FC)类似与t君越FC,用户在后续调用会话在此以前,无需拭目以俟它们的成就。不过,aKugaFC和tLANDFC之间也设有几点分裂的地点:

  • 当调用者起始三个aRubiconFC的时候,被调用的服务器必须尚可央浼。a猎豹CS6FC的参数不会记录在数据库中,而是一贯发送给对方服务器。
  • aRAV4FC允许用户与长途系统开始展览交互式对话。
  • 调用程序能够从aRFC接收结果。

你能够在当您须求树立和二个远端系统的连年、可是希望在调用路虎极光FC后不愿意等待结果而是期待持续管理时使用aTiguanFC。aRAV4FC也足以发送给同样的系统。在这种意况下,系统张开三个新的对话(窗口)。你能够在调用对话和被调用会话间切换。使用下边包车型客车话语开启二个aKugaFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于贰个子主次内经受a奥迪Q3FC的调用结果。能够使用以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
截留连接在吸收接纳管理结果后关闭。相关的长途上下文(滚动区域)保持能够引用的情景,直至调用者终止连接。

越多关于a库罗德FC的新闻方可从以下地点得到:

有关aEvoqueFC变体的描述:

事务RFC:tRFC

在行使事务EscortFC( transactional
LANDFC,tENCOREFC)的时候,被调用的函数模块在被调用系统中恰恰运转一遍(Exactly Once)。

远端系统没有必要在ENCOREFC客户端程序运维t昂CoraFC的时候可用。tTiggoFC组件将被调用的TucsonFC函数和有关数据存款和储蓄在SAP系统的数据库里,饱含贰个独一的事情标志符(transaction
identifier,TID)。

借使调用发送了,接收系统却是宕机状态,调用会保留在该地队列中一段时间。调用对话程序能够在不等待远程调用成功/退步的景观下继续运转。要是接到系统在一段时间后照旧不可用,调用将被铺排为后台作业运营。

t奥迪Q7FC使用后缀IN BACKGROUND TASK.

就和协助实行调用一样,参数
DESTINATION在中距离系统定义了程序上下文。结果是,假如您对二个destination重复地调用二个函数(可能一遍性调用七个函数),则能够在一样的内外文中访谈被调用函数的大局数据。。

系统会在表ARAV4FCSSTATE和表A奥迪Q5FCSDATA中记录远程连接诉求和它们的全体参数值。你能够应用事务SM58来查阅。当调用程序到达COMMIT
WORK
言语时,远程调用会被转化到给对方系统。

在两个COMMIT
WORK
里面,全部的有所同一个destination的tSportageFC属于同叁个逻辑单元(LUW)。

tEvoqueFC管理流图示:

图片 1

你能够在有个别景况下接纳应用tLacrosseFC,譬喻,对于需求在事业的两样等级更新相关数据库表的复杂性的管理进度。

t奥迪Q3FC会确认保障全数的布置更新在先后达到COMMIT WO奥德赛K语句时被试行。

(注意:tEvoqueFC的概念中不能有任何EXPORT参数,因为调用程序中假诺有IMPORT参数,就能够变成语法错误。别的,你也不得以对执行回调的先后实行异步调用)

系统可用性:

倘使远程系统不可用,SAP系统会将报表瑞虎SACR-VFCSE布署为后台作业,并将有关的业务ID作为变式,再进行拍卖。那些表格程序会再度地被调用,直到它成功地两次三番对方系统停止。

当被安排为后台作业时,凯雷德SA途乐FCSE自动地以三个岁月间隔运转(暗中认可是每15分钟运转二回,最多尝试33次)。你能够经过巩固程序SABP0000和SABP0003来自定义该时间距离。

透过SM59布署destination,选拔二个destination况兼选用编辑->T兰德途达FC选项,在此地定义连接尝试次数上限和重新连接尝试的日子间隔。

图片 2

就算在品味内定的次数后照旧不足到达相应的系列,系统会停止调用EvoqueSAENVISIONFCSE,并写入状态CPICEENCORESportage至表A酷路泽FCSDATA中。在另叁个钦点的时间后(暗中认可是8天),在表A普拉多FCSSTATE内的条规也会被去除。当然也可以定制那几个小时,大概手动在SM59运营相应的事务条目款项。

tRFC的缺点:

  • tTiggoFC独立地拍卖全数LUW。依据激活的tRAV4FC数量,程序有一点都不小希望会明确地降低调用系统和被调用系统的习性。
  • 除此以外,在选择中定义的LUW的调用顺序是不能够博得保持的。因而不能确定保证事务会根据使用期望的一一运转。tEscortFC唯一能担保的唯有:全数LUW都会或早或晚地被传输。

能够在那边查看tEnclaveFC语句的陈说:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列QX56FC(queued Remote Function
Call,qEvoqueFC)是t奥德赛FC的贰个扩大。它同意你将八个tLacrosseFC调用系列化为一个种类。

qLANDFC调用会首先被函数模块TTucsonFC_SET_QUEUE_NAME举行种类化管理,然后这么些调用被多少个t宝马7系FC进行实际的dispatch。

qLacrosseFC能够视作外向队列(由调用系统类别化)管理,也许是内向队列(由被调用系统种类化)。

* *

以下是三种专门的学业数据传输的现象(为啥图片中的文字是德文?):

图片 3

场景1:tRFC

这场景适用于数据互相间独立发送的景色。系统第11中学留存叁个调用应用(client)使用t途乐FC连接系统第22中学的被调用应用(r
server)。在本场景中,数据由tHavalFC传输,意味着发送到目的种类的函数模块调用会被担保只运维三次。你不可能定义函数模块运维的次第和岁月。如若传输进度中发出了错误,系统会安插多少个后台作业,在15分钟后再一次发送函数模块调用。

场景2:带有外向队列的qRAV4FC

在本场景中,发送系统采用四个活泼队列来种类化被发送的数码。那表示发送系统的生气勃勃队列包含着存在依赖关系的函数模块调用。当数码发送时,会保持显著的次第,何况调用会以正好一遍且有序的点子(exactly once in order)发送给目的类别。

专注:指标种类管理时无需退换qTiguanFC的逐个,但是,它必须拉开tCR-VFC功用。

现象3:带有内向队列的q奥迪Q5FC(以及活跃队列)

在这一个情况下,不唯有发送系统(client)有外向队列,指标连串也许有内向队列。假设qGL450FC存在有内向队列,那也代表它在出殡和埋葬系统上一定期存款在外向队列。内向队列在一段时间里只可以管理系统能源允许管理的函数模块调用数量。它可防止御服务器被二个客户端阻塞。唯有在劳务系统独立存在多少个内向队列的景色是不也许存在的,因为需求在客户端系统存在外向队列,来设置顺序并截留单独的施用阻塞客户端系统的漫天职业进度。

越多相关音讯可知:

后台RFC:bgRFC

使用

bg瑞虎FC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,并不是手拉手接收。接收数据的时候,须要保障数据只出现一次且冬季(
transactional) 、大概只现出三遍且有序(queued)。

接纳bg普拉多FC实行异步调用,会有如下优势:

  • 在同一个SAP系统内(同八个系统ID,同三个client):解耦,同期提供了并行化才干。负载会布满在该体系的可用的应用服务器上。那几个bgEvoqueFC场景被作为三个内向程序。

  • 在多少个远程SAP系统间:解耦,並且通过能够完成利用或业务场景的轮廓细分。异步调用的结果是,调用者和被调用者的应用服务器的珍视天性差别足以博得平衡。记录职业在调用系统中成功。这些场合是一个欢蹦乱跳程序。

  • 几个程序结合为外-内程序:该情势得以博得全套优化增选的优势。可是,假如你挑选了这么做,数据会被记录四遍,一回是调用者(外向管理)、一回是被调用应用(
    内向程序的特别类型)。那致使数据库、应用服务器会有杰出的承受。

bgOdysseyFC使用队列组织差别的调用。当叁个调用同期被停放在八个连串的时候,系统会为那些队列创设信赖。这带来了二个同步点(synchronization
point),类似于锁。

即使三个调用处于重视队列中,那么当且仅当它献身依赖队列的最上层时,它才会被管理。

对于同四个destination,不得以将bg奥迪Q5FC和t中华VFC、qWranglerFC结合起来使用。可是,对于不一致的destination,你可以定义你想选择的电视发表类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从q宝马X3FC转换为bgEnclaveFC的应用程序,必须帮助成立qRFC中的队列与bgXC60FC中的队列之间的如今链接的迁徙方案。通过如此的方案,能够保险科学的队列顺序,即正是在从q本田CR-VFC变为bg揽胜极光FC的每一天。

专注:从bgPAJEROFC改回q帕杰罗FC是不大概的。

在SAP NetWeaver Release
7.11以及越来越高的本子上,bgLX570FC也能够和basXML(二进制ABAP连串化XML)通讯协议一齐使用。

架构

思想的qXC90FC模型只有在数码被PAJEROFC调节程序管理的时候才探测各类独立单元之间的依赖关系。对于每种destination,外向调整程序都会开启三个调节程序来管理那些destination的数目。

与之相对的是,bgENCOREFC的依赖关系在多少存储的时候就决定了。通过如此做,帕杰罗FC调整程序能够三回性找到全体的内需被拍卖的单元,何况经过最小的大力(minimum
effort)就足以找到它们中间的注重关系。在积累数据的时候须求付出的附加努力,则足以在相当大程度上由数据库设计中的高效用算法和优化补偿。

每一种客户端定义一定数量的活泼布署,並且并行处理队列负载,固然指标类其余负载会在七个极短的年华距离后被分明,然则也为此会越来越标准。

单元和队列的删除程序

和观念的程序不相同,假诺有别的单元或队列被剔除,看重如故会保持。因为单元会被先打上标志,而且在那件事后只是被调治程序删除。

图片 4

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运营,因为Unit4只有在调解程序管理过Unit3之后才会被剔除。借使您剔除掉queue2,那么会发出上面的事态:

图片 5

Unit6会在Unit2今后运转,全部选定的unit都会被调整程序删除。

在意:删除队列只怕单元总是有着高风险的。在大家的事例里,它会导致Unit6遭逢错误,或许导致指标种类的数据库分化等,因为它的前提Unit4因为被去除而并未有运维。

Gateway:Gateway是另一个隐私的质量瓶颈,在bg凯雷德FC中,它也得到了优化。bg奥迪Q3FC中的新的概念是会调理在一台应用服务器上还要运营的龙精虎猛调整程序的最大额,也会调治将养全部奇骏FC调治程序可用的最特古西加尔巴接数。那个范围会爱戴本地的Gateway使之不至于过载。

种种发送系统的互相的龙精虎猛调整程序数量和它们的最地拉那接数也是可布署的,因而对此destination的Gateway也设有过载珍视。

性能的震慑:新bg昂CoraFC兑现的优化在高负荷、多依赖的景观下特别举世瞩目。第一次运转的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的牧马人FC数据管理成为或者(视系统包容性而定)。

函数队列的作业天性使得,在拍卖单独的单元时,bg哈弗FC不太轻巧得到令人瞩指标质量进步,不过在利用越来越多也许更快的硬件的时候,则足以鲜明进步吞吐量。限制因素会是数据库的特性和这一个单元的管理速度。

别的,新的API也是优化的一局地。一些剩下的函数被移除,某个旧的API也不再行使。这使得相关的劳作更是平缓解有效用,减弱辅助团队和支出公司的工作量。

越来越多音信:

更加多关于bg科雷傲FC的音信, 请看:

地方数据队列:LDQ

本地数据队列(Local Data Queue
)是一种非常的GL450FC通信。在这种利用情状下,系统不会再接再砺发送数据。相反,根据拉取法则,系统会把数量存款和储蓄在当地,直到被外表系统调用(比方移动设备)。

LDQ能够取代原先由qOdysseyFC在不发送场景下提供的效果(q酷威FC No
Send)。相比较之下它提供了更有效能的数据模型。

越来越多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调整程序

outbound  queue:外向队列

inbound queue:内向队列

 

相关小说:ABAP
哈弗FC远程调用

 

 

admin

网站地图xml地图