设置适用于 SAP 的 ACL 连接器

必须先完成几项设置任务,然后才能使用适用于 SAP 的 ACL 连接器导入 SAP 数据。

在 SAP 系统上:

  • 为 SAP 系统安装 SAP 连接器插件

  • 为 SAP 连接器的用户配置 SAP 授权

  • 在一台或多台 SAP 服务器上配置端口

在您打算使用适用于 SAP 的 ACL 连接器的本地计算机或网络服务器上:

  • 安装 SAP GUI for Windows

  • 配置 SAP 连接信息和凭据

您可以将 SAP 连接器与 Diligent One 中的机器人应用程序搭配使用,但前提条件是贵组织使用本地部署的机器人代理。SAP 连接器不能配置为与基于云的机器人代理一起使用。

说明

设置 SAP 连接器,并且如果适用,则 SNC(安全网络通信)和 SSO(单点登录)要求人员具有适当级别的技术专业知识。

除了基本 Analytics 订阅以外,SAP 连接器还需要额外的订阅授权。如果您没有所需的订阅授权,则无法连接到 SAP。

请联系您的客户代表,获取有关 SAP 连接器订阅的信息。

兼容 SAP 系统

适用于 SAP 的 ACL 连接器可与下列 SAP 系统一起使用:

  • S/4HANA
  • 在所有受支持的数据库平台(包括 SAP HANA)上运行的下列系统的所有增强级别:
    • SAP ERP 6.0 (ECC 6.0)
    • SAP CRM 7.0
    • SAP SRM 7.0
    • SAP SCM 7.0
    • SAP EWM 7.0

兼容的 SAP SPAM/SAINT 版本

要为 SAP 系统安装 SAP 插件,必需的 SAP SPAM/SAINT 版本是 0053 或更高版本。

SAP SPAM 是 Support Package Manager。SAP SAINT 是插件安装工具。

为 SAP 系统安装 SAP 连接器插件

您的 SAP 基本管理员必须为 SAP 系统安装 SAP 连接器插件。SAP 连接器要与 SAP 系统通信,必须使用插件。具有 SAP 连接器订阅的用户可以从启动面板 (www.highbond.com) 下载插件文件。

使用 SAP 前端安装 SAP 连接器插件。用于安装 SAP 插件的兼容 SAP 基础发行版是 700 或更高版本。

  1. 登录到 Diligent One (www.highbond.com)。
  2. 在启动面板的资源下,单击下载Launchpad。
  3. ACL for Windows 顶部选项卡中的 SAP ERP 数据连接器下,单击下载版本 1.4

    下载的 .zip 文件包含下列 .sar 文件:

    • dabexp-sapconn-aoi-140.sar - 用于安装 SAP 连接器插件的安装程序文件。
    • dabexp-sapconn-aou-140.sar - 用于从版本 1.0 或 1.1 升级现有 SAP 连接器插件的升级文件。
  4. 在 SAP 系统上,使用 SAINT 交易访问插件安装工具
  5. 使用插件安装工具安装或者升级 SAP 插件安装包。

SAP 授权

说明

SAP 授权必须由您的 SAP 安全管理员分配。

SAP 连接器的用户需要下列 SAP 访问权限和授权,以便连接到 SAP 系统并提取数据:

  • 使其可以连接到 SAP 系统的 SAP 用户 ID 和密码
  • 特定 SAP 授权对象和授权,包括 SAP 表授权

SAP 用户类型

要连接到 SAP 系统,则必须使用以下任一 SAP 用户类型来配置 SAP 用户账户:

  • 对话框
  • 系统
  • 通信
  • 服务

SAP 连接器不适用于使用“参考”用户类型配置的 SAP 账户。

SAP 授权对象

SAP 连接器的用户需要下面列出的特定 SAP 授权。

说明

有关向用户分配 SAP 授权的详细信息,请咨询您的 SAP 安全文档。

授权类别 授权对象 详情

AAAB

跨应用程序授权对象

S_RFC

RFC 访问的授权检查

ACTVT 16(授予执行权) 控制用户从远程位置(如台式计算机)执行 SAP 系统上的功能模块的能力。
RFC_NAME

/SDF/RI_CRM

CMON

RFC1

SYST

/DABEXP/DAB_FUGR

RFC_TYPE FUGR(功能组)

或者,从 SAP NW 7.0 EHP 2 (SAP Basis 702) 开始,可以将 RFC_TYPE 设置为 FUNC(函数模块)。

对于 FUNC,功能模块必须被直接授权,而不是通过功能组授权。

ACTVT

16(授予执行权)

RFC_NAME

/SDF/CMO_GET_INSTNO

