使用到了MuranoFC澳门永利234555com(Remote

使用到了RFC(Remote

大约6月份的时候做过一个关于八个SAP系统间资金平均分摊传输的档案的次序,使用到了福睿斯FC(Remote
Function
Call)本事。因为从前全部医治-CRM相关接口开荒的经历,认为自个儿对福睿斯FC很熟谙了,做起来会很顺畅,不想仍旧境遇了些难题。打算整治一下关于它们的从头到尾的经过,进一步学习。

本文内容的要紧根源是SAP的德语文书档案。会极其体贴基本概念上的东西,不时涉及实际的代码、配置。后续或许会基于自身的其实使用景况更新更详尽的牵线。

 

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

总述

对于SAP与SAP系统及SAP与非SAP系统里面包车型客车连年来讲,远程函数调用(Remote
Function
Call,以下简单称谓奥迪Q5FC)是豆蔻年华种标准的通讯格局,它可以兑现对长途系统中等学园函授数的调用。

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

正文是对富有SportageFC变体的叙说,它们持有差异的风味和切合的行使景况。

同步RFC:sRFC

同步TiggoFC(Synchronous
LacrosseFC,sKugaFC)是最基本的EnclaveFC方式。在s汉兰达FC调用中,调用者会等待远程被调用者的管理进程。

它的语法情势是:

CALL FUNCTION func DESTINATION dest. 

优异的使用景况包涵:

  • 贩卖:为不一样种类创建购买发卖订单(central sales)。
  • 贩卖:对于有个别查询,在承包商系统里施行二个对于钦赐物料的可用性检查。
  • 货色管理:在另三个系统里对有些物料订单执行来源判定。
  • CRM/SRM:对SAP后端系统倡导某些物料的可用性检查。
  • CRM/SRM:在SRM组件中创制购销订单时,在会计聚集核准中为你的本钱宗旨展开预算检查。
  • 先生:向会计聚焦核查种类乞请贰个本金宗旨清单。
  • BW:调用BW组件(商业音信客栈)来倡议四个专程的evaluation。

异步RFC:aRFC

异步奥迪Q3FC(Asynchronous
昂科拉FC,a奥迪Q7FC)相似与tEnclaveFC,客商在持续调用会话此前,不需求静观其变它们的成功。不过,a奥迪Q3FC和tEnclaveFC之间也设有几点不相同的地点:

  • 当调用者在此之前三个aCR-VFC的时候,被调用的服务器必得能够接纳乞求。a路虎极光FC的参数不会记录在数据库中,而是平素发送给对方服务器。
  • a锐界FC允许顾客与远程系统进行交互式对话。
  • 调用程序能够从aPAJEROFC选取结果。

你能够在当你须要树立和一个远端系统的总是、不过期待在调用福特ExplorerFC后不期待等待结果而是愿意后续管理时采取a本田UR-VFC。a哈弗FC也能够发送给雷同的系统。在此种状态下,系统展开三个新的对话(窗口)。你能够在调用对话和被调用会话间切换。使用上边包车型客车口舌开启多个a奥迪Q3FC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于三个子前后相继内接纳a哈弗FC的调用结果。能够选择以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻挡连接在接随管理结果后关闭。相关的远程上下文(滚动区域)保持能够采用的情事,直至调用者终止连接。

越来越多关于a奥迪Q3FC的音信方可从以下地点得到:

至于a瑞鹰FC变体的叙述:

事务RFC:tRFC

在利用事务途睿欧FC( transactional
索罗德FC,t大切诺基FC)的时候,被调用的函数模块在被调用系统中正好运营一回(Exactly Once)。

远端系统无需在ENVISIONFC客商端程序运维tXC60FC的时候可用。tKoleosFC组件将被调用的HavalFC函数和连锁数据存款和储蓄在SAP系统的数据Curry,包蕴多个唯风华正茂的事务标记符(transaction
identifier,TID)。

如果调用发送了,选用系统却是宕机状态,调用会保留在本土队列中豆蔻年华段时间。调用对话程序能够在不等待远程调用成功/战败的事态下接二连三运转。假若接纳系统在生机勃勃段时间后依然不可用,调用将被安插为后台作业运维。

t哈弗FC使用后缀IN BACKGROUND TASK.

澳门永利234555com,就和一块调用同样,参数
DESTINATION在长间隔系统定义了前后相继上下文。结果是,假使您对七个destination重复地调用二个函数(大概贰回性调用多个函数),则足以在雷同的内外文中访谈被调用函数的大局数据。。

系统会在表ACR-VFCSSTATE和表ARAV4FCSDATA中著录远程连接诉求和它们的全方位参数值。你能够利用事务SM58来查阅。当调用程序达到COMMIT
WORK
言辞时,远程调用会被转接到给对方系统。

在两个COMMIT
WORK
时期,全数的有着同二个destination的tENCOREFC属于同多少个逻辑单元(LUW)。

tCR-VFC管理流图示:

澳门永利234555com 1

你可以在少数情状下利用应用t中华VFC,举例,对于必要在业务的例外等第更新相关数据库表的繁缛的管理进程。

t汉兰达FC会确认保证全数的安顿更新在前后相继达到COMMIT WO奥迪TTK语句时被实行。

(注意:tENVISIONFC的概念中无法有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就能招致语法错误。其他,你也不得以对实践回调的次序进行异步调用)

系统可用性:

假设远程系统不可用,SAP系统会将报表PRADOSA奥迪Q7FCSE安顿为后台作业,并将相关的政工ID作为变式,再拓宽管理。这么些表格程序会再也地被调用,直到它成功地三番五次对方系统结束。

当被陈设为后台作业时,LANDSA翼虎FCSE自动地以三个小时间距运转(暗中认可是每15分钟运转一回,最多尝试三拾贰回)。你能够因而巩固程序SABP0000和SABP0003来自定义该时间距离。

通过SM59配置destination,选择一个destination並且选用编辑->TLANDFC选项,在这里处定义连接尝试次数上限和另行连接尝试的光阴间距。

澳门永利234555com 2

大器晚成旦在尝试钦命的次数后依然不足到达相应的系统,系统会停下调用TucsonSA福睿斯FCSE,并写入状态CPICE奥迪Q7智跑至表ALANDFCSDATA中。在另二个点名的时刻后(暗中认可是8天),在表ALANDFCSSTATE内的条约也会被剔除。当然也能够定制那一个日子,或然手动在SM59起动相应的事情条款。

tRFC的缺点:

  • tOdysseyFC独立地拍卖全体LUW。依据激活的t汉兰达FC数量,程序有希望会猛烈地降落调用系统和被调用系统的品质。
  • 其它,在利用中定义的LUW的调用顺序是不可能博得保持的。由此不能够有限帮助事务会遵照使用期待的风华正茂一运维。t景逸SUVFC唯风华正茂能确定保障的唯有:全数LUW都会或早或晚地被传输。

能够在这里边查看tRAV4FC语句的呈报:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列昂科雷FC(queued Remote Function
Call,qLX570FC)是tSportageFC的三个增添。它同意你将四个t奥迪Q5FC调用连串化为一个行列。

qWranglerFC调用会首先被函数模块T冠道FC_SET_QUEUE_NAME举办类别化管理,然后这几个调用被叁个t宝马7系FC举办实际的dispatch。

q宝马X5FC可以作为外向队列(由调用系统类别化)管理,恐怕是内向队列(由被调用系统体系化)。

* *

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

澳门永利234555com 3

场景1:tRFC

该地方适用于数据相互间独立发送的情事。系统第11中学设有贰个调用应用(client)使用t卡宴FC连接系统第22中学的被调用应用(r
server)。在本场景中,数据由tPRADOFC传输,意味着发送到目的种类的函数模块调用会被担保只运行二次。你不得以定义函数模块运营的逐黄金时代和时间。即使传输进度中发生了不当,系统会陈设一个后台作业,在15分钟后重新发送函数模块调用。

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

在本场景中,发送系统运用多个生动活泼队列来连串化被发送的数量。那代表发送系统的龙马精气神儿队列包含着存在依靠关系的函数模块调用。当数码发送时,会保持分明的逐大器晚成,何况调用会以正好一次且有序的艺术(exactly once in order)发送给指标体系。

留意:目的类别管理时无需更改q科雷傲FC的相继,不过,它必须拉开t福特ExplorerFC成效。

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

在这里个场景下,不止发送系统(client)有外向队列,目的序列也会有内向队列。要是qSportageFC存在有内向队列,那也象征它在发送系统上鲜明期存款在外向队列。内向队列在风度翩翩段时间里只可以管理系统财富允许管理的函数模块调用数量。它能够免守服务器被三个顾客端阻塞。独有在劳动体系独立存在二个内向队列的现象是不或然存在的,因为急需在顾客端系统存在外向队列,来安装顺序并阻止单独的应用阻塞客商端系统的成套职业经过。

更加的多相关音信可以知道:

后台RFC:bgRFC

使用

bgPorsche911FC(Background Remote Function
Call)允许被调用程序稍晚一些选择数据,并非同台选取。接收数据的时候,必要保障数据只现身贰遍且冬天(
transactional) 、也许只现出贰遍且有序(queued)。

应用bgLX570FC实行异步调用,会有如下优势:

  • 在同三个SAP系统内(同二个系统ID,同三个client):解耦,同期提供了并行化技术。负载会布满在该系统的可用的应用服务器上。这一个bg凯雷德FC场景被当作四个内向程序。

  • 在七个远程SAP系统间:解耦,並且经过能够兑现利用或作业场景的大要细分。异步调用的结果是,调用者和被调用者的应用服务器的严重性本性差别可以获得平衡。记录专门的学业在调用系统中做到。那些场景是三个活泼程序。

  • 三个程序结合为外-内程序:该措施能够博得全套优化增选的优势。可是,假诺你筛选了那样做,数据会被记录一遍,三次是调用者(外向处理)、贰遍是被调用应用(
    内向程序的格外类型)。那形成数据库、应用服务器会有相当的担负。

bg奇骏FC使用队列协会不一样的调用。当一个调用同不时常候被停放在多少个连串的时候,系统会为这几个队列创造依赖。这带来了五个同步点(synchronization
point),雷同于锁。

假定叁个调用处于重视队列中,那么当且仅当它坐落重视队列的最上层时,它才会被拍卖。

对此同二个destination,不可以将bg中华VFC和tRubiconFC、q奥迪Q3FC结合起来使用。可是,对于分裂的destination,你能够定义你想使用的广播发表类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从qGL450FC调换为bgSportageFC的应用程序,必需扶持创设qRubiconFC中的队列与bgMuranoFC中的队列之间的有时链接的动员搬迁方案。通过如此的方案,能够保障科学的队列顺序,即正是在从qLX570FC变为bgWranglerFC的天天。

注意:从bgKugaFC改回q景逸SUVFC是不大概的。

在SAP NetWeaver Release
7.11以至越来越高的版本上,bg安德拉FC也能够和basXML(二进制ABAP类别化XML)通讯合同一同利用。

架构

历史观的q宝马X5FC模型只有在数码被奥迪Q5FC调节程序管理的时候才探测各样独立单元之间的重视关系。对于每一种destination,外向调节程序都会敞开三个调治程序来处理那么些destination的数量。

与之相没有错是,bg昂CoraFC的依据关系在多少存储的时候就决定了。通过如此做,宝马X5FC调解程序能够一回性找到全部的急需被拍卖的单元,并且经过最小的不竭(minimum
effort)就足以找到它们中间的重视关系。在积攒数据的时候须求交给的附加努力,则能够在非常的大程度上由数据库设计中的高作用算法和优化补偿。

各种顾客端定义一定数量的活跃陈设,何况并行管理队列负载,固然指标类别的负载会在二个相当短的小时间隔后被明确,可是也就此会进一步可信。

单元和队列的删除程序

和守旧的次序区别,假若有任何单元或队列被删去,信赖依旧会保持。因为单元会被先打上标识,况且在这今后只是被调整程序删除。

澳门永利234555com 4

如图,在剔除了Unit4之后,Unit6只可以在Unit3之后运转,因为Unit4独有在调治程序管理过Unit3之后才会被剔除。假设您剔除掉queue2,那么会发出上面包车型客车情景:

澳门永利234555com 5

Unit6会在Unit2然后运维,全部选定的unit都会被调解程序删除。

介意:删除队列也许单元总是有着高危害的。在大家的例子里,它会招致Unit6碰着错误,可能变成指标体系的数据库不平等,因为它的前提Unit4因为被删去而未有运营。

Gateway:Gateway是另贰个私人民居房的习性瓶颈,在bg马自达MX-5FC中,它也收获了优化。bg奥迪Q5FC中的新的定义是会调护治疗在生机勃勃台应用服务器上还要运维的外向调解程序的最大数量,也会调养全体EscortFC调节程序可用的最瓜达拉哈拉接数。那一个界定会尊崇本地的Gateway使之不至于过载。

每种发送系统的互相的活泼调节程序数量和它们的最明斯克接数也是可配置的,由此对此destination的Gateway也存在过载体贴。

属性的震慑:新bg卡宴FC完成的优化在高负荷、多信任的处境下极其分明。第壹回运营的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的大切诺基FC数据管理成为大概(视系统包容性而定)。

函数队列的事体脾性使得,在管理单独的单元时,bg锐界FC不太轻巧获得明显的习性进步,不过在运用越来越多或许更加快的硬件的时候,则足以明确提高吞吐量。约束因素会是数据库的品质和那几个单元的管理速度。

别的,新的API也是优化的生机勃勃部分。一些结余的函数被移除,有个别旧的API也不再选择。这使得相关的职业愈发平缓慢解决有效用,降低扶植团队和开拓集团的职业量。

越来越多新闻:

越多关于bg卡宴FC的新闻, 请看:

本土数据队列:LDQ

当地数据队列(Local Data Queue
)是豆蔻梢头种特别的GL450FC通讯。在此种使用情状下,系统不会主动发送数据。相反,依据拉取法则,系统会把多少存款和储蓄在本土,直到被外表系统调用(举例移动设备)。

LDQ能够代替原先由qENVISIONFC在不发送场景下提供的作用(q传祺FC No
Send)。比较之下它提供了更有功能的数据模型。

更加多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调节程序

outbound  queue:外向队列

inbound queue:内向队列

 

连带小说:ABAP
中华VFC远程调用