Introduction
Xtract Core is a configurable Web API server for extracting data from SAP and writing them to various target environments.
-
Supported SAP Objects
- SAP Tables
- SAP Table Joins
- Q4 2025: SAP Delta Tables (CDC)
-
Supported Target Environments
For information on which SAP systems are supported, refer to the Xtract Core Requirements.
Note
As Xtract Core is still in its initial release, only certain SAP objects and target environments are supported. Contact the Theobald Software sales team for feature requests or feedback.
How to Get Xtract Core
Contact the Theobald Software sales team to get access to a 2 month trial version of Xtract Core. You are guaranteed to get unrestricted support by the Theobald Software support team during the evaluation phase. In case of questions or doubts, feel free to contact Theobald Software at any time:
How to Get Started
- Install the Xtract Core Windows service.
- Configure the Xtract Core web server to fit your requirements.
- Start using the Xtract Core API to create connections and extractions.
Workflow
The general workflow for Xtract Core includes the following steps:
- Create a connection to an SAP source system to extract data from.
- Create a connection to a destination where the data is written:
- Optional: Retrieve metadata about the tables in your SAP source system:
- Create a reusable extraction that specifies which SAP table data to extract:
- Run the extraction.
Parameters
The API Reference lists all available Xtract Core endpoints. It includes descriptions of all endpoints and their parameters. The Xtract Core API uses the following parameter types:
Parameter | Description | Example |
---|---|---|
Path | Path parameters are part of the request URL and are used to address specific resources. They are referenced by placeholders in curved brackets. | /connections/sap/{name}/tables?pattern=ma* |
Query | Query parameters are added to the end of a request URL, following '?'. They are listed in key-value pairs, separated by '&'. Query parameters can be used for filtering or sorting. | /connections/sap/{name}/tables?pattern=ma* |
Body | Body parameters are passed in the request body of POST methods to add or update structured data. In the API reference, a list of mandatory and optional body parameters is provided in the data model of an endpoint. Expand the entries in the data model to display a descriptions of the individual parameters. | { |
Run Extractions
Extractions are executed on the web server. The response of an extraction run contains the following information:
Response | Description |
---|---|
HTTP status code | The HTTP status code 200 indicates a successful extraction call. It does not indicate a successful execution of the extraction. The HTTP status code 404 indicates that the called extraction does not exist. Detailed information can be found in the log of the web service. |
HTTP header | Shows the timestamp of the extraction, e.g., X-XU-Timestamp: 2025-01-24_19:03:09.971. The timestamp is unique and can be used to query status information and logs of the extraction. |
HTTP response body | The response body of the extraction contains the extraction log. |
An extraction can be executed synchronously (/run
) or asynchronously (/start
).
Synchronous Extractions
When running extractions synchronously, the HTTP response head is returned as soon as the server receives the first data package. Use the following endpoint to run an extraction and wait for the result:
Note
Any issue that occurs before the first data package is received, result in a 4XX or 5XX status code.
Asynchronous Extractions
When running extractions asynchronously, the request immediately returns the HTTP response head. Status information can be queried using the timestamp in the header. Use the following endpoint to run an extraction without waiting for the results:
Logs
Xtract Core logs all steps performed on a system in log files. The log files are located in the installation directory of Xtract Core. You can also fetch logs using the Xtract Core API, see API Reference: Logs.
The logs/
folder inside the installation directory contains the following log files:
File | Description |
---|---|
ServiceLog.txt | Contains the activities of service.exe |
/servers/listener/yyyyMMddTHHmmss.fffZ.log | The files name contains the timestamp in UTC. A new file is created when the server is started. listener.exe is the corresponding process. |
/servers/web/worker/yyyyMMddTHHmmss.fffZ.log | The name contains the timestamp in UTC. A new file is created when a TCP connection is accepted. worker.exe is the corresponding process. |
/extractions/{name}/yyyyMMddTHHmmss.fffZ.log | The name contains the timestamp in UTC. A new file is created to start an extraction. Contains detailed logs of the extraction run. |
/extractions/{name}/yyyyMMddTHHmmss.fffZ.json | The name contains the timestamp in UTC. A new file is created to start an extraction. Contains an overwiew of the extraction run. |