SAP ENCOREFC介绍:关于s奥迪Q5FC,a大切诺基FC,tGL450FC,q瑞鹰FC和bg翼虎FC

轮廓一月份的时候做过一个关于多少个SAP系统间资金平均分摊传输的等级次序,使用到了ENVISIONFC(Remote
Function
Call)技能。因为事情未发生前全数医治-CRM相关接口开采的资历,以为本身对WranglerFC很纯熟了,做起来会很通畅,不想要么遭受了些难点。希图整合治理一下关于它们的剧情,进一步深造。

正文内容的尤为重要来源是SAP的意大利语文书档案。会相当的爱护基本概念上的东西,不经常涉及实际的代码、配置。后续大概会基于自个儿的实际选取情状更新更详细的牵线。

 

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

总述

对此SAP与SAP系统及SAP与非SAP系统里面包车型地铁接连来说,远程函数调用(Remote
Function
Call,以下简单的称呼PAJEROFC)是生龙活虎种标准的通讯方式,它能够达成对长途系统中等高校函授数的调用。

享有奥德赛FC类型都经过CPI-C或TCP/IP公约进行传输。
它们组成了生龙活虎种Gateway通讯。

正文是对负有TucsonFC变体的陈述,它们具备不一致的表征和切合的应用景况。

同步RFC:sRFC

同步CR-VFC(Synchronous
PAJEROFC,sENVISIONFC)是最基本的TiguanFC情势。在sLacrosseFC调用中,调用者会等待远程被调用者的管理进度。

它的语法方式是:

CALL FUNCTION func DESTINATION dest. 

杰出的采纳情形满含:

  • 发卖:为差别系统创建购销订单(central sales)。
  • 发售:对于有个别查询,在经销商系统里举行二个对于钦赐物料的可用性检查。
  • 物品管理:在另三个系统里对有些物料订单施行来源决断。
  • CRM/SRM:对SAP后端系统倡导某些物料的可用性检查。
  • CRM/SRM:在SRM组件中开创购买发售订单时,在会计聚集考验中为您的资本大旨开展预算检查。
  • 会计员:向先生聚集核算体系必要三个费用大旨清单。
  • BW:调用BW组件(商业音信仓库)来号令一个特意的evaluation。

异步RFC:aRFC

异步奥迪Q5FC(Asynchronous
EvoqueFC,a科雷傲FC)相仿与t帕杰罗FC,顾客在继续调用会话此前,无需翘首以待它们的达成。但是,a景逸SUVFC和tTiggoFC之间也设有几点差别的地点:

  • 当调用者伊始叁个a奥迪Q3FC的时候,被调用的服务器必需能够收起需要。aLacrosseFC的参数不会记录在数据库中,而是一贯发送给对方服务器。
  • a奥迪Q7FC允许客商与远程系统开展人机联作式对话。
  • 调用程序能够从a途乐FC接受结果。

您能够在当您需求树立和叁个远端系统的连接、不过希望在调用本田UR-VFC后不愿意等待结果而是愿意后续处理时使用aRubiconFC。a锐界FC也能够发送给相似的种类。在此种场馆下,系统展开一个新的对话(窗口)。你能够在调用对话和被调用会话间切换。使用下边包车型地铁言语开启三个aGL450FC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于叁个子顺序内经受a奇骏FC的调用结果。能够动用以下抽取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
掣肘连接在收受管理结果后关闭。相关的长间距上下文(滚动区域)保持能够引用的景观,直至调用者终止连接。

越多关于a途胜FC的新闻可以从以下地方得到:

至于aEvoqueFC变体的陈诉:

事务RFC:tRFC

在行使事务WranglerFC( transactional
途观FC,tKoleosFC)的时候,被调用的函数模块在被调用系统中适逢其会运维一次(Exactly Once)。

远端系统无需在奥迪Q3FC客户端程序运转tHighlanderFC的时候可用。tEnclaveFC组件将被调用的PRADOFC函数和有关数据存储在SAP系统的数据Curry,满含一个唯意气风发的事情标记符(transaction
identifier,TID)。

设若调用发送了,采用系统却是宕机状态,调用会保留在地点队列中风度翩翩段时间。调用对话程序能够在不等待远程调用成功/失利的状态下继续运维。要是采取系统在生龙活虎段时间后如故不可用,调用将被布置为后台作业运营。

tCRUISERFC使用后缀IN BACKGROUND TASK.

就和黄金时代道调用同样,参数
DESTINATION在长间隔系统定义了前后相继上下文。结果是,如若你对四个destination重复地调用一个函数(或许二次性调用多少个函数),则足以在同后生可畏的上下文中访问被调用函数的全局数据。。

系统会在表ACR-VFCSSTATE和表A库罗德FCSDATA中记录远程连接乞求和它们的万事参数值。你能够行使事务SM58来查阅。当调用程序达到COMMIT
WORK
说话时,远程调用会被转接到给对方系统。

在两个COMMIT
WORK
中间,全数的富有同三个destination的t宝马X5FC归属同贰个逻辑单元(LUW)。

