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.