做起来会很顺畅,本文内容的显要来源于是SAP的英文文档

大约十月份的时候做过一个关于多个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变体的叙说:

异步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变体的描述:

异步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变体的叙说:

事务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处理流图示:

图片 1

您可以在某些境况下使用使用tRFC,比如,对于急需在作业的例外阶段更新相关数据库表的扑朔迷离的处理过程。

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

(注意:tRFC的定义中不可能有任何EXPORT参数,因为调用程序中一旦有IMPORT参数,就会招致语法错误。此外,你也不可以对进行回调的次第开展异步调用)

系统可用性:

如若远程系统不可用,SAP系统会将报表RSARFCSE计划为后台作业,并将相关的政工ID作为变式,再开展处理。这么些表格程序会重新地被调用,直到它成功地接连对方系统结束。

当被计划为后台作业时,RSARFCSE自动地以一个岁月间隔运行(默认是每15分钟运行四回,最多品尝30次)。你可以经过增强程序SABP0000和SABP0003来自定义该时间距离。

通过SM59布局destination,采取一个destination并且采纳编辑->TRFC选项,在此间定义连接尝试次数上限和另行连接尝试的岁月距离。

图片 2

一旦在品味指定的次数后依然不足抵达相应的序列,系统会终止调用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处理流图示:

图片 3

您可以在好几状况下行使使用tRFC,比如,对于急需在事情的不比阶段更新相关数据库表的复杂的处理过程。

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

(注意:tRFC的概念中无法有任何EXPORT参数,因为调用程序中如果有IMPORT参数,就会招致语法错误。其它,你也不能够对履行回调的先后举办异步调用)

系统可用性:

假诺远程系统不可用,SAP系统会将报表RSARFCSE计划为后台作业,并将相关的作业ID作为变式,再开展处理。这么些表格程序会再一次地被调用,直到它成功地接连对方系统截至。

当被计划为后台作业时,RSARFCSE自动地以一个时辰间隔运行(默认是每15分钟运行五次,最多品尝30次)。你可以经过加强程序SABP0000和SABP0003来自定义该时间距离。

通过SM59安排destination,采取一个destination并且采纳编辑->TRFC选项,在此间定义连接尝试次数上限和另行连接尝试的刻钟间隔。

图片 4

比方在品尝指定的次数后仍旧不足抵达相应的体系,系统会终止调用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处理流图示:

图片 5

您可以在一些意况下行使使用tRFC,比如,对于急需在事情的两样阶段更新相关数据库表的纷繁的处理过程。

tRFC会确保所有的计划更新在先后到达COMMIT WORK语句时被实践。

(注意:tRFC的定义中不可能有任何EXPORT参数,因为调用程序中只要有IMPORT参数,就会导致语法错误。另外,你也不得以对进行回调的主次开展异步调用)

系统可用性:

如果远程系统不可用,SAP系统会将报表RSARFCSE计划为后台作业,并将有关的政工ID作为变式,再举行拍卖。这一个表格程序会再一次地被调用,直到它成功地连接对方系统截止。

当被计划为后台作业时,RSARFCSE自动地以一个日子距离运行(默认是每15秒钟运行三次,最多尝试30次)。你可以通过进步程序SABP0000和SABP0003来自定义该时间间隔。

通过SM59部署destination,选用一个destination并且选择编辑->TRFC选项,在此地定义连接尝试次数上限和另行连接尝试的光阴间隔。

图片 6

一旦在品味指定的次数后如故不足抵达相应的体系,系统会终止调用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可以看成外向队列(由调用系统连串化)处理,或者是内向队列(由被调用系统连串化)。

* *

以下是二种工作数据传输的场景(为何图片中的文字是德文?):

图片 7

场景1:tRFC

