威尼斯人6799.comSAP LacrosseFC介绍:关于sEnclaveFC,aMuranoFC,tPAJEROFC,qHavalFC和bg景逸SUVFC

大要一月份的时候做过2个关于五个SAP系统间资金平摊传输的档次,使用到了途乐FC(Remote
Function
Call)技巧。因为事先全体医治-C普拉多M相关接口开拓的经验,感觉本身对CRUISERFC很熟识了,做起来会很顺畅,不想要么境遇了些难点。计划整治一下关于它们的情节,进一步深造。

正文内容的入眼来自是SAP的英文文书档案。会比较器重基本概念上的事物,偶尔涉及实际的代码、配置。后续恐怕会遵照自身的其实使用境况更新更详尽的牵线。

 

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

总述

对于SAP与SAP系统及SAP与非SAP系统里头的三番五次来讲,远程函数调用(Remote
Function
Call,以下简称XC90FC)是1种规范的通讯格局,它能够落成对长途系统中等高校函授数的调用。

富有OdysseyFC类型都经过CPI-C或TCP/IP协议进行传输。
它们构成了1种Gateway通讯。

正文是对持有TucsonFC变体的讲述,它们持有区别的性状和适合的接纳景况。

同步RFC:sRFC

同步RAV4FC(Synchronous
EvoqueFC,s揽胜极光FC)是最焦点的EscortFC情势。在sENVISIONFC调用中,调用者会等待远程被调用者的管理进度。

它的语法情势是:

CALL FUNCTION func DESTINATION dest. 

非凡的使用情况包涵:

  • 贩卖:为差异系统创造购买出售订单(central sales)。
  • 贩卖:对于有些查询,在供应商系统里实行贰个对此内定物料的可用性检查。
  • 货品管理:在另2个系统里对某些物料订单执行来源决断。
  • C君越M/S汉兰达M:对SAP后端系统倡导有个别物料的可用性检查。
  • CENVISIONM/SPRADOM:在SRubiconM组件中创立购买出售订单时,在会计集中核查中为您的血本大旨张开预算检查。
  • 先生:向会计集中核实连串请求二个资本主题清单。
  • BW:调用BW组件(商业音讯仓库)来呼吁三个尤其的evaluation。

异步RFC:aRFC

异步CR-VFC(Asynchronous
中华VFC,aCRUISERFC)类似与t福睿斯FC,用户在雄起雌伏调用会话在此以前,不须求等待它们的姣好。不过,aTucsonFC和tWranglerFC之间也存在几点差异的地点:

  • 当调用者开首多个aPAJEROFC的时候,被调用的服务器必须能够收起请求。aLX570FC的参数不会记录在数据库中,而是径直发送给对方服务器。
  • aRubiconFC允许用户与远程系统开始展览交互式对话。
  • 调用程序能够从aQashqaiFC接收结果。

你能够在当你须求树立和2个远端系统的连日、可是期望在调用LX570FC后不期待等待结果而是希望继续管理时采用a大切诺基FC。aPAJEROFC也得以发送给同样的系统。在那种气象下,系统展开一个新的对话(窗口)。你可以在调用对话和被调用会话间切换。使用上边包车型地铁讲话开启多少个a奥迪Q7FC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子顺序内经受a奥迪Q5FC的调用结果。能够动用以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻碍连接在收取管理结果后关闭。相关的中远距离上下文(滚动区域)保持能够选取的图景,直至调用者终止连接。

愈来愈多关于a福特ExplorerFC的音信方可从以下地点获得:

至于aRubiconFC变体的叙述:

事务RFC:tRFC

在利用事务汉兰达FC( transactional
猎豹CS六FC,tCRUISERFC)的时候,被调用的函数模块在被调用系统中正好运营3次(Exactly Once)。

远端系统无需在LX570FC客户端程序运转t哈弗FC的时候可用。t大切诺基FC组件将被调用的HavalFC函数和有关数据存储在SAP系统的数据Curry,包涵四个唯1的业务标志符(transaction
identifier,TID)。

纵然调用发送了,接收系统却是宕机状态,调用会保留在本土队列中壹段时间。调用对话程序能够在不等待远程调用成功/败北的情事下一连运转。要是接收系统在一段时间后依旧不可用,调用将被陈设为后台作业运营。

t猎豹CS陆FC使用后缀IN BACKGROUND TASK.

就和一同调用同样,参数
DESTINATION在中距离系统定义了程序上下文。结果是,假如您对2个destination重复地调用二个函数(恐怕三回性调用四个函数),则足以在一样的左右文中访问被调用函数的全局数据。。

系统会在表A翼虎FCSSTATE和表AGL450FCSDATA中记录远程连接请求和它们的万事参数值。你能够行使事务SM58来查阅。当调用程序到达COMMIT
WORK
说话时,远程调用会被转化到给对方系统。

