单元 6

RFC 连接

单位概述

在本单元中,您将了解远程连接,也称为远程函数调用 (RFC)。除了使用 RFC 的各种选项外,您还将了解此类连接的技术设置。

单位目标

完成本单元后,您将能够:

• 解释远程函数调用的原理

• 列出不同类型的远程函数调用

• 设置 RFC 连接

课程:使用 RFC 的基础知识和变体

课程概述

本课将为您提供远程函数调用的概述。

课程目标

完成本课程后,您将能够:

• 解释远程函数调用的原理

• 列出不同类型的远程函数调用

业务示例

SAP 系统可以使用远程函数调用相互通信。前提是管理员已经设置了相关的接口系统。

RFC 基础

多年来,远程函数调用一直用作 SAP 和非 SAP 系统通常连接的技术接口。数据交换是同步的还是异步的,周期性的还是非周期性的,还是事务性的都无关紧要。支持许多可能的变体。

图 83:RFC 通信

“远程函数调用”(RFC) 是对调用程序在不同系统中运行的函数模块的调用。您也可以在与 RFC 相同的系统中调用功能模块。但是,当调用和被调用的功能模块在不同的系统中运行时,通常会使用 RFC。

当使用远程函数调用 (RFC) 或 CPIC 在系统实例之间或系统本身之间进行通信时,总是会涉及到网关。如果对话工作流程必须在请求的上下文中建立到远程系统的 RFC 连接(例如,检索客户数据),它会使用网关与远程系统进行通信。网关将请求转发到远程系统的网关。然后,远程网关将请求传输到调度程序,调度程序又将请求转发到它的一个工作进程,然后直接与“它的”网关通信。

因此,入站 RFC 连接始终由网关接收,而出站连接由工作流程发起。

在SAP系统中,RFC接口系统提供了这个功能。 RFC 接口系统允许两个 SAP 系统之间或一个 SAP 系统和一个外部(非 SAP)系统之间的函数调用。

RFC 是一种 SAP 接口协议,它基于通用通信编程接口 (CPI-C),允许程序之间的跨主机通信。这使外部应用程序能够调用 ABAP 函数和 SAP 系统来联系(启用 RFC)的外部应用程序。

RFC 意味着 ABAP 程序员不必编写自己的通信例程。对于 RFC 调用,RFC 接口

• 将所有参数数据转换为远程系统所需的格式

• 调用与远程系统通信所需的通信例程

• 处理通信过程中发生的错误

RFC 接口易于 ABAP 程序员使用。调用外部程序的处理步骤集成在 CALL FUNCTION 语句中。

图 84:RFC 连接

为了能够调用远程系统上的功能模块,您必须将远程系统定义为调用系统中的目标。您还需要远程系统的访问授权。

您可以在呼叫系统中管理这些远程连接。为此,通过选择菜单路径工具 → 管理 → 管理 → 网络 → RFC 目标或直接调用事务 SM59,切换到显示和维护 RFC 目标屏幕。连接类型和所有现有目的地在初始屏幕上以树状结构显示。有关所有可用连接类型的详细信息,请参阅文档。

有已设置目的地的搜索功能。要搜索目的地,请选择搜索并输入您的选择。系统显示所有匹配条目的列表。您可以显示每个条目的所有可用信息。

要更改现有的 RFC 目标,请在菜单树中选择相关的 RFC 目标,然后选择更改。

Outlook:RFC 使用变体

同步 RFC (sRFC)

用于不同系统之间以及 SAP NetWeaver AS 和 SAP GUI 之间的直接通信。

异步 RFC (aRFC)

用于不同系统之间的直接通信和选定任务的并行处理。

事务性 RFC (tRFC)

用于真正的异步通信。事务性 RFC 确保对原本自主的处理步骤进行“类事务”处理。

队列 (d) RFC (qRFC)

排队 RFC 是 tRFC 的扩展。它还确保按顺序处理各个步骤。

背景 RFC (bgRFC)

bgRFC 是 tRFC 和 qRFC 的继承者。

