Connecting to SAP

Concept Information

ACCESSDATA command

SAP is an enterprise-wide business suite for managing a broad range of business processes. Use the ACL Connector for SAP to import your organization's SAP data.

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 a separate 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.

Before you start

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.

  1. Sign in to HighBond (www.highbond.com).
  2. In Launchpad, under Resources, click Downloads.
  3. 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.
  4. On the SAP system, use the SAINT transaction to access the Add-On Installation Tool.
  5. 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 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 server where you intend to use Analytics's SAP connector. 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 Robots Agent.
Analytics Exchange users The SAP GUI must be installed on the server that houses AX Server, and on any AX Engine Node servers that will be used to access your SAP system.

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

Create an SAP connection

  1. From the Analytics main menu, select Import > Database and application.
  2. From the New Connections tab, in the ACL Connectors section, select SAP.

    Tip

    You can filter the list of available connectors by entering a search string in the Filter connections box. Connectors are listed alphabetically.

  3. In the Data Connection Settings panel, enter the connection settings and at the bottom of the panel, click Save and Connect.

    You can accept the default Connection Name, or enter a new one.

The connection for SAP is saved to the Existing Connections tab. In the future, you can reconnect to SAP from the saved connection.

Once the connection is established, the Data Access window opens to the Staging Area and you can begin importing data. For help importing data from SAP, see Working with the Data Access window.

Connection settings

Note

Consult your organization's SAP Basis Administrator for the required settings for the SAP connector.

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.

Additional settings are required in the ACL Connector for SAP if you are using SNC, with or without 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.

Basic settings

Setting Description Example

Preloaded SAP Systems

optional

The name of an SAP system with connection settings specified in one of the following SAP GUI configuration files:

  • SAPUILandscape.xml
  • saplogon.ini

If you select a preloaded SAP system, values from the SAP GUI configuration file automatically populate a number of the other SAP connection settings for you.

Default location of the SAP GUI configuration file:

C:\Users\<username>\AppData\Roaming\SAP\Common

If both configuration files are present in the ..\SAP\Common folder, SAPUILandscape.xml takes precedence.

PHR - Production Human Resources
Server The host name or IP address of the SAP system.
  • phr-1.example.com
  • 52.202.133.148
Client

The three-digit code identifying a client within the SAP system.

A client is a sub-partition of an SAP system.

800
Language The language of the SAP system. EN
Server Type

The configuration of servers in the SAP system:

  • NORMAL a single server
  • LOAD BALANCE a load-balanced group of servers
  • NORMAL
  • LOAD BALANCE

Instance Number

[ Server Type = NORMAL ]

The two-digit instance number of the SAP system.

The instance number forms the last two digits of the port numbers used for inbound and outbound communication between the SAP connector and the SAP system.

For more information, see SAP port configuration.

01

Logon Group

[ Server Type = LOAD BALANCE ]

The name of a load-balanced group of servers in the SAP system. ACL Production

System Id

[ Server Type = LOAD BALANCE ]

The three-character identifier of the SAP system. PHR
Authentication Method

The method of user authentication used by the SAP system:

  • Username and Password
    • Standard SAP authentication method
    • Secure Network Communications (SNC) not enabled
  • Single Sign On
    • SNC with single sign-on
  • SNC without Single Sign On
    • SNC without single sign-on
 
Authentication Method = Username and Password

User

User's SAP user ID.  

Password

User's SAP password.  
Authentication Method = SNC without Single Sign On

SNC User Name

User's SAP SNC user ID.  

SNC Password

User's SAP SNC password.  

Authentication Method = Single Sign On

or

Authentication Method = SNC without Single Sign On

Partner Name

The SNC name of the communication partner (the target name).

"p:CN=sap01.host1, OU=Administration, O=myCompany, C=US"

p:CN=SAPService@myCompany.com

Note

Enclose the SNC name in quotation marks if it contains any spaces.

Quality of Protection

The level of security protection applied by Secure Network Communications (SNC):

  • Authentication Verification of the identity of communication partners. No additional data protection.
  • Integrity Detection of any changes or manipulation of data in transit. (Includes Authentication)
  • PrivacyEncryption of messages in transit. The maximum level of security protection provided by SNC. (Includes Integrity and Authentication)
  • Maximum Available When connecting to the SAP system, the highest level of security protection available is used.
 

Mechanism

The authentication protocol used by the SAP system:

  • Kerberos
  • NTLM
  • Individual
 
Mechanism = Individual

Library Path

Network path to the external security product's cryptographic library.

C:\SNC_Cryptolib\sapcrypto.dll

"C:\Security Product\library.dll"

Note

Enclose the network path in quotation marks if it contains any spaces.

