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