这一场景适用于数据互相间独立发送的意况。系统1中留存一个调用应用(client)使用tRFC连接系统2中的被调用应用(r
server)。在这场景中,数据由tRFC传输,意味着发送到指标体系的函数模块调用会被担保只运行一遍。你不可以定义函数模块运行的一一和岁月。假诺传输过程中发生了错误,系统会计划一个后台作业,在15分钟后再行发送函数模块调用。

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

在这场景中,发送系统使用一个活跃队列来体系化被发送的数码。这象征发送系统的外向队列包含着存在依靠关系的函数模块调用。当数码发送时,会维持确定的顺序,并且调用会以正好几次且有序的章程(exactly once in order)发送给目的系列。

专注:目的体系处理时不需要改变qRFC的逐条,可是,它必须拉开tRFC效能。

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

在这些场景下,不仅发送系统(client)有外向队列,指标类别也有内向队列。假使qRFC存在有内向队列,这也象征它在发送系统上必将存在外向队列。内向队列在一段时间里只好处理系统资源允许处理的函数模块调用数量。它能够制止服务器被一个客户端阻塞。唯有在劳动连串独立存在一个内向队列的现象是不容许存在的,因为需要在客户端系统存在外向队列,来设置顺序并阻碍单独的利用阻塞客户端系统的凡事工作经过。

更多相关消息可见:

队列RFC:qRFC

队列RFC(queued Remote Function
Call,qRFC)是tRFC的一个扩大。它同意你将两个tRFC调用连串化为一个体系。

qRFC调用会首先被函数模块TRFC_SET_QUEUE_NAME举行连串化处理,然后这个调用被一个tRFC举办实际的dispatch。

qRFC可以视作外向队列(由调用系统连串化)处理,或者是内向队列(由被调用系统系列化)。

* *

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

图片 8

场景1:tRFC

该现象适用于数据互相间独立发送的事态。系统1中设有一个调用应用(client)使用tRFC连接系统2中的被调用应用(r
server)。在这场景中,数据由tRFC传输,意味着发送到目的类其余函数模块调用会被保险只运行四遍。你不得以定义函数模块运行的逐条和岁月。尽管传输过程中发生了错误,系统会计划一个后台作业,在15分钟后再一次发送函数模块调用。

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

在这场景中,发送系统使用一个生动活泼队列来体系化被发送的多寡。这代表发送系统的龙腾虎跃队列包含着存在依靠关系的函数模块调用。当数码发送时,会保持确定的逐一,并且调用会以正好四次且有序的章程(exactly once in order)发送给目标系列。

注意:目的类别处理时不需要改变qRFC的次第,然而,它必须开启tRFC功效。

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

在那一个现象下,不仅发送系统(client)有外向队列,目标连串也有内向队列。假使qRFC存在有内向队列,这也象征它在发送系统上肯定存在外向队列。内向队列在一段时间里只可以处理系统资源允许处理的函数模块调用数量。它可以预防服务器被一个客户端阻塞。只有在劳动系统独立存在一个内向队列的情景是无法存在的,因为需要在客户端系统存在外向队列,来设置顺序并阻碍单独的采取阻塞客户端系统的全体工作过程。

更多相关信息可见:

队列RFC:qRFC

队列RFC(queued Remote Function
Call,qRFC)是tRFC的一个增添。它同意你将两个tRFC调用体系化为一个队列。

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

qRFC可以当作外向队列(由调用系统系列化)处理,或者是内向队列(由被调用系统系列化)。

* *

以下是两种业务数据传输的场所(为啥图片中的文字是德文?):

图片 9

场景1:tRFC

该现象适用于数据相互间独立发送的情形。系统1中留存一个调用应用(client)使用tRFC连接系统2中的被调用应用(r
server)。在这场景中,数据由tRFC传输,意味着发送到目的类另外函数模块调用会被担保只运行三遍。你不可以定义函数模块运行的次第和岁月。如若传输过程中发出了错误,系统会计划一个后台作业,在15分钟后再一次发送函数模块调用。

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

