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