“RFC”是各种实现变体的上级术语。 sRFC是功能模块的同步调用。这意味着客户端会一直等待,直到服务器完成其处理。所涉及的两个系统在调用时必须是可访问的。

尽管它的名字,aRFC 并不是真正的异步通信类型,因为它不完全满足这种通信类型的条件。因此,被调用系统必须在调用期间可用(例如,类似于 sRFC)。然而,在调用之后,功能控制立即返回到调用程序。如果与远程系统建立实时通信,则始终建议使用 aRFC,其中调用程序中的处理在获得调用功能模块的结果之前不应中断(此处使用术语异步)。

与 aRFC 不同的是,事务型 RFC(tRFC,以前也称为异步 RFC)是一种真正的异步通信方法,它在 RFC 服务器中只执行一次被调用的功能模块。当 RFC 客户端程序执行 tRFC 时,远程系统不必可用。 tRFC 组件将调用的 RFC 函数与相应的数据一起存储在 SAP 数据库中的唯一事务 ID (TID) 下。如果在接收系统不可用时发送呼叫,该呼叫将保留在本地队列中。调用对话程序可以继续进行,而无需等待查看功能模块是否成功。如果接收系统在一定时间内未激活,则呼叫将被安排为后台作业。如果要将函数作为逻辑工作单元 (LUW) 执行,则始终使用 tRFC。在 LUW 中,所有调用

按调用它们的顺序执行

在目标系统的同一程序上下文中执行

在单个事务中执行,也就是说,它们要么完全写入数据库(称为 COMMIT),要么完全重置(称为 ROLLBACK)。

如果要确保调用的事务顺序,始终建议使用 tRFC。

tRFC 的缺点:

tRFC 彼此独立地处理所有 LUW。由于激活的 tRFC 进程的数量,此过程会显着降低发送系统和目标系统的性能。

此外,不能保留应用程序中定义的 LUW 序列。因此,不能保证事务将按照应用程序指定的顺序执行。唯一的保证是迟早会转移所有 LUW。

为了保证以应用程序指定的顺序处理多个 LUW,可以使用(入站或出站)队列对 tRFC 进行序列化。这种类型的 RFC 称为队列 RFC (qRFC),它是 tRFC 的扩展。仅当参与队列中没有前任时,它才会传输 LUW(事务)(这是基于不同应用程序中定义的顺序)。如果要确保以指定的顺序处理各种事务,则始终建议使用 qRFC。

bgRFC 是 tRFC 和 qRFC 的继承者,在性能和功能能力方面都有显着改进。因此,SAP 紧急推荐使用 bgRFC 而不是 tRFC 和 qRFC。

为 RFC 配置系统资源

为确保最佳 RFC 功能能力,您必须维护各种系统参数,例如,指定 RFC 可以占用的最大工作进程数。

图 85:RFC 资源的配置

资源检查的先决条件是参数 rdisp/rfc_use_quotas 必须设置为值 1。

可以从以下区域分配资源:

登录 SAP 系统

总共 rdisp/tm_max_no 用户可以同时登录到服务器(使用 GUI 或 RFC)。如果 rdisp/rfc_max_login 最大可能用户数的百分比已登录,则不再接受 RFC 登录。一个 RFC 用户最多可以占用 rdisp/rfc_max_own_login 百分比的登录槽 (rdisp/tm_max_no)。

对话队列中的 RFC 请求

调度程序的对话队列包含 rdisp/elem_per_queue 条目,其中最大 rdisp/rfc_max_queue 百分比可以由 RFC 请求填充。

通讯表中的条目

通信表包含所有相关方每次发生的 CPIC 通信的一个条目。该表最多可以包含 rdisp/max_comm_entries 条目,其中 rdisp/rfc_max_comm_entries 百分比可以被一个用户占用。

对话工作流程

当您启动服务器时,它具有 rdisp/wp_no_dia 对话工作进程。但是,您可以在服务器运行时更​​改此数字。一种方法是使用操作模式切换。调度程序为“真正的”对话请求(不是 RFC)保留对话工作进程的 rdisp/rfc_min_wait_dia_wp。此外,一个用户最多可以占用 rdisp/rfc_max_own_used_wp 百分比的对话工作进程。

