Configuring an ADF Linked Service Connection for SAP Table
For information on how to enable a connection for use with linked services, see Configuring a Linked Service Connection.
Field labels in this walkthrough follow the underlying Azure Data Factory property names, with the connection column that carries each value named alongside. The exact labels shown in the BimlFlex Connection Editor may differ.
After selecting SAP Table from the Linked Service Type dropdown, the form required for creating an SAP Table Linked Service will appear.
Source Only Connector
An SAP Table connection is used as a source. It is not available as a target.
Each SAP Table object is copied whole from the table the dataset names. The copy has no source query.
The copy source reads the setting keys below from the object's settings. Each key is a setting of the Setting Editor's Azure group, in the section Data Factory Copy Source Members, with the label the table names. These settings are blank by default. A value reaches an object as a Setting Override on that object. Add on the Azure group's Overrides tab opens the Add Setting Override form, where the Attribute Type is Object, the Connection and the Object select the object, the Setting is picked by its label (shown as Row Count (Data Factory Copy Source Members)), and the Override Value holds the member's text. A key that is empty or holds the default in the table is not written to the copy source.
| Key | Label | Azure Data Factory property | Default |
|---|---|---|---|
rowCount | Row Count | rowCount | 0 |
rowSkips | Row Skips | rowSkips | 0 |
rfcTableFields | RFC Table Fields | rfcTableFields | No default |
rfcTableOptions | RFC Table Options | rfcTableOptions | No default |
partitionOption | Partition Option | partitionOption | None |
customRfcReadTableFunctionModule | Custom RFC Read Table Function Module | customRfcReadTableFunctionModule | No default |
sapDataColumnDelimiter | SAP Data Column Delimiter | sapDataColumnDelimiter | No default |
The partitionOption key takes one of None, PartitionOnInt, PartitionOnCalendarYear, PartitionOnCalendarMonth, PartitionOnCalendarDate or PartitionOnTime.
Choosing an Authentication Method
| Method | Credentials | Additional Settings |
|---|---|---|
| Basic | Username and Password | None |
| Basic with Secure Network Communications (SNC) | Username and Password | sncMode, sncMyName, sncPartnerName, sncLibraryPath, sncQop |
Recommendation: Store the Password in Azure Key Vault rather than entering it as plaintext.
Choosing an Application Server or a Message Server
An SAP Table connection reaches the SAP system through an application server or through a message server.
- Application server: set the Server and the System Number.
- Message server: set the Message Server, the Message Server Service, the System ID and the Logon Group.
Complete Example: Basic Authentication with Azure Key Vault
| Field | Example Value |
|---|---|
| Connect via Integration Runtime | bfx-selfhosted-ir |
| Server | sapapp.contoso.com |
| System Number | 00 |
| Client ID | 001 |
| Username | BFX_READER |
| Azure Key Vault Linked Service | bfx-kv |
| Secret Name (for Password) | BFX-SRC-SapTablePassword |
Required Fields
Common Required Fields
An SAP Table Linked Service connection signs in with Basic authentication, with or without Secure Network Communications, so the same fields are required on every connection.
These common required fields are:
- Connect via Integration Runtime
- Client ID
- Username
- Password (or Azure Key Vault)
Server Dependent Fields
The connection also sets the fields of one of the two server forms.
Fields for an application server:
Fields for a message server:
Optional fields are:
Connect via Integration Runtime
Connect via Integration Runtime names the integration runtime for an SAP Table Linked Service connection.
The default value is AutoResolveIntegrationRuntime.
To use another runtime, select it from the dropdown or choose + New to add one.
When a custom value is saved in the linked service form, it will be added to the custom integration runtimes.
The custom values that appear in this dropdown can be maintained in Settings under Azure - AzureIntegrationRuntime.
The runtime is stored in the connection's LS_ConnectVia_IntegrationRuntime column. Any value other than AutoResolveIntegrationRuntime is written to the linked service as the runtime it connects through.
A self-hosted integration runtime is required for an SAP Table connection, so set this field to the name of a self-hosted integration runtime.
Server
The Server is the name of the server on which the SAP instance is located (for example, sapapp.contoso.com). It is used to connect to an SAP application server.
It is stored in the connection's LS_Server column and maps to the ADF server property.
System Number
The System Number identifies the SAP system. The value is a two-digit decimal number (for example, 00). It is used to connect to an SAP application server.
It is stored in the connection's LS_SystemNumber column and maps to the ADF systemNumber property.
Client ID
The Client ID identifies the client in the SAP system. The value is a three-digit decimal number (for example, 001).
The SAP client number is stored in the connection's Service Principal Id column, LS_ServicePrincipalId, and maps to the ADF clientId property.
Language
The Language is the language that the SAP system uses (for example, EN).
It is stored in the connection's LS_Language column and maps to the ADF language property. BimlFlex writes it to the linked service when the column is set, and Azure Data Factory uses EN when no language is given.
Message Server
The Message Server is the host name of the SAP message server (for example, sapmsg.contoso.com). It is used to connect to an SAP message server.
It is stored in the connection's LS_MessageServer column and maps to the ADF messageServer property.
Message Server Service
The Message Server Service is the service name or port number of the message server (for example, 3601). It is used to connect to an SAP message server.
It is stored in the connection's LS_MessageServerService column and maps to the ADF messageServerService property.
System ID
The System ID is the ID of the SAP system where the table is located (for example, ECC). It is used to connect to an SAP message server.
It is stored in the connection's LS_SystemId column and maps to the ADF systemId property.
Logon Group
The Logon Group is the logon group for the SAP system (for example, PUBLIC). It is used to connect to an SAP message server.
It is stored in the connection's LS_LogonGroup column and maps to the ADF logonGroup property.
Authentication Type
The SAP Table Linked Service connection signs in with Basic authentication, and can add Secure Network Communications (SNC) when SNC is configured on the SAP server. The linked service carries no Authentication Type property, and BimlFlex does not read the connection's Authentication Type column for this connector.
For Basic, a Username and Password are required.
Basic
Basic authentication signs in to the SAP server with a Username and Password.
The Username is stored in the connection's LS_Username column and maps to the ADF userName property.
The Password field accepts the password as plaintext in the LS_Password column, or an Azure Key Vault reference held in the LS_PasswordKVS_ fields that resolves to the password at runtime.
When the connection's LS_EncryptedCredential column holds an Encrypted Credential value, it is also written to the linked service.
It is suggested that Azure Key Vault be used in place of manually entering the Password.
Secure Network Communications
The Secure Network Communications settings are stored in the connection's Additional Settings (LS_AdditionalSettings) under the keys below. Each key maps to the ADF property of the same name, and BimlFlex writes it to the linked service when the key is set.
| Key | Value |
|---|---|
sncMode | 1 turns SNC on, and BimlFlex writes it to the linked service as true. SNC is off when the key is not set. |
sncMyName | The initiator's SNC name. Applies when sncMode is on. |
sncPartnerName | The communication partner's SNC name. Applies when sncMode is on. |
sncLibraryPath | The external security product's library. Applies when sncMode is on. |
sncQop | The SNC Quality of Protection level: 1 (Authentication), 2 (Integrity), 3 (Privacy), 8 (Default) or 9 (Maximum). Applies when sncMode is on. |
Azure Data Factory Linked Service Additional Information
For additional information on ADF SAP Table Linked Service and its connection requirements see the Azure Data Factory SAP Table Connector documentation.