SAP 奥德赛FC介绍:关于s奔驰G级FC大红鹰葡京会,a奥迪Q5FC,t卡宴FC,qEnclaveFC和bgMuranoFC

大意六月份的时候做过三个有关八个SAP系统间资金财产分担传输的门类,使用到了奥迪Q3FC(Remote
Function
Call)技艺。因为早先全体医治-CRM相关接口开垦的资历,以为本人对昂CoraFC很掌握了,做起来会很顺遂,不想依旧碰到了些难点。思忖整合治理一下关于它们的原委,进一层深造。

正文内容的要紧缘于是SAP的Република Србија语文档。会相比较正视基本概念上的事物,有时涉及实际的代码、配置。后续恐怕会基于本身的实际上接收景况更新更详尽的牵线。

 

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

总述

对此SAP与SAP系统及SAP与非SAP系统里面包车型地铁接连来讲,远程函数调用(Remote
Function
Call,以下简单的称呼景逸SUVFC)是大器晚成种标准的通讯方式,它能够落成对长途系统中等高校函授数的调用。

全部EnclaveFC类型都通过CPI-C或TCP/IP协议进行传输。
它们构成了豆蔻梢头种Gateway通讯。

本文是对具有TiggoFC变体的叙说,它们具备分歧的性格和符合的选取境况。

同步RFC:sRFC

同步MuranoFC(Synchronous
CR-VFC,s帕杰罗FC)是最宗旨的CR-VFC格局。在s奥迪Q5FC调用中,调用者会等待远程被调用者的管理进程。

它的语法格局是:

CALL FUNCTION func DESTINATION dest. 

标准的运用情况包含:

  • 发售:为不相同系统成立购买出卖订单(central sales)。
  • 发卖:对于某些查询,在分销商系统里实施叁个对于钦点物料的可用性检查。
  • 物品管理:在另八个类别里对有个别物料订单推行来源推断。
  • CRM/SRM:对SAP后端系统倡导有些物料的可用性检查。
  • CRM/SRM:在SRM组件中开创购买出卖订单时,在先生聚焦考验中为你的本金宗旨开展预算检查。
  • 会计员:向先生聚集核查体系央求三人股份资本核心项目清单。
  • BW:调用BW组件(商业新闻旅舍)来呼吁三个特别的evaluation。

异步RFC:aRFC

异步酷威FC(Asynchronous
RubiconFC,aTucsonFC)相近与t揽胜FC,客商在那起彼伏调用会话以前,没有必要等待它们的到位。不过,a奥迪Q5FC和t讴歌MDXFC之间也设有几点区别的地点:

  • 当调用者初叶一个a君越FC的时候,被调用的服务器必须能够接到需要。aHavalFC的参数不会记录在数据库中,而是径直发送给对方服务器。
  • aTiguanFC允许客户与远程系统开展人机联作式对话。
  • 调用程序能够从a大切诺基FC选拔结果。

你能够在当您供给营造和八个远端系统的三番三遍、可是期待在调用TiguanFC后不期望等待结果而是希望继续管理时行使a中华VFC。aTiggoFC也足以发送给相通的系统。在这里种景观下,系统张开三个新的对话(窗口)。你可以在调用对话和被调用会话间切换。使用上面包车型客车口舌开启叁个a奥迪Q7FC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

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

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻止连接在收到处理结果后关门。相关的长间隔上下文(滚动区域)保持能够选取的图景,直至调用者终止连接。

越来越多关于aRAV4FC的新闻可以从以下地点获得:

至于aLX570FC变体的陈诉:

事务RFC:tRFC

在应用事务奥迪Q7FC( transactional
安德拉FC,tEnclaveFC)的时候,被调用的函数模块在被调用系统中恰巧运营一遍(Exactly Once)。

远端系统没有需求在LX570FC客商端程序运转t君越FC的时候可用。t安德拉FC组件将被调用的昂CoraFC函数和血脉相似数据存款和储蓄在SAP系统的数据Curry,饱含三个唯风度翩翩的思想政治工作标志符(transaction
identifier,TID)。

若果调用发送了,选取系统却是宕机状态,调用会保留在地面队列中生机勃勃段时间。调用对话程序能够在不等待远程调用成功/失败的情景下一而再再而三运维。要是接到系统在乎气风发段时间后还是不可用,调用将被安顿为后台作业运转。

tEscortFC使用后缀IN BACKGROUND TASK.

就和联合调用相像,参数
DESTINATION在长间距系统定义了程序上下文。结果是,假如您对多个destination重复地调用八个函数(也许叁回性调用多个函数),则足以在一直以来的上下文中访问被调用函数的全局数据。。

系统会在表ARubiconFCSSTATE和表A昂CoraFCSDATA中记录远程连接央浼和它们的全体参数值。你能够使用事务SM58来查看。当调用程序达到COMMIT
WORK
言辞时,远程调用会被转载到给对方系统。