服务器端调度程序检查

调度程序检查它是否为它收到的每个 RFC 请求提供可用资源。如果有,它会将请求分配给对话工作流程。否则,它将请求放入调度程序队列。您可以使用参数 rdisp/rfc_check 来控制此检查的详细程度。

SAP 系统中所有 RFC 资源的概述

您可以使用事务 SARFC 来监控 SAP 系统中所有服务器上的资源。

监控 RFC 活动

我们现在将简要讨论一些可用于 RFC 通信的各种监控和故障排除工具:

服务器资源 (SARFC)

显示当前可用于所有应用程序服务器的 RFC 资源。您还可以在此处动态更改 RFC 参数。

事务性 RFC (SM58)

工具 → 管理 → 监控 → 事务性 RFC。 此工具列出了那些无法成功执行或必须安排为后台作业的事务性 RFC。 该列表包含来自目标系统的 LUW ID 和相应的错误消息。

入站队列 (SMQ2) 的 qRFC 监视器

在这里,您可以监控入站队列中 LUW 的状态。

网关监视器 (SMGW)

网关监视器用于分析和管理 SAP 系统中的网关。

bgRFC 监视器 (SBGRFCMON)

您可以使用 bgRFC Monitor 显示为 bgRFC 记录的单位。一个单元包括一个或多个功能模块,需要作为一个不可分割的单元进行处理。

RFC 服务器组和使用 aRFC 进行并行处理

aRFC 可用于应用程序开发,例如,在多个工作进程中同时处理后台任务,从而大大减少应用程序的运行时间。为了在目标系统中实现均衡的负载平衡,您可以将一组应用服务器定义为一个 RFC 服务器组。对于每个 RFC 服务器组,您还可以为 RFC 资源参数维护单独的值。 RFC 服务器组的创建方式与登录组类似。为此,请在事务 SM59 中选择 Extras → RFC Groups。

解决方案 13:检查 RFC 参数

任务:显示 RFC 参数

显示当前的 RFC 参数值。

1. 登录 SAP 系统并使用事务 SARFC 确定所有实例的当前 RFC 参数值。

或者,调用事务 RSPFPAR。

a) 调用事务 SARFC。

b) 双击一个实例。 您可以在对话框中查看当前参数值。

c) 在事务 RSPFPAR 中,在配置文件参数字段中输入值 rdisp/rfc*,然后选择执行 (F8)。

原文下载:

最新SAPAMD100文档-管理软件文档类资源-CSDN下载