在两个COMMIT
WORK
时期,全体的有所同叁个destination的t昂科拉FC属于同三个逻辑单元(LUW)。

tLANDFC管理流图示:

威尼斯人6799.com 1

你能够在好几意况下采纳应用tTucsonFC,举个例子,对于急需在工作的不等品级更新相关数据库表的复杂性的管理进程。

tEscortFC会确定保证全体的安顿更新在程序达到COMMIT WO途达K语句时被推行。

(注意:tCRUISERFC的定义中无法有任何EXPORT参数,因为调用程序中壹旦有IMPORT参数,就能够促成语法错误。别的,你也不得以对实践回调的顺序开始展览异步调用)

系统可用性:

若是远程系统不可用,SAP系统会将报表OdysseySA福特ExplorerFCSE安插为后台作业,并将相关的事体ID作为变式,再拓展管理。这些表格程序会再次地被调用,直到它成功地连接对方系统结束。

当被安排为后台作业时,卡宴SAPRADOFCSE自动地以3个时刻间隔运营(暗中认可是每一伍分钟运营三遍,最多品尝三12次)。你能够经过巩固程序SABP0000和SABP000三来自定义该时间距离。

经过SM5玖陈设destination,采用二个destination并且选择编辑->T奥迪Q伍FC选项,在此间定义连接尝试次数上限和再度连接尝试的时日距离。

威尼斯人6799.com 2

若是在品味钦点的次数后如故不足到达相应的种类,系统会结束调用君越SA哈弗FCSE,并写入状态CPICE库罗德本田UR-V至表A福特ExplorerFCSDATA中。在另一个内定的时间后(私下认可是八天),在表A卡宴FCSSTATE内的条条框框也会被去除。当然也能够定制这些时辰,或许手动在SM5玖起步相应的职业条款。

tRFC的缺点:

  • tWranglerFC独立地拍卖全部LUW。依据激活的tEvoqueFC数量,程序有希望会鲜明地下落调用系统和被调用系统的本性。
  • 除此以外,在动用中定义的LUW的调用顺序是不可能收获保证的。由此不可能确定保证事务会遵照使用期望的依次运转。tBMWX伍FC唯一能担保的唯有:全部LUW都会或早或晚地被传输。

能够在此间查看tRAV4FC语句的叙说:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列OdysseyFC(queued Remote Function
Call,q景逸SUVFC)是t途达FC的多少个扩大。它同意你将两个t福睿斯FC调用类别化为1个种类。

q福睿斯FC调用会首先被函数模块TCRUISERFC_SET_QUEUE_NAME进行体系化管理,然后这么些调用被二个tKoleosFC举行实际的dispatch。

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

* *

以下是三种业务数据传输的情景(为什么图片中的文字是德文?):

威尼斯人6799.com 3

场景1:tRFC

这一场合适用于数据互相间独立发送的意况。系统第11中学设有3个调用应用(client)使用t途胜FC连接系统第22中学的被调用应用(r
server)。在这场景中,数据由tLacrosseFC传输,意味着发送到目的类别的函数模块调用会被有限支撑只运维3遍。你不得以定义函数模块运营的相继和时间。假使传输进程中产生了错误,系统会布置四个后台作业,在1四分钟后再一次发送函数模块调用。

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

在这一场景中,发送系统利用3个活蹦乱跳队列来种类化被发送的数额。这意味发送系统的活泼队列包括着存在依赖关系的函数模块调用。当数码发送时,会维持显明的顺序,并且调用会以正好3遍且有序的方法(exactly once in order)发送给目的体系。

专注:目标种类管理时无需更动qSportageFC的次第,可是,它必须开启t牧马人FC成效。

意况三:带有内向队列的q瑞鹰FC(以及活跃队列)

在那些现象下,不仅发送系统(client)有外向队列,目标种类也有内向队列。如若q大切诺基FC存在有内向队列,那也象征它在出殡和埋葬系统上断定期存款在外向队列。内向队列在壹段时间里只好管理系统财富允许管理的函数模块调用数量。它能够免守服务器被1个客户端阻塞。只有在劳务系统独立存在3个内向队列的现象是不只怕存在的,因为急需在客户端系统存在外向队列,来安装顺序并拦截单独的运用阻塞客户端系统的整整办事经过。

越多相关音讯可知:

后台RFC:bgRFC

使用

bgPRADOFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而不是联合接收。接收数据的时候,须要保证数据只出现贰遍且冬季(
transactional) 、可能只现出1遍且有序(queued)。

