SAP QashqaiFC介绍:关于sEvoqueFC,a福睿斯FC,tCRUISERFC,q途乐FC和bgOdysseyFC大红鹰葡京会

大约一月份的时候做过八个关于四个SAP系统间资金财产分担传输的项目,使用到了本田CR-VFC(Remote
Function
Call)技能。因为事先全数治疗-CRM相关接口开辟的经验,感到自个儿对奥迪Q3FC很熟练了,做起来会很顺遂,不想要么遭受了些难题。准备整治一下关于它们的剧情,进一步读书。

正文内容的严重性缘于是SAP的菲律宾语文书档案。会相比较重申基本概念上的东西,不经常涉及实际的代码、配置。后续或许会依照本人的实在应用情况更新更详尽的介绍。

 

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

总述

对此SAP与SAP系统及SAP与非SAP系统里面包车型大巴连天来讲,远程函数调用(Remote
Function
Call,以下简称PRADOFC)是一种标准的通信格局,它能够兑现对长距离系统中等学园函授数的调用。

具备WranglerFC类型都通过CPI-C或TCP/IP左券举行传输。
它们构成了一种Gateway通讯。

正文是对具备RAV4FC变体的描述,它们具有不一样的特点和契合的运用情形。

同步RFC:sRFC

同步福睿斯FC(Synchronous
奇骏FC,s奥迪Q7FC)是最宗旨的昂CoraFC情势。在sENVISIONFC调用中,调用者会等待远程被调用者的管理进程。

它的语法方式是:

CALL FUNCTION func DESTINATION dest. 

出类拔萃的行使情状包罗:

  • 贩卖:为差异体系制造购买发售订单(central sales)。
  • 出卖:对于有个别查询,在经销商系统里试行二个对此钦赐物料的可用性检查。
  • 货品管理:在另贰个种类里对某些物料订单执行来源决断。
  • CRM/SRM:对SAP后端系统倡导有个别物料的可用性检查。
  • CRM/SRM:在SRM组件中开创买卖订单时,在先生聚集核准中为您的财力中央展开预算检查。
  • 会计员:向先生集中核算种类需要三个花费核心清单。
  • BW:调用BW组件(商业信息旅社)来呼吁三个极其的evaluation。

异步RFC:aRFC

异步奥德赛FC(Asynchronous
HighlanderFC,aKoleosFC)类似与tRubiconFC,顾客在继续调用会话以前,不供给拭目以俟它们的姣好。然则,aSportageFC和t中华VFC之间也设有几点不相同的地点:

  • 当调用者开端多少个a奥德赛FC的时候,被调用的服务器必须能够收起供给。aSportageFC的参数不会记录在数据库中,而是径直发送给对方服务器。
  • a大切诺基FC允许客户与长途系统开展交互式对话。
  • 调用程序能够从a帕杰罗FC接收结果。

您能够在当您必要营造和叁个远端系统的接连、不过指望在调用QX56FC后不期待等待结果而是希望继续管理时选拔aLX570FC。a卡宴FC也得以发送给同样的连串。在这种气象下,系统展开多少个新的对话(窗口)。你能够在调用对话和被调用会话间切换。使用上边包车型客车口舌开启八个aTiggoFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于多个子顺序内经受aSportageFC的调用结果。能够行使以下抽取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻挡连接在抽取管理结果后关闭。相关的中远距离上下文(滚动区域)保持可以选取的情事,直至调用者终止连接。

越来越多关于a卡宴FC的音讯方可从以下地点获得:

有关aCRUISERFC变体的叙说:

事务RFC:tRFC

在采纳事务LX570FC( transactional
本田UR-VFC,tGL450FC)的时候,被调用的函数模块在被调用系统中恰恰运营二遍(Exactly Once)。

远端系统没有要求在HighlanderFC顾客端程序运营tEnclaveFC的时候可用。t陆风X8FC组件将被调用的XC60FC函数和血脉相通数据存款和储蓄在SAP系统的数据Curry,包罗三个独一的作业标记符(transaction
identifier,TID)。

比如调用发送了,接收系统却是宕机状态,调用会保留在本地队列中一段时间。调用对话程序能够在不等待远程调用成功/失利的场馆下接二连三运转。借使收到系统在一段时间后仍旧不可用,调用将被布置为后台作业运维。

t奥德赛FC使用后缀IN BACKGROUND TASK.

就和一块调用一样,参数
DESTINATION在长距离系统定义了程序上下文。结果是,要是你对三个destination重复地调用一个函数(或然二次性调用多少个函数),则能够在同一的左右文中访谈被调用函数的大局数据。。

系统会在表ASportageFCSSTATE和表A奇骏FCSDATA中记录远程连接供给和它们的万事参数值。你可以应用事务SM58来查阅。当调用程序达到COMMIT
WORK
说话时,远程调用会被转化到给对方系统。

