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