Advanced settings

Setting Description Example

Maximum Number of Records Per Request

optional

Specifies the maximum number of records in each portion of a query.

You can specify a number from 5000 to 1,000,000. In most cases, you should leave the default of 15,000 records.

When the connector queries the SAP system, it makes multiple requests and returns records in batches until all records are returned. It then assembles the batches into a complete table.

On slower networks, you may be able to improve the performance of the SAP connector by increasing the number of records per request, which reduces the number of times the connector must reconnect.

100000

Variable String Length

optional

The number of characters that are imported from the start of SAP fields with a data type of STRING or RAWSTRING.

Large amounts of system information can sometimes be present as trailing characters in fields of these types. You can use this setting to limit the number of characters that are imported.

If you omit this setting, the default of 256 characters is used.

6

You know that only the first 6 characters in a STRING field contain information of interest.

Temporary Working Directory

The path for a directory that temporarily stores SAP data.

When the SAP connector retrieves data it is temporarily stored locally. Large tables can cause an overflow error if they cannot be accommodated by the Analytics project folder, which is the default storage location. This setting allows you to specify a different temporary storage location, one with enough space for large files.

If you leave the prefilled setting of Default, the data is temporary stored in the Analytics project folder.

D:\SAP_temp_storage

SAP Router

optional

If the SAP system is using an SAProuter, the connection string for the router.

The general form of the connection string is:

/H/host name/S/port number/W/password (if used)

/H/saprouter.mycompany.com/S/3299

/H/saprouter.mycompany.com/S/3299/W/password

Note

H , S , and W must be uppercase.

The specific form of your SAProuter connection string may differ.

RFC Function Module

optional

The name of the RFC Function Module that forms the basis of the SAP connector.

Leave this field blank. The value is automatically provided in the background.

The field exists in the event that the module is renamed in the future, and the new name must be manually specified.

 

Searching for SAP tables

After you create a new connection to an SAP system, Analytics lists 200 common SAP tables in the Available Tables list in the Data Access window. You can scroll through the list and click any table name to add the table to the Staging Area.

Search the Available Tables list

Instead of scrolling through the list, you may find it easier to search for a table name or table description. You can enter a search string in the Search tables box above the list. The search string can contain both literal characters and wildcard characters.

The search extends beyond the list to also search any undisplayed names stored in the local cache of table names.

For detailed information about searching the Available Tables list, see Add one or more tables to the Staging Area.

What if the table I searched for is not found?

If the table you searched for is not in the Available Tables list, or in the table name cache, you can search and retrieve additional table names from the SAP system.

  1. Enter a search string in the Search tables box.

    If the table is not found, the Search table name in database button appears.

  2. Click Search table name in database.

    Any table name in the SAP system that matches the search string is added to the Available Tables list. The table name or names are also added to the table name cache so that they are more immediately available in the future.

    Note

    Searches in the SAP database are on the short SAP table name only (ANAT, BNKA, and so on). Table descriptions are not searched.

    Tip

    You cannot selectively remove table names from the Available Tables list or the table name cache. To clean up the list of tables, delete and recreate the SAP connection. The list reverts to containing only the common SAP tables.

Joining SAP tables

You can join SAP tables in the Staging Area in the Data Access window. Joining SAP tables has the following limitations:

  • Eight tables can be joined, unlike other Analytics connectors, which allow joining up to ten tables.
  • Inner joins, and left joins, are supported. Outer joins, and right joins, are not supported.

For more information, see Joining tables in the Data Access window.

Key field icon

The key field icon identifies key fields in SAP tables added to the Staging Area. The purpose of the key field icon is to identify fields that you can use for joining SAP tables.

Note

Once you import SAP data into Analytics, the key field designation is lost, and key fields are not treated any differently from non-key fields.

SAP data type

The Type displayed with field names in SAP tables added to the Staging Area is the SAP data type. Other Analytics connectors display the Analytics data type. SAP data types are converted to Analytics data types upon import.

Language of the SAP system

In the Data Connection Settings panel, you can specify the language of the SAP system that you are connecting to.

Languages supported by Analytics

If the language of the SAP system is one of the languages supported by Analytics, the Available Tables list displays table descriptions in the supported language.

The languages supported by Analytics:

English German Spanish French
Chinese Japanese Portuguese  

Languages not supported by Analytics

If the language of the SAP system is not one of the languages supported by Analytics, the Available Tables list displays the initial list of table descriptions in English. Any tables that you subsequently search and retrieve from the SAP system appear in the language of the system. The result is that table descriptions in the Available Tables list are a mix of English and the language of the SAP system.

Note

The short SAP table name (ANAT, BNKA, and so on) is standard across all languages.

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.