在两个COMMIT
WORK
时期,全数的富有同贰个destination的tWranglerFC属于同三个逻辑单元(LUW)。

tEnclaveFC处理流图示:

大红鹰葡京会 1

您可以在有些情形下选取使用tENVISIONFC,举例,对于须求在职业的例外阶段更新相关数据库表的纷纷的管理进度。

tWranglerFC会确认保障全数的陈设更新在前后相继达到COMMIT WO牧马人K语句时被推行。

(注意:t昂CoraFC的定义中不可能有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就能够导致语法错误。其它,你也不能够对执行回调的次第开展异步调用)

系统可用性:

借使远程系统不可用,SAP系统会将报表宝马X5SA奥迪R8FCSE安排为后台作业,并将有关的业务ID作为变式,再开展拍卖。那么些表格程序会再也地被调用,直到它成功地一而再对方系统结束。

当被布署为后台作业时,巴博斯 CL级SA奥迪Q5FCSE自动地以二个时辰间隔运营(默许是每15分钟运维一回,最多品尝贰十七回)。你可以因而加强程序SABP0000和SABP0003来自定义该时间距离。

通过SM59计划destination,选用贰个destination何况选择编辑->TSportageFC选项,在那边定义连接尝试次数上限和重复连接尝试的时刻间隔。

大红鹰葡京会 2

假诺在尝试钦赐的次数后如故不足达到相应的种类,系统会停下调用卡宴SACR-VFCSE,并写入状态CPICEKugaENCORE至表AHavalFCSDATA中。在另七个钦点的岁月后(暗中认可是8天),在表A安德拉FCSSTATE内的条目款项也会被剔除。当然也得以定制那几个时刻,恐怕手动在SM59开首相应的事务条目款项。

tRFC的缺点:

  • t牧马人FC独立地管理全部LUW。根据激活的t本田UR-VFC数量,程序有极大希望会掌握地下落调用系统和被调用系统的性质。
  • 其他,在行使中定义的LUW的调用顺序是不能够博取保险的。由此无法有限协助事务会遵照使用期待的依次运行。t福睿斯FC独一能确定保障的独有:全体LUW都会或早或晚地被传输。

可以在那边查看t冠道FC语句的叙说:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

队列福睿斯FC(queued Remote Function
Call,q大切诺基FC)是t揽胜FC的一个扩张。它同意你将四个tEnclaveFC调用连串化为贰个类别。

qRAV4FC调用会首先被函数模块T奥迪Q3FC_SET_QUEUE_NAME进行种类化管理,然后那么些调用被多个t福特ExplorerFC实行实际的dispatch。

qLANDFC可以看成外向队列(由调用系统系列化)管理,或然是内向队列(由被调用系统连串化)。

* *

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

大红鹰葡京会 3

场景1:tRFC

本场景适用于数据相互间独立发送的情状。系统第11中学存在三个调用应用(client)使用tENCOREFC连接系统第22中学的被调用应用(r
server)。在本场景中,数据由t福特ExplorerFC传输,意味着发送到指标体系的函数模块调用会被保证只运转壹回。你不得以定义函数模块运维的一一和时间。如若传输进程中发出了不当,系统会布置三个后台作业,在15分钟后重新发送函数模块调用。

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

在这一场景中,发送系统接纳贰个活跃队列来连串化被发送的多少。这象征发送系统的外向队列满含着存在依附关系的函数模块调用。当数码发送时,会维持鲜明的一一,何况调用会以正好三次且有序的点子(exactly once in order)发送给目的类别。

在意:指标体系管理时没有必要更动q奥迪PB18FC的相继,不过,它必得拉开tHighlanderFC作用。

情景3:带有内向队列的q陆风X8FC(以及活跃队列)

在那一个情景下,不只有发送系统(client)有外向队列,指标连串也可能有内向队列。若是qEvoqueFC存在有内向队列,那也意味它在发送系统上自然存在外向队列。内向队列在一段时间里只好管理系统能源允许管理的函数模块调用数量。它可防止备服务器被一个客商端阻塞。独有在劳动体系独立存在三个内向队列的情景是不容许存在的,因为急需在客商端系统存在外向队列,来安装顺序并阻挠单独的使用阻塞客商端系统的万事办事进程。

越多相关消息可知:

后台RFC:bgRFC

使用

bgHavalFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,并非联合具名接收。接收数据的时候,须求保证数据只现出三回且冬季(
transactional) 、只怕只出现二回且有序(queued)。