在本场景中,发送系统选用一个欢蹦乱跳队列来系列化被发送的数量。这意味着发送系统的外向队列包含着存在依靠关系的函数模块调用。当数码发送时,会维持确定的各类,并且调用会以正好一次且有序的章程(exactly once in order)发送给目的体系。

留意:目标体系处理时不需要转移qRFC的相继,但是,它必须拉开tRFC效能。

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

在这么些情况下,不仅发送系统(client)有外向队列,目的连串也有内向队列。假使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)就可以找到它们中间的倚重关系。在蕴藏数据的时候需要交给的额外努力,则可以在很大程度上由数据库设计中的高功用算法和优化补偿。

每个客户端定义一定数额的活跃计划,并且并行处理队列负载,即使目标类另外负载会在一个较短的时光间隔后被确定,然而也由此会进一步精确。

单元和队列的删除程序

和观念的先后不同,假使有此外单元或队列被剔除,倚重如故会保持。因为单元会被先打上标记,并且在这之后只是被调度程序删除。

图片 10

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运行,因为Unit4唯有在调度程序处理过Unit3之后才会被剔除。假诺您剔除掉queue2,那么会爆发上边的状态:

图片 11

Unit6会在Unit2随后运行,所有选定的unit都会被调度程序删除。

留意:删除队列或者单元总是有着风险的。在大家的例子里,它会造成Unit6遭受错误,或者造成目的序列的数据库不等同,因为它的前提Unit4因为被剔除而从不运行。

Gateway:Gateway是另一个暧昧的习性瓶颈,在bgRFC中,它也得到了优化。bgRFC中的新的概念是会调剂在一台应用服务器上同时运转的活泼调度程序的最大数目,也会调剂全体RFC调度程序可用的最奥斯汀(Austen)接数。这个范围会珍惜当地的Gateway使之不至于过载。

各样发送系统的交互的龙腾虎跃调度程序数量和它们的最第比尔y斯接数也是可部署的,因而对于destination的Gateway也存在过载敬重。

特性的影响:新bgRFC兑现的优化在高负荷、多看重的动静下特别通晓。第一次运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成为可能(视系统兼容性而定)。

函数队列的业务特性使得,在拍卖单独的单元时,bgRFC不太容易得到彰着的性质提高,可是在利用更多仍然更快的硬件的时候,则可以明确提升吞吐量。限制因素会是数据库的性能和这多少个单元的处理速度。

其余,新的API也是优化的一有的。一些余下的函数被移除,某些旧的API也不再行使。这使得相关的劳作越来越平缓和有效用,减弱补助团队和付出公司的工作量。

更多信息:

更多关于bgRFC的信息, 请看:

架构

传统的qRFC模型唯有在数量被RFC调度程序处理的时候才探测各样独立单元之间的倚重关系。对于每个destination,外向调度程序都会张开一个调度程序来拍卖这么些destination的多少。

与之相对的是,bgRFC的依赖关系在数码存储的时候就控制了。通过这样做,RFC调度程序可以一回性找到所有的急需被处理的单元,并且通过最小的卖力(minimum
effort)就足以找到它们之间的看重性关系。在存储数据的时候需要交给的额外努力,则足以在很大程度上由数据库设计中的高效用算法和优化补偿。

各样客户端定义一定数量的活跃计划,并且并行处理队列负载,即便目的类此外负载会在一个较短的岁月距离后被确定,但是也就此会越加可靠。

单元和队列的删除程序

和历史观的次序不同,要是有其他单元或队列被剔除,依赖依然会维持。因为单元会被先打上标记,并且在这事后只是被调度程序删除。

图片 12

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运行,因为Unit4唯有在调度程序处理过Unit3之后才会被删除。假诺你剔除掉queue2,那么会生出下面的气象:

图片 13

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

只顾:删除队列或者单元总是有着风险的。在大家的例证里,它会招致Unit6境遇错误,或者导致目的系列的数据库不一样,因为它的前提Unit4因为被删去而尚未运行。

