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.
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:
- 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 HighBond (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 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.
Consult your SAP security documentation for detailed information about assigning SAP authorizations to users.
|Authorization class||Authorization object||Field||Values||Details|
Cross-Application Authorization Objects
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_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.
16 (authorizes Execute)
|RFC_TYPE||FUNC (Function Module)|
|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)||*|
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.
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|
<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
- From the Analytics main menu, select Import > Database and application.
- From the New Connections tab, in the ACL Connectors section, select SAP.
You can filter the list of available connectors by entering a search string in the Filter connections box. Connectors are listed alphabetically.
- 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.
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.
Preloaded SAP Systems
The name of an SAP system with connection settings specified in one of the following SAP GUI configuration files:
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:
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.||
The three-digit code identifying a client within the SAP system.
A client is a sub-partition of an SAP system.
|Language||The language of the SAP system.||EN|
The configuration of servers in the SAP system:
[ 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.
[ Server Type = LOAD BALANCE ]
|The name of a load-balanced group of servers in the SAP system.||ACL Production|
[ Server Type = LOAD BALANCE ]
|The three-character identifier of the SAP system.||PHR|
The method of user authentication used by the SAP system:
|Authentication Method = Username and Password|
|User's SAP user ID.|
|User's SAP password.|
|Authentication Method = SNC without Single Sign On|
SNC User Name
|User's SAP SNC user ID.|
|User's SAP SNC password.|
Authentication Method = Single Sign On
Authentication Method = SNC without Single Sign On
|The SNC name of the communication partner (the target name).||
"p:CN=sap01.host1, OU=Administration, O=myCompany, C=US"
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):
The authentication protocol used by the SAP system:
|Mechanism = Individual|
Network path to the external security product's cryptographic library.
Enclose the network path in quotation marks if it contains any spaces.
Maximum Number of Records Per Request
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.
Variable String Length
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.
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.
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 , S , and W must be uppercase.
The specific form of your SAProuter connection string may differ.
RFC Function Module
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.
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.
- Enter a search string in the Search tables box.
If the table is not found, the Search table name in database button appears.
- 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.
Searches in the SAP database are on the short SAP table name only (ANAT, BNKA, and so on). Table descriptions are not searched.
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.
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:
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.
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.|