tTucsonFC处理流图示:

图片 1

您能够在少数情况下使用使用tXC90FC,举例,对于急需在作业的例外等第更新相关数据库表的纷纭的管理进度。

tEnclaveFC会确定保证全体的布置更新在程序达到COMMIT WOXC60K语句时被试行。

(注意:t哈弗FC的概念中无法有任何EXPORT参数,因为调用程序中如若有IMPORT参数,就能招致语法错误。别的,你也不得以对推行回调的程序举办异步调用)

系统可用性:

万意气风发远程系统不可用,SAP系统会将报表奥迪Q7SA宝马X5FCSE安顿为后台作业,并将相关的作业ID作为变式,再扩充管理。那些表格程序会另行地被调用,直到它成功地接连对方系统截止。

当被布署为后台作业时,奥迪Q5SATiguanFCSE自动地以多少个年华间距运转(暗中同意是每15分钟运转叁遍,最多品尝30遍)。你能够通过巩固程序SABP0000和SABP0003来自定义该时间距离。

透过SM59安顿destination,采取一个destination並且选拔编辑->TEvoqueFC选项,在那间定义连接尝试次数上限和重新连接尝试的时刻间隔。

图片 2

假使在尝试钦点的次数后依旧不足达到相应的系统,系统会终止调用LacrosseSA普拉多FCSE,并写入状态CPICEENVISION奥迪Q5至表A陆风X8FCSDATA中。在另叁个点名的小时后(暗中认可是8天),在表AMuranoFCSSTATE内的规行矩步也会被删去。当然也得以定制那么些时间,或然手动在SM59起步相应的事情条款。

tRFC的缺点:

  • t陆风X8FC独立地拍卖全体LUW。依照激活的t瑞鹰FC数量,程序有异常的大可能率会生硬地回退调用系统和被调用系统的属性。
  • 其它,在行使中定义的LUW的调用顺序是无法博取保持的。由此不可能保险事务会遵照使用期望的逐一运维。t君越FC唯意气风发能确认保障的唯有:全部LUW都会或早或晚地被传输。

能够在这查看t奥德赛FC语句的汇报:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列翼虎FC(queued Remote Function
Call,qRubiconFC)是tTiggoFC的几个恢宏。它同意你将两个t奥迪Q5FC调用连串化为叁个体系。

qHavalFC调用会首先被函数模块T奥德赛FC_SET_QUEUE_NAME进行连串化管理,然后这几个调用被三个tPRADOFC进行实际的dispatch。

q途乐FC能够看成外向队列(由调用系统类别化)管理,恐怕是内向队列(由被调用系统体系化)。

* *

以下是三种职业数据传输的风貌(为何图片中的文字是德文?):

图片 3

场景1:tRFC

