Search code examples
postgresqlsapslt

Mirror SAP internal data to an external system


We would like to mirror data which is inside SAP to an external database.

Up to now there is a script which exports the data every night.

The customer wants this to happen more often. It should happen every hour.

The export is quite big, and we search for a better way to mirror data which is inside SAP to an external database.


Solution

  • Based on the tag, I assume that your external database is a PostgreSQL database. In this case, I don't think you will really find a pure SAP, database independent solution.

    The standard solution for this sort of replication is the SAP SLT Server. It supports taking data out of your SAP system to either a SAP target or a non-SAP target. Currently it supports the following non-SAP targets:

    • DB2
    • SAP MaxDB
    • Microsoft SQL Server
    • Oracle
    • Sybase ASE

    As you can see, PostgreSQL is not included in there (yet). In conclusion, I see the following possibilities:

    • Use SLT in combination with some other external DB that is supported.
    • Use a third party replication tool like for example SymmetricDS.
    • Depending on your source database, you might be able to use some database specific tools (e.g. SAP HANA Smart Data Integration).
    • Write some custom code for doing it. In my opinion, you should try to build a sort of log table in this case, to record (using maybe triggers) which rows were inserted / updated / deleted since the last replication. IMO, this should be really a last resort, as database replication is a fairly common topic and you should not reinvent the wheel.