2.4 SAP Database Extraction

Database-level extraction, as the name suggests, taps in to SAP data at database level. There are various APN Partner solutions— Attunity Replicate, HVR for AWS, and others—that capture raw data as it is written to the SAP database transaction logs. They transform it with required mappings, and store the data in S3. These solutions are also able to decode SAP cluster and pool tables.

  1. For HANA databases, especially those that have prebuilt calculation views, customers can use Python Support SAP HANA client libraries for native integration with AWS Glue and AWS Lambda. Or, they use SAP HANA Java Database Connectivity (JDBC) drivers.

➡️ We will do this LAB using AWS Lambda

  1. The key considerations for database-level extraction include the following: As the third-party adapters pull data from transaction logs, there is minimal performance impact to the SAP database application.

  2. Change data capture is supported out of the box based on database change logs. This is true even for those tables where SAP doesn’t capture updated date and time at the application level.

  3. Certain database licenses (for example, runtime licenses) may prevent customers from pulling data directly from the database. This pattern doesn’t retain the SAP application logic, which is usually maintained in the ABAP layer, potentially leading to re-mapping work outside SAP. Also, changes to the SAP application data model could result in additional maintenance effort due to transformation changes.

➡️ Customer use-case for Database Level Extraction:

  • No additional software required; can use JDBC drivers or Node.js/Python packages to pull data from database

  • Quick pull for a customer to understand the calculation views


  • Using the above extraction frequently would cause potential performance issues.

  • Customer to choose the SAP system with the right SAP license version to support database extracts to avoid indirect license cost.

  • No Support for change data capture.

  • Custom development is required.

Visual Studio and Mac terminal is used for the lab setup , you can use your preferred IDE or local terminal (MAC, Windows or Linux)

Below is a list of the steps for this lab: