This web tool is based on SAP Extractor and provides a few additional pages to explore meta-information of the ERP system.
For that, the corresponding meta-tables are first extracted from the SAP ERP system into an SQLite DB.
The tables DD02T
, DD03L
and DD03M
are of interest and should be dumped for the intended language (e.g., WHERE DDLANGUAGE = 'EN'
).
Additionally, a table or view of DD03L
and DD03M
called DD03L_DD03M
should be created, which adds information on fields related tables (an example for that can be found below).
Using the SQLite Dump allows continued usage, also offline. But with small modifications, a direct connection to the SAP ERP systems DB is, of course, also possible.
CREATE VIEW DD03M_DD03L
AS
SELECT
*
FROM
DD03L
LEFT JOIN
DD03M
ON DD03M.TABNAME=DD03L.TABNAME AND DD03M.FIELDNAME=DD03L.FIELDNAME
Below you can find the original info for the rest of the functionality, which was presented in https://arxiv.org/abs/2110.03467. See the original repository https://github.com/Javert899/sap-extractor for additional and up-to-date information.
This project implements some connectors for the mainstream processes in SAP ERP ECC.
The project is available as a Python package in Pypi. It can be installed under a Python >=3.6 using:
pip install -U sapextractor
The root folder of the project includes a SQLIte dump of a SAP IDES instance, which can be used to test the extraction.
The project can be easily used from the command line:
import sapextractor
sapextractor.cli()
The command line interface asks to insert the connection parameters to the database, and the details about the extraction.
We support different processes, and modalities of extraction:
For the Order-to-Cash process, we can extract a dataframe (that can be stored in CSV/Parquet files), a XES log, and object-centric logs (in the MDL and JMD formats).
The two classic log modalities asks for a central document type (for each document of the type, a case is created with all the operations on the connected documents).
For the processes related to the accounting (such as the Accounts-Payable and the Accounts-Receivable processes), we offer different extraction possibilities:
- Dataframe (Parquet/CSV) containing a case per document. Each case contains all the transactions that are executed on the document.
- XES log containing a case per document. Each case contains all the transactions that are executed on the document.
- Document Flow: given a central document type, provide as many cases as many documents of such type. Each case contains, as events, the connected documents to the 'central' document of the case. It is possible to extract both a dataframe (Parquet/CSV) and a XES log.
- Transactions for the documents in a Document Flow: given a central document type, provide as many cases as many documents of such type. Each case contains, as events, the transactions executed on the connected documents to the 'central' document of the case. It is possible to extract both a dataframe (Parquet/CSV) and a XES log.
- Object-Centric event logs (in the MDL and JMD formats).
For the procurement, we can extract a dataframe (that can be stored in CSV/Parquet files), a XES log, and object-centric logs (in the MDL and JMD formats).
The two classic log modalities asks for a central document type (for each document of the type, a case is created with all the operations on the connected documents).
The extraction happens directly at the database level. We provide support for the extraction from the following databases:
- SQLite (as we provide a SAP IDES database dump in that format).
- Oracle (throught the cx_Oracle package).