接纳bgQX56FC举行异步调用,会有如下优势:

  • 在同2个SAP系统内(同一个连串ID,同一个client):解耦,同时提供了并行化技术。负载会布满在该种类的可用的应用服务器上。这么些bgBMWX三FC场景被作为3个内向程序。

  • 在多少个远程SAP系统间:解耦,并且经过可以兑现接纳或职业场景的情理细分。异步调用的结果是,调用者和被调用者的应用服务器的严重性天性差别能够得到平衡。记录职业在调用系统中成就。那么些现象是1个活跃程序。

  • 多少个程序结合为外-内程序:该措施可以获得任何优化增选的优势。然而,如若您接纳了那般做,数据会被记录四遍,2回是调用者(外向管理)、一遍是被调用应用(
    内向程序的分外规连串)。那变成数据库、应用服务器会有额外的担任。

bg福睿斯FC使用队列组织分歧的调用。当1个调用同时被停放在七个体系的时候,系统会为这几个队列创立注重。那带来了1个同步点(synchronization
point),类似于锁。

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

对于同二个destination,不得以将bgMuranoFC和tBMWX三FC、q奇骏FC结合起来使用。但是,对于差异的destination,你能够定义你想利用的简报类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从q奥迪Q7FC调换为bg宝马X3FC的应用程序,必须援救成立q宝马X5FC中的队列与bgPRADOFC中的队列之间的一时半刻链接的迁移方案。通过这样的方案,能够确定保证科学的体系顺序,即就是在从qBMWX三FC变为bg昂CoraFC的时刻。

瞩目:从bg翼虎FC改回qEscortFC是不大概的。

在SAP NetWeaver Release
柒.1一以及越来越高的版本上,bg奥德赛FC也能够和basXML(二进制ABAP体系化XML)通讯协议一齐使用。

架构

历史观的q奥迪Q五FC模型唯有在数额被兰德景逸SUVFC调整程序处理的时候才探测各样独立单元之间的借助关系。对于每一种destination,外向调治程序都会敞开一个调解程序来拍卖这么些destination的数量。

与之相对的是,bgRubiconFC的重视性关系在数据存储的时候就调控了。通过如此做,奥迪Q5FC调节程序能够2回性找到全数的要求被管理的单元,并且通过最小的着力(minimum
effort)就足以找到它们之间的依赖性关系。在积攒数据的时候须要交给的附加努力,则能够在异常的大程度上由数据库设计中的高效用算法和优化补偿。

各种客户端定义一定数量的活泼安插,并且并行管理队列负载,即使目的类其他负载会在三个相当短的日子距离后被鲜明,可是也就此会愈来愈正确。

单元和队列的删除程序

和观念的主次不相同,假诺有别的单元或队列被去除,注重照旧会保持。因为单元会被先打上标志,并且在那之后只是被调整程序删除。

威尼斯人6799.com 4

如图,在剔除了Unit四之后,Unit陆只可以在Unit3之后运维,因为Unit五头有在调解程序管理过Unit叁之后才会被剔除。尽管你剔除掉queue二,那么会产生上边包车型地铁意况:

威尼斯人6799.com 5

Unit陆会在Unit二之后运转,全数选定的unit都会被调整程序删除。

在意:删除队列只怕单元总是有着高风险的。在大家的例证里,它会导致Unit六遭逢错误,也许变成目的种类的数据库差别等,因为它的前提Unit四因为被去除而从未运营。

Gateway:Gateway是另三个机密的天性瓶颈,在bg索罗德FC中,它也获得了优化。bg帕杰罗FC中的新的概念是会调养在1台应用服务器上还要运行的龙精虎猛调治程序的最大数额,也会调弄整理全体凯雷德FC调治程序可用的最达累斯萨拉姆接数。这一个限制会爱慕当地的Gateway使之不至于过载。

种种发送系统的相互的活跃调整程序数量和它们的最都林接数也是可配备的,由此对此destination的Gateway也设有过载吝惜。

特性的熏陶:新bg奥迪Q7FC兑现的优化在高负荷、多重视的气象下更强烈。第3次运转的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的LacrosseFC数据管理成为大概(视系统包容性而定)。

函数队列的事体脾气使得,在管理单独的单元时,bg奥迪Q三FC不太轻松获得引人侧目标质量升高,可是在采用越多依然更加快的硬件的时候,则能够明显升高吞吐量。限制因素会是数据库的特性和这么些单元的管理速度。

其余,新的API也是优化的一有的。一些余下的函数被移除,某个旧的API也不再采纳。那使得相关的办事尤其平整和有功效,减弱帮助协会和支出团队的职业量。

越多音讯:

愈来愈多关于bg逍客FC的新闻, 请看:

地点数据队列:LDQ

本土数据队列(Local Data Queue
)是壹种专门的SportageFC通讯。在那种应用情况下,系统不会再接再砺发送数据。相反,依据拉取规则,系统会把数据存款和储蓄在地方,直到被表面系统调用(比如移动道具)。

LDQ能够取代原先由q昂科雷FC在不发送场景下提供的功用(qTucsonFC No
Send)。比较之下它提供了更有功效的数据模型。

越多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调治程序

outbound  queue:外向队列

inbound queue:内向队列

 

相关文章:ABAP
陆风X8FC远程调用