Quick Start¶
Get started with DaRT Reader in 5 minutes.
Using the GUI¶
Step 1: Launch DaRT Reader¶
Open the DaRT Reader application. You see the project window with three empty panes.
Step 2: Enter license key¶
Go to File > Settings…, enter your key under Licence key and click Save.
Step 3: Open the folder with your extract¶
- Put the directory file and the payload files of the extract into one folder.
- Click File > Open project… and choose that folder.
- Click the directory file in the Project pane on the left. Its name ends in
_DR.
Step 4: Check the extract¶
The middle pane shows what the extract states about itself — the SAP system, the DaRT release, who
requested it and when — and its payload files with the size each one states, the size it has on
disk and the difference, which has to be 0. Complete and consistent at the top says the payload
files are whole.
Step 5: Look at the segments¶
The Segments pane on the right lists every segment with its description and number of records.
- Click a segment to see its fields.
- Click its number of records to see its first 1,000 records in a window of their own.
- Tick the segments you want to write.
Step 6: Write the segments¶
To a database:
- Click Write to database
- Choose the database (SQLite, PostgreSQL, …)
- For a database file, click New file… or Existing file…; for a server, enter the
connection string, and the user and password where it asks for them.
ℹ️ Note: If you enter a connection string, leave out the protocol prefix. For example, in
jdbc:postgresql://localhost:5432/mydb, leave outjdbc:postgresql:. - Click Start
ℹ️ The written database carries two extra columns,
DR_VOL_IDandDR_SRC_OFFSET. They let the reader find a record again when it compares what it wrote against the extract, and they are two columns SAP never wrote — worth knowing before you hand the database on. Untick Compare sampled rows on the Write to database window if you would rather not have them; the check that reads every value back does not need them and stays on.
To CSV files:
- Click Write to files
- Click Choose… and pick the folder the files go into
- Click Start
Using the CLI¶
Inspect an Extract¶
View information about a DaRT extract:
ℹ️ Note: Make sure to save a valid license key using the GUI.
Example output:
Client (key)..............................
Logical system..................U90CLNT400
DaRT release...........................2.7
SAP release............................740
More information ...
List Segments¶
List all segments in an extract:
Example output when the DaRT extract is in German:FTR_GDPDU_XSTR_AT02 Finanzgeschäftsvorgangstypen 372
FTR_GDPDU_XSTR_AT07 Typ von Bewegungen und Konditionen 90
FTR_GDPDU_XSTR_AT10 Finanzgeschäftsart-Bezeichnung 145
FTR_GDPDU_XSTR_AT10B Customizing Bewertung 244
FTR_GDPDU_XSTR_AT30 Formeltabelle für Finanzmathematik 3
FTR_GDPDU_XSTR_AT40 Berechnungstypen des Finanzstromrechners 60
FTR_GDPDU_XSTR_ATMA Art eines Rahmenvertrags 1
More information ...
To see details for a specific segment:
Example output when the DaRT extract is in German:1 SEGTYPE Segmenttyp der Datendatei
2 SEGDATA Datendatei: Segmentdatenschlüssel
3 COMP_CODE Buchungskreis
4 PERIOD Geschäftsmonat
More information ...
Export to Database¶
Export segments to a database:
See the Configuration File Example section for an example of what the configuration file should look like.
With password authentication:
ℹ️ The written database carries two extra columns,
DR_VOL_IDandDR_SRC_OFFSET. They let the reader find a record again when it compares what it wrote against the extract, and they are two columns SAP never wrote — worth knowing before you hand the database on. Add--no-verify-rowsif you would rather not have them; the check that reads every value back does not need them and stays on.
Export to CSV¶
Export specific segments to CSV files:
Validating the checksums¶
If you have written the extract to a database with the following command:
Now validate the extract (use the same config file):
Output:
Configuration File Example¶
Create a config.json file for database exports:
{
"path-to-directory-file": "/path/to/directory.file",
"database-connection": {
"type": "bundled-driver",
"connection-string": "jdbc:postgresql://localhost:5432/mydb",
"driver": "postgres"
},
"number-connections": 4,
"chunk-size-per-connection": 5000,
"table-prefix": "peter_",
"autoCommit": true,
"robust": false
}
For SQLite (simpler):
{
"path-to-directory-file": "relative-path/directory-file",
"database-connection": {
"type": "bundled-driver",
"connection-string": "jdbc:sqlite:/path/to/database",
"driver": "sqlite"
},
"chunk-size-per-connection": 100,
"number-connections": 1,
"robust": false
}
Bring your own driver:
The following example assumes that the Firebird driver is on the classpath (see Advanced Configuration). It will only write the two segments TXW_FI_HD and TXW_FI_POS.
{
"path-to-directory-file": "relative-path/directory-file",
"selected-segments": {
"type": "include",
"segments": ["TXW_FI_HD", "TXW_FI_POS"]
},
"database-connection": {
"type": "own-driver",
"connection-string":"jdbc:firebirdsql://localhost:3050//var/lib/firebird/data/mydb.fdb",
"driver-class-name": "org.firebirdsql.jdbc.FBDriver",
"field-mapping": {
"BigDecimal": {
"type-name": "DECIMAL",
"has-length": false
},
"String": {
"type-name": "VARCHAR",
"has-length": true
},
"Int": {
"type-name": "INTEGER",
"has-length": false
},
"Date": {
"type-name": "TIMESTAMP",
"has-length": false
},
"Float": {
"type-name": "FLOAT",
"has-length": false
},
"BigInt": {
"type-name": "INT64",
"has-length": false
},
"LocalTime": {
"type-name": "TIMESTAMP",
"has-length": false
},
"YearMonth": {
"type-name": "TIMESTAMP",
"has-length": false
},
"Char": {
"type-name": "CHAR",
"has-length": true
}
}
},
"number-connections": 10,
"chunk-size-per-connection": 15000,
"autoCommit": true,
"robust": false
}
Next Steps¶
- GUI Users: Read the full GUI Guide
- CLI Users: See the complete CLI Reference
- Troubleshooting: Check Common Issues
Tips¶
Performance
For large extracts, increase numberConnections (4-8) and chunkSizePerConnection (5000-10000) for faster processing.
Security
Never store passwords in config files. Use the -p flag to enter passwords interactively.
Log Files
If something goes wrong, check the log via View > Log in the GUI.