如果要使用 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)。
将运行适配器的计算机提取的文件复制到 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客户服务和支持部门。
重要
对第二组传输文件重复步骤(a)和(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 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 单击“ 执行 ”或按
F8
。在结果窗格中,检查以下内容。
参数 价值 输出_表头 <T000 常规元数据> OUT_TECHNICALSETTINGS <T000 技术数据库级别元数据> OUT_RECORDLENGTH <取决于 SAP 版本> OUT_RECORDCOUNT <在 T000 上使用 SE16 确认系统中的客户端数> OUT_ZDATATABLE <使用 T000 上的 SE 16 在源数据中确认此结果> 输出_返回_标签 S 001 成功
删除 SAP 数据提供程序的 RFC
在 SAP GUI 对象导航器(SE80)中,查找 ZMSBI 开发类的所有对象。
从以下 Dictionary Objects 文件夹中删除具有 ZMSBI 开发类的所有对象:
结构
函数组
授权对象
创建传输请求,并在每个安装了 RFC 的系统(例如开发、测试和生产系统)中进行迁移。
如需进一步的帮助,请联系 SAP 基础管理员。