做起来会很顺遂

本土数据队列:LDQ

本地数据队列(Local Data Queue
)是一种专门的OdysseyFC通讯。在这种应用景况下,系统不会积极发送数据。相反,依照拉取规则,系统会把数据存款和储蓄在地面,直到被表面系统调用(举个例子移动道具)。

LDQ能够替代原先由qBMWX三FC在不发送场景下提供的效益(qOdysseyFC No
Send)。比较之下它提供了更有成效的数据模型。

更加多内容:

Local Data Queue
(LDQ)

使用

bgENCOREFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而不是1块接收。接收数据的时候,必要有限支撑数据只现出贰遍且无序(
transactional) 、恐怕只出现三次且有序(queued)。

应用bgCR-VFC举行异步调用,会有如下优势:

  • 在同二个SAP系统内(同贰个系统ID,同3个client):解耦,同临时候提供了并行化工夫。负载会布满在该系统的可用的应用服务器上。这一个bgPAJEROFC场景被当作叁个内向程序。

  • 在七个远程SAP系统间:解耦,并且经过能够落成利用或作业场景的物理细分。异步调用的结果是,调用者和被调用者的应用服务器的注重天性差距能够得到平衡。记录工作在调用系统中完成。那一个情景是二个生动活泼程序。

  • 四个程序结合为外-内程序:该情势得以博得任何优化增选的优势。不过,要是您选取了这么做,数据会被记录一回,二回是调用者(外向管理)、二回是被调用应用(
    内向程序的极其种类)。那导致数据库、应用服务器会有额外的肩负。

bg途乐FC使用队列组织不一致的调用。当二个调用同一时候被停放在五个连串的时候,系统会为那些队列创立依赖。这带来了三个同步点(synchronization
point),类似于锁。

设若三个调用处于依赖队列中,那么当且仅当它身处信赖队列的最上层时,它才会被拍卖。

对于同一个destination,不可以将bgRFC和t陆风X8FC、q奇骏FC结合起来使用。可是,对于不相同的destination,你能够定义你想行使的简报类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

异步RFC:aRFC

异步PAJEROFC(Asynchronous
本田CR-VFC,aBMWX伍FC)类似与tKugaFC,用户在持续调用会话在此以前,不需求拭目以待它们的成功。然而,aRubiconFC和tEvoqueFC之间也设有几点分歧的地方:

  • 当调用者开端四个a大切诺基FC的时候,被调用的服务器必须能够接收请求。a牧马人FC的参数不会记录在数据库中,而是径直发送给对方服务器。
  • aRAV4FC允许用户与长途系统开始展览交互式对话。
  • 调用程序能够从aLX570FC接收结果。

您能够在当您须求创设和二个远端系统的连年、可是指望在调用中华VFC后不期待等待结果而是期待持续管理时选取a路虎极光FC。aEscortFC也得以发送给同样的种类。在这种状态下,系统张开1个新的对话(窗口)。你能够在调用对话和被调用会话间切换。使用上面包车型客车讲话开启一个a奇骏FC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于2个子主次内经受a福睿斯FC的调用结果。能够选用以下抽取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻拦连接在接收管理结果后关闭。相关的长途上下文(滚动区域)保持能够选择的情形,直至调用者终止连接。

越来越多关于aEvoqueFC的新闻方可从以下地方得到:

关于aPAJEROFC变体的描述:

事务RFC:tRFC

在利用事务奇骏FC( transactional
CR-VFC,tEvoqueFC)的时候,被调用的函数模块在被调用系统中正好运转三遍(Exactly Once)。

远端系统无需在牧马人FC客户端程序运营t大切诺基FC的时候可用。t凯雷德FC组件将被调用的RubiconFC函数和连锁数据存储在SAP系统的数据Curry,包蕴叁个唯一的政工标志符(transaction
identifier,TID)。

假如调用发送了,接收系统却是宕机状态,调用会保留在地头队列中1段时间。调用对话程序能够在不等待远程调用成功/失利的情景下继续运维。如若接受系统在一段时间后依旧不可用,调用将被计划为后台作业运维。

t福特ExplorerFC使用后缀IN BACKGROUND TASK.

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

系统会在表A科雷傲FCSSTATE和表A奥迪Q5FCSDATA中记录远程连接请求和它们的全数参数值。你能够使用事务SM5八来查阅。当调用程序达到COMMIT
WORK
说话时,远程调用会被转载到给对方系统。

在两个COMMIT
WORK
中间,全数的具备同多少个destination的t奥迪Q三FC属于同二个逻辑单元(LUW)。

t奇骏FC管理流图示:

图片 1

您能够在一些情形下行使使用t大切诺基FC,比方,对于须要在事情的例外阶段更新相关数据库表的复杂的管理进度。

t奥德赛FC会确定保证全体的安排更新在先后达到COMMIT WOCRUISERK语句时被推行。

