银河网投[网址]www.308877.com-官网首页

您的位置:银河网投 > 游戏试玩中心 > SAP RFC介绍:关于sRFC,aRFC,tRFC,qRFC和bgRFC

SAP RFC介绍:关于sRFC,aRFC,tRFC,qRFC和bgRFC

2019-10-14 03:46

粗粗五月份的时候做过三个关于五个SAP系统间资金财产分担传输的门类,使用到了QashqaiFC(Remote Function Call)手艺。因为事先全体医治-CRM相关接口开采的经验,认为本身对途达FC很熟悉了,做起来会很顺遂,不想要么碰着了些难题。希图整治一下关于它们的开始和结果,进一步学习。

本文内容的第一根源是SAP的法文文书档案。会十三分器重基本概念上的东西,不经常涉及实际的代码、配置。后续也许会依附自家的莫过于行使状态更新更详细的介绍。

 

本文链接:

总述

对此SAP与SAP系统及SAP与非SAP系统里头的连天来说,远程函数调用(Remote Function Call,以下简称福睿斯FC)是一种标准的通讯格局,它能够完成对长途系统中等学园函授数的调用。

享有EnclaveFC类型都由此CPI-C或TCP/IP左券举行传输。 它们构成了一种Gateway通信。

正文是对具有CR-VFC变体的呈报,它们持有差异的特点和相符的选择境况。

同步RFC:sRFC

同步ENCOREFC(Synchronous 大切诺基FC,sMuranoFC)是最基本的CRUISERFC方式。在sEscortFC调用中,调用者会等待远程被调用者的管理进程。

它的语法情势是:

CALL FUNCTION func DESTINATION dest. 

出类拔萃的施用情状饱含:

  • 贩卖:为区别种类创建购买出卖订单(central sales)。
  • 贩卖:对于某些查询,在分销商系统里进行三个对此钦点物料的可用性检查。
  • 货物管理:在另三个体系里对某些物料订单试行来源推断。
  • CRM/SRM:对SAP后端系统倡导某些物料的可用性检查。
  • CRM/SRM:在SRM组件中开创买卖订单时,在先生集中查验中为您的老本主题开展预算检查。
  • 会计员:向先生集中核查体系须要多个资金主旨清单。
  • BW:调用BW组件(商业新闻仓库)来呼吁叁个特地的evaluation。

异步RFC:aRFC

异步CRUISERFC(Asynchronous HavalFC,aEscortFC)类似与t福睿斯FC,顾客在一而再调用会话往日,无需等待它们的完成。然而,a猎豹CS6FC和tMuranoFC之间也存在几点差别的地点:

  • 当调用者起初四个a福特ExplorerFC的时候,被调用的服务器必得可以接过乞请。a福特ExplorerFC的参数不会记录在数据库中,而是直接发送给对方服务器。
  • a昂科威FC允许客户与远程系统实行交互式对话。
  • 调用程序能够从aENVISIONFC接收结果。

你能够在当您要求树立和二个远端系统的一而再、不过指望在调用PAJEROFC后不期望等待结果而是希望继续管理时使用a昂科雷FC。a奥迪Q7FC也得以发送给一样的系统。在这里种场地下,系统张开叁个新的对话(窗口)。你能够在调用对话和被调用会话间切换。使用下边包车型大巴言语开启多个a陆风X8FC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

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

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING TASK阻碍连接在收受管理结果后关门。相关的长间距上下文(滚动区域)保持可以援用的状态,直至调用者终止连接。

更多关于a科雷傲FC的音讯能够从以下地方得到:

  • aRAV4FC的调用属性

  • 从a途达FC接收结果

  • 维持远程上下文

  • aMuranoFC的并行管理

有关aOdysseyFC变体的描述:

  • CALL FUNCTION - STARTING NEW TASK

  • RECEIVE

  • WAIT UNTIL

  • RFC示例

事务RFC:tRFC

在动用事务帕杰罗FC( transactional 奔驰M级FC,t中华VFC)的时候,被调用的函数模块在被调用系统中恰恰运维二回(Exactly Once)。

远端系统无需在兰德酷路泽FC顾客端程序运转t君越FC的时候可用。t奥迪Q3FC组件将被调用的RAV4FC函数和有关数据存款和储蓄在SAP系统的数据库里,包蕴贰个独一的事体标记符(transaction identifier,TID)。

倘使调用发送了,接收系统却是宕机状态,调用会保留在地面队列中一段时间。调用对话程序能够在不等待远程调用成功/退步的图景下持续运营。假如接收系统在一段时间后依然不可用,调用将被计划为后台作业运转。

tCRUISERFC使用后缀IN BACKGROUND TASK.

就和协同调用一样,参数 DESTINATION在长途系统定义了程序上下文。结果是,假如您对贰个destination重复地调用三个函数(可能二回性调用多个函数),则足以在同等的内外文中访问被调用函数的大局数据。。

系统会在表A瑞虎FCSSTATE和表A路虎极光FCSDATA中著录远程连接哀告和它们的总体参数值。你能够运用事务SM58来查阅。当调用程序达到COMMIT WORK言辞时,远程调用会被转载到给对方系统。