SAP BASIS ADM100 中文版 Unit 6(1)相关推荐

  1. SAP BASIS ADM100 中文版 Unit 5(4)

    课程:登录参数和用户信息 课程概述 在本课中,您将了解在用户管理中很重要的系统参数,例如登录行为.您可以使用信息系统获取有关任何错误登录尝试的信息.使用系统跟踪分析失败的授权检查.本课还将讨论使用中央 ...

  2. SAP BASIS ADM100 中文版 Unit 8(3)

    课程:管理假脱机请求 课程概述 在本课中,您将了解管理假脱机和输出请求. 课程目标 完成本课程后,您将能够: 管理假脱机和输出请求 业务示例 作为假脱机管理员,您在 SAP 系统中维护假脱机和输出请求 ...

  3. SAP BASIS ADM100 中文版 Unit 5(2)

    课程:授权概念 课程概述 在本课中,术语授权对象.授权配置文件.授权检查和角色将在一个通用上下文中进行讨论.这里的重点是角色维护:也就是说,关于创建一个角色. 课程目标 完成本课程后,您将能够: • ...

  4. SAP BASIS ADM100 中文版 Unit 5(1)

    单元 5 用户管理基础 单位概述 本单元涵盖基于 ABAP 的 SAP 系统的授权概念.重点是解释重要术语以及创建角色和授权配置文件.系统参数用于演示如何在系统中进行相关设置.您还可以深入了解使用中央 ...

  5. SAP BASIS ADM100 中文版 Unit 1(6)

    课程:使用 SAP 解决方案管理器进行中央管理 课程概述 越来越多的管理任务可以通过 SAP 解决方案管理器进行集中处理.本课从管理的角度简要概述了这样的系统格局,还将介绍 SAP Solution ...

  6. SAP BASIS ADM100 中文版 Unit 3(2)

    课程:如何设置配置文件参数 课程概述 在本课中,您将学习如何更改配置文件参数的值. 课程目标 完成本课程后,您将能够: 使用配置文件调整配置文件参数 业务示例 您是管理员,并且想要调整配置文件参数的配 ...

  7. SAP BASIS ADM100 中文版 Unit 7(2)

    课程:准备软件维护 课程概述 本课讨论使用 SAP 解决方案管理器 - 维护优化器 (MOpz) 在维护事务中请求支持包. 课程目标 完成本课程后,您将能够: • 解释维修证书的概念 • 描述维护事务 ...

  8. SAP BASIS ADM100 中文版 Unit 8(4)

    课程:风景打印助手 (PAL) 课程概述 在本课中,您将了解横向打印助手 (PAL).在学习了概念和术语之后,您将了解事务 PAL 中的管理任务. 课程目标 完成本课程后,您将能够: • 列出使用横向 ...

  9. SAP BASIS ADM100 中文版 Unit 3(1)

    单元 3 系统配置介绍 单位概述 在本单元中,您将了解如何使用配置文件参数来配置 SAP 系统. 单位目标 完成本单元后,您将能够: • 确定配置文件参数的配置 • 使用配置文件调整配置文件参数 • ...

  10. SAP BASIS ADM100 中文版 Unit 1(1)

    单元1 单位概述 本单元重复基本术语和过程,以及结构 SAP系统的架构.除了从先决条件 SAPTEC 课程中更新基础知识外,您还将学习如何设置 SAP 登录和登录组.最后一课简要概述了使用 SAP 解 ...

最新文章

  1. php字符串中有特殊符号怎么处理,PHP字符串中特殊符号的过滤方法介绍
  2. cpu模拟器c语言实现_你写出来的C语言是这样调用硬件的!
  3. SpringCloud学习笔记028---在SpringBoot中整合多数据源_实战项目
  4. java服务器间文件传输,java实现在多服务器之间的文件传输(Jsch)
  5. 基于树莓派的语音机器人
  6. 学习Java软件开发,可以从事什么工作?
  7. DynDNS免费动态域名解析
  8. 教您启用iphone 4 使用FaceTime和蜂窝数据网、彩信!设置(不需補丁、不需恢复系统)
  9. uva 11584 dp
  10. 用matlab演示dsb,DSB-AM的MATLAB仿真
  11. 计算机常用英语词汇及读音,100个最常用英文单词的完美发音,so easy!
  12. Google Earth Engine APP ——Forest Health监测APP(可下载)
  13. 一步一步用debugserver + lldb代替gdb进行动态调试(整理与补充)
  14. 智慧养老的发展形势及智慧养老热点、痛点、难点
  15. adb安装apk到手机
  16. 股票技术分析--任正德主编
  17. Android微信/QQ红包自动抢(AccessibilityService)
  18. java中的比较方法
  19. 第一次写正规论文的同学务必分享,排版自动排版,加注释。。。。。。等等!!!!!!!!(copy也得整出档次来啊,这就是门面啊)...
  20. 编译安装apache2.2对应的mod_proxy_fcgi.so模块步骤,apache进行fcgi通信需要加载该模块

热门文章

  1. fingertouch
  2. vue之购物车案例升级版、v-model之lazy、number、trim的使用、fetch和axios、计算属性、Mixins、虚拟dom与diff算法 key的作用及组件化开发
  3. 常见浏览器兼容性bug
  4. 宽带错误代码619原因及解决方法
  5. 【校招VIP】“推推”产品项目课程:简历亮点描写和面试提问点
  6. Git清除贡献者信息和历史提交记录
  7. JAVA中默认的编码方式是Unicode是什么意思?
  8. pom中parent标签使用
  9. Unity+SteamVR开发——交互
  10. 分享个SM2259XT Intel N18混贴3CH开卡经验