为 SAP 的数据提供程序安装自定义 RFC

如果要使用 mySAP Business Suite 的 .NET Framework 数据提供程序访问 SAP 系统,请安装自定义 RFC。

SAP 数据提供程序需要自定义 RFC 在 SAP 系统上执行某些操作,以便

  • 运行 SELECT 操作时,SAP 的数据提供程序需要 Z_EXTRACT_DATA_OO RFC。

  • 运行 EXECQUERY 操作时,SAP 的数据提供程序需要 Z_EXECUTE_SAP_QUERY RFC。

若要在 SAP 系统上执行这些作,必须在 SAP 系统上安装这些自定义 RFC。 如果选择连同 SAP 适配器一起安装适用于 SAP 的数据提供程序,安装程序会将 SAP 数据提供程序的 RFC 传输作为压缩文件(customRFC.zip)复制到安装适配器的系统上。 zip 文件通常安装在 <安装驱动器>:\Program Files\Microsoft BizTalk Adapter Pack\mySAP Business Suite 的 Microsoft .NET Framework 数据提供程序

提取 zip 文件后,将找到四个数据文件,两个数据文件遵循命名模式 K9*。BI1 (例如,类似于K900534。BI1)和遵循模式 R9*的其他两个。BI1(例如,类似于R900534。BI1)。

  1. 将运行适配器的计算机提取的文件复制到 SAP 应用程序服务器。

    1. 以 SAP R/3 系统管理员身份登录到开发系统的 SAP 应用程序服务器。

    2. 将命名模式为 K9*.BI1 的两个传输文件从运行适配器的计算机上的安装目录复制到 SAP 应用程序服务器上的以下目录中:

      <drive>:\usr\sap\trans\cofiles

    3. 将命名模式为 R9*.BI1 的两个传输文件从运行适配器的计算机的安装目录复制到 SAP 应用程序服务器上的以下目录:

      <drive>:\usr\sap\trans\data

  2. 将传输加载到 SAP 应用程序服务器上的传输缓冲区。

    1. 在命令提示符下,导航到 SAP 应用程序服务器上的传输程序目录:

      <drive>:\usr\sap\trans\bin

    2. 若要将传输加载到传输缓冲区,请在 \usr\sap\trans\bin 目录中执行以下命令,并将 sysid 替换为开发系统的系统 ID:

      tp addtobuffer <TransportNumber> <sysid> pf=TP_DOMAIN_<sysid>.PFL  
      

      其中, TransportNumber 是实际的传输编号(例如BI1K900534)。

    3. tp命令完成后,你将看到类似于以下内容的报告:

      This is tp version 320.56.66 (release 620)  
      Addtobuffer successful for TransportNumber  
      tp finished with return code: 0  
      

      返回代码“0”表示作成功。

      可接受返回代码 0 或 4。 如果收到 8 或更高版本的返回代码,请联系Microsoft客户服务和支持部门。

      重要

      对第二组传输文件重复步骤(b)和(c)。

      注释

      可以轻松地从共同文件文件名派生实际传输编号。 例如,一个名为 K900534.BI1 的协作文件提供了传输编号 BI1K900534。

  3. 将传输导入 SAP。

    1. 在命令提示符处执行以下命令:

      tp import <TransportNumber> <sysid> client=<clientnumber> pf=TP_DOMAIN_<sysid>.PFL  
      

      sysid 替换为开发系统的系统 ID。 将 clientnumber 替换为开发系统的客户端编号。

      可以使用 U2 参数覆盖以前安装的对象,如下所示:

      tp import <TransportNumber> <sysid> client=<clientnumber> U2  
      

      tp import <TransportNumber> <sysid> client=<clientnumber> pf=TP_DOMAIN_<sysid>.PFL U2  
      

      注释

      可以轻松地从共同文件文件名派生实际传输编号。 例如,名为 K900534.BI1 的配套文件提供传输号 BI1K900534。

    2. tp命令完成后,你将看到类似于以下内容的报告:

      This is tp version 320.56.66 (release 620)  
      This is R3trans.exe version 6.08 (release 620 - 04.02.03 - 14:54:00).  
      R3trans.exe finished (0000).  
      This is R3trans.exe version 6.08 (release 620 - 04.02.03 - 14:54:00).  
      R3trans.exe finished (0000).  
      tp finished with return code: 0  
      

      返回代码“0”表示作成功。

      可接受返回代码 0 或 4。 如果收到 8 或更高版本的返回代码,请联系Microsoft客户服务和支持部门。

      重要

      对第二组传输文件重复步骤(a)和(b)。

  4. 检查传输日志。

  5. 使用事务 SE09 检查 SAP GUI 传输管理器中的传输日志,验证是否没有错误。

    设置用户授权
    Z_EXTRACT_DATA_OO RFC 需要具有特定授权对象的用户 ID。 使用 SAP GUI 授权管理工具设置 RFC 执行的最低限制:

