利用到了RFC(Remote以及了RFC(Remote用到了RFC(Remote

横八月份的早晚做过一个关于两只SAP系统中资金分担传输的型,使用及了RFC(Remote
Function
Call)技术。因为事先有医疗-CRM相关接口开发之经历,以为自己对RFC很熟稔了,做起来会特别顺利,不思要么遇到了来问题。打算整治一下有关其的内容,进一步读书。

约八月份底时节做了一个关于两独SAP系统之中资金摊传输的品类,使用到了RFC(Remote
Function
Call)技术。因为事先有医疗-CRM相关接口开发之阅历,以为自己对RFC很熟稔了,做起来会格外顺利,不思要么遇到了些问题。打算整治一下有关其的情,进一步读书。

约八月份底下做了一个有关两单SAP系统里头资产分担传输的项目,使用到了RFC(Remote
Function
Call)技术。因为前面所有医疗-CRM相关接口开发之经历,以为自己对RFC很熟悉了,做起来会十分顺利,不思量要么遇到了来问题。打算整治一下关于其的始末,进一步读书。

本文内容的要根源是SAP的英文文档。会比重基本概念上之事物,偶尔涉及实际的代码、配置。后续可能会见冲自己的其实采用状况更新更详尽的介绍。

本文内容之主要源于是SAP的英文文档。会较厚基本概念上之物,偶尔涉及实际的代码、配置。后续可能会见根据自己的骨子里用状态更新更详实的介绍。

本文内容之根本来自是SAP的英文文档。会比重基本概念上之东西,偶尔涉及实际的代码、配置。后续可能会见根据自己的实际采用情况更新更详尽的介绍。

 

 

 

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

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

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

总述

于SAP与SAP系统跟SAP与非SAP系统里的接连而言,远程函数调用(Remote
Function
Call,以下简称RFC)是如出一辙种植标准的通信方式,它可实现对长途系统中函数的调用。

具备RFC类型都由此CPI-C或TCP/IP协议进行传输。
它们组成了同栽Gateway通信。

正文是本着富有RFC变体的叙述,它们拥有不同之特性和可的使状况。

总述

对SAP与SAP系统与SAP与非SAP系统间的连而言,远程函数调用(Remote
Function
Call,以下简称RFC)是同一种标准的通信方式,它可兑现对长距离系统面临函数的调用。

备RFC类型都经CPI-C或TCP/IP协议进行传输。
它们做了平栽Gateway通信。

本文是针对性具备RFC变体的描述,它们有着不同的特征和适合之应用状况。

总述

对于SAP与SAP系统以及SAP与非SAP系统里头的连年而言,远程函数调用(Remote
Function
Call,以下简称RFC)是平等栽标准的通信方式,它可以实现对长途系统面临函数的调用。

有着RFC类型都经过CPI-C或TCP/IP协议进行传输。
它们构成了同一种植Gateway通信。

正文是指向拥有RFC变体的讲述,它们持有不同之表征与副的行使状况。

同步RFC:sRFC

和步RFC(Synchronous
RFC,sRFC)是不过基本的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理过程。

其的语法形式是:

CALL FUNCTION func DESTINATION dest. 

典型的使用状况包括:

  • 销售:为不同系统创造市订单(central sales)。
  • 销售:对于有查询,在供应商系统里实施一个对此指定物料的可用性检查。
  • 品管理:在另一个体系里对有物料订单执行来源判断。
  • CRM/SRM:对SAP后端平系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中创造市订单时,在会计集中核算中也公的资本中心进行预算检查。
  • 先生:向会计集中核算体系要一个资金中心清单。
  • BW:调用BW组件(商业信息仓库)来呼吁一个专程之evaluation。

同步RFC:sRFC

和步RFC(Synchronous
RFC,sRFC)是最为中心的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理过程。

它的语法形式是:

CALL FUNCTION func DESTINATION dest. 

典型的运状况包括:

  • 销售:为歧体系创造市订单(central sales)。
  • 销售:对于有查询,在供应商系统里推行一个对指定物料的可用性检查。
  • 品管理:在其他一个系统里对某物料订单执行来源判断。
  • CRM/SRM:对SAP后端系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中创造市订单时,在先生集中核算中呢卿的成本中心展开预算检查。
  • 会计:向先生集中核算体系要一个股本中心清单。
  • BW:调用BW组件(商业信息仓库)来求一个专程之evaluation。

同步RFC:sRFC

以及步RFC(Synchronous
RFC,sRFC)是极基本的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理过程。

它们的语法形式是:

CALL FUNCTION func DESTINATION dest. 

一流的采取状况包括:

  • 销售:为歧体系创造市订单(central sales)。
  • 销售:对于有查询,在供应商系统里行一个对此指定物料的可用性检查。
  • 品管理:在其余一个体系里对有物料订单执行来源判断。
  • CRM/SRM:对SAP后端系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中创造市订单时,在先生集中核算中也而的本中心进行预算检查。
  • 会计师:向先生集中核算体系要一个资本中心清单。
  • BW:调用BW组件(商业信息仓库)来要一个专门之evaluation。

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户在连续调用会话之前,不需要等待她的形成。不过,aRFC和tRFC之间为存几乎碰不同之地方:

  • 当调用者开始一个aRFC的当儿,被调用的服务器必须得接到请求。aRFC的参数不会见记录在数据库被,而是直接发送给对方服务器。
  • aRFC允许用户以及长途系统开展交互式对话。
  • 调用程序可以于aRFC接收结果。

你可以以当你得建立及一个远端系统的连年、但是希望当调用RFC后未欲等结果而是愿意后续处理常采取aRFC。aRFC也堪发送给同样之网。在这种状态下,系统打开一个初的对话(窗口)。你可当调用对话以及受调用会话间切换。使用下的言语开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子顺序外经受aRFC的调用结果。可以使以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻止连接于收到处理结果后关闭。相关的长途上下文(滚动区域)保持得用的状态,直至调用者终止连接。

复多关于aRFC的音信可以从以下地方得:

  • aRFC的调用属性

  • 由aRFC接收结果

  • 维持远程上下文

  • aRFC的并行处理

至于aRFC变体的描述:

  • CALL FUNCTION – STARTING NEW
    TASK

  • RECEIVE

  • WAIT
    UNTIL

  • RFC示例

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户以连续调用会话之前,不需要拭目以待她的就。不过,aRFC和tRFC之间吧存在几乎点不同之地方:

  • 当调用者开始一个aRFC的时候,被调用的服务器必须得接过请求。aRFC的参数不会见记录在数据库被,而是直接发送给对方服务器。
  • aRFC允许用户以及长途系统开展交互式对话。
  • 调用程序可以自aRFC接收结果。

而可在当你待树立与一个远端系统的连年、但是期望以调用RFC后未欲等结果而是要后续处理常采取aRFC。aRFC也可以发送给一样之网。在这种情景下,系统打开一个初的对话(窗口)。你得当调用对话以及受调用会话间切换。使用下的言语开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子序外接受aRFC的调用结果。可以行使以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻碍连接在接受处理结果后关闭。相关的长途上下文(滚动区域)保持好用的状态,直至调用者终止连接。

重多关于aRFC的消息可以打以下地方获得:

  • aRFC的调用属性

  • 于aRFC接收结果

  • 保远程上下文

  • aRFC的并行处理

至于aRFC变体的叙述:

  • CALL FUNCTION – STARTING NEW
    TASK

  • RECEIVE

  • WAIT
    UNTIL

  • RFC示例

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户以延续调用会话之前,不需拭目以待她的落成。不过,aRFC和tRFC之间吧是几乎接触不同的地方:

  • 当调用者开始一个aRFC的上,被调用的服务器必须得接收请求。aRFC的参数不见面记录在数据库中,而是一直发送给对方服务器。
  • aRFC允许用户与远程系统进行交互式对话。
  • 调用程序可以起aRFC接收结果。

乃可于当您要树立与一个远端系统的总是、但是要以调用RFC后不希望等待结果而是期待后续处理时使用aRFC。aRFC也得发送给同样的系统。在这种场面下,系统打开一个新的对话(窗口)。你得以调用对话和被调用会话间切换。使用下的言辞开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子顺序外经受aRFC的调用结果。可以利用以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
堵住连接于接收处理结果后关。相关的远距离上下文(滚动区域)保持得用的状态,直至调用者终止连接。

双重多关于aRFC的音方可于以下地方获得:

  • aRFC的调用属性

  • 自打aRFC接收结果

  • 保障远程上下文

  • aRFC的并行处理

至于aRFC变体的叙说:

  • CALL FUNCTION – STARTING NEW
    TASK

  • RECEIVE

  • WAIT
    UNTIL

  • RFC示例

事务RFC:tRFC

在用事务RFC( transactional
RFC,tRFC)的时,被调用的函数模块于吃调用系统面临恰恰运行一蹩脚(Exactly Once)。

远端系统未欲在RFC客户端程序运行tRFC的早晚可用。tRFC组件将吃调用的RFC函数和相关数据存储在SAP系统的数据库里,包含一个唯一的工作标识符(transaction
identifier,TID)。

倘调用发送了,接收系统可是宕机状态,调用会保留在地头队列中一段时间。调用对话程序可以在非待远程调用成功/失败的情事下继续运行。如果接到系统以一段时间后还不可用,调用将受计划吧后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

尽管与共同调用一样,参数
DESTINATION在长途系统定义了程序及下文。结果是,如果你针对一个destination重复地调用一个函数(或者一次性调用多单函数),则足以于平的前后文中访问给调用函数的大局数据。。

系会当表ARFCSSTATE和表ARFCSDATA中著录远程连接要与它的整参数值。你可行使事务SM58来查。当调用程序到达COMMIT
WORK
讲话时,远程调用会被转化到让对方系统。

在两个COMMIT
WORK
内,所有的装有和一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

君可于一些情况下以以tRFC,比如,对于需要以事情之例外等级更新相关数据库表的错综复杂的处理过程。

tRFC会确保所有的计划更新在程序到达COMMIT WORK语句子时叫实施。

(注意:tRFC的定义着无可知有任何EXPORT参数,因为调用程序中一旦发IMPORT参数,就会见促成语法错误。此外,你啊非得以针对实施回调的主次进行异步调用)

网可用性:

使远程系统未可用,SAP系统会将报表RSARFCSE计划吗后台作业,并拿相关的政工ID作为变式,再展开拍卖。这个表程序会另行地为调用,直到其成功地连接对方系统了。

当给计划吗后台作业时,RSARFCSE自动地因为一个时日距离运行(默认是每15分钟运行一潮,最多尝试30不好)。你可以通过增强程序SABP0000和SABP0003来自定义该日距离。

透过SM59配备destination,选择一个destination并且选择
编辑->TRFC选项,在这边定义连接尝试次数上限和重复连接尝试的年月间隔。

只要当尝指定的次数后还不足抵达相应的系,系统会停下调用RSARFCSE,并勾画副状态CPICERR至表ARFCSDATA中。在其他一个点名的日子晚(默认是8天),在表ARFCSSTATE内之条规也会为去除。当然为堪定制者时,或者手动在SM59启动相应的业务条目。

tRFC的缺点:

  • tRFC独立地处理所有LUW。根据激活的tRFC数量,程序来或会见强烈地下降调用系统和于调用系统的习性。
  • 另外,在运被定义之LUW的调用顺序是免能够博得保障的。因此无法担保事务会按照使用期望之一一运行。tRFC唯一能担保的只有:所有LUW都见面或早或晚地被传。

可于这边翻tRFC语词的讲述:

CALL FUNCTION IN BACKGROUND
TASK

事务RFC:tRFC

于动用事务RFC( transactional
RFC,tRFC)的上,被调用的函数模块于吃调用系统受恰恰运行一软(Exactly Once)。

远端系统未待以RFC客户端程序运行tRFC的当儿可用。tRFC组件将于调用的RFC函数和有关数据存储于SAP系统的数据库里,包含一个唯一的作业标识符(transaction
identifier,TID)。

一旦调用发送了,接收系统可是宕机状态,调用会保留在本地队列中一段时间。调用对话程序可以于匪等待远程调用成功/失败的状况下继续运行。如果接收系统于一段时间后还是未可用,调用将被计划吧后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

哪怕跟一块调用一样,参数
DESTINATION在长途系统定义了次及下文。结果是,如果您对一个destination重复地调用一个函数(或者一次性调用多只函数),则好当同样之内外文中访问给调用函数的全局数据。。

系会当表ARFCSSTATE和表ARFCSDATA中著录远程连接要和它的全体参数值。你得应用事务SM58来查。当调用程序到达COMMIT
WORK
言语时,远程调用会于转化到为对方系统。

在两个COMMIT
WORK
里面,所有的装有和一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

若得于好几情况下以以tRFC,比如,对于需要在工作的例外阶段更新相关数据库表的复杂的处理过程。

tRFC会确保有的计划更新在程序到达COMMIT WORK语句子时给实施。

(注意:tRFC的概念着无克生任何EXPORT参数,因为调用程序中而起IMPORT参数,就会见促成语法错误。此外,你也非得以针对实践回调的主次开展异步调用)

网可用性:

假设远程系统未可用,SAP系统会将报表RSARFCSE计划呢后台作业,并以有关的政工ID作为变式,再展开拍卖。这个表格程序会重新地被调用,直到其成地连接对方系统了。

当被计划吗后台作业时,RSARFCSE自动地因一个时距离运行(默认是各国15分钟运行一涂鸦,最多尝试30不成)。你可通过增强程序SABP0000和SABP0003来自定义该日距离。

由此SM59部署destination,选择一个destination并且选择
编辑->TRFC选项,在此间定义连接尝试次数上限和更连接尝试的时空距离。

要是在尝指定的次数后还是不足抵达相应的体系,系统会停止调用RSARFCSE,并形容副状态CPICERR至表ARFCSDATA中。在外一个指定的年月后(默认是8天),在表ARFCSSTATE内之条条框框也会见被去除。当然也得以定制者时空,或者手动在SM59开行相应的业务条目。

tRFC的缺点:

  • tRFC独立地拍卖所有LUW。根据激活的tRFC数量,程序来或会见明显地下降调用系统与叫调用系统的性能。
  • 另外,在行使中定义的LUW的调用顺序是不能够得到保持的。因此无法担保事务会按照用期望的顺序运行。tRFC唯一能管的只有:所有LUW都见面或早或晚地于传。

足当此处翻tRFC语句之描述:

CALL FUNCTION IN BACKGROUND
TASK

事务RFC:tRFC

当运用事务RFC( transactional
RFC,tRFC)的下,被调用的函数模块于受调用系统面临正运行一不行(Exactly Once)。

远端系统未需要在RFC客户端程序运行tRFC的时光可用。tRFC组件将给调用的RFC函数和连锁数据存储在SAP系统的数据库里,包含一个唯一的业务标识符(transaction
identifier,TID)。

假定调用发送了,接收系统可是宕机状态,调用会保留在本土队列中一段时间。调用对话程序可以当无待远程调用成功/失败的动静下继续运行。如果接受系统于一段时间后仍然不可用,调用将让计划也后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

不怕和旅调用一样,参数
DESTINATION在长途系统定义了序上下文。结果是,如果你针对一个destination重复地调用一个函数(或者一次性调用多独函数),则可以相同的上下文中访问为调用函数的大局数据。。

系会在表ARFCSSTATE和表ARFCSDATA中著录远程连接要与其的任何参数值。你可采取事务SM58来查。当调用程序到达COMMIT
WORK
言时,远程调用会让转正到吃对方系统。

在两个COMMIT
WORK
中间,所有的兼具和一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

您可以某些情况下采取使用tRFC,比如,对于欲以作业之两样等级更新相关数据库表的错综复杂的处理过程。

tRFC会确保所有的计划更新在程序到达COMMIT WORK语词时为实施。

(注意:tRFC的定义着未克生出任何EXPORT参数,因为调用程序中要发生IMPORT参数,就会见造成语法错误。此外,你吧无得以针对实行回调的次第进行异步调用)

网可用性:

设远程系统未可用,SAP系统会将报表RSARFCSE计划吧后台作业,并拿相关的工作ID作为变式,再拓展拍卖。这个表程序会再次地于调用,直到其成功地连对方系统了。

当让计划呢后台作业时,RSARFCSE自动地为一个年华距离运行(默认是各级15分钟运行一破,最多品尝30糟)。你可经过增强程序SABP0000和SABP0003来自定义该日间隔。

通过SM59配置destination,选择一个destination并且选择
编辑->TRFC选项,在这里定义连接尝试次数上限和再连接尝试的光阴间隔。

倘在品味指定的次数后仍然不足抵达相应的网,系统会已调用RSARFCSE,并形容副状态CPICERR至表ARFCSDATA中。在其它一个点名的时刻晚(默认是8天),在表ARFCSSTATE内之条文也会见给删除。当然为可以定制者日子,或者手动在SM59启动相应的工作条目。

tRFC的缺点:

  • tRFC独立地处理所有LUW。根据激活的tRFC数量,程序来或会见明显地落调用系统及吃调用系统的习性。
  • 此外,在以被定义的LUW的调用顺序是不能够赢得保持的。因此无法确保事务会按照使用期望的一一运行。tRFC唯一能确保的只有:所有LUW都见面或早或晚地受传。

可以于这边翻tRFC语句子之讲述:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

班RFC(queued Remote Function
Call,qRFC)是tRFC的一个扩大。它同意而用多独tRFC调用序列化为一个班。

qRFC调用会首先被函数模块TRFC_SET_QUEUE_NAME进行序列化处理,然后这些调用被一个tRFC进行实际的dispatch。

qRFC可以作为他为行(由调用系统序列化)处理,或者是外于行(由让调用系统序列化)。

* *

以下是三栽工作数据传的景(为什么图片被的仿是德文?):

场景1:tRFC

欠场面适用于数交互间独立发送的景况。系统1中在一个调用应用(client)使用tRFC连接系统2蒙的叫调用应用(r
server)。在该场景中,数据由tRFC传输,意味着发送至目标体系的函数模块调用会于担保单独运行一不成。你切莫得以定义函数模块运行的依次与岁月。如果传输过程遭到生出了左,系统会计划一个后台作业,在15分钟后再次发送函数模块调用。

场景2:带有外为行的qRFC

每当该场景中,发送系统应用一个活跃队列来序列化被发送的数额。这代表发送系统的龙腾虎跃队列包含在存因关系之函数模块调用。当数发送时,会维持确定的顺序,并且调用会以正好同一差还有序的方法(exactly once in order)发送给目标体系。

专注:目标体系处理时不需变更qRFC的次第,但是,它必须拉开tRFC功能。

状况3:带有内于行的qRFC(以及活跃队列)

在这个景下,不仅发送系统(client)有他为行,目标体系为产生外为行。如果qRFC存在有内于行,这吗表示她当殡葬系统上定是外于行。内往行在一段时间里只能处理系统资源允许处理的函数模块调用数量。它可以防服务器被一个客户端阻塞。只有以劳务体系独立在一个内往行的气象是免容许存在的,因为待以客户端系统设有外为行,来装顺序并阻碍单独的施用阻塞客户端系统的整套工作经过。

更多系信息可见:

  • Queued Remote Function Call
    (qRFC)

队列RFC:qRFC

队列RFC(queued Remote Function
Call,qRFC)是tRFC的一个恢弘。它同意而以多单tRFC调用序列化为一个排。

qRFC调用会首先为函数模块TRFC_SET_QUEUE_NAME进行序列化处理,然后这些调用被一个tRFC进行实际的dispatch。

qRFC可以当作他望行(由调用系统序列化)处理,或者是内为行(由被调用系统序列化)。

* *

以下是三种工作数据传的观(为什么图片被的字是德文?):

场景1:tRFC

拖欠现象适用于数交互间独立发送的景。系统1挨有一个调用应用(client)使用tRFC连接系统2中的为调用应用(r
server)。在该场景中,数据由tRFC传输,意味着发送至目标体系的函数模块调用会受包单独运行一差。你无得以定义函数模块运行的顺序和时。如果传输过程中发出了错误,系统会计划一个后台作业,在15分钟后再度发送函数模块调用。

场景2:带有外望行的qRFC

以该场景中,发送系统应用一个活蹦乱跳队列来序列化被发送的多寡。这表示发送系统的活泼队列包含着是依靠关系之函数模块调用。当数码发送时,会维持确定的各个,并且调用会以正好同一糟还有序的措施(exactly once in order)发送给目标体系。

顾:目标体系处理时不需变更qRFC的一一,但是,它必须拉开tRFC功能。

情景3:带有内往行的qRFC(以及活跃队列)

在这个状况下,不仅发送系统(client)有他往行,目标体系为发出外于行。如果qRFC存在有内往行,这为表示她于殡葬系统上得是外于行。内为行在一段时间里只能处理系统资源允许处理的函数模块调用数量。它好防服务器被一个客户端阻塞。只有在劳动体系独立在一个外为行的状况是匪容许存在的,因为待以客户端系统设有外为行,来装顺序并截留单独的行使阻塞客户端系统的上上下下工作经过。

再次多系消息可见:

  • Queued Remote Function Call
    (qRFC)

队列RFC:qRFC

班RFC(queued Remote Function
Call,qRFC)是tRFC的一个恢弘。它同意而以多单tRFC调用序列化为一个班。

qRFC调用会首先为函数模块TRFC_SET_QUEUE_NAME进行序列化处理,然后这些调用被一个tRFC进行实际的dispatch。

qRFC可以作为他望行(由调用系统序列化)处理,或者是内于行(由被调用系统序列化)。

* *

以下是三栽工作数据传的景(为什么图片被的仿是德文?):

场景1:tRFC

欠场面适用于数交互间独立发送的状。系统1挨在一个调用应用(client)使用tRFC连接系统2中之受调用应用(r
server)。在该场景中,数据由tRFC传输,意味着发送至对象体系的函数模块调用会为包单独运行一糟。你莫得以定义函数模块运行的各个与时。如果传输过程遭到生出了错误,系统会计划一个后台作业,在15分钟后再次发送函数模块调用。

场景2:带有外望行的qRFC

以该场景中,发送系统利用一个活蹦乱跳队列来序列化被发送的数目。这表示发送系统的活泼队列包含在有因关系之函数模块调用。当数发送时,会维持确定的依次,并且调用会以正好同一不好还有序的点子(exactly once in order)发送给目标体系。

专注:目标体系处理时未欲改qRFC的逐条,但是,它必须开tRFC功能。

气象3:带有内于行的qRFC(以及活跃队列)

以斯场面下,不仅发送系统(client)有客于行,目标体系吧发生内往行。如果qRFC存在有外于行,这也意味着它们以发送系统上得存在外往行。内往行在一段时间里只能处理系统资源允许处理的函数模块调用数量。它可以防范服务器被一个客户端阻塞。只有当劳务体系独立在一个内往行的气象是匪可能有的,因为需要以客户端系统在外望行,来安装顺序并堵住单独的行使阻塞客户端系统的满贯办事历程。

重新多系信息可见:

  • Queued Remote Function Call
    (qRFC)

后台RFC:bgRFC

后台RFC:bgRFC

后台RFC:bgRFC

使用

bgRFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而无是共接收。接收数据的早晚,需要保证数据只出现雷同不成还无序(
transactional) 、或者就出现一样坏还有序(queued)。

动用bgRFC进行异步调用,会发生如下优势:

  • 当和一个SAP系统外(同一个系ID,同一个client):解耦,同时提供了并行化能力。负载会分布在该网的可用之应用服务器上。这个bgRFC场景被用作一个外为程序。

  • 当简单个远程SAP系统里:解耦,并且通过可以实现应用或作业场景的大体细分。异步调用的结果是,调用者和被调用者的应用服务器的首要特性差异足以取得平衡。记录工作于调用系统受就。这个情景是一个欢蹦乱跳程序。

  • 个别只次成呢外-内程序:该措施可获周优化增选之优势。不过,如果您选择了这么做,数据会给记录点滴次于,一坏是调用者(外向处理)、一差是被调用应用(
    内向程序的特殊类型)。这导致数据库、应用服务器会来额外的承负。

bgRFC使用队列组织不同的调用。当一个调用同时被停在差不多个队的时光,系统会为这些队列创建依赖。这带来了一个同步点(synchronization
point),类似于锁。

如果一个调用处于依赖队列中,那么当且独当它们座落依赖队列的无限上层时,它才会于处理。

对此跟一个destination,不可以以bgRFC和tRFC、qRFC结合起来用。不过,对于不同之destination,你可定义你想使用的通讯类。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

使用

bgRFC(Background Remote Function
Call)允许给调用程序稍晚一些接收数据,而无是一同接收。接收数据的下,需要保证数据只现出相同不成还无序(
transactional) 、或者光现出雷同坏还有序(queued)。

动bgRFC进行异步调用,会发如下优势:

  • 当跟一个SAP系统内(同一个系ID,同一个client):解耦,同时提供了并行化能力。负载会分布在该网的可用之应用服务器上。这个bgRFC场景被看作一个外于程序。

  • 以有限独远程SAP系统之中:解耦,并且经过可实现应用或作业场景的大体细分。异步调用的结果是,调用者和为调用者的应用服务器的显要特性差异足以获取平衡。记录工作于调用系统遭到做到。这个场景是一个欢蹦乱跳程序。

  • 少单程序成呢外-内程序:该方式可以取得周优化增选之优势。不过,如果你选择了这么做,数据会让记录点滴不成,一次于是调用者(外向处理)、一坏是吃调用应用(
    内向程序的与众不同类型)。这造成数据库、应用服务器会起格外的负。

bgRFC使用队列组织不同的调用。当一个调用同时为放置于多独队的时节,系统会为这些队列创建依赖。这带来了一个同步点(synchronization
point),类似于锁。

一经一个调用处于依赖队列中,那么当且仅仅当其置身依赖队列的极端上层时,它才见面被拍卖。

于与一个destination,不得以将bgRFC和tRFC、qRFC结合起来使用。不过,对于不同之destination,你可定义你想使的报导类。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

使用

bgRFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而无是合接收。接收数据的早晚,需要保证数据只出现同等次等都无序(
transactional) 、或者只出现相同次于都有序(queued)。

利用bgRFC进行异步调用,会来如下优势:

  • 当与一个SAP系统外(同一个系统ID,同一个client):解耦,同时提供了连行化能力。负载会分布于拖欠网的可用的应用服务器上。这个bgRFC场景被视作一个外为程序。

  • 当点滴只远程SAP系统里面:解耦,并且通过可以兑现应用或作业场景的大体细分。异步调用的结果是,调用者和给调用者的应用服务器的主要特性差异可以抱平衡。记录工作于调用系统受成功。这个情景是一个欢蹦乱跳程序。

  • 区区个次成也他-内程序:该措施可以获取周优化增选的优势。不过,如果您选择了这般做,数据会吃记录点滴次等,一不成是调用者(外向处理)、一次于是受调用应用(
    内向程序的非常类型)。这招数据库、应用服务器会生出额外的承负。

bgRFC使用队列组织不同的调用。当一个调用同时给停放在多只队的时光,系统会为这些队列创建依赖。这带来了一个同步点(synchronization
point),类似于锁。

倘一个调用处于依赖队列中,那么当且一味当她坐落依赖队列的极上层时,它才会为处理。

对同一个destination,不可以将bgRFC和tRFC、qRFC结合起来用。不过,对于不同之destination,你可定义你想用的报导类。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从qRFC转换为bgRFC的应用程序,必须支持创造qRFC中之行列与bgRFC中的行中的旋链接的搬迁方案。通过如此的方案,可以保是的队顺序,即便是于打qRFC变为bgRFC的时刻。

留意:从bgRFC改回qRFC是未可能的。

以SAP NetWeaver Release
7.11及重复强之版及,bgRFC也可以和basXML(二进制ABAP序列化XML)通信协议一起行使。

集成

由qRFC转换为bgRFC的应用程序,必须支持创建qRFC中之班与bgRFC中的队中的旋链接的迁方案。通过这样的方案,可以确保科学的行列顺序,即便是于打qRFC变为bgRFC的天天。

在意:从bgRFC改回qRFC是无容许的。

当SAP NetWeaver Release
7.11暨重新胜似的版及,bgRFC也得以和basXML(二进制ABAP序列化XML)通信协议一起用。

集成

打qRFC转换为bgRFC的应用程序,必须支持创造qRFC中的队列与bgRFC中之序列中的临时链接的搬方案。通过如此的方案,可以保证对的班顺序,即便是在由qRFC变为bgRFC的时刻。

留神:从bgRFC改回qRFC是不容许的。

当SAP NetWeaver Release
7.11与重新强的本及,bgRFC也得跟basXML(二进制ABAP序列化XML)通信协议一起下。

架构

传统的qRFC模型只有以数码被RFC调度程序处理的时光才探测各个独立单元中的仗关系。对于每个destination,外向调度程序都见面打开一个调度程序来拍卖这个destination的数据。

跟的相对的是,bgRFC的倚重关系在数量存储的下就控制了。通过如此做,RFC调度程序可以一次性找到有的得为拍卖的单元,并且经过极端小的鼎力(minimum
effort)就可以找到它们之间的依赖关系。在仓储数据的上用付出的额外努力,则足以于生要命程度上由数据库设计着之过人效率算法和优化补偿。

每个客户端定义一定数额的活泼计划,并且并行处理队列负载,虽然目标体系的负载会在一个于短的日子距离后为确定,但是也因此会越规范。

单元及班的删除程序

同习俗的程序不同,如果生外单元或队列被删,依赖还会维持。因为单元会于先行从上记,并且于即时事后只是为调度程序删除。

若图,在去了Unit4之后,Unit6只能够于Unit3之后运行,因为Unit4只有以调度程序处理过Unit3之后才会受删除。如果你剔除掉queue2,那么会发出下面的景况:

Unit6会晤在Unit2后运行,所有选定的unit都见面给调度程序删除。

专注:删除队列或者单元总是有风险的。在咱们的事例里,它见面招Unit6遇到错误,或者造成目标体系的数据库不平等,因为它们的前提Unit4因为吃剔除而从未运行。

Gateway:Gateway是另外一个隐秘的习性瓶颈,在bgRFC中,它吧博得了优化。bgRFC中的新的定义是碰头调剂在同华应用服务器上而运转的外向调度程序的无限要命数量,也会调剂全部RFC调度程序可用的最为大连接数。这个界定会维护本地的Gateway使的不至于过载。

每个发送系统的竞相的活泼调度程序数量与她的极其大连接数也是不过安排的,因此对于destination的Gateway也有过载保护。

属性的熏陶:新bgRFC实现的优化在赛负荷、多靠的情事下特别引人注目。首差运行的下,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成可能(视系统兼容性而定)。

函数队排的工作特性使得,在处理单独的单元时,bgRFC不绝好获得有目共睹的特性提升,但是以应用还多或者又快的硬件的时节,则好明显提升吞吐量。限制因素会是数据库的特性及这些单元的处理速度。

除此以外,新的API也是优化的同片。一些剩下的函数被移除,某些老的API也不再使用。这让相关的干活愈发平缓和有效率,减少支持团队以及支付集团的工作量。

重复多信息:

双重多关于bgRFC的音, 请看:

  • bgRFC:
    配置

  • bgRFC:
    管理

  • bgRFC:
    编程

架构

风的qRFC模型只有以数码被RFC调度程序处理的早晚才探测各个独立单元中的因关系。对于每个destination,外向调度程序还见面打开一个调度程序来拍卖是destination的数。

同的相对的是,bgRFC的赖关系在数量存储的时即便决定了。通过如此做,RFC调度程序可以一次性找到有的急需给拍卖的单元,并且经过极端小之用力(minimum
effort)就得找到它们之间的负关系。在蕴藏数据的时光要交的额外努力,则好以大怪程度达到由数据库设计受到之过人效率算法和优化补偿。

每个客户端定义一定数量的龙腾虎跃计划,并且并行处理队列负载,虽然目标体系的负载会在一个比较短的流年距离后叫确定,但是也就此会面越来越准确。

单元同班的删除程序

以及风俗的次序不同,如果来外单元或队列被剔除,依赖还会维持。因为单元会被先行从及号,并且于就下只是为调度程序删除。

一经图,在剔除了Unit4之后,Unit6只会以Unit3之后运行,因为Unit4只有以调度程序处理过Unit3之后才见面让删。如果您去掉queue2,那么会发下面的场面:

Unit6晤当Unit2事后运行,所有选定的unit都见面被调度程序删除。

留意:删除队列或者单元总是有风险的。在咱们的例子里,它见面招致Unit6遇到错误,或者导致目标体系的数据库不雷同,因为她的前提Unit4因为吃删去而从不运行。

Gateway:Gateway是任何一个私的特性瓶颈,在bgRFC中,它呢获了优化。bgRFC中的初的概念是碰头调剂在同等贵应用服务器上同时运行的龙腾虎跃调度程序的极其充分数据,也会调剂全部RFC调度程序可用之卓绝大连接数。这个限制会保护本地的Gateway使之不至于过载。

每个发送系统的相互的外向调度程序数量和它的顶大连接数也是可配备的,因此对此destination的Gateway也是过载保护。

特性的震慑:新bgRFC落实之优化在强负荷、多因之景下特别明白。首赖运行的上,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成可能(视系统兼容性而定)。

函数队排的政工特性使得,在拍卖单独的单元时,bgRFC不顶爱得到显著的属性提升,但是当使还多还是另行快之硬件的时候,则可以显著提升吞吐量。限制因素会是数据库的属性和这些单元的处理速度。

此外,新的API也是优化的相同部分。一些剩余的函数被移除,某些老的API也不再行使。这使相关的工作更平整和有效率,减少支持组织及开集团的工作量。

更多信息:

复多关于bgRFC的音信, 请看:

  • bgRFC:
    配置

  • bgRFC:
    管理

  • bgRFC:
    编程

架构

风土的qRFC模型只有在数额被RFC调度程序处理的时刻才探测各个独立单元内的依关系。对于每个destination,外向调度程序还见面张开一个调度程序来处理此destination的数额。

和之相对的凡,bgRFC的凭关系在数存储的时光便控制了。通过这样做,RFC调度程序可以一次性找到有的要吃处理的单元,并且通过最小之全力(minimum
effort)就足以找到她中的负关系。在存储数据的当儿用付的附加努力,则好当死可怜程度及是因为数据库设计着的胜效率算法和优化补偿。

每个客户端定义一定数量的活跃计划,并且并行处理队列负载,虽然目标体系的负载会在一个于短的日距离后被确定,但是也为此会面更为纯粹。

单元以及班的删除程序

暨风俗习惯的先后不同,如果发外单元或队列被删去,依赖还会维持。因为单元会让先行从及号,并且于及时以后只是为调度程序删除。

假如图,在剔除了Unit4之后,Unit6只会于Unit3之后运行,因为Unit4只有以调度程序处理过Unit3之后才见面吃剔除。如果你去掉queue2,那么会生下面的气象:

Unit6会见在Unit2从此运行,所有选定的unit都见面让调度程序删除。

留神:删除队列或者单元总是有风险的。在咱们的事例里,它见面促成Unit6遇到错误,或者造成目标体系的数据库不一致,因为它们的前提Unit4因为吃去除而没有运行。

Gateway:Gateway是其它一个地下的习性瓶颈,在bgRFC中,它也博得了优化。bgRFC中的新的概念是碰头调剂在平令应用服务器上以运行的外向调度程序的最酷数目,也会调剂全部RFC调度程序可用之尽大连接数。这个界定会保护本地的Gateway使之不至于过载。

每个发送系统的互的活跃调度程序数量与其的不过大连接数也是不过安排的,因此对于destination的Gateway也是过载保护。

性能的熏陶:新bgRFC兑现之优化在赛负荷、多靠的状况下特别醒目。首不善运行的时光,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成可能(视系统兼容性而定)。

函数队排的事情特性使得,在拍卖单独的单元时,bgRFC不绝爱得举世瞩目的属性提升,但是以行使还多或者更快之硬件的下,则好明显提升吞吐量。限制因素会是数据库的特性和这些单元的处理速度。

此外,新的API也是优化的如出一辙有的。一些剩下的函数被移除,某些老的API也不再用。这叫相关的工作越是平缓和有效率,减少支持组织和开支集团的工作量。

重复多信息:

双重多关于bgRFC的音, 请看:

  • bgRFC:
    配置

  • bgRFC:
    管理

  • bgRFC:
    编程

本土数据列:LDQ

地面数据列(Local Data Queue
)是均等栽专门之RFC通信。在这种利用情况下,系统非会见积极性发送数据。相反,根据拉取规则,系统会将数量存储在地方,直到被标系统调用(比如移动设备)。

LDQ可以代替原先是因为qRFC在非发送场景下提供的功效(qRFC No
Send)。相比之下它提供了又有效率的数据模型。

再次多内容:

Local Data Queue
(LDQ)

本土数据列:LDQ

地面数据列(Local Data Queue
)是一样种植专门之RFC通信。在这种利用情况下,系统未会见积极性发送数据。相反,根据拉取规则,系统会将数据存储于该地,直到被表面系统调用(比如移动设备)。

LDQ可以代替原先出于qRFC在非发送场景下提供的力量(qRFC No
Send)。相比之下它提供了双重有效率的数据模型。

更多内容:

Local Data Queue
(LDQ)

本土数据列:LDQ

地面数据列(Local Data Queue
)是一模一样栽特别之RFC通信。在这种应用情况下,系统非见面积极性发送数据。相反,根据拉取规则,系统会把多少存储于本土,直到被标系统调用(比如移动装备)。

LDQ可以替原先出于qRFC在不发送场景下提供的成效(qRFC No
Send)。相比之下它提供了重新有效率的数据模型。

双重多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调度程序

outbound  queue:外往行

inbound queue:内于行

 

系文章:ABAP
RFC远程调用

 

 

名词对照

scheduler:调度程序

outbound  queue:外为行

inbound queue:内为行

 

连锁文章:ABAP
RFC远程调用

 

 

名词对照

scheduler:调度程序

outbound  queue:外为行

inbound queue:内往行

 

连锁文章:ABAP
RFC远程调用

 

 

相关文章