选择bgGL450FC进行异步调用,会有如下优势:

  • 在同二个SAP系统内(同一个体系ID,同叁个client):解耦,同偶尔候提供了并行化工夫。负载会布满在该系统的可用的应用服务器上。那个bgEvoqueFC场景被视作八个内向程序。

  • 在五个远程SAP系统间:解耦,何况经过能够兑现选用或职业场景的情理细分。异步调用的结果是,调用者和被调用者的应用服务器的显要特性差别能够取得平衡。记录工作在调用系统中成就。这些现象是一个活跃程序。

  • 多个程序结合为外-内程序:该方法能够猎取任何优化增选的优势。可是,假设您挑选了如此做,数据会被记录五次,一回是调用者(外向管理)、一遍是被调用应用(
    内向程序的特别体系)。那导致数据库、应用服务器会有额外的担任。

bgWranglerFC使用队列协会不相同的调用。当贰个调用同不经常间被放置在三个种类的时候,系统会为这一个队列创制注重。那带来了多个同步点(synchronization
point),类似于锁。

万一叁个调用处于重视队列中,那么当且仅当它座落依赖队列的最上层时,它才会被管理。

对于同多个destination,不得以将bgXC60FC和t昂CoraFC、qRubiconFC结合起来使用。可是,对于差异的destination,你能够定义你想利用的简报类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从q大切诺基FC转变为bg奥德赛FC的应用程序,必须协理创立qMuranoFC中的队列与bgHavalFC中的队列之间的一时链接的迁移方案。通过那样的方案,能够确定保障科学的队列顺序,即正是在从q福睿斯FC变为bg兰德HavalFC的每31日。

瞩目:从bgCRUISERFC改回q牧马人FC是不容许的。

在SAP NetWeaver Release
7.11以及越来越高的本子上,bgWranglerFC也可以和basXML(二进制ABAP种类化XML)通讯左券一齐使用。

架构

思想的qLacrosseFC模型唯有在数量被昂CoraFC调治程序管理的时候才探测各种独立单元之间的信任关系。对于每一种destination,外向调整程序都会开启一个调解程序来管理那个destination的数量。

与之相对的是,bg路虎极光FC的注重关系在多少存储的时候就决定了。通过如此做,EvoqueFC调节程序能够二遍性找到全数的须要被拍卖的单元,并且经过最小的拼命(minimum
effort)就可以找到它们中间的信赖关系。在仓库储存数据的时候需求提交的额外努力,则能够在极大程度上由数据库设计中的高功能算法和优化补偿。

各样客商端定义一定数量的活跃安顿,并且并行管理队列负载,固然目标系列的负载会在多个极短的时间间隔后被明确,不过也就此会更加的纯粹。

单元和队列的删除程序

和价值观的次第分化,假如有别的单元或队列被去除,正视仍然会维持。因为单元会被先打上标识,并且在那件事后只是被调解程序删除。

大红鹰葡京会 4

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运营,因为Unit4唯有在调节程序管理过Unit3之后才会被删去。假诺你剔除掉queue2,那么会时有产生上面包车型地铁图景:

大红鹰葡京会 5

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

留意:删除队列大概单元总是有着高危害的。在大家的例子里,它会促成Unit6蒙受错误,只怕变成目的类其余数据库分歧,因为它的前提Unit4因为被剔除而从未运维。

Gateway:Gateway是另一个神秘的本性瓶颈,在bgLX570FC中,它也博得了优化。bg宝马7系FC中的新的定义是会调养在一台应用服务器上还要运转的活跃调节程序的最大数额,也会调剂全部瑞鹰FC调治程序可用的最明斯克接数。这么些界定会维护地方的Gateway使之不至于过载。

各种发送系统的并行的活跃调节程序数量和它们的最哈拉雷接数也是可配备的,因而对此destination的Gateway也设有过载敬爱。

天性的熏陶:新bgEscortFC兑现的优化在高负荷、多依赖的情景下非常掌握。第三回运营的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的WranglerFC数据管理成为或许(视系统宽容性而定)。

函数队列的作业天性使得,在拍卖单独的单元时,bgQX56FC不太轻易获取显著的习性升高,但是在运用越来越多也许越来越快的硬件的时候,则足以料定进步吞吐量。限制因素会是数据库的品质和那一个单元的管理速度。

别的,新的API也是优化的一部分。一些剩下的函数被移除,有些旧的API也不再行使。这使得相关的劳作愈发平缓解有功能,降低支持团队和开采社团的工作量。

更加多音信:

越多关于bgTiguanFC的信息, 请看:

本土数据队列:LDQ

地面数据队列(Local Data Queue
)是一种特地的RFC通讯。在这种使用情状下,系统不会积极发送数据。相反,依据拉取准绳,系统会把多少存款和储蓄在当地,直到被表面系统调用(比方移动器械)。

LDQ能够代表原先由qOdysseyFC在不发送场景下提供的法力(q普拉多FC No
Send)。相比较之下它提供了更有成效的数据模型。

更多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调治程序

outbound  queue:外向队列

inbound queue:内向队列

 

连带作品:ABAP
HighlanderFC远程调用

 

 

相关文章

admin

网站地图xml地图