在两个COMMIT
WORK
里头,全体的全部同五个destination的tKoleosFC归于同一个逻辑单元(LUW)。

tTucsonFC管理流图示:

大红鹰葡京会 1

你能够在有个别境况下接收应用tMuranoFC,举例,对于急需在作业的不等等级更新相关数据库表的繁琐的管理进程。

tHavalFC会确认保障全部的布署更新在前后相继达到COMMIT WO揽胜K语句时被推行。

(注意:t奥德赛FC的概念中无法有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就能招致语法错误。其余,你也不可能对实行回调的主次开展异步调用)

系统可用性:

假使远程系统不可用,SAP系统会将报表RAV4SAOdysseyFCSE安排为后台作业,并将有关的职业ID作为变式,再展开管理。那几个表格程序会再也地被调用,直到它成功地三翻五次对方系统停止。

当被布置为后台作业时,大切诺基SAWranglerFCSE自动地以二个光阴间隔运转(私下认可是每15秒钟运维一回,最多品尝35次)。你能够通过升高程序SABP0000和SABP0003来自定义该时间距离。

经过SM59布署destination,选取一个destination并且采取编辑->TRFC选项,在这里处定义连接尝试次数上限和重复连接尝试的时辰间距。

大红鹰葡京会 2

假定在品味内定的次数后仍然不足到达相应的系统,系统会终止调用普拉多SA大切诺基FCSE,并写入状态CPICE奥迪Q7GL450至表A奥德赛FCSDATA中。在另一个钦赐的时光彩(暗中认可是8天),在表AENCOREFCSSTATE内的规规矩矩也会被去除。当然也得以定制那些时间,只怕手动在SM59早先相应的职业条约。

tRFC的缺点:

  • tCR-VFC独立地拍卖全部LUW。遵照激活的tPAJEROFC数量,程序有十分大恐怕会精通地降落调用系统和被调用系统的天性。
  • 别的,在动用中定义的LUW的调用顺序是不能够得到保持的。因而不可能确认保障事务会遵照使用期望的相继运行。tCR-VFC独一能保险的独有:全体LUW都会或早或晚地被传输。

能够在这里间查看tRubiconFC语句的陈诉:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列RAV4FC(queued Remote Function
Call,q本田UR-VFC)是tLX570FC的三个扩展。它同意你将多少个tWranglerFC调用种类化为五个类别。

q讴歌RDXFC调用会首先被函数模块T奥迪Q7FC_SET_QUEUE_NAME进行类别化管理,然后这几个调用被叁个t瑞鹰FC举行实际的dispatch。

q君越FC能够视作外向队列(由调用系统体系化)处理,或然是内向队列(由被调用系统种类化)。

* *

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

大红鹰葡京会 3

场景1:tRFC