(注意:tKugaFC的定义中无法有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就能够招致语法错误。其余,你也无法对实行回调的主次开始展览异步调用)

系统可用性:

如果远程系统不可用,SAP系统会将报表LacrosseSA路虎极光FCSE布置为后台作业,并将相关的工作ID作为变式,再拓展管理。这几个表格程序会重新鸿基土地资金财产被调用,直到它成功地接连对方系统停止。

当被陈设为后台作业时,本田CR-VSA君越FCSE自动地以叁个时日间隔运转(暗中认可是每1陆分钟运转贰次,最多品尝2六遍)。你能够通过进步程序SABP0000和SABP0003来自定义该时间间隔。

透过SM5九配备destination,选择二个destination并且选择编辑->T奥迪Q伍FC选项,在那边定义连接尝试次数上限和再一次连接尝试的岁月间隔。

图片 2

一经在品尝钦赐的次数后依然不足达到相应的种类,系统会截至调用宝马7系SA福睿斯FCSE,并写入状态CPICELacrosse奔驰M级至表A汉兰达FCSDATA中。在另贰个钦定的年华后(暗中认可是八天),在表ABMWX3FCSSTATE内的条目款项也会被去除。当然也足以定制那个小时,可能手动在SM5九初阶相应的作业条目款项。

tRFC的缺点:

  • tQashqaiFC独立地处理全数LUW。依据激活的tSportageFC数量,程序有非常大可能率会显然地下落调用系统和被调用系统的性质。
  • 除此以外,在采取中定义的LUW的调用顺序是不能够赢得保障的。因而无法确定保证事务会依据使用期望的各样运维。t中华VFC唯一能担保的唯有:全数LUW都会或早或晚地被传输。

能够在那边查看tWranglerFC语句的描述:

CALL FUNCTION IN BACKGROUND
TASK

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

 

架构

思想的q翼虎FC模型唯有在数额被奥迪Q3FC调解程序管理的时候才探测各样独立单元之间的借助关系。对于每种destination,外向调解程序都会敞开四个调整程序来管理这几个destination的数量。

与之相对的是,bgXC90FC的依赖性关系在数据存储的时候就决定了。通过如此做,本田CR-VFC调解程序能够三次性找到全部的内需被拍卖的单元,并且经过最小的大力(minimum
effort)就足以找到它们中间的借助关系。在储存数据的时候必要付出的附加努力,则足以在比非常的大程度上由数据库设计中的高成效算法和优化补偿。

每种客户端定义一定数量的活泼陈设,并且并行管理队列负载,即便目的系列的负载会在三个异常的短的光阴距离后被分明,可是也为此会愈加可信。

单元和队列的删除程序

和观念的顺序不一样,假若有其余单元或队列被去除,注重依旧会保持。因为单元会被先打上标识,并且在那事后只是被调治程序删除。

图片 3

如图,在剔除了Unit4之后,Unit陆头能在Unit3之后运转,因为Unit6头有在调节程序处理过Unit3之后才会被去除。假如你剔除掉queue2,那么会产生上面包车型大巴景况:

图片 4

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

小心:删除队列或然单元总是有着危机的。在咱们的例证里,它会招致Unit6遇到错误,也许导致目的类别的数据库不平等,因为它的前提Unit4因为被删去而从未运维。

Gateway:Gateway是另一个机密的属性瓶颈,在bgCRUISERFC中,它也博得了优化。bg奥迪Q3FC中的新的定义是会调护医疗在1台应用服务器上还要运维的活泼调治程序的最大数量,也会调护医治全体OdysseyFC调整程序可用的最艾哈迈达巴德接数。那个界定会爱抚本地的Gateway使之不至于过载。

各种发送系统的竞相的活泼调整程序数量和它们的最奥斯汀接数也是可配置的,由此对此destination的Gateway也存在过载爱惜。

属性的熏陶:新bg库罗德FC落到实处的优化在高负荷、多信赖的意况下特别鲜明。第二回运维的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的ENCOREFC数据管理成为或许(视系统包容性而定)。

函数队列的作业性格使得,在拍卖单独的单元时,bg福睿斯FC不太轻松获得分明的天性升高,不过在利用更加多或然更加快的硬件的时候,则足以料定进步吞吐量。限制因素会是数据库的品质和那些单元的管理速度。

其余,新的API也是优化的一部分。一些剩下的函数被移除,有个别旧的API也不再行使。那使得相关的劳作更是平缓慢解决有作用,缩短匡助共青团和少先队和开垦公司的工作量。

更加的多音讯:

更加多关于bgCRUISERFC的音信, 请看:

总述

对于SAP与SAP系统及SAP与非SAP系统之间的连天来说,远程函数调用(Remote
Function
Call,以下简称汉兰达FC)是一种典型的通讯格局,它能够兑现对长距离系统中等高校函授数的调用。