注释

无需为 Z_EXECUTE_SAP_QUERY RFC 设置授权。

  • Z_EXTRACT_DATA_OO需要S_TABU_DIS和Z_EIP_TABL。 以下值提供了S_TABU_DIS的最低限制,允许用户查看系统中任何表的元数据。

    • ACTVT:03

    • DICBERCLS: *

      可以使用 DICBERCLS 通过授权类限制对表的授权。

      可以使用 TDDAT 表查看表的授权类。

    注释

    若要防止表维护事务更改表,应仅授予在生产环境中显示权限(ACTVT:03 设置要显示的允许活动)。

    Z_EIP_TABL的最小值为:

    • ACTVT:03

    • 表:*

      可以使用 TABLE 显式定义授权表。 另请注意,S_TABU_DIS也用于其他事务。

设置用户授权
  1. 启动 SAP GUI。 转到 T 代码,键入 pfcg并按 Enter。

  2. “角色 ”文本框中,输入要创建的角色名称,例如, ZTEST然后单击“ 角色”。

  3. 在“ 创建角色 ”页中,单击“ 授权 ”选项卡。

    如果系统提示保存角色,请单击“ ”。

  4. “更改角色 ”页中,单击“ 更改授权数据 ”按钮。

  5. 如果系统提示从“ 选择模板 ”对话框中选择模板,请单击“ 不选择模板”。

  6. “更改角色:授权 ”页中,单击“ 手动 ”按钮。

  7. “手动选择授权 ”框中,输入授权对象 Z_EIP_TABL 的名称,然后按 Enter。

  8. “更改角色:授权”页中,展开节点,直到看到活动和表名称的文本框。 对于 “活动 ”文本框,输入值 03。 对于 “表名 ”文本框,输入值 *

  9. 单击“ 保存 ”按钮以生成配置文件。

  10. 返回到 “更改角色 ”页,然后单击“ 用户 ”选项卡。

  11. 在“用户”选项卡中,在“用户 ID”列中输入用户名以为该角色分配用户 ID,然后点击“用户比较”按钮。

  12. “比较角色用户主记录”中,单击“ 完成比较 ”以更新主记录。 当系统提示保存角色时,单击“ ”。

  13. 保存并退出。

验证自定义 RFC 安装
安装自定义 RFC 后,可以验证 RFC 是否已正确安装。

  • 对于 Z_EXECUTE_SAP_QUERY RFC,可以通过 SAP 数据提供程序在 SAP 系统中执行预定义查询。

  • 对于Z_EXTRACT_DATA_OO RFC,可以通过执行以下测试来确认 RFC 运行并准备好在系统中使用。

测试Z_EXTRACT_DATA_OO的安装
  1. 在 SAP GUI 授权管理工具中,执行 SE37、函数模块 Z_EXTRACT_DATA_OO,然后按 F8 以测试模式运行 RFC。 按如下所示填充参数。

    参数 价值
    IN_METADATA_ONLY
    IN_METADATA_LANGUAGE EN
    IN_FROM_TABLE T000
    IN_OUTPUT_MODE(输出模式中) S
    IN_OUTPUT_FILENAME
    IN_USE_FIELD_EXITS X
    IN_SET_ROWCOUNT 0
    IN_DELIMITER
    输入数据包大小 50,000
    最大写入尝试次数 4
    IN_RETRY_DELAY 30
    IN_SQL_DATES_ON
  2. 单击“ 执行 ”或按 F8

  3. 在结果窗格中,检查以下内容。

    参数 价值
    输出_表头 <T000 常规元数据>
    OUT_TECHNICALSETTINGS <T000 技术数据库级别元数据>
    OUT_RECORDLENGTH <取决于 SAP 版本>
    OUT_RECORDCOUNT <在 T000 上使用 SE16 确认系统中的客户端数>
    OUT_ZDATATABLE <使用 T000 上的 SE 16 在源数据中确认此结果>
    输出_返回_标签 S 001 成功

删除 SAP 数据提供程序的 RFC

  1. 在 SAP GUI 对象导航器(SE80)中,查找 ZMSBI 开发类的所有对象。

  2. 从以下 Dictionary Objects 文件夹中删除具有 ZMSBI 开发类的所有对象:

    • 结构

    • 函数组

    • 授权对象

  3. 创建传输请求,并在每个安装了 RFC 的系统(例如开发、测试和生产系统)中进行迁移。

    如需进一步的帮助,请联系 SAP 基础管理员。

下一个

了解 mySAP Business Suite 的 BizTalk 适配器
SAP 适配器教程