Skip to content

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

  1. Put the directory file and the payload files of the extract into one folder.
  2. Click File > Open project… and choose that folder.
  3. 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:

  1. Click Write to database
  2. Choose the database (SQLite, PostgreSQL, …)
  3. 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 out jdbc:postgresql:.

  4. Click Start

ℹ️ The written database carries two extra columns, DR_VOL_ID and DR_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:

  1. Click Write to files
  2. Click Choose… and pick the folder the files go into
  3. 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.

beye inspect /path/to/directory.file

Example output:

Client (key)..............................
Logical system..................U90CLNT400
DaRT release...........................2.7
SAP release............................740

More information ...

List Segments

List all segments in an extract:

beye list /path/to/directory.file
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:

beye list /path/to/directory.file TXW_SEL
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.

beye save --config-file config.json

With password authentication:

beye save --config config.json -u username -p

ℹ️ The written database carries two extra columns, DR_VOL_ID and DR_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-rows if 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:

beye write-to-file /path/to/directory.file /output/directory TXW_SEL TXW_META

Validating the checksums

If you have written the extract to a database with the following command:

beye save --config-file config.json

Now validate the extract (use the same config file):

beye validate --config-file config.json

Output:

Check sums match for table TXW_FI_NGL_POS
Check sums match for table TXW_FI_POS

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

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.