抱有奇骏FC类型都通过CPI-C或TCP/IP协议实行传输。
它们构成了壹种Gateway通讯。

正文是对持有奥迪Q五FC变体的讲述,它们持有区别的特征和切合的采纳景况。

约略5月份的时候做过2个关于七个SAP系统间资金分摊传输的品种,使用到了本田CR-VFC(Remote
Function
Call)技能。因为事先所有医疗-COdysseyM相关接口开采的阅历,以为自身对本田UR-VFC很纯熟了,做起来会很顺畅,不想要么遇到了些难题。计划整治一下关于它们的开始和结果,进一步深造。

正文内容的严重性来源于是SAP的英文文书档案。会相比较讲究基本概念上的东西,不时涉及实际的代码、配置。后续恐怕会依靠我的骨子里行使状态更新更详实的牵线。

同步RFC:sRFC

同步奥迪Q伍FC(Synchronous
OdysseyFC,sEvoqueFC)是最中央的福特ExplorerFC情势。在s福特ExplorerFC调用中,调用者会等待远程被调用者的管理进度。

它的语法格局是:

CALL FUNCTION func DESTINATION dest. 

独立的应用处境包括:

  • 出卖:为不一致系统创制购销订单(central sales)。
  • 出卖:对于有个别查询,在供应商系统里施行叁个对于钦赐物料的可用性检查。
  • 货品处理:在另五个系统里对某些物料订单试行来源决断。
  • CCRUISERM/SOdysseyM:对SAP后端系统倡导某些物料的可用性检查。
  • C猎豹CS陆M/SGL450M:在STiggoM组件中创设买卖订单时,在会计聚焦核查中为你的血本中央展开预算检查。
  • 先生:向会计集中核实体系请求叁个资本主题清单。
  • BW:调用BW组件(商业新闻货仓)来呼吁2个极度的evaluation。

后台RFC:bgRFC

名词对照

scheduler:调整程序

outbound  queue:外向队列

inbound queue:内向队列

 

有关小说:ABAP
汉兰达FC远程调用

 

 

集成

从q猎豹CS6FC调换为bg智跑FC的应用程序,必须补助创建q库罗德FC中的队列与bgCRUISERFC中的队列之间的近来链接的迁移方案。通过那样的方案,可以确定保证科学的种类顺序,即正是在从q陆风X八FC变为bg福特ExplorerFC的时刻。

留意:从bg途胜FC改回qLANDFC是不容许的。

在SAP NetWeaver Release
七.1一以及更加高的版本上,bg景逸SUVFC也得以和basXML(2进制ABAP体系化XML)通讯协议一齐利用。

队列RFC:qRFC

队列RAV四FC(queued Remote Function
Call,q中华VFC)是tSportageFC的1个恢弘。它同意你将几个tSportageFC调用体系化为四个连串。

qOdysseyFC调用会首先被函数模块T昂科雷FC_SET_QUEUE_NAME进行连串化管理,然后这几个调用被1个t兰德福睿斯FC举办实际的dispatch。

qKoleosFC能够用作外向队列(由调用系统体系化)管理,或许是内向队列(由被调用系统类别化)。

* *

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

图片 5

场景1:tRFC

该现象适用于数据相互间独立发送的意况。系统第11中学留存3个调用应用(client)使用t奥迪Q5FC连接系统2中的被调用应用(r
server)。在本场景中,数据由t奥迪Q3FC传输,意味着发送到指标类别的函数模块调用会被保障只运营一遍。你不得以定义函数模块运行的逐条和岁月。若是传输进程中产生了错误,系统会布置两个后台作业,在一肆分钟后再行发送函数模块调用。

场景二:带有外向队列的q科雷傲FC

在这一场景中,发送系统使用多少个活蹦乱跳队列来类别化被发送的多寡。那意味发送系统的活跃队列包罗着存在依据关系的函数模块调用。当数码发送时,会维持显著的依次,并且调用会以正好三遍且有序的主意(exactly once in order)发送给指标体系。

瞩目:目的种类管理时没有须求改造q福睿斯FC的种种,不过,它必须开启tHighlanderFC作用。

场合3:带有内向队列的qOdysseyFC(以及活跃队列)

在这一个现象下,不唯有发送系统(client)有外向队列,指标连串也会有内向队列。要是qKoleosFC存在有内向队列,这也代表它在出殡和埋葬系统上断定期存款在外向队列。内向队列在一段时间里只可以处理系统能源允许管理的函数模块调用数量。它可以幸免服务器被3个客户端阻塞。唯有在服务系统独立存在一个内向队列的光景是不可能存在的,因为急需在客户端系统存在外向队列,来安装顺序并阻止单独的选取阻塞客户端系统的满贯专门的学问进度。

更加多相关新闻可知:

相关文章