The purpose of this document is to define the conversion approach to migrate the balance of OPEX Projects in scope from legacy system to S/4HANA, so Business User are able to know the entire cost of OPEX projects in scope.
There are 2 group go-live as below:
Note: There is possibility to shift into 1 go live date, this option is currently still being considered.
Below are the criteria of OPEX projects that are in scope. This document covers the approach for migrating the balance of OPEX Projects below for the company codes in scope from Legacy Source Systems into S/4HANA:
Conversion specs 1026 will provide the list of the WBS OPEX that meet the above criteria.
The relevancy rules for this object will follow the relevancy rule in conversion specification 1026 (WBS - CAPEX, OPEX, Statistical) in migrating the balance of OPEX projects as below:
Group 1 go live (1 July 2028) to migrate the above WBS for:
Group 2 go live (1 Jan 2029) to migrate the above WBS for:
The above balance will be posted as Statistical Posting to avoid double count from Trial Balance loading.
The data from legacy system includes:
The data from legacy system excludes:
Appendix A
Group 1 go live:
Assumption: WBS OPEX always zero at month end
Migration of Project OPEX Balances - Group 1 Go Live (Part 1)
| Fiscal Year | Total Cost WBS OPEX |
| Acc balance up to 31 Dec 2026 | 100 |
Step 1 (Statistical Posting Transaction Code KAFD) to avoid double count from Trial Balance load
| Dr/Cr | G/L | Amount | Object | Translation Date |
| Dr | Transformed Cost Element | 100 | WBS | 31-Dec-26 |
Migration of Project OPEX Balances - Group 1 Go Live (Part 2)
| Fiscal Year | Total Cost WBS OPEX |
| Acc balance Jan-Dec 2027 | 30 |
Step 1 (Statistical Posting Transaction Code KAFD) to avoid double count from Trial Balance load
| Dr/Cr | G/L | Amount | Object | Translation Date |
| Dr | Transformed Cost Element | 30 | WBS | 31-Dec-27 |
Migration of Project OPEX balances - Group 1 Go LIve (Part 3)
| Fiscal Year | Total Cost WBS OPEX |
| Jan-28 | 70 |
| Feb-28 | 80 |
| Mar-28 | 60 |
| Apr-28 | 90 |
| May-28 | 50 |
| Jun-28 | 20 |
Step 1 (Statistical Posting Transaction Code KAFD) to avoid double count from Trial Balance load.
| Dr/Cr | G/L | Amount | Object | Translation Date |
| Dr | Transformed Cost Element | 70 | WBS | 31-Jan-28 |
| Dr | Transformed Cost Element | 80 | WBS | 29-Feb-28 |
| Dr | Transformed Cost Element | 60 | WBS | 31-Mar-28 |
| Dr | Transformed Cost Element | 90 | WBS | 30-Apr-28 |
| Dr | Transformed Cost Element | 50 | WBS | 31-May-28 |
| Dr | Transformed Cost Element | 20 | WBS | 30-Jun-28 |
Group 2 go live:
Migration of Project OPEX Balances - Group 2 Go live (Part 1)
| Fiscal Year | Total Cost WBS OPEX |
| Up to 31 Dec 2026 | 150 |
Step 1 (Statistical Posting Transaction Code KAFD) to avoid double count from Trial Balance load
| Dr/Cr | G/L | Amount | Object | Translation Date |
| Dr | Transformed Cost Element | 150 | WBS | 31-Dec-26 |
Migration of Project OPEX Balances - Group 2 Go live (Part 2)
| Fiscal Year | Total Cost WBS OPEX |
| Acc balance Jan-Dec 2027 | 90 |
Step 1 (Statistical Posting Transaction Code KAFD) to avoid double count from Trial Balance load
| Dr/Cr | G/L | Amount | Object | Translation Date |
| Dr | Transformed Cost Element | 90 | WBS | 31-Dec-27 |
Migration of Project OPEX Balances Group 2 Go live (Part 3)
| Fiscal Year | Total Cost of WBS OPEX |
| Jan-28 | 20 |
| Feb-28 | 50 |
| Mar-28 | 60 |
| Apr-28 | 70 |
| May-28 | 10 |
| Jun-28 | 90 |
| Jul-28 | 100 |
| Aug-28 | 40 |
| Sept-28 | 80 |
| Oct-28 | 15 |
| Nov-28 | 35 |
| Dec-28 | 25 |
Step 1 (Statistical Posting Transaction Code KAFD) to avoid double count from Trial Balance load
| Dr/Cr | G/L | Amount | Object | Translation Date |
| Dr | Transformed Cost Element | 20 | WBS | 31-Jan-28 |
| Dr | Transformed Cost Element | 50 | WBS | 29-Feb-28 |
| Dr | Transformed Cost Element | 60 | WBS | 31-Mar-28 |
| Dr | Transformed Cost Element | 70 | WBS | 30-Apr-28 |
| Dr | Transformed Cost Element | 10 | WBS | 31-May-28 |
| Dr | Transformed Cost Element | 90 | WBS | 30-Jun-28 |
| Dr | Transformed Cost Element | 100 | WBS | 31-Jul-28 |
| Dr | Transformed Cost Element | 40 | WBS | 31-Aug-28 |
| Dr | Transformed Cost Element | 80 | WBS | 30-Sept-28 |
| Dr | Transformed Cost Element | 15 | WBS | 31-Oct-28 |
| Dr | Transformed Cost Element | 35 | WBS | 30-Nov-28 |
| Dr | Transformed Cost Element | 25 | WBS | 31-Dec-28 |
The total of the legacy settlement transactions (COSP / COSS) will also be reconciled against the total costs posted to the WBS Element to ensure that all costs have been captured.
List of source systems and approximate number of records.
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
PF2 | Extraction of Project cost values for primary cost elements (COSP) | S/4HANA | ||
WP2 | Extraction of Project cost values for primary cost elements (COSP) | S/4HANA | ||
PF2 | Extraction of Project cost values for secondary cost elements (COSS) | S/4HANA | ||
WP2 | Extraction of Project cost values for secondary cost elements (COSS) | S/4HANA |
Additional Information
N/A
N/A
N/A
Special Requirements
Due to compliance requirement, there will be 3 SAP instances as below:
Project OPEX actual cost will be migrated to respective SAP instances based on the company codes. Please refer to column "Company Code" and "Instance" in Enterprise Structure Catalog - Google Sheets (worksheet 10. Company code)
The technical design of the target for this conversion approach for statistical posting (Transaction code KAFD) is as below:
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| COEP | OBJNR | J_OBJNR | Object Number | CHAR | 22 | Mandatory |
| COEP | PERIO | CO_PERIO | Period | NUMC | 3 | Mandatory |
| COEP | GJAHR | GJAHR | Fiscal year | NUMC | 4 | Mandatory |
| COEP | KSTAR | KSTAR | Cost element | CHAR | 10 | Mandatory |
| COEP | WTGBTR | WTGXXX | Total Value in Transaction Currency | CURR | 23 (2 decimal) | Mandatory |
| COEP | TWAER | TWAER | Transaction Currency | CUKY | 5 | Mandatory |
| WWERT | WWERT_D | Translation Date | DATS | 8 | Mandatory | |
| COEP | WKGBTR | WKGXXX | Total Value in Controlling Area Currency | CURR | 23 (2 decimal) | System generated |
| COEP | KWAER | KWAER | Controlling area currency | CUKY | 5 | System generated |
| COEP | WOGBTR | WOGXXX | Total Value in Object Currency | CURR | 23 (2 decimal) | System generated |
| COEP | OWAER | OWAER | Object Currency | CUKY | 5 | System generated |
| COEP | WRTTP | CO_WRTTP | Value Type | CHAR | 2 | System generated |
| COEP | VRGNG | CO_VORGANG | Business Transaction | CHAR | 4 | System generated |
| COEP | VERSN | VERSN | Version | CHAR | 3 | System generated |
There is no standard Data Migration Cockpit to post statistical posting (Transaction code KAFD). Hence there are 2 options as below:
Option 1: Create custom cockpit object
Option 2: Create LSMW
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
| 1 | C2 (Data can be loaded into SAP but not Business Ready) | Report that shows OPEX WBS with its balances on at the end of month Action item: In ECC, Business must settle OPEX WBS if the OPEX WBS balance is not zero at the end of month. | Run transaction code CJI3, the balance of WBS OPEX in scope must be zero. | List of WBS with its balance | PF2 and WP2 |
The high-level process is represented by the diagram below:

Extract data from a source into Syniti Migrate.
The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads
| Req # | Requirement Description | Team Responsible | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. | a. Get the list of WBS in scope from Conversion Specs#1026. b. Then extract the object numbers of these WBS Elements from table PRPS from source systems. c. Execute table COBRB by specifying the object numbers (from point b) and field "Account Assignment Category" = All settlement receiver excluding FXA and excluding WBS that is settled to WBS in the same project
| Syniti Team | ||||||||||||||||||||||||||||||||||||||||
The following tables will be used to extract the settlement data:
| ||||||||||||||||||||||||||||||||||||||||||
| 2. | Go to source systems to get the Primary Costs Total (Table COSP) and Secondary cost total (Table COSS) Retrieve the object numbers from Step 1 then extract the values from the COSP and COSS table.
Go to source system to get the Secondary Costs Total (Table COSS)
From the above, system will generate report as below. The report will need to be summarized by object number by total for all the fiscal years.
| Syniti Team | ||||||||||||||||||||||||||||||||||||||||
| 3. | Step #2 provides what needs to be posted for each WBS Element. The posting must use the original cost elements, that will be mapped to S/4 cost element. | Syniti Team | ||||||||||||||||||||||||||||||||||||||||
| 4. | Once the balance has been agreed above, post statistical posting by WBS and by original G/L as described in Appendix A | Syniti Team |
Selection Screen
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
| N/A |
Data Collection Template (DCT)
N/A.
Extraction Dependencies
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1. | List of WBS in scope from Conversion Specs#1026 | Data Team |
The Target fields are mapped to the applicable Legacy field that will be its source, this is a 3-way activity involving the Business, Functional team and Data team. This identifies the transformation activity required to allow Syniti Migrate to make the data Target ready:
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1. | In ADMM, select Object 9032 and launch this to execute transformation | Syniti Team |
| 2. | Perform transformation for all relevant WBS Elements. Legacy WBS Element is mapped to S/4HANA WBS elements in mapping table. Legacy G/L is mapped to S/4HAN GL in mapping table. | Syniti Team |
| 3. | Generate Pre-Load reports in ADMM for the extracted WBS Element amounts. | Syniti Team |
| 4. | Validate the transformed file as part of pre-load validation, raise data defects or provide the pre-load sign-off. | Business |
| 5. | Analyze and resolve any pre-load defects logged by business. | Data Team |
Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 1. | PF2 and WP2 | COSP | OBJNR | Object Number | S/4HANA | COEP | OBJNR | Object Number | COSP Object Number will identify the WBS Element from PF2 and WP2 (PRPS table) which will map to the S/4HANA WBS Element identified in WBS mapping table. |
| 2. | PF2 and WP2 | COSS | OBJNR | Object Number | S/4HANA | COEP | OBJNR | Object Number | COSS Object Number will identify the WBS Element from PF2 and WP2 (PRPS table) which will map to the S/4HANA WBS Element identified in WBS mapping table. |
| 3. | PF2 and WP2 | COSP | GJAHR | Fiscal Year | S/4HANA | COEP | GJAHR | Fiscal Year | Copy from source |
| 4. | PF2 and WP2 | COSS | GJAHR | Fiscal Year | S/4HANA | COEP | GJAHR | Fiscal Year | Copy from source |
| 5. | PF2 and WP2 | COSP | KSTAR | Cost Element | S/4HANA | COEP | KSTAR | Cost Element | Refer to Mapping legacy GL Accounts to S/4HANA GL Accounts |
| 6. | PF2 and WP2 | COSS | KSTAR | Cost Element | S/4HANA | COEP | KSTAR | Cost Element | Refer to Mapping legacy GL Accounts to S/4HANA GL Accounts |
| 7. | PF2 and WP2 | COSP | WTGxxx | Value in Transaction currency | S/4HANA | COEP | PERIO | Posting Period | The COSP source table stores period-based data in a columnar format, where each period is represented by an amount column suffixed with values such as 01, 02, and so on. To prepare the data for each period, these columns must be pivoted using the remaining attribute columns as qualifiers. The corresponding period numbers will also be derived during this pivoting process. |
| 8. | PF2 and WP2 | COSS | WTGxxx | Value in Transaction currency | S/4HANA | COEP | PERIO | Posting Period | The COSS source tables store period-based data in a columnar format, where each period is represented by an Amount column suffixed with values such as 01, 02, and so on. To prepare the data for each period, these columns must be pivoted using the remaining attribute columns as qualifiers. The corresponding period numbers will also be derived during this pivoting process. |
| 9. | PF2 and WP2 | COSP | WTGxxx | Value in Transaction Curr for relevant period Note: xxx represent the period | S/4HANA | COEP | WTGBTR | Total Value in Transaction Currency | xx represents all periods for previous years. Value type (COSP-WRTTP) must be “4” and Dr/Cr Indicator (COSP-BEKNZ) set to “≠O - Special: Sender credit from settlement”. Logic will be required to determine the posting period from the field name WTGxxx, with xx being the posting month. E.g. 001,002,003, etc. The extraction must refer as below: Group 1 go live (1 July 2028) to migrate the above WBS for:
Group 2 go live (1 Jan 2029) to migrate the above WBS for:
After extraction then statistical posting must be done, please refer to Appendix A. Note: Currency Adjustment During Migration (TCURX Consideration): In SAP, the TCURX table defines the number of decimal places used for each currency. This impacts how amounts are stored internally in database tables versus how they are displayed externally in user interfaces or reports. Currencies such as JPY (Japanese Yen), KRW (Korean Won), or VND (Vietnamese Dong) are typically configured with no decimal places (TCURX-CURRDEC = 0). Understanding and correctly applying the TCURX rules is essential during data migration to ensure financial consistency between ECC and S/4HANA. Internal vs External Currency Representation example: External Amount The amount value as displayed to users in SAP screens and reports. 96015 JPY Internal Amount The amount value stored in database tables for computation. 960.15 JPY Multiplied by factor = 10² if target has 2 decimals During data migration, these internal (technical) amounts must be converted to external amounts to ensure accuracy and consistency in the target S/4HANA system. Conversion Formula: External Amount = Internal Amount * 10 to the power (2 - Number of decimals for the currency in TCURX table) |
| 10. | PF2 and WP2 | COSS | WTGxxx | Value in Transaction Curr for relevant period Note: xxx represent the period | S/4HANA | COEP | WTGBTR | Total Value in Transaction Currency | xx represents all periods for previous years. Value type (COSS-WRTTP) must be “4” and Dr/Cr Indicator (COSS-BEKNZ) set to “≠O - Special: Sender credit from settlement”. Logic will be required to determine the posting period from the field name WTGxxx, with xx being the posting month. E.g. 001,002,003, etc. The extraction must refer as below: Group 1 go live (1 July 2028) to migrate the above WBS for:
Group 2 go live (1 Jan 2029) to migrate the above WBS for:
After extraction then statistical posting must be done, please refer to Appendix A. Note: Currency Adjustment During Migration (TCURX Consideration): In SAP, the TCURX table defines the number of decimal places used for each currency. This impacts how amounts are stored internally in database tables versus how they are displayed externally in user interfaces or reports. Currencies such as JPY (Japanese Yen), KRW (Korean Won), or VND (Vietnamese Dong) are typically configured with no decimal places (TCURX-CURRDEC = 0). Understanding and correctly applying the TCURX rules is essential during data migration to ensure financial consistency between ECC and S/4HANA. Internal vs External Currency Representation example: External Amount The amount value as displayed to users in SAP screens and reports. 96015 JPY Internal Amount The amount value stored in database tables for computation. 960.15 JPY Multiplied by factor = 10² if target has 2 decimals During data migration, these internal (technical) amounts must be converted to external amounts to ensure accuracy and consistency in the target S/4HANA system. Conversion Formula: External Amount = Internal Amount * 10 to the power (2 - Number of decimals for the currency in TCURX table) |
| 11. | PF2 and WP2 | COSP | TWAER | Transaction Currency | S/4HANA | COEP | TWAER | Transaction Currency | Copy from source |
| 12. | PF2 and WP2 | COSS | TWAER | Transaction Currency | S/4HANA | COEP | TWAER | Transaction Currency | Copy from source |
| 13. | S/4HANA | WWERT | Translation Date | Pls refer to Appendix A to assign the Translation Date for each extraction. System will use Translation Date to convert it to Company Code Currency and Group Currency. |
List of Custom Target Reports for this object is maintained here: Conversion Specification - Custom Reports Register.
| Mapping Table Name | Mapping Table Description |
|---|---|
GL Accounts | Mapping legacy GL Accounts to S/4HANA GL Accounts |
WBS Elements | Mapping legacy WBS Elements to S/4HANA WBS Elements |
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1. | Ensure all the fields that require value mapping, as stipulated in Section "Mapping tables", have the correct values mapped. | Data Team |
| Task | Action |
|---|---|
Verify Counts | Data team to verify the load count is the same as per identified data from Primary Cost Total COSP file and Secondary Cost Total COSS file. |
Validate | Validate that the extracted values from both tables (COSP and COSS) agree with the total transaction costs in transaction code CJI3 (by excluding "Dr/Cr Indicator" as "≠O") for each individual WBS Element. |
| Task | Action |
|---|---|
| Validate | Validate that the extracted values from both tables agree with the total transaction costs excluding settlement for each individual WBS Element |
| Validate | Validate that the extracted values are identical to those values settled to the Receiver. |
| Reconcile | Total actual cost of OPEX Project must be the same as total amount in CJI3 (by excluding settlement i.e. by excluding "Dr/Cr Indicator" as "=O") = Table COEP. Total actual cost of WBS must be the same as total settlement amount (Total amount with value type 4 and Dr/Cr indicator O of table COSP and COSS). |
| Task | Action |
|---|---|
| Verify counts | Business will use the preload report to validate the number of WBS Elements that will migrate values. |
Validate | Validate that the extracted values from both tables (COSP and COSS) with value type 4 and "Dr/Cr Indicator" as "=O" agree with the total transaction costs in transaction code CJI3 (by excluding "Dr/Cr Indicator" as "O") for each individual WBS Element. |
| Task | Action |
|---|---|
| Validate | Validate that the extracted values are identical to those values posted to the WBS Element |
| Reconcile | Total actual cost of OPEX Project must be the same as total amount in CJI3 (by excluding settlement i.e. by excluding "Dr/Cr Indicator" as "=O") = Table COEP. Total actual cost of WBS must be the same as total settlement amount (Total amount with value type 4 and Dr/Cr indicator =O of table COSP and COSS). |
The load process includes:
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1. | Ensure Pre-Load signoffs are obtained. | Data Team |
| 2. | Load a small number of records to verify that the process is stable and will load all records as expected. | Syniti Team |
| 3. | If the above is successful, load all remaining records. | Syniti Team |
| 4. | If the above is unsuccessful, review errors and determine whether the error is data related, or system related. | Data Team |
| 5. | After correction, load corrected file or run corrected program to load data. | Syniti Team |
| 6. | Prepare report for Post Load Validation. | Syniti Team |
| 7. | Validate Post Load report. | Business |
Load Phase and Dependencies
Cutover 4 : These objects will be loaded in Release 4.
| Item # | Configuration Item |
|---|---|
| 1 | Number range has been assigned for transaction code KAFD |
| 2 | Ensure steps in OSS 2852746 - Trnsaction KAFD: No Line Items created - SAP for Me have been completed. This is to have KAFD posting reflected correctly in COEP and CJI3. |
| Object # | Preceding Object Conversion Approach |
|---|---|
| 1024 | Project Definition (CAPEX, OPEX) |
| 1026 | WBS - CAPEX, OPEX, Statistical |
The table below depicts some possible system errors for this data object during data load. All data load error is to be logged as defect and managed within the Defect Management
| Error Type | Error Description | Action Taken |
|---|---|---|
| Missing number range | Number range has not been assigned for transaction code KAFD | Engage Functional team to fix the error in the system |
| Missing WBS | WBS has not been created in S/4HANA hence WBS balance cannot be loaded | Engage I2M Data team to create the relevant WBS. |
| Missing GL account | GL account has not been created in S/4HANA | Engage GL Data team to create the relevant GL. |
| Due to certain reason, statistical posting must be reversed | Data team to execute transaction code KAFL |
| Task | Action |
|---|---|
| Verify Counts | Data team to verify the load count is the same as per identified data from Pre Load file |
| Task | Action |
|---|---|
| Verify values | Ensure the Pre-Load report values are the same as in the Post Load Report. This value must be verified before posting KAFD. |
Business
The following post-load validations will be performed by the business.| Task | Action |
|---|---|
| Verify Counts | Business to verify the load count is the same as per identified data from Post Load Reports |
| Task | Action |
|---|---|
| Verify values | Ensure the Post Load report values are the same as in the Preload Report. |
| Reconcile | Total actual cost of OPEX Project must be the same as total amount in CJI3 (by excluding settlement i.e. by excluding "Dr/Cr Indicator" as "≠O") = Table COEP. Total actual cost of WBS must be the same as total settlement amount (Total amount with value type 4 and Dr/Cr indicator ≠O of table COSP and COSS). |
Any additional key assumptions.
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.