为 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\Microsoft .NET Framework Data Provider for mySAP Business Suite 中。
提取 zip 文件后,你将找到四个数据文件,其中两个遵循命名模式 K9*。例如,BI1 (类似于 K900534。BI1) ,另外两个遵循 R9* 模式。例如,BI1 (类似于 R900534。BI1) 。
将提取的文件从运行适配器的计算机复制到 SAP 应用程序服务器。
以 SAP R/3 系统管理员身份登录到开发系统的 SAP 应用程序服务器。
复制命名模式 K9* 的两个传输文件。BI1 从运行适配器的计算机上的安装目录到 SAP 应用程序服务器上的以下目录:
<drive>:\usr\sap\trans\cofiles
复制命名模式为 R9* 的两个传输文件。BI1 从运行适配器的计算机上的安装目录到 SAP 应用程序服务器上的以下目录:
<drive>:\usr\sap\trans\data
将传输加载到 SAP 应用程序服务器上的传输缓冲区中。
在命令提示符下,导航到 SAP 应用程序服务器上的传输程序目录:
<drive>:\usr\sap\trans\bin
若要将传输加载到传输缓冲区,请在 目录中执行以下命令,
\usr\sap\trans\bin
并将 sysid 替换为开发系统的系统 ID:tp addtobuffer <TransportNumber> <sysid> pf=TP_DOMAIN_<sysid>.PFL
其中, TransportNumber 是实际传输编号 (例如BI1K900534) 。
命令
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。
将传输导入 SAP。
在命令提示符下执行以下命令:
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。
命令
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 客户服务和支持部门。
重要
重复步骤 () ,并为第二组传输文件 (b) 。
检查传输日志。
使用事务 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也用于其他事务。
设置用户授权
启动 SAP GUI。 转到 T 代码,键入
pfcg
,然后按 Enter。在 “角色 ”文本框中,输入要创建的角色名称,例如
ZTEST
,然后单击“ 角色”。在 “创建角色” 页中,单击“ 授权 ”选项卡。
如果系统提示保存角色,请单击“ 是”。
在 “更改角色” 页中,单击“ 更改授权数据 ”按钮。
如果系统提示你从“选择模板”对话框中 选择模板 ,请单击“ 不选择模板”。
在 “更改角色:授权 ”页中,单击“ 手动 ”按钮。
在 “手动选择授权 ”框中,输入授权对象
Z_EIP_TABL
的名称,然后按 Enter。在 “更改角色:授权 ”页中,展开节点,直到看到 “活动 ”和“ 表名称”文本框。 对于 “活动 ”文本框,输入值
03
。 对于“ 表名称” 文本框,输入值*
。单击“ 保存” 按钮以生成配置文件。
返回“更改角色”页并单击“用户”选项卡。
在“ 用户 ”选项卡中,通过在“用户 ID”列中输入用户名,为角色分配 用户 ID ,然后单击“ 用户比较 ”按钮。
在 “比较角色用户主记录”中,单击“ 完成比较 ”以更新主记录。 当系统提示保存角色时,单击“ 是”。
保存并退出。
验证自定义 RFC 安装
安装自定义 RFC 后,可以验证 RFC 是否正确安装。
对于 Z_EXECUTE_SAP_QUERY RFC,可以通过使用适用于 SAP 的数据提供程序在 SAP 系统中执行预定义的查询来执行此操作。
对于Z_EXTRACT_DATA_OO RFC,可以通过执行以下测试来确认 RFC 正常运行并准备好在系统中使用。
测试安装Z_EXTRACT_DATA_OO
在 SAP GUI 授权管理工具中,执行 SE37、函数模块Z_EXTRACT_DATA_OO,然后通过按 在
F8
测试模式下运行 RFC。 按如下所示填充参数。参数 值 IN_METADATA_ONLY IN_METADATA_LANGUAGE CN IN_FROM_TABLE T000 IN_OUTPUT_MODE S IN_OUTPUT_FILENAME IN_USE_FIELD_EXITS X IN_SET_ROWCOUNT 0 IN_DELIMITER IN_PACKET_SIZE 50,000 IN_MAX_WRITE_ATTEMPTS 4 IN_RETRY_DELAY 30 IN_SQL_DATES_ON 单击“ 执行 ”或按
F8
。在结果窗格中,检查以下内容。
参数 值 OUT_TABLEHEADER <T000 常规元数据> OUT_TECHNICALSETTINGS <T000 技术数据库级元数据> OUT_RECORDLENGTH <取决于 SAP 版本> OUT_RECORDCOUNT <在 T000 上使用 SE16 确认系统中的客户端数> OUT_ZDATATABLE <使用 T000 上的 SE 16 使用源数据确认此结果> OUT_RETURN_TAB S 001 成功
删除 SAP 数据提供程序的 RFC
在 SAP GUI 对象导航器 (SE80) 中,查找具有 ZMSBI 开发类的所有对象。
从以下 Dictionary Objects 文件夹中删除具有 ZMSBI 开发类的所有对象:
结构
函数组
授权对象
引发传输,并将其迁移至安装了 RFC (开发、测试和生产系统(例如) )的每个系统。
如需进一步的帮助,请联系 SAP 基础管理员。