CMO_GET_INSTNO

RFC_GET_FUNCTION_INTERFACE

RFC_GET_NAMETAB

RFCPING

/DABEXP/RFC_SAPCONNECTOR

RFC_TYPE FUNC(功能模块)

BC_A

基础:管理

 

S_TABU_DIS ACTVT 03(显示) 控制用户访问特定 SAP 表组的权限。
DICBERCLS授权组 *
S_TABU_NAM ACTVT 03(显示) 控制用户访问单个 SAP 表的权限。
TABLE表名称 *

说明

SAP 连接器的用户应该被分配对于它们需要访问的那些 SAP 表的授权,以便执行他们的分析。

例如,执行总分类账审计的用户需要对于总分类账表的授权。

您的公司自己的业务流程决定哪些用户需要表授权以及他们需要哪些授权。请与您的 SAP 安全管理员协作确定您的用户需要的访问权限的适当级别。

SAP 端口配置

在您将使用 SAP 连接器连接到的每个 SAP 服务器上,您需要为入站和出站通信打开下列 TCP/IP 端口:

端口名称 端口号 备注
调度程序 32<NN> 由 SAP GUI 使用
Gateway 33<NN> 为 RFC 通信使用
消息服务器 36<NN>  

说明

<NN> 是您的 SAP 系统的实例编号。因此,如果 SAP 系统编号为 10,则端口 3210、3310 和 3610 需要是打开的。

安装 SAP GUI for Windows

必须在您打算使用适用于 SAP 的 ACL 连接器的本地计算机或服务器上安装 SAP GUI for Windows 版本 7.60 或更高版本。SAP GUI 使 SAP 连接器可以远程访问您的 SAP 系统。

Analytics 用户 SAP GUI 必须与 Analytics 安装在同一台计算机上。
机器人应用程序用户 SAP GUI 必须安装在承载本地部署机器人代理的服务器上。

sapnwrfc.dll requirement

安装 SAP GUI for Windows 之后,验证关联的 DLL 文件 sapnwrfc.dllSAP GUI for Windows 已安装在以下位置:

C:\Windows\SysWOW64\sapnwrfc.dll

如果 DLL 文件不在此位置,则 SAP 连接器不起作用。

如果 sapnwrfc.dll 不在 SysWOW64 文件夹中,则请在 SAP GUI 提取目录中找到 DLL 文件,并将其复制到 C:\Windows\SysWOW64SAP GUI。

SAP 连接信息和凭据

通常,SAP 基本管理员维护 SAP 系统的连接信息。要求您的 SAP 基本管理员提供必要的连接信息,或者让其在 SAP 登录窗口中配置所需的连接信息。

如果您的管理员不能帮助您,您或者您的管理员应该联系您的 SAP 支持人员。

要连接到 SAP,您或者您的管理员必须收集以下信息:

  • 正确的服务器类型(普通或负载平衡)
  • 实例编号(对于普通服务器类型)
  • 登录组和系统 ID(对于负载平衡服务器类型)
  • SAP 系统的主机名或 IP 地址
  • 您的 SAP 用户名和密码
  • 客户端编号
  • 对 SAP 系统中表的读取访问权限

使用安全网络通信 (SNC) 的 SAP 系统

您的组织的 SAP 系统可能已启用安全网络通信(SNC),它允许 SAP 系统的不同组件之间的加密通信以及使用单点登录的用户认证。

SNC 是 SAP 系统中的软件层,它使您可以通过与外部安全产品相集成来扩展基本 SAP 安全性。

如果您使用的是 SNC(无论有还是没有单点登录),则适用于 SAP 的 ACL 连接器中还需要附加的设置。有关详细信息,请参阅连接设置

SAP 连接错误

错误编号 错误代码 描述
0 未知的 无法完成连接到 SAP 或者导入数据的操作。发生未知错误。
1 SapDriverInitializationError 无法连接到 SAP。可能缺少必需的驱动程序配置文件。
2 SapDriverLicenseInvalidError 无法连接到 SAP。驱动程序许可证有问题。
3 ConnectionPropertiesParserValueMustNotBeNullOrWhitespaceError 无法连接到 SAP。缺少必需的连接参数。
4 ConnectionPropertiesParserLibraryTypeOutOfRangeError 库参数的值无效。有效值为:ClassicRfc、NetweaverRfc
5 ConnectionPropertiesParserRfcFunctionTypeOutOfRangeError RFC 函数参数的值无效。有效值为:Standard、Extended、Three
6 ConnectionPropertiesParserServerDetailInfoAmbiguousError 无法连接到 SAP。为下列一个或多个属性指定的值不正确:InstanceNumber、LogonGroup、SID。
7 ConnectionPropertiesParserVariableStringLengthNotAnIntegerError 连接参数的变量字符串长度必须是整数。
8 SapConnectionInfoValidationClientIsNullOrWhitespaceError 缺少客户端连接参数的值。
9 SapConnectionInfoValidationClientLongerThanThreeCharactersError 客户端连接参数的值不能超过 3 个字符。
10 SapConnectionInfoValidationLanguageIsNullOrWhitespaceError 缺少语言连接参数的值。
11 SapConnectionInfoValidationLanguageIsLongerThanTwoCharactersError 语言连接参数的值不能超过 2 个字符。
12 SapConnectionInfoValidationUsernameIsNullOrWhitespaceError 缺少用户名连接参数的值。
13 SapConnectionInfoValidationPasswordIsNullOrWhitespaceError 缺少密码连接参数的值。
14 SapConnectionInfoValidationTestDownloadTableIsNullOrWhitespaceError 缺少测试下载表连接参数的值。
15 SapConnectionInfoValidationRfcFunctionModuleIsNullOrWhitespaceError 缺少 RFC 函数模块连接参数的值。
16 SapConnectionInfoValidationSapConnectionServerInfoIsNullError 无法连接到 SAP。缺少 SAP 服务器属性(内部驱动程序错误)。
17 SapConnectionInfoValidationVariableStringLengthMustBeGreaterZeroError 无法连接到 SAP。变量字符串长度必须大于 0(内部驱动程序错误)。
18 SapConnectionInfoValidationServerIsNullError 缺少服务器连接参数的值。
19 SapConnectionInfoValidationServerDetailsIsNullError 无法连接到 SAP。缺少 SAP 服务器详情属性(内部驱动程序错误)。
20 SapConnectionInfoValidationInstanceNumberNullOrWhitespaceError 缺少实例编号连接参数的值。
21 SapConnectionInfoValidationInstanceNumberMustHaveTwoDigitsError 实例编号连接参数的值必须为两位数。
22 SapConnectionInfoValidationLogonGroupNullOrWhitespaceError 缺少登录组连接参数的值。
23 SapConnectionInfoValidationSidNullOrWhitespaceError 缺少 SID 连接参数的值。
24 SapConnectionInfoValidationSidLongerThanThreeCharactersError SID 连接参数的值不能超过 3 个字符。
25 SapDriverErpError 到 SAP 服务器的连接丢失。发生未知错误。
26 SapDriverTableNotFoundError 找不到该表。
27 SapDriverTableStructureNotExportableError 无法导入该表,因为它不含数据。
28 SapDriverAppendStructureNotExportableError 无法导入该表,因为它不含数据。
29 SapDriverGetTablesDownloadError 无法完成 SAP 表的下载。
30 SapDriverSqlParsingError SQL 语法很可能无效,无法执行数据导入。无法识别该错误的具体原因。
31 SapDriverSqlParsingNoSqlScriptFragmentError 必须指定 SQL 语句。
32 SapDriverSqlParsingExactlyOneBatchAllowedError 只允许 1 个 SQL 批处理。
33 SapDriverSqlParsingExactlyOneSelectStatementAllowedError 只允许 1 个 SELECT 语句。
34 SapDriverSqlParsingFragmentNotAllowedError SQL 语法的一部分不被允许,或者在其当前位置不被允许。例如,UPDATE 或 DELETE 语句不被允许。
36 SapDriverSqlParsingJoinTypeNotAllowedError 指定的 JOIN 类型不被允许。请指定 INNER JOIN 或 LEFT JOIN.。
37 SapDriverSqlParsingFirstJoinValueNotATableError JOIN 指定的第一个值不是表。
38 SapDriverSqlParsingOnlyOneJoinAllowedError 只允许 1 个 JOIN。
39 SapDriverSqlParsingSecondJoinValueNotATableError JOIN 指定的第二个值不是表。
40 SapDriverSqlParsingNoJoinConditionError JOIN 条件不得为空。
41 SapDriverSqlParsingJoinConditionOringNotAllowedError 不允许将 OR 与 JOIN 条件结合使用。
42 SapDriverSqlParsingJoinConditionNotAllowedError 指定的 JOIN 条件的类型不被允许。
43 SapDriverSqlParsingJoinOperatorMustBeEqualsOnlyError JOIN 运算符只能是 Equals。
44 SapDriverSqlParsingJoinSameFieldError 您不能将一个域与其自身 JOIN。
45 SapDriverSqlParsingOnlyExplicitJoinsAllowedError 只允许显式 JOIN。
46 SapDriverSqlParsingHasNoSelectStatementError 必须指定一个 SELECT 语句。
47 SapDriverSqlParsingHasNoQuerySpecificationError SQL 语法很可能无效。查询规范可能是必需的。
48 SapDriverSqlParsingSqlFieldMustBeQualifiedWithTableError 必须用一个表名称或表别名限定该域。
49 SapDriverSqlParsingSqlSelectStarFieldMustOnlyBeQualifiedWithTableNameError 必须用一个表名称或表别名限定 SELECT *。
50 SapDriverSqlParsingSqlFieldMustOnlyBeQualifiedWithTableNameError 只能用一个表名称或表别名限定该域。
51 SapDriverSqlParsingSqlTableMustHaveExactlyOneIdentifierError 不得限定该表名称。
52 SapDriverSqlParsingSqlQueryeMustHaveAtLeastOneFieldError SELECT 语句必须包含至少一个域。
53 SapDriverSqlParsingSqlQueryeMustHaveAtLeastOneTableError SELECT 语句必须包含至少一个表。
54 SapDriverSqlParsingSqlEnhancedQuerySqlTableNotMatchingAnySapTableError 限定域的表不与从 SAP 系统收到的任何表匹配。
55 SapDriverSqlParsingSqlFieldQualifierNotMatchingAnyTableError 限定域的表不与 SELECT 语句中指定的任何表匹配。
56 SapDriverSqlParsingSqlSelectStarFieldQualifierNotMatchingAnyTableError 限定 * 域的表不与 SELECT 语句中指定的任何表匹配。
57 SapDriverSqlParsingSqlFieldNotInSapTableError SELECT 语句中指定的域不存在于 SAP 数据中。
58 SapDriverSqlParsingSqlFieldNotExportableError 无法从 SAP 系统中导入在 SELECT 语句中指定的域。
59 SapDriverSqlParsingSqlFieldNotFilterableError 无法在 SAP 系统中过滤在 WHERE 子句中指定的域。
60 SapDriverSqlParsingTopRowFilterMustHaveAbsolutValueError SELECT TOP 语句必须指定绝对值。
61 SapDriverSqlParsingTopRowFilterWithTiesNotAllowedError 必需无牵连地使用 SELECT TOP 语句。
63 SapDriverSqlParsingTopRowFilterMustHaveIntegerValueError SELECT TOP 语句必须指定一个整数值。
64 SapDriverSqlParsingTopRowFilterIntegerValueMustBeGreaterZeroError SELECT TOP 语句必须指定一个大于零 (0) 的值。
68 SapDriverSqlParsingTopRowFilterFromClauseMustHaveInnerQuerySpecificationError SELECT TOP 语句中的 FROM 子句必须包含查询规范。
69 SapDriverSqlParsingOringFilterValuesOnlyForSameFieldAndClauseError 在一个 OR 条件中不能指定不同的域。在整个 OR 条件中必须使用相同的域,并且必须使用相同的域运算符。
70 SapDriverSqlParsingFilterExpressionNotAllowedError WHERE 子句中指定的用于过滤域的表达式不被允许。
71 SapDriverSqlParsingFilterValueLiteralNotAllowedError WHERE 子句中指定的用于过滤域的字面量不被允许。
72 SapDriverSqlParsingFilterComparisonTypeNotAllowedError WHERE 子句中指定的用于过滤域的比较运算符不被允许。
73 SapDriverPackageCreationFilterTypeNotSupportedError 过滤器类型不受支持。
74 SapDriverTableCreationMaximumRecordLimitReachedError 选定域的数量超过 SAP RFC(SAP 远程函数调用)所支持的最大数量。
75 SapDriverExecuteDownloadError 导入 SAP 表数据的过程中出现未知错误。
76 SapDriverSearchTablesDownloadError 搜索 SAP 表的过程中出现未知错误。
77 SapDriverSqlParsingNoFromClauseError SELECT 语句必须包含 FROM 子句。
78 SapDriverSqlParsingNoTableReferenceInFromClauseError SELECT 语句中的 FROM 子句必须指定一个表。
79 SapDriverSqlParsingExpectedTopRowForPreviewError 外部 SELECT 语句必须包含一个 TOP 子句。
80 SapDriverSqlParsingPreviewStatmentMustNotHaveWhereClauseError 外部 SELECT 语句不得包含 WHERE 子句。
81 SapDriverSqlParsingPreviewStatmentMustHaveUnqualifiedStarQualifierOnlyError 外部 SELECT 语句只能包含一个 * 限定符。
82 SapDriverProjectPathNotFoundError 指定的临时工作目录不存在。