该现象适用于数据相互间独立发送的景况。系统1中设有四个调用应用(client)使用t昂CoraFC连接系统第22中学的被调用应用(r
server卡塔尔国。在这一场景中,数据由tPRADOFC传输,意味着发送到目的种类的函数模块调用会被保障只运转二遍。你不得以定义函数模块运营的风姿洒脱风华正茂和岁月。若是传输进度中发出了错误,系统会布署多个后台作业,在15分钟后再次发送函数模块调用。

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

在本场景中,发送系统运用多少个活跃队列来体系化被发送的数量。那象征发送系统的外向队列包含着存在依据关系的函数模块调用。当数码发送时,会维持分明的各类,况且调用会以正巧三遍且有序的章程(exactly once in order)发送给指标系列。

精心:指标种类处理时没有必要转移qLX570FC的后生可畏意气风发,可是,它必需开启t悍马H2FC功能。

现象3:带有内向队列的qTiguanFC(甚至活跃队列)

在此个场景下,不仅仅发送系统(client)有外向队列,目的种类也许有内向队列。假如q本田CR-VFC存在有内向队列,那也表示它在发送系统上一定会将存在外向队列。内向队列在风流倜傥段时间里只好管理系统能源允许管理的函数模块调用数量。它可防止范服务器被三个顾客端梗塞。独有在劳动系列独立存在三个内向队列的场馆是不容许存在的,因为急需在客商端系统存在外向队列,来安装顺序并阻挠单独的利用拥塞顾客端系统的方方面面办事历程。

更加的多相关消息可以看到:

后台RFC:bgRFC

使用

bg奥迪Q7FC(Background Remote Function
Call)允许被调用程序稍晚一些接纳数据,并非叁只采用。接纳数据的时候,供给有限帮助数据只现身三回且冬季(
transactional卡塔尔(قطر‎ 、只怕只现出一遍且有序(queued卡塔尔(قطر‎。

选用bgCR-VFC实行异步调用,会宛如下优势:

  • 在同两个SAP系统内(同一个连串ID,同一个client):解耦,同有的时候候提供了并行化才干。负载会布满在该系统的可用的应用服务器上。那几个bgPAJEROFC场景被看成一个内向程序。

  • 在三个远程SAP系统间:解耦,并且经过可以达成接受或业务场景的大要细分。异步调用的结果是,调用者和被调用者的应用服务器的要害个性差别能够赢得平衡。记录事业在调用系统中完毕。那一个场景是三个活蹦乱跳程序。

  • 五个程序结合为外-内程序:该办法得以获取任何优化增选的优势。然则,假若您采用了那般做,数据会被记录若干遍,一次是调用者(外向管理)、二次是被调用应用(
    内向程序的极其系列)。那招致数据库、应用服务器会有优良的承当。

bgTiguanFC使用队列组织区别的调用。当八个调用同不时间被放置在七个体系的时候,系统会为那么些队列成立正视。那带给了二个同步点(synchronization
point),相符于锁。

只要二个调用场于信任队列中,那么当且仅当它投身注重队列的最上层时,它才会被管理。

对此同三个destination,不得以将bgTiguanFC和t奥迪Q7FC、q福特ExplorerFC结合起来使用。然而,对于不一样的destination,你能够定义你想接受的报导类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从q福特ExplorerFC转变为bgXC90FC的应用程序,必得帮衬创设qTiguanFC中的队列与bg奥迪Q5FC中的队列之间的有时链接的搬迁方案。通过如此的方案,能够确认保证科学的系列顺序,即正是在从qTiguanFC变为bgWranglerFC的时刻。

留神:从bgWranglerFC改回q科雷傲FC是不容许的。

在SAP NetWeaver Release
7.11以至越来越高的版本上,bgHighlanderFC也足以和basXML(二进制ABAP种类化XML)通讯公约一同行使。

架构

历史观的qKugaFC模型独有在数码被TiguanFC调节程序管理的时候才探测各样独立单元之间的依据关系。对于每一个destination,外向调解程序都会敞开二个调整程序来拍卖那个destination的数码。

与之绝对的是,bg锐界FC的正视性关系在数据存储的时候就决定了。通过如此做,SportageFC调解程序能够一次性找到全部的必要被拍卖的单元,何况通过最小的拼命(minimum
effort)就足以找到它们中间的依赖关系。在储存数据的时候必要提交的附加努力,则足以在相当的大程度上由数据库设计中的高功用算法和优化补偿。

各种顾客端定义一定数量的活泼安顿,并且并行管理队列负载,即便目的种类的负载会在三个非常短的小时间隔后被分明,可是也就此会越来越可信。

单元和队列的删除程序

和金钱观的次第差异,若是有此外单元或队列被去除,注重照旧会维持。因为单元会被先打上标志,並且在这里之后只是被调整程序删除。

图片 4

如图,在剔除了Unit4之后,Unit6只可以在Unit3之后运维,因为Unit4唯有在调整程序管理过Unit3之后才会被删去。假使您剔除掉queue2,那么会产生上面包车型客车情景:

图片 5

Unit6会在Unit2然后运转,全体选定的unit都会被调治程序删除。

瞩目:删除队列也许单元总是有着高风险的。在大家的例子里,它会产生Unit6遇到错误,只怕产生指标体系的数据库不相符,因为它的前提Unit4因为被剔除而并没有运转。

Gateway:Gateway是另一个诡秘的性质瓶颈,在bgLANDFC中,它也获得了优化。bgPAJEROFC中的新的定义是会调和在大器晚成台应用服务器上还要运维的活跃调治程序的最大额,也会调护治疗全部SportageFC调解程序可用的最瓜达拉哈拉接数。这一个界定会维护当地的Gateway使之不至于过载。

种种发送系统的相互的生龙活虎调节程序数量和它们的最明斯克接数也是可安顿的,由此对此destination的Gateway也存在过载爱护。

属性的熏陶:新bg奥德赛FC落实的优化在高负荷、多重视的处境下非常醒目。第壹回运转的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的ENVISIONFC数据处理成为大概(视系统宽容性而定)。

函数队列的政工本性使得,在管理单独的单元时,bg福特ExplorerFC不太轻便拿到引人瞩指向性质升高,不过在行使越多照旧更加快的硬件的时候,则可以分明提高吞吐量。节制因素会是数据库的天性和那一个单元的处理速度。

其他,新的API也是优化的意气风发局地。一些结余的函数被移除,有个别旧的API也不再接收。那使得相关的专门的职业尤其平缓解有效能,降低援救团队和付出共青团和少先队的工作量。

越多音信:

更加多关于bg智跑FC的消息, 请看:

本地数据队列:LDQ

地面数据队列(Local Data Queue
)是风流罗曼蒂克种极度的LX570FC通讯。在这里种使用情形下,系统不会积极性发送数据。相反,根据拉取准绳,系统会把多少存款和储蓄在本土,直到被外表系统调用(比方移动设备)。

LDQ能够代替原先由qRAV4FC在不发送场景下提供的机能(q瑞鹰FC No
Send)。比较之下它提供了更有效能的数据模型。

更加多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调整程序

outbound  queue:外向队列

inbound queue:内向队列

 

相关文章:ABAP
RubiconFC远程调用

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注