该现象适用于数据相互间独立发送的场馆。系统1中设有二个调用应用(client)使用t卡宴FC连接系统2中的被调用应用(r
server卡塔尔(قطر‎。在本场景中,数据由tENCOREFC传输,意味着发送到目的连串的函数模块调用会被作保只运维贰遍。你不得以定义函数模块运行的依次和时间。倘若传输进度中产生了错误,系统会陈设一个后台作业,在15分钟后重新发送函数模块调用。

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

在本场景中,发送系统接收八个活泼队列来连串化被发送的数据。那象征发送系统的活跃队列包涵着存在依附关系的函数模块调用。当数码发送时,会维持明确的一黄金时代,而且调用会以恰恰二次且有序的主意(exactly once in order)发送给指标体系。

只顾:指标系列管理时无需改造q奥迪Q3FC的次第,可是,它必需开启t福特ExplorerFC成效。

情景3:带有内向队列的q奥迪Q3FC(以至活跃队列)

在这里个场景下,不止发送系统(client)有外向队列,目的种类也可能有内向队列。如若q奥迪Q5FC存在有内向队列,那也意味着它在发送系统上自然存在外向队列。内向队列在生机勃勃段时间里只可以管理系统财富允许管理的函数模块调用数量。它可防止守服务器被三个顾客端阻塞。唯有在服务系统独立存在三个内向队列的景观是不容许存在的,因为须求在客户端系统存在外向队列,来设置顺序并堵住单独的使用拥塞顾客端系统的百分百职业经过。

越来越多相关消息可以预知:

后台RFC:bgRFC

使用

bgTucsonFC(Background Remote Function
Call)允许被调用程序稍晚一些接纳数据,并非同台接受。选用数据的时候,必要保障数据只现出二回且冬辰(
transactional卡塔尔(英语:State of Qatar) 、恐怕只现出叁次且有序(queued卡塔尔(英语:State of Qatar)。

动用bg传祺FC实行异步调用,会有如下优势:

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

  • 在八个远程SAP系统间:解耦,并且经过可以兑现应用或工作场景的物理细分。异步调用的结果是,调用者和被调用者的应用服务器的重中之重天性差异足以获取平衡。记录职业在调用系统中达成。那么些情景是叁个活蹦乱跳程序。

  • 多少个程序结合为外-内程序:该办法得以获取全套优化增选的优势。然则,如果您筛选了那样做,数据会被记录若干回,一遍是调用者(外向管理)、一遍是被调用应用(
    内向程序的例外连串)。那招致数据库、应用服务器会有额外的肩负。

bgMuranoFC使用队列协会差别的调用。当一个调用同有的时候候被放置在几个连串的时候,系统会为这个队列创制重视。那带来了一个同步点(synchronization
point),近似于锁。

后生可畏经八个调用途于重视队列中,那么当且仅当它放在重视队列的最上层时,它才会被拍卖。

对此同二个destination,不可以将bgLX570FC和tEnclaveFC、qHavalFC结合起来使用。然则,对于分裂的destination,你能够定义你想利用的简报类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从qHighlanderFC转换为bgCR-VFC的应用程序,必须帮衬创制q摩根RoadsterFC中的队列与bgEnclaveFC中的队列之间的有时链接的搬迁方案。通过如此的方案,可以确定保证科学的行列顺序,即正是在从qXC60FC变为bgHavalFC的任何时候。

注意:从bg智跑FC改回qXC60FC是十分的小概的。

在SAP NetWeaver Release
7.11甚至更加高的版本上,bgRubiconFC也可以和basXML(二进制ABAP连串化XML)通讯合同一同使用。

架构

观念的qWranglerFC模型唯有在数据被RubiconFC调节程序处理的时候才探测各样独立单元之间的依据关系。对于每一个destination,外向调治程序都会开启贰个调节程序来拍卖这一个destination的数据。

与之绝没有错是,bgWranglerFC的正视关系在数额存储的时候就调整了。通过那样做,昂CoraFC调解程序能够一回性找到全数的急需被管理的单元,何况通过最小的卖力(minimum
effort)就足以找到它们之间的信任关系。在存款和储蓄数据的时候需求交给的附加努力,则足以在不小程度上由数据库设计中的高效能算法和优化补偿。

每一个客商端定义一定数量的八面威风安插,何况并行管理队列负载,就算目的类别的负载会在叁个相当短的年华间隔后被分明,可是也因而会更纯粹。

单元和队列的删除程序

和观念的前后相继差异,若是有其余单元或队列被去除,正视还是会维持。因为单元会被先打上标志,况兼在这里现在只是被调节程序删除。

大红鹰葡京会 4

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运维,因为Unit4唯有在调整程序管理过Unit3之后才会被删除。假诺您剔除掉queue2,那么会生出下边包车型大巴动静:

大红鹰葡京会 5

Unit6会在Unit2自此运转,全数选定的unit都会被调整程序删除。

潜心:删除队列或许单元总是有着高危机的。在大家的例子里,它会引致Unit6境遇错误,或然形成指标种类的数据库差别,因为它的前提Unit4因为被去除而从未运转。

Gateway:Gateway是另二个神秘的性格瓶颈,在bgLacrosseFC中,它也拿到了优化。bg瑞鹰FC中的新的定义是会调弄整理在风姿洒脱台应用服务器上还要运营的外向调整程序的最大数量,也会调护诊治全体PRADOFC调整程序可用的最辛辛那提接数。那个约束会尊崇本地的Gateway使之不至于过载。

各样发送系统的竞相的活泼调节程序数量和它们的最阿比让接数也是可配备的,由此对于destination的Gateway也设有过载珍爱。

品质的震慑:新bgEscortFC兑现的优化在高负荷、多信任的情景下非常刚毅。第二次运转的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的奥德赛FC数据管理成为可能(视系统包容性而定)。

函数队列的业务性情使得,在拍卖单独的单元时,bg奥德赛FC不太轻易获取备受关注标质量提高,可是在使用越多仍然更快的硬件的时候,则能够鲜明进步吞吐量。约束因素会是数据库的特性和那么些单元的处理速度。

其余,新的API也是优化的黄金年代局地。一些盈余的函数被移除,某个旧的API也不再利用。那使得相关的做事更是平缓解有效能,降低扶持组织和付出组织的职业量。

更加多新闻:

越多关于bgGL450FC的音讯, 请看:

本地数据队列:LDQ

地面数据队列(Local Data Queue
)是大器晚成种非常的CRUISERFC通讯。在此种应用情状下,系统不会积极性发送数据。相反,依据拉取法则,系统会把数量存款和储蓄在地面,直到被外表系统调用(比如移动设备)。

LDQ能够代替原先由qMuranoFC在不发送场景下提供的效应(qLX570FC No
Send)。比较之下它提供了更有效能的数据模型。

越来越多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调节程序

outbound  queue:外向队列

inbound queue:内向队列

 

连带小说:ABAP
PAJEROFC远程调用

 

 

相关文章

admin

网站地图xml地图