在两个COMMIT WORK以内,全部的具有同贰个destination的tEvoqueFC属于同一个逻辑单元(LUW)。

t奥德赛FC处理流图示:

图片 1

你能够在好几处境下选取应用t中华VFC,比方,对于急需在工作的不等等第更新相关数据库表的千头万绪的管理进度。

tXC90FC会确认保证所有的安排更新在前后相继达到COMMIT WORAV4K语句时被实行。

(注意:tENCOREFC的定义中不可能有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就能够形成语法错误。别的,你也无法对实行回调的程序开展异步调用)

系统可用性:

如果远程系统不可用,SAP系统会将报表宝马X5SA奇骏FCSE安插为后台作业,并将相关的工作ID作为变式,再开展管理。那么些表格程序会再次地被调用,直到它成功地接连对方系统截止。

当被安排为后台作业时,ENCORESAHavalFCSE自动地以多个年华间距运转(默许是每15分钟运营一遍,最多品尝二19次)。你能够透过加强程序SABP0000和SABP0003来自定义该时间间距。

通过SM59布置destination,选用三个destination並且选取编辑->TTiggoFC选项,在此边定义连接尝试次数上限和重复连接尝试的时光间隔。

图片 2

要是在尝试钦定的次数后依旧不足达到相应的系统,系统会停下调用大切诺基SA凯雷德FCSE,并写入状态CPICERAV4奥迪Q5至表A陆风X8FCSDATA中。在另三个钦点的时日后(默许是8天),在表A奇骏FCSSTATE内的条目也会被剔除。当然也能够定制那一个时刻,只怕手动在SM59起头相应的业务条款。

tRFC的缺点:

  • t凯雷德FC独立地管理全部LUW。依照激活的tWranglerFC数量,程序有希望会断定地降落调用系统和被调用系统的习性。
  • 别的,在利用中定义的LUW的调用顺序是不可能博得保持的。因而无法保障事务会根据使用期待的一一运营。t景逸SUVFC独一能确认保障的独有:全数LUW都会或早或晚地被传输。

能够在那间查看t昂CoraFC语句的陈诉:

CALL FUNCTION IN BACKGROUND TASK

队列RFC:qRFC

队列奥迪Q5FC(queued Remote Function Call,qCR-VFC)是tCR-VFC的多少个扩张。它同意你将四个t福睿斯FC调用系列化为贰个体系。

qPRADOFC调用会首先被函数模块TENVISIONFC_SET_QUEUE_NAME进行类别化管理,然后那几个调用被贰个t雷克萨斯RCFC举行实际的dispatch。

qEvoqueFC能够当做外向队列(由调用系统系列化)管理,大概是内向队列(由被调用系统系列化)。

* *

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

图片 3

场景1:tRFC

该现象适用于数据互相间独立发送的情景。系统第11中学留存八个调用应用(client)使用t奥迪Q5FC连接系统第22中学的被调用应用(r server)。在本场景中,数据由tRubiconFC传输,意味着发送到指标连串的函数模块调用会被担保只运转二回。你无法定义函数模块运营的顺序和岁月。假设传输进度中生出了不当,系统会布署一个后台作业,在15分钟后重新发送函数模块调用。

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

在这一场景中,发送系统利用二个生动活泼队列来种类化被发送的多少。这代表发送系统的活泼队列包涵着存在借助关系的函数模块调用。当数码发送时,会保持分明的顺序,何况调用会以正好三遍且有序的艺术(exactly once in order)发送给目的体系。

注意:目的种类管理时无需更改q路虎极光FC的次第,可是,它必得开启tCalifornia TFC作用。

情景3:带有内向队列的q索罗德FC(乃至活跃队列)

在这里个场景下,不止发送系统(client)有外向队列,指标种类也可能有内向队列。若是q宝马7系FC存在有内向队列,那也象征它在发送系统上必将存在外向队列。内向队列在一段时间里只可以管理系统能源允许管理的函数模块调用数量。它能够幸免服务器被二个客户端阻塞。独有在服务体系独立存在贰个内向队列的光景是不容许存在的,因为急需在顾客端系统存在外向队列,来设置顺序并堵住单独的行使阻塞客商端系统的满贯办事历程。

越来越多相关消息可以见到:

  • Queued Remote Function Call (qRFC)

后台RFC:bgRFC

使用

bg路虎极光FC(Background Remote Function Call)允许被调用程序稍晚一些接收数据,并非一块接收。接收数据的时候,须要保障数据只现出叁回且冬辰( transactional) 、或许只出现一遍且有序(queued)。

动用bg福特ExplorerFC实行异步调用,会有如下优势:

  • 在同四个SAP系统内(同一个种类ID,同二个client):解耦,同期提供了并行化技巧。负载会布满在该系列的可用的应用服务器上。这么些bg哈弗FC场景被用作二个内向程序。

  • 在四个远程SAP系统间:解耦,何况通过能够完成利用或作业场景的大体细分。异步调用的结果是,调用者和被调用者的应用服务器的机要个性差别能够拿走平衡。记录职业在调用系统中成功。那一个场合是贰个欢蹦乱跳程序。

  • 四个程序结合为外-内程序:该方式得以拿走全套优化增选的优势。但是,假如你挑选了这么做,数据会被记录四回,一次是调用者(外向处理)、三回是被调用应用( 内向程序的奇怪类型)。那变成数据库、应用服务器会有额外的担负。

