Skip to content

Xtract Core 1.0.0

Xtract Core is a whitelabel Web API server for developing your own SAP interfaces. You can use the Xtract Core API to extract data from SAP Tables and write them to various supported target environments.


connections


GET /v0/connections/

Get a list of existing connections.

Response 200 OK


POST /v0/connections/sap/{name}

Create a connection to an SAP system.

Input parameters

Parameter In Type Default Nullable Description
body body None No Connection settings of the SAP system. Values can be found in the *Properties* of the SAP Logon Pad or they can be requested from the SAP Basis team.

| Property | Description | Required | |-----------|------------|----------| | **Host** | Host name or IP address of the SAP application server (Property *Host*) | Yes | | **Client** | A three-digit number of the SAP client between 000 and 999, e.g., 800. | Yes | | **InstanceNo** | A two-digit number between 00 and 99 (Property *SystemNumber*). | Yes | | **Language** | The logon language for the SAP system, e.g., 'EN' for English or 'DE' for German. | Yes | | **User** | Name of an SAP dialog user. | Yes | | **Password** | Password of the SAP user. | Yes |
name path None No Name for the new SAP connection. Allowed characters are [a-zA-Z0-9]. The name must not start with a number. Because the names of connections map to a directory on the file system, names are unique and not case sensitive.

Response 200 OK

Response 500 Internal Server Error


GET /v0/connections/sap/{name}/test

Test a connection to an SAP system.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name for the SAP connection you want to test.

Response 200 OK

Response 404 Not Found


POST /v0/connections/azureblob/{name}

Create a connection to an Azure Blob storage.

Input parameters

Parameter In Type Default Nullable Description
body body None No Connection settings of the Azure Blob storage.

| Property | Description | Required | |-----------|------------|----------| | **Account** | Name of the storage account. Do not enter the full URL. | Yes | | **Container** | Name of an existing Azure storage container. | Yes | | **Token** | The [Shared Access Signature (SAS) token](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/authentication/create-sas-tokens?view=doc-intel-4.0.0&tabs=azure-portal#use-the-azure-portal) of the storage container. | Yes |
name path None No Name for the new Azure Blob storage connection. Allowed characters are [a-zA-Z0-9]. The name must not start with a number. Because the names of connections map to a directory on the file system, names are unique and not case sensitive.

Response 200 OK

Response 500 Internal Server Error


DELETE /v0/connections/{name}

Delete a connection.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name of the connection you want to delete.

Response 200 OK

Response 404 Not Found


GET /v0/connections/sap/{name}/tables

Get name and description of all tables on the SAP system.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name of an existing SAP connection.
pattern query None No Define a search pattern for SAP tables. Wildcards (*) are supported. If *pattern* is omitted, this call may take very long and yield multiple MB of data.

Response 200 OK

Response 500 Internal Server Error


GET /v0/connections/sap/{name}/tables/{table}

Get name, description and data type of all columns in an SAP table.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name of an existing SAP connection.
table path None No Technical name of an SAP table.

Response 200 OK

Response 500 Internal Server Error

extractions


GET /v0/extractions/

Get a list of existing extractions.

Response 200 OK

Response 500 Internal Server Error


POST /v0/extractions/table/{name}

Create an extraction that writes data from an SAP table to a destination.

Input parameters

Parameter In Type Default Nullable Description
body body None No Extraction settings for the table extraction.

| Property | Description | Required | |-----------|------------|----------| | **Table** | Name of the SAP table you want to extract data from. | Yes | | **Where** | WHERE clause to filter table records. | Yes | | **Source** | Name of an existing SAP connection. | Yes | | **Destination**| Name of a destination connection, e.g., to an Azure Blob Storage container. | Yes | | **Columns** | Define which SAP table columns to extract. If omitted, all columns are extracted. | No | | **ResultName** | Name of the new table in the target environment. If omitted, the name of the extration is also the name of the new table. | No | | **FunctionModule** | Name of the function module that is used to extract SAP tables. If omitted, the SAP standard function module *RFC_READ_TABLE* is used. The installation of */THEO/READ_TABLE* is recommended. For more information, see [Function Module for Tables](knowledge-base/custom-function-module-for-table-extraction.md). | No |
name path None No Name for the new extraction. Allowed characters are [a-zA-Z0-9]. The name must not start with a number. Because the names of extractions map to a directory on the file system, names are unique and not case sensitive.

Response 200 OK

Response 500 Internal Server Error


DELETE /v0/extractions/{name}

Delete an extraction.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name of the extraction you want to delete.

Response 200 OK

Response 404 Not Found

run


GET /run/{name}

Run an extraction and wait for the result.

Description

TThe run endpoint runs an extractions synchronously and returns the HTTP response head as soon as the server receives the first data package. The response header contains the timestamp of the extraction and the response body contains the logs of the extraction.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name of the extraction you want to execute.
packageSize query None No The extracted data is split into packages of the defined size. The default value is 50000 lines. A package size between 20000 and 50000 is advisable for large amounts of data. 0 means no packaging. Not using packaging can lead to an RFC timeout for large data extractions.
rows query None No Set a maximum number of rows to be extracted. 0 extracts all data. You can use this option to perform tests with a small amount of data by entering a row limit of e.g., 100.
whereClause query None No WHERE clause to filter table records. For more information, see [WHERE Clause Syntax](https://helpcenter.theobald-software.com/xtract-core/knowledge-base/where-clause).

Response 200 OK

Response 404 Not Found

Response 500 Internal Server Error


GET /start/{name}

Run an extraction without waiting for the result.

Description

The start endpoint runs an extraction asynchronously and immediately returns the HTTP response head. The response header contains the timestamp of the extraction and the response body contains the logs of the extraction.

Input parameters

Parameter In Type Default Nullable Description
name path None No Name of the extraction you want to execute.
packageSize query None No The extracted data is split into packages of the defined size. The default value is 50000 lines. A package size between 20000 and 50000 is advisable for large amounts of data. 0 means no packaging. Not using packaging can lead to an RFC timeout for large data extractions.
rows query None No Set a maximum number of rows to be extracted. 0 extracts all data. You can use this option to perform tests with a small amount of data by entering a row limit of e.g., 100.
whereClause query None No WHERE clause to filter table records. For more information, see [WHERE Clause Syntax](https://helpcenter.theobald-software.com/xtract-core/knowledge-base/where-clause).

Response 200 OK

Response 404 Not Found

Response 500 Internal Server Error


Tags

Name Description
connections Everything about your connections to data sources and target environments.
extractions Everything about your data extractions.
run Everything about running extractions.