Gateway:Gateway是另一个神秘的属性瓶颈,在bgRFC中,它也收获了优化。bgRFC中的新的定义是会调剂在一台应用服务器上还要运行的活泼调度程序的最大数量,也会调剂全部RFC调度程序可用的最地拉这接数。这些限制会珍视本地的Gateway使之不至于过载。

各类发送系统的相互的龙腾虎跃调度程序数量和它们的最重庆接数也是可部署的,因而对于destination的Gateway也设有过载爱惜。

性能的震慑:新bgRFC兑现的优化在高负荷、多倚重的情状下特别醒目。第一次运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成为可能(视系统包容性而定)。

函数队列的事体特性使得,在处理单独的单元时,bgRFC不太容易拿到有目共睹的性能提高,然则在使用更多或者更快的硬件的时候,则足以显然进步吞吐量。限制因素会是数据库的特性和这些单元的处理速度。

除此以外,新的API也是优化的一有的。一些剩余的函数被移除,某些旧的API也不再动用。那使得相关的干活尤其平整和有功能,裁减帮忙协会和支付社团的工作量。

更多音讯:

更多关于bgRFC的新闻, 请看:

架构

观念的qRFC模型只有在数额被RFC调度程序处理的时候才探测各类独立单元之间的借助关系。对于每个destination,外向调度程序都会开启一个调度程序来拍卖这么些destination的数目。

与之相对的是,bgRFC的依赖关系在多少存储的时候就控制了。通过如此做,RFC调度程序可以两次性找到所有的需要被处理的单元,并且经过最小的极力(minimum
effort)就可以找到它们中间的依靠关系。在蕴藏数据的时候需要提交的额外努力,则可以在很大程度上由数据库设计中的高效率算法和优化补偿。

各类客户端定义一定数额的活跃计划,并且并行处理队列负载,即便目的连串的负载会在一个较短的时间间隔后被确定,不过也因此会愈加准确。

单元和队列的删除程序

和观念的先后不同,如若有此外单元或队列被剔除,看重仍旧会保持。因为单元会被先打上标记,并且在这之后只是被调度程序删除。

图片 14

如图,在剔除了Unit4之后,Unit6只好在Unit3之后运行,因为Unit4唯有在调度程序处理过Unit3之后才会被剔除。假设您剔除掉queue2,那么会时有暴发下边的处境:

图片 15

Unit6会在Unit2事后运行,所有选定的unit都会被调度程序删除。

瞩目:删除队列或者单元总是有着风险的。在大家的例证里,它会造成Unit6碰到错误,或者导致目的类其它数据库不相同,因为它的前提Unit4因为被剔除而没有运行。

Gateway:Gateway是另一个地下的性质瓶颈,在bgRFC中,它也拿到了优化。bgRFC中的新的概念是会调剂在一台应用服务器上同时运转的活泼调度程序的最大数目,也会调剂全体RFC调度程序可用的最哈拉雷接数。这么些范围会爱惜当地的Gateway使之不至于过载。

各种发送系统的相互的龙腾虎跃调度程序数量和它们的最罗安达接数也是可安排的,因而对于destination的Gateway也存在过载珍爱。

特性的影响:新bgRFC实现的优化在高负荷、多依赖的情事下特别强烈。第一次运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成为可能(视系统兼容性而定)。

函数队列的业务特性使得,在拍卖单独的单元时,bgRFC不太容易得到有目共睹的属性提高,不过在动用更多或者更快的硬件的时候,则足以显然进步吞吐量。限制因素会是数据库的习性和这多少个单元的处理速度。

此外,新的API也是优化的一有些。一些余下的函数被移除,某些旧的API也不再接纳。这使得相关的办事越是平整和有功能,缩小帮助社团和开支团队的工作量。

更多新闻:

更多关于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远程调用

 

 

相关文章