Custom table data Migration from SAP ECC to S4Hana using with / without BODS

Hello All,

There is always bunch of discussions, approaches on custom table migrations from SAP ECC to S/4HANA.

I summarized the methods that been utilized in my experience.

Here’s a detailed step-by-step approach for migrating custom tables from SAP ECC to S/4HANA using SAP BODS, including load methods and best practices:

📌 Objective:

To migrate custom Z-tables from SAP ECC to SAP S/4HANA using SAP BODS (BusinessObjects Data Services), ensuring data accuracy, auditability, and system integrity.

🔁 Phases of Custom Table Migration

✅ 1. Pre-requisites

Task

Details

📄 Identify Tables

List all custom tables (Z* tables) to be migrated

🔐 Access Setup

Ensure BODS has access to ECC and S/4HANA systems (create datastores)

📂 Data Volume

Estimate the number of records to handle capacity planning

🛠️ Coordination

Collaborate with ABAP team for BAPI/IDoc if needed

🧾 Version Check

Ensure compatibility of ECC extractors and S/4 targets

🔍 2. Source ECC Setup (BODS Extraction)

Step

Method

🟢 ECC Datastore in BODS

Create Application server-based datastore

📤 Extract Table

Use Table Reader transform to extract data from custom Z-table (e.g., ZCUSTOM_DATA)

📐 Data Cleansing

Apply transformation using Query transform, remove blanks, trim strings, convert formats

📋 Delta Logic (optional)

Filter with date fields or change documents for incremental loads

🧭 3. Target S/4HANA Load Method (Options)

Load Method

Description

Usage

Direct DB Insert

Insert into S/4 custom Z-table if direct DB access is allowed

Least preferred (integrity risk)

BAPI / RFC Call

Use custom BAPI or FM created by ABAP team to handle inserts/updates

Recommended

IDoc

Use custom IDoc (ZIDOC) type to post data into S/4

Reliable for large volumes

Intermediate Staging

Load into staging DB (e.g., HANA) and use SLT or ABAP program to post to S/4

When performance is a concern or no interface is available

🔧 Work closely with the ABAP team to create the required Z_BAPI_LOAD_CUSTOM or IDoc type (if not existing).

🔄 4. BODS Job Design

Workflow:Source Table Read → Transformation → Target LoadJob Elements:Batch Job with Error handlingValidation logic (null checks, date formats, etc.)Use Case Transform or Validation transform if neededUse Auditing and logging to record success/failure count

🧪 5. Testing & Validation

Type

Action

✅ Unit Test

Load limited records first

📊 Reconciliation

Match record counts, key fields between ECC and S/4

🔍 Functional Validation

Ensure data is correctly reflected in S/4 via GUI

🔄 Re-run Capability

Add timestamp or keys for delta re-run or rollback options

📦 6. Deployment & Post-Migration

Document the job flows and configurationsSchedule BODS jobs (via Management Console or third-party scheduler)Monitor first few loads manuallyArchive logs and reconciliation reports

🧰 Example: ZSALES_MIGR Table Migration

Source

ECC → ZSALES_MIGR

BODS reads data

from ECC → ZSALES_MIGR

Transforms data

cleans up codes, formats, adds audit info

Loads to S/4HANA

via Z_BAPI_LOAD_SALES_MIGR BAPI

Post-checks

Validate in S/4 GUI with TCode SE16N

📌 Final Tips

🚫 Avoid direct DB inserts to S/4 unless approved🔁 If data is large, consider batch-wise chunking📤 Maintain logs for each load (successful + failed)💬 Always align with functionals to confirm logic and structure

Happy Learning. please share your comments and feedback.

Thanks,

Venkatesh Golla

 

​ Hello All,There is always bunch of discussions, approaches on custom table migrations from SAP ECC to S/4HANA.I summarized the methods that been utilized in my experience.Here’s a detailed step-by-step approach for migrating custom tables from SAP ECC to S/4HANA using SAP BODS, including load methods and best practices:📌 Objective:To migrate custom Z-tables from SAP ECC to SAP S/4HANA using SAP BODS (BusinessObjects Data Services), ensuring data accuracy, auditability, and system integrity.🔁 Phases of Custom Table Migration✅ 1. Pre-requisitesTaskDetails📄 Identify TablesList all custom tables (Z* tables) to be migrated🔐 Access SetupEnsure BODS has access to ECC and S/4HANA systems (create datastores)📂 Data VolumeEstimate the number of records to handle capacity planning🛠️ CoordinationCollaborate with ABAP team for BAPI/IDoc if needed🧾 Version CheckEnsure compatibility of ECC extractors and S/4 targets🔍 2. Source ECC Setup (BODS Extraction)StepMethod🟢 ECC Datastore in BODSCreate Application server-based datastore📤 Extract TableUse Table Reader transform to extract data from custom Z-table (e.g., ZCUSTOM_DATA)📐 Data CleansingApply transformation using Query transform, remove blanks, trim strings, convert formats📋 Delta Logic (optional)Filter with date fields or change documents for incremental loads🧭 3. Target S/4HANA Load Method (Options)Load MethodDescriptionUsageDirect DB InsertInsert into S/4 custom Z-table if direct DB access is allowedLeast preferred (integrity risk)BAPI / RFC CallUse custom BAPI or FM created by ABAP team to handle inserts/updatesRecommendedIDocUse custom IDoc (ZIDOC) type to post data into S/4Reliable for large volumesIntermediate StagingLoad into staging DB (e.g., HANA) and use SLT or ABAP program to post to S/4When performance is a concern or no interface is available🔧 Work closely with the ABAP team to create the required Z_BAPI_LOAD_CUSTOM or IDoc type (if not existing).🔄 4. BODS Job DesignWorkflow:Source Table Read → Transformation → Target LoadJob Elements:Batch Job with Error handlingValidation logic (null checks, date formats, etc.)Use Case Transform or Validation transform if neededUse Auditing and logging to record success/failure count🧪 5. Testing & ValidationTypeAction✅ Unit TestLoad limited records first📊 ReconciliationMatch record counts, key fields between ECC and S/4🔍 Functional ValidationEnsure data is correctly reflected in S/4 via GUI🔄 Re-run CapabilityAdd timestamp or keys for delta re-run or rollback options📦 6. Deployment & Post-MigrationDocument the job flows and configurationsSchedule BODS jobs (via Management Console or third-party scheduler)Monitor first few loads manuallyArchive logs and reconciliation reports🧰 Example: ZSALES_MIGR Table MigrationSourceECC → ZSALES_MIGRBODS reads datafrom ECC → ZSALES_MIGRTransforms datacleans up codes, formats, adds audit infoLoads to S/4HANAvia Z_BAPI_LOAD_SALES_MIGR BAPIPost-checksValidate in S/4 GUI with TCode SE16N📌 Final Tips🚫 Avoid direct DB inserts to S/4 unless approved🔁 If data is large, consider batch-wise chunking📤 Maintain logs for each load (successful + failed)💬 Always align with functionals to confirm logic and structureHappy Learning. please share your comments and feedback.Thanks,Venkatesh Golla   Read More Technology Blogs by Members articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author