SAP 中提供程序使用的自定义 RFC

适用于 SAP 的数据提供程序提供以下自定义 RFC,内部使用这些 RFC 在 SAP 系统上执行操作。

  • Z_EXTRACT_DATA_OO RFC。 数据提取 RFC Z_EXTRACT_DATA_OO,从 SAP R/3 系统中的表或视图提取数据,转换数据,并同步返回SQL Server表中的数据,或将数据转储到平面文件。 Z_EXTRACT_DATA_OO用于通过 WHERE 子句执行 SELECT 操作。 此 RFC 的性能取决于 SAP 系统硬件。

    有关如何为 Z_EXTRACT_DATA_OO RFC 映射 .NET 和 SAP 数据类型的信息,请参阅 自定义 RFC 的数据类型映射

  • Z_EXECUTE_SAP_QUERY RFC。 此 RFC 由 SAP 数据提供程序用于执行已在 SAP 系统中定义的查询。 此 RFC 在内部执行 SAP RFC,RSAQ_REMOTE_QUERY_CALL。 SAP 查询是使用 SAP GUI 通过选择表、列、输入参数、结果集的排序顺序等以图形方式创建的查询。使用适用于 SAP 的数据提供程序,现在可以从 ADO.NET 客户端执行此类 SAP 查询。

    EXECQUERY 操作返回的所有值都是字符串类型。

  • Z_EXTRACT_DATA_OO RFC 支持从满足以下条件的表中读取数据:

    • 表的 TabClass 为 TRANSP、CUSTER 或 POOL。

    • TabClass 为 VIEW,ViewClass 为 D 或 P。

  • Z_EXTRACT_DATA_OO不支持 HR 群集表,例如 PCL1、PCL2、PCL3、PCL4、PCL5。

  • Z_EXTRACT_DATA_OO可以提取的行数取决于 SAP 服务器上的硬件资源。

  • 所有提取的数据都按主键的顺序返回。

  • 不支持包含可变长度数据类型 STRING、SSTRING 和 RAWSTRING 的表或视图。 无法提取包含这些数据类型的表或视图。

  • Z_EXTRACT_DATA_OO对分配了转换退出的所有字段运行转换退出。 必须在 SELECT 语句的 WHERE 子句中输入生成的转换值。 还会返回转换后的值。 这可能会导致 Z_EXTRACT_DATA_OO 返回的结果与 SAP 数据浏览器 (SE16) 返回的结果不一致。

  • 所选表不能包含 ABAP (中保留名称的字段名称,例如 CONNECTION) 。

  • 由于 SAP R/3 版本 4.6C 中的查询处理器存在限制,INT4 类型的整数字段的值必须大于或等于 WHERE 子句中的 -999999999。 无论是否选择了包含该值的字段,都不会提取 INT4 值小于 -999999999 的行。

  • 在 SAP 系统版本 4.7 或更高版本上执行时,WHERE 子句中所有数据类型的值限制为 256 个字符;在版本 4.6c 中,限制为 70 个字符。 对于 RAW 数据类型值,这些限制分别减半到 128 和 35 个字符。 结果返回 RAW 和 LCHR 数据类型长度没有限制。

  • 在 SAP R/3 版本 4.6C 中,WHERE 子句中的字段限制为 70 个字符。

  • 在 SAP R/3 版本 4.6C 中,无法提取输出长度大于 70 个字符的主键字段的任何表。

  • 在 SAP R/3 版本 4.6c 中,不支持包含可变长度数据类型的表和视图 (VARC) ,并且不能使用 Z_EXTRACT_DATA_OO 函数调用从数据源中提取包含这些数据类型的表和视图。

  • 在文件模式下,Z_EXTRACT_DATA_OO函数调用不会检查目标文件是否已由自身或由其他应用程序打开。 因此,函数可能会错误地写入打开的文件,同时将数据追加到同一文件。 不会引发错误。

  • 在文件模式下,Z_EXTRACT_DATA_OO函数调用可以覆盖现有文件。 确保使用 Z_EXTRACT_DATA_OO 的 SAP 用户通过S_DATASET限制文件系统访问。

自定义 RFC 的安全注意事项

  • Security Issue:如果不帮助保护这些文件,则有可能公开写入平面文件的数据。

    Best practice:在平面文件模式下,提高Z_EXTRACT_DATA_OO函数调用向其写入任何数据的文件共享的安全性。

  • Security Issue:有可能在文件模式下使用 Z_EXTRACT_DATA_OO 函数调用覆盖写入到的任何共享上的文件。 SAP 域帐户有权访问的任何共享上的任何文件都可能发生此情况。

    Best practice:努力保护 SAP 域帐户有权访问的所有共享。

  • Security Issue:用户能够在从 SAP 应用程序服务器传输到其目标文件共享期间检查 (或“探查”) 数据,以防目标位于不同的物理计算机上。

    Best practice:使用 IPsec 或其他适当的方法来帮助提高 SAP 服务器与其目标之间的通信安全性。

另请参阅

关于 mySAP Business Suite 的 .NET Framework 数据提供程序