bgPRADOFC使用队列组织不一样的调用。当一个调用同有的时候候被停放在多少个类别的时候,系统会为那个队列创建信任。那带来了二个同步点(synchronization point),类似于锁。

假如三个调用处于依赖队列中,那么当且仅当它座落依赖队列的最上层时,它才会被管理。

对于同多少个destination,不得以将bg传祺FC和tRFC、q安德拉FC结合起来使用。可是,对于差异的destination,你可以定义你想采用的报纸发表类型。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从qCR-VFC转变为bgOdysseyFC的应用程序,必得协理创制q福睿斯FC中的队列与bgLacrosseFC中的队列之间的一时链接的迁徙方案。通过这样的方案,可以保险科学的队列顺序,即就是在从qPRADOFC变为bg普拉多FC的每一天。

小心:从bg悍马H2FC改回q汉兰达FC是不恐怕的。

在SAP NetWeaver Release 7.11以至越来越高的本子上,bg奇骏FC也可以和basXML(二进制ABAP体系化XML)通信公约一同使用。

架构

守旧的q福特ExplorerFC模型独有在数量被QashqaiFC调治程序管理的时候才探测各种独立单元之间的重视关系。对于各个destination,外向调解程序都展览会开叁个调节程序来管理那些destination的数码。

与之相对的是,bg奥迪Q5FC的注重关系在多少存储的时候就调节了。通过如此做,奥迪Q3FC调节程序能够贰次性找到全数的供给被拍卖的单元,况兼经过最小的极力(minimum effort)就足以找到它们中间的信任关系。在存款和储蓄数据的时候必要提交的附加努力,则足以在极大程度上由数据库设计中的高功效算法和优化补偿。

各样客商端定义一定数量的龙腾虎跃安插,何况并行处理队列负载,尽管指标连串的负载会在四个异常的短的日子间隔后被显明,可是也因而会更加的典型。

单元和队列的删除程序

和理念的程序不相同,要是有别的单元或队列被剔除,信任依旧会维持。因为单元会被先打上标识,并且在此之后只是被调节程序删除。

图片 4

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运转,因为Unit4独有在调整程序管理过Unit3之后才会被剔除。若是你剔除掉queue2,那么会时有产生上面包车型大巴情状:

图片 5

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

小心:删除队列大概单元总是有着风险的。在大家的例子里,它会招致Unit6际遇错误,大概变成指标类别的数据库不平等,因为它的前提Unit4因为被删去而从未运维。

Gateway:Gateway是另三个诡秘的属性瓶颈,在bg奥迪Q5FC中,它也获取了优化。bgRubiconFC中的新的定义是会调弄整理在一台应用服务器上还要运转的外向调节程序的最大数量,也会调弄整理全体OdysseyFC调节程序可用的最明斯克接数。那一个界定会维护本地的Gateway使之不至于过载。

各样发送系统的相互的活泼调治程序数量和它们的最浦那接数也是可配置的,因而对此destination的Gateway也设有过载珍视。

属性的熏陶:新bg索罗德FC落实的优化在高负荷、多依赖的动静下极其显然。第一回运维的时候,线性对数可伸缩性(a linear logarithmical scalability)的奥迪Q5FC数据管理成为大概(视系统宽容性而定)。

函数队列的事情本性使得,在管理单独的单元时,bg传祺FC不太轻便获得斐然的本性升高,但是在采取更加多依旧更加快的硬件的时候,则能够不言自明提高吞吐量。限制因素会是数据库的性质和这个单元的管理速度。

除此以外,新的API也是优化的一有个别。一些剩余的函数被移除,某个旧的API也不再动用。那使得相关的干活尤为平整和有功用,减弱扶持组织和开支组织的专门的职业量。

越来越多音讯:

越来越多关于bgRFC的音讯, 请看:

  • bgRFC: 配置

  • bgRFC: 管理

  • bgRFC: 编程

本地数据队列:LDQ

本土数据队列(Local Data Queue )是一种非常的昂科雷FC通讯。在这里种应用情况下,系统不会积极性发送数据。相反,依据拉取准绳,系统会把数量存款和储蓄在地面,直到被外表系统调用(举例移动设备)。

LDQ能够代替原先由q福睿斯FC在不发送场景下提供的效应(qWranglerFC No Send)。相比较之下它提供了更有效用的数据模型。

越来越多内容:

Local Data Queue (LDQ)

名词对照

scheduler:调治程序

outbound  queue:外向队列

inbound queue:内向队列

 

连锁文章:ABAP 大切诺基FC远程调用

 

 

本文由银河网投发布于游戏试玩中心,转载请注明出处:SAP RFC介绍:关于sRFC,aRFC,tRFC,qRFC和bgRFC

关键词: