Setting up the ACL Connector for SAP
Several set-up tasks must be completed before you can use the ACL Connector for SAP to import SAP data.
On the SAP system:
-
Install the SAP connector add-on for the SAP system
-
Configure SAP authorizations for users of the SAP connector
-
Configure ports on one or more SAP servers
On the local computer or the network server where you intend to use the ACL Connector for SAP:
-
Install SAP GUI for Windows
-
Configure SAP connection information and credentials
You can use the SAP connector with the Robots app in Diligent One, but only if your organization uses an on-premise Robots Agent. The SAP connector cannot be configured for use with a cloud-based Robots Agent.
Note
Setting up the SAP connector, and if applicable SNC (Secure Network Communications) and SSO (Single Sign-on), requires personnel with the appropriate level of technical expertise.
The SAP connector requires an additional subscription entitlement beyond the basic Analytics subscription. If you do not have the required subscription entitlement, you are not able to connect to SAP.
Contact your account representative for information about an SAP connector subscription.
Compatible SAP systems
The ACL Connector for SAP can be used with the following SAP systems:
- S/4HANA
- all enhancement levels of the following systems, running on all supported database platforms including 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
Compatible SAP SPAM/SAINT version
For installing the SAP add-on for the SAP system, the required version of SAP SPAM/SAINT is 0053 or higher.
SAP SPAM is the Support Package Manager. SAP SAINT is the Add-On Installation Tool.
Install the SAP connector add-on for the SAP system
Your SAP Basis Administrator must install the SAP connector add-on for the SAP system. The add-on is required for the SAP connector to communicate with the SAP system. Users with an SAP connector subscription can download the add-on file from Launchpad (www.highbond.com).
Use the SAP Front End to install the SAP connector add-on. The compatible SAP Basis release for installing the SAP add-on is 700 or higher.
- Sign in to Diligent One (www.highbond.com).
- In Launchpad, under Resources, click Downloads.
-
From the ACL for Windows top tab, under Data Connector for SAP ERP, click Download Version 1.4.
The downloaded .zip file contains the following .sar files:
- dabexp-sapconn-aoi-140.sar - Installer file to install the SAP connector add-on.
- dabexp-sapconn-aou-140.sar - Upgrade file to upgrade the existing SAP connector add-on from version 1.0 or 1.1.
- On the SAP system, use the SAINT transaction to access the Add-On Installation Tool.
- Use the Add-On Installation Tool to install or upgrade the SAP Add-on Installation Package.
SAP authorizations
Note
SAP authorizations must be assigned by your SAP Security Administrator.
Users of the SAP connector require the following SAP access and authorizations in order to connect to an SAP system and extract data:
- An SAP user ID and password that allows them to connect to the SAP system
- Specific SAP authorization objects and authorizations, including SAP table authorizations
SAP user type
To connect to your SAP system, SAP user accounts must be configured with one of the following SAP user types:
- Dialog
- System
- Communication
- Service
The SAP connector does not work with SAP accounts configured with the Reference user type.
SAP authorization objects
Users of the SAP connector require the specific SAP authorizations listed below.
Note
Consult your SAP security documentation for detailed information about assigning SAP authorizations to users.
Authorization class | Authorization object | Field | Values | Details |
---|---|---|---|---|
AAAB Cross-Application Authorization Objects |
S_RFC Authorization check for RFC access |
ACTVT | 16 (authorizes Execute) | Controls a user's ability to execute function modules on the SAP system from a remote location, such as a desktop computer. |
RFC_NAME |
/SDF/RI_CRM CMON RFC1 SYST /DABEXP/DAB_FUGR |
|||
RFC_TYPE | FUGR (Function Group) | |||
Alternatively, as of SAP NW 7.0 EHP 2 (SAP Basis 702), the RFC_TYPE can be set to FUNC (Function Module). With FUNC, function modules must be authorized directly and not via the function group. |
||||
ACTVT |
16 (authorizes Execute) |
|||
RFC_NAME |
/SDF/CMO_GET_INSTNO CMO_GET_INSTNO RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB RFCPING /DABEXP/RFC_SAPCONNECTOR |
|||
RFC_TYPE | FUNC (Function Module) | |||
BC_A Basis: Administration
|
S_TABU_DIS | ACTVT | 03 (Display) | Controls a user's access to specific groups of SAP tables. |
DICBERCLS (Authorization Group) | * | |||
S_TABU_NAM | ACTVT | 03 (Display) | Controls a user's access to individual SAP tables. | |
TABLE (Table Name) | * | |||
Note Users of the SAP connector should be assigned authorizations for those SAP tables they need to access in order to perform their analysis. For example, a user performing a General Ledger audit needs authorizations for the general ledger tables. Your company's own business processes dictate which users require table authorizations, and what authorizations they require. Work with your SAP Security Administrator to determine the appropriate level of access that your users require. |
SAP port configuration
On each SAP server that you will connect to with the SAP connector, you need to open the following TCP/IP ports for inbound and outbound communication:
Port name | Port number | Comment |
---|---|---|
Dispatcher | 32<NN> | Used by SAP GUI |
Gateway | 33<NN> | Used for RFC communication |
Message Server | 36<NN> | |
Note <NN> is the instance number of your SAP system. So, if the SAP system number is 10, then ports 3210, 3310 and 3610 need to be open. |
Install SAP GUI for Windows
SAP GUI for Windows, version 7.60, or higher, must be installed on the local computer or the network server where you intend to use the ACL Connector for SAP. The SAP GUI allows the SAP connector to remotely access your SAP system.
Analytics users | The SAP GUI must be installed on the same computer as Analytics. |
Robots users | The SAP GUI must be installed on the server that houses the on-premise Robots Agent. |
sapnwrfc.dll requirement
After you install SAP GUI for Windows, verify that an associated DLL file, sapnwrfc.dll, is installed in the following location:
C:\Windows\SysWOW64\sapnwrfc.dll
The SAP connector does not work if the DLL file is not in this location.
If sapnwrfc.dll is not in the SysWOW64 folder, locate the DLL in the SAP GUI extraction directory and copy it to C:\Windows\SysWOW64.
SAP connection information and credentials
Typically, an SAP Basis Administrator maintains connection information for an SAP system. Ask your SAP Basis Administrator to provide the necessary connection information, or have them configure the required connection information in the SAP Logon window.
If your administrator cannot help you, you or your administrator should contact SAP Support.
To connect to SAP, you or your administrator must gather the following:
- the correct server type (Normal, or Load Balanced)
- instance number (for Normal server type)
- logon group and system ID (for Load Balanced server type)
- the host name or IP address of the SAP system
- your SAP username and password
- client number
- read access to the tables in the SAP system
SAP systems with Secure Network Communications (SNC)
Your organization's SAP system may have Secure Network Communications (SNC) enabled, which allows encrypted communication between the different components of an SAP system, and user authentication with Single Sign-on.
SNC is a software layer in the SAP system that allows you to extend basic SAP security by integrating with an external security product.
Additional settings are required in the ACL Connector for SAP if you are using SNC, with or without Single Sign-on. For more information, see Connection settings.
SAP connection errors
Error number | Error code | Description |
---|---|---|
0 | Unknown | Connecting to SAP, or importing data, cannot be completed. An unknown error occurred. |
1 | SapDriverInitializationError | Cannot connect to SAP. Required driver configuration files may be missing. |
2 | SapDriverLicenseInvalidError | Cannot connect to SAP. There is a problem with the driver license. |
3 | ConnectionPropertiesParserValueMustNotBeNullOrWhitespaceError | Cannot connect to SAP. A required connection parameter is missing. |
4 | ConnectionPropertiesParserLibraryTypeOutOfRangeError | The value for the library parameter is not valid. Valid values are: ClassicRfc, NetweaverRfc |
5 | ConnectionPropertiesParserRfcFunctionTypeOutOfRangeError | The value for the RFC function parameter is not valid. Valid values are: Standard, Extended, Three |
6 | ConnectionPropertiesParserServerDetailInfoAmbiguousError | Cannot connect to SAP. The values specified for one or more of the following properties is incorrect: InstanceNumber, LogonGroup, SID. |
7 | ConnectionPropertiesParserVariableStringLengthNotAnIntegerError | The variable string length for the connection parameter must be a whole number. |
8 | SapConnectionInfoValidationClientIsNullOrWhitespaceError | The value for the client connection parameter is missing. |
9 | SapConnectionInfoValidationClientLongerThanThreeCharactersError | The value for the client connection parameter cannot exceed 3 characters. |
10 | SapConnectionInfoValidationLanguageIsNullOrWhitespaceError | The value for the language connection parameter is missing. |
11 | SapConnectionInfoValidationLanguageIsLongerThanTwoCharactersError | The value for the language connection parameter cannot exceed 2 characters. |
12 | SapConnectionInfoValidationUsernameIsNullOrWhitespaceError | The value for the username connection parameter is missing. |
13 | SapConnectionInfoValidationPasswordIsNullOrWhitespaceError | The value for the password connection parameter is missing. |
14 | SapConnectionInfoValidationTestDownloadTableIsNullOrWhitespaceError | The value for the Test Download Table connection parameter is missing. |
15 | SapConnectionInfoValidationRfcFunctionModuleIsNullOrWhitespaceError | The value for the RFC Function Module connection parameter is missing. |
16 | SapConnectionInfoValidationSapConnectionServerInfoIsNullError | Cannot connect to SAP. SAP server properties are missing (internal driver error). |
17 | SapConnectionInfoValidationVariableStringLengthMustBeGreaterZeroError | Cannot connect to SAP. Variable string length must be greater than 0 (internal driver error). |
18 | SapConnectionInfoValidationServerIsNullError | The value for the server connection parameter is missing. |
19 | SapConnectionInfoValidationServerDetailsIsNullError | Cannot connect to SAP. SAP server detail properties are missing (internal driver error). |
20 | SapConnectionInfoValidationInstanceNumberNullOrWhitespaceError | The value for the Instance Number connection parameter is missing. |
21 | SapConnectionInfoValidationInstanceNumberMustHaveTwoDigitsError | The value for the Instance Number connection parameter must be two digits. |
22 | SapConnectionInfoValidationLogonGroupNullOrWhitespaceError | The value for the Logon Group connection parameter is missing. |
23 | SapConnectionInfoValidationSidNullOrWhitespaceError | The value for the SID connection parameter is missing. |
24 | SapConnectionInfoValidationSidLongerThanThreeCharactersError | The value for the SID connection parameter cannot exceed 3 characters. |
25 | SapDriverErpError | Connection to the SAP server was lost. An unknown error occurred. |
26 | SapDriverTableNotFoundError | The table cannot be found. |
27 | SapDriverTableStructureNotExportableError | The table cannot be imported because it has no data. |
28 | SapDriverAppendStructureNotExportableError | The table cannot be imported because it has no data. |
29 | SapDriverGetTablesDownloadError | The download of SAP tables could not be completed. |
30 | SapDriverSqlParsingError | The SQL syntax is probably not valid and the import of data cannot be performed. A specific cause of the error cannot be identified. |
31 | SapDriverSqlParsingNoSqlScriptFragmentError | SQL statements must be specified. |
32 | SapDriverSqlParsingExactlyOneBatchAllowedError | Only 1 SQL batch is allowed. |
33 | SapDriverSqlParsingExactlyOneSelectStatementAllowedError | Only 1 SELECT statement is allowed. |
34 | SapDriverSqlParsingFragmentNotAllowedError | A portion of the SQL syntax is not allowed, or is not allowed in its current position. For example, UPDATE or DELETE statements are not allowed. |
36 | SapDriverSqlParsingJoinTypeNotAllowedError | The specified JOIN type is not allowed. Specify an INNER JOIN, or a LEFT JOIN. |
37 | SapDriverSqlParsingFirstJoinValueNotATableError | The first value specified by the JOIN is not a table. |
38 | SapDriverSqlParsingOnlyOneJoinAllowedError | Only 1 JOIN is allowed. |
39 | SapDriverSqlParsingSecondJoinValueNotATableError | The second value specified by the JOIN is not a table. |
40 | SapDriverSqlParsingNoJoinConditionError | The JOIN condition must not be empty. |
41 | SapDriverSqlParsingJoinConditionOringNotAllowedError | Using OR with JOIN conditions is not allowed. |
42 | SapDriverSqlParsingJoinConditionNotAllowedError | The type of JOIN condition specified is not allowed. |
43 | SapDriverSqlParsingJoinOperatorMustBeEqualsOnlyError | The JOIN operator can only be Equals. |
44 | SapDriverSqlParsingJoinSameFieldError | You cannot JOIN a field to itself. |
45 | SapDriverSqlParsingOnlyExplicitJoinsAllowedError | Only explicit JOINS are allowed. |
46 | SapDriverSqlParsingHasNoSelectStatementError | A SELECT statement must be specified. |
47 | SapDriverSqlParsingHasNoQuerySpecificationError | SQL syntax is probably invalid. A query specification may be required. |
48 | SapDriverSqlParsingSqlFieldMustBeQualifiedWithTableError | The field must be qualified with a table name or a table alias. |
49 | SapDriverSqlParsingSqlSelectStarFieldMustOnlyBeQualifiedWithTableNameError | SELECT * must be qualified with a table name or a table alias. |
50 | SapDriverSqlParsingSqlFieldMustOnlyBeQualifiedWithTableNameError | The field can only be qualified with a table name or a table alias. |
51 | SapDriverSqlParsingSqlTableMustHaveExactlyOneIdentifierError | The table name must not be qualified. |
52 | SapDriverSqlParsingSqlQueryeMustHaveAtLeastOneFieldError | The SELECT statement must contain at least one field. |
53 | SapDriverSqlParsingSqlQueryeMustHaveAtLeastOneTableError | The SELECT statement must contain at least one table. |
54 | SapDriverSqlParsingSqlEnhancedQuerySqlTableNotMatchingAnySapTableError | The table qualifying a field does not match any table received from the SAP system. |
55 | SapDriverSqlParsingSqlFieldQualifierNotMatchingAnyTableError | The table qualifying a field does not match any table specified in the SELECT statement. |
56 | SapDriverSqlParsingSqlSelectStarFieldQualifierNotMatchingAnyTableError | The table qualifying a * field does not match any table specified in the SELECT statement. |
57 | SapDriverSqlParsingSqlFieldNotInSapTableError | The field specified in the SELECT statement does not exist in the SAP data. |
58 | SapDriverSqlParsingSqlFieldNotExportableError | The field specified in the SELECT statement cannot be imported from the SAP system. |
59 | SapDriverSqlParsingSqlFieldNotFilterableError | The field specified in the WHERE clause cannot be filtered in the SAP system. |
60 | SapDriverSqlParsingTopRowFilterMustHaveAbsolutValueError | The SELECT TOP statement must specify an absolute value. |
61 | SapDriverSqlParsingTopRowFilterWithTiesNotAllowedError | The SELECT TOP statement must be used without ties. |
63 | SapDriverSqlParsingTopRowFilterMustHaveIntegerValueError | The SELECT TOP statement must specify an integer value. |
64 | SapDriverSqlParsingTopRowFilterIntegerValueMustBeGreaterZeroError | The SELECT TOP statement must specify a value greater than zero (0). |
68 | SapDriverSqlParsingTopRowFilterFromClauseMustHaveInnerQuerySpecificationError | The FROM clause in the SELECT TOP statement must contain a query specification. |
69 | SapDriverSqlParsingOringFilterValuesOnlyForSameFieldAndClauseError | Different fields cannot be specified in an OR condition. The same field must be used throughout the OR condition, and the same field operator must be used. |
70 | SapDriverSqlParsingFilterExpressionNotAllowedError | The expression specified in the WHERE clause for filtering the field is not allowed. |
71 | SapDriverSqlParsingFilterValueLiteralNotAllowedError | The literal specified in the WHERE clause for filtering the field is not allowed. |
72 | SapDriverSqlParsingFilterComparisonTypeNotAllowedError | The comparison operator specified in the WHERE clause for filtering the field is not allowed. |
73 | SapDriverPackageCreationFilterTypeNotSupportedError | The filter type is not supported. |
74 | SapDriverTableCreationMaximumRecordLimitReachedError | The number of selected fields exceeds the maximum supported by the SAP RFC (SAP Remote Function Call). |
75 | SapDriverExecuteDownloadError | An unknown error occurred while importing SAP table data. |
76 | SapDriverSearchTablesDownloadError | An unknown error occurred while searching for SAP tables. |
77 | SapDriverSqlParsingNoFromClauseError | The SELECT statement must contain a FROM clause. |
78 | SapDriverSqlParsingNoTableReferenceInFromClauseError | The FROM clause in the SELECT statement must specify a table. |
79 | SapDriverSqlParsingExpectedTopRowForPreviewError | The outer SELECT statement must have a TOP clause. |
80 | SapDriverSqlParsingPreviewStatmentMustNotHaveWhereClauseError | The outer SELECT statement must not have a WHERE clause. |
81 | SapDriverSqlParsingPreviewStatmentMustHaveUnqualifiedStarQualifierOnlyError | The outer SELECT statement must only have a * qualifier. |
82 | SapDriverProjectPathNotFoundError | The specified Temporary Working Directory does not exist. |