SAP ECC on Oracle Private Preview
SAP ECC (ERP Central Component) is an on-premises enterprise resource planning suite from SAP. The SAP ECC on Oracle connector replicates data from an SAP ECC system running on top of an Oracle database by reading Oracle redo and archive logs directly and unpacking packed SAP table formats (cluster, pool, and long text) into transparent, query-ready tables in your destination.
By default, we connect directly to the Oracle database that backs your SAP system and sync your data from there; no SAP application server components are required. For other connection options, see Connection modes.
You must have an Enterprise or Business Critical plan to use the SAP ECC on Oracle connector.
Features
| Feature Name | Supported | Notes |
|---|---|---|
| Capture deletes | ||
| History mode | ||
| Custom data | ||
| Data blocking | ||
| Column hashing | ||
| Re-sync | ||
| Row filtering | ||
| API configurable | API configuration | |
| Priority-first sync | ||
| Fivetran data models | ||
| Private networking |
| |
| Authorization via API |
Supported deployment models
We support the SaaS and Hybrid deployment models for the connector.
You must have an Enterprise or Business Critical plan to use the Hybrid Deployment model.
Connection modes
The SAP ECC on Oracle connector supports two connection modes:
- Oracle Database Connection: Connects directly to the Oracle database that backs your SAP system and reads data using Oracle redo and archive logs. This is the default connection mode. No SAP application server components are required.
- NetWeaver Connection: Connects through the SAP NetWeaver Application Server using RFC calls. Requires the Fivetran NetWeaver API to be installed in your SAP system. We still read the same Oracle redo and archive logs for incremental updates, but relay file access through your SAP application server instead of connecting to the Oracle database directly.
| Oracle Database Connection | NetWeaver Connection | |
|---|---|---|
| Oracle version | Oracle 11g R2 or later | Oracle 11g R2 or later |
| SAP ABAP version | Not required | Unicode-compliant SAP ABAP 7.4 or later |
| Fivetran component | Not required | Fivetran NetWeaver API installed on your SAP system |
| User account | Dedicated Oracle database user with required privileges. See the SAP ECC on Oracle Setup Guide for details. | SAP user with required authorizations. See the SAP ECC on Oracle Setup Guide for details. |
| Connection details | Host/IP address, port, SID/service name/PDB, SAP schema | Host/IP address (ASHOST), system number (SYSNR), client number (CLIENT) |
| Data types | SAP ABAP types (from SAP ABAP Dictionary) | SAP ABAP types (from SAP ABAP Dictionary) |
| SAP ABAP Dictionary | Required (read via Oracle SQL) | Required (read via RFC) |
Both connection modes ultimately derive column data types from the same SAP ABAP Dictionary and use the same Oracle log-based CDC mechanism for incremental updates. The NetWeaver Connection mode only changes how Fivetran reaches the underlying Oracle database: RFC calls to your SAP Application Server instead of a direct database connection.
SAP table type support
We support all four SAP ECC physical storage models: transparent tables, pool tables, cluster tables, and long text tables such as STXL. In the destination, we expose the corresponding virtual tables.
Setup guide
Follow our step-by-step SAP ECC on Oracle Setup Guide for specific instructions on how to set up your Oracle database and configure the connector.
Schema information
We replicate the schema you select during setup. You specify a single SAP schema (for example, SAPSR3) and a destination schema prefix. We create one destination schema for the selected SAP schema, prepended with your chosen prefix.
Fivetran-generated columns
We add the _fivetran_synced (INSTANT) column to every table in your destination. It indicates the time when Fivetran last successfully synced the row.
We add the following columns depending on the table's sync mode:
- In Live mode (default), we don't add any other Fivetran-generated columns. When rows are deleted in the source database, we remove them from the destination.
- In Soft delete mode, we add the
_fivetran_deleted(BOOLEAN) column to mark rows that were deleted in the source database. - In History mode, we add the
_fivetran_active(BOOLEAN),_fivetran_start(TIMESTAMP), and_fivetran_end(TIMESTAMP) columns to track history.
Every SAP table has primary key columns defined in the SAP Data Dictionary, and we use those key columns as the primary key in your destination. Tables without primary key columns are not supported.
For more information about these columns, see our System Columns and Tables documentation.
Type transformations and mapping
This mapping is the same for both connection modes: we derive column data types from the SAP ABAP Data Dictionary rather than from Oracle system views. This ensures that columns such as DATN (date), numeric character strings (NUMC), and SAP-specific decimal types (CURR, QUAN, DEC, D16D, D34D) are typed according to their ABAP semantics in your destination, not according to the Oracle physical column type.
| SAP type | Fivetran type | Supported |
|---|---|---|
| ACCP | STRING | True |
| CHAR | STRING | True |
| CLNT | STRING | True |
| CUKY | STRING | True |
| CURR | BIGDECIMAL | True |
| D16D | BIGDECIMAL | True |
| D16N | BIGDECIMAL | True |
| D16R | STRING/BIGDECIMAL * | True |
| D16S | STRING/BIGDECIMAL * | True |
| D34D | BIGDECIMAL | True |
| D34N | BIGDECIMAL | True |
| D34R | STRING/BIGDECIMAL * | True |
| D34S | STRING/BIGDECIMAL * | True |
| DATN | LOCALDATE | True |
| DATS | STRING/LOCALDATE ** | True |
| DEC | BIGDECIMAL | True |
| DF16_DEC | BIGDECIMAL | True |
| DF34_DEC | BIGDECIMAL | True |
| FLTP | DOUBLE | True |
| INT1 | SHORT | True |
| INT2 | SHORT | True |
| INT4 | INTEGER | True |
| INT8 | LONG | True |
| LANG | STRING | True |
| LCHR | STRING | True |
| LRAW | BINARY | True |
| NUMC | STRING | True |
| PREC | SHORT | True |
| QUAN | BIGDECIMAL | True |
| RAW | BINARY | True |
| RSTR | BINARY | True |
| SSTR | STRING | True |
| STRG | STRING | True |
| TIMN | STRING | True |
| TIMS | STRING | True |
| UNIT | STRING | True |
| UTCL | INSTANT | True |
*We decode these SAP decimal floating-point types into a human-readable value: STRING for transparent tables, BIGDECIMAL for pool and cluster tables.
**The STRING or LOCALDATE type conversion depends on the Enable SAP date to LocalDate conversion toggle's state in the connection setup form. For details, see SAP date to LOCALDATE conversion in the setup guide.
If we don't support a certain data type, we automatically change that type to the closest supported type or, in some cases, don't load that data at all.
Long text (STXL) tables
For long text tables, we do not replicate the internal SRTF2, CLUSTR, and CLUSTD columns. Instead, we add the /FIVETRAN/STXL_TEXT (STRING) column, which contains the decoded long text assembled from the compressed source fragments.
Schema changes
We re-read the SAP Data Dictionary on every sync. When a column is added to or removed from an SAP table definition, we update the destination schema during the next sync. For a newly added column, we sync values for rows captured after the schema change. To populate that column for rows that were already in your destination, trigger a re-sync of the affected table.
Selecting data to sync
The SAP ECC on Oracle connector does not automatically include all available SAP dictionary tables in a connection. Instead, each connection syncs only the virtual SAP tables selected for that connection.
We use SAP Data Dictionary metadata in the SAP schema to build the available virtual SAP table list. This metadata lets us expose virtual SAP tables, such as BSEG, MARA, T001, and STXL, while preserving the mapping to their underlying physical storage:
| SAP DD table | Purpose |
|---|---|
DD02L | Table metadata (table class and physical container name) |
DD02T | Table descriptions displayed in the connector UI |
DD03L | Column definitions |
DD16S | Cluster key columns |
DDNTF | Column unpacking metadata |
DDNTT | Character set and code page metadata |
For packed SAP table types, we automatically resolve the underlying physical container and handle unpacking. For example, if you select BSEG, we resolve its physical container, RFBLG. You cannot select or sync physical container tables such as RFBLG or ATAB directly: always select the virtual tables, and we read the underlying container for you.
Sync overview
The sync behavior depends on your connection mode.
Oracle Database Connection mode
We perform an initial sync followed by updating data using Oracle log-based change data capture (CDC) infrastructure.
NetWeaver Connection mode
We perform the same initial sync followed by updating data using Oracle log-based CDC infrastructure as in Oracle Database Connection mode. The only difference is the transport: instead of connecting to the Oracle database directly, we route SQL statements and Oracle redo/archive log file access through RFC calls to your Fivetran NetWeaver API.
Initial sync
Oracle Database Connection mode: During the initial sync, we execute SELECT statements directly against the SAP-managed Oracle tables.
- Transparent tables are read row-by-row from the physical table that backs the logical table.
- Pool, cluster, and long text tables are read from their physical container (for example,
RFBLGfor theBSEGandBSECcluster tables), then unpacked using SAP Data Dictionary metadata before being written to the destination.
NetWeaver Connection mode: We execute the same SELECT statements described above for Oracle Database Connection mode, but route them through RFC calls to your SAP Application Server instead of connecting to the Oracle database directly. Table reads and unpacking of pool, cluster, and long text tables work identically to the Oracle Database Connection mode.
Updating data
Oracle Database Connection mode: After the initial sync, we perform incremental updates for any new or modified data in your source using log-based CDC. We read Oracle redo and archived logs to capture changes on the physical SAP tables, then apply the same unpacking transformation used in the initial sync. We write changes to the destination only when a complete transaction has been captured, so the destination never contains partial or intermediate states.
Supported sync modes
The SAP ECC on Oracle connector supports the following sync modes:
- Live mode (default)
- Soft delete mode
- History mode
Cluster tables are locked to Live mode and don't support Soft delete or History mode.
NetWeaver Connection mode: We perform incremental updates using the same Oracle log-based CDC mechanism described above for Oracle Database Connection mode. Because Fivetran doesn't connect to the Oracle database directly in this mode, we read the Oracle redo and archived log files by relaying file access through RFC calls to your SAP Application Server. We apply the same unpacking transformation used in the initial sync, and write changes to the destination only when a complete transaction has been captured. The supported sync modes are the same as described above.