| Status | |
|---|---|
| Owner | Maytingsari Tjahjo |
| Stakeholders | The business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name |
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 Project manager is 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.
This document covers the approach for migrating OPEX Projects below of company codes in scope from Legacy Source Systems into S/4HANA:
The relevancy rules for this object will follow the approved relevancy rule in conversion specification 1026 (WBS - CAPEX, OPEX, Statistical)
The data from legacy system includes Portfolio Item Type:
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:
Logic in high level:
Step 1: Please refer to identification logic of CS 1026 to get the list of WBS in scope.
Step 2: Table PRPS (List down Company codes and WBS element in scope from Step 1) to get object numbers.
Step 3: Table COBRB (List down the company codes and object numbers from Step 2) and filter the WBS that has field "Account Assignment Category" (KONTY) as "CTR"
Step 4: Table COSP (List down the company codes and object numbers from Step 3) to see the total cost of WBS that have received primary transactions posted to the cost elements.
Step 5: Table COSS (List down the company codes and object numbers from Step 3) to see the total cost of WBS that have received secondary transactions posted to the cost elements.
Step 6: Post Statistical Posting (KAFD) into one single value by WBS and by original G/L expense
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 data from legacy system excludes:
Group 1 go live:



Group 2 go live:
For all active OPEX WBS as per cutover date 31 Dec 2028, post the financial transactions up to 31 Dec 2026 into one single value by WBS and by original G/L expense as a statistical posting.

For all active OPEX WBS as per cutover date 31 Dec 2028, post the financial transactions from 1 Jan-31 Dec 2027 into one single value by WBS and by original G/L expense as a statistical posting.

For all active OPEX WBS as per cutover date 31 Dec 2028, post the financial transactions monthly balance from 1 Jan-30 June 2028 into one single value by month, by WBS and by original G/L expense as a statistical posting.
The total of the transactions will be used to compare to the balance in the Cost Center that is used for settlement. The total of the settlement transactions 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
Total WBS OPEX in PF2 that are still active = 8656
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
PF2 | Extraction of the Sender Credit values from settlement that uses primary cost elements for settlement (Table COSP) | S/4HANA | ||
WP2 | Extraction of the Sender Credit values from settlement that uses primary cost elements for settlement (Table COSP) | S/4HANA | ||
PF2 | Extraction of the Sender Credit values from settlement that uses secondary cost elements for settlement (Table COSS) | S/4HANA | ||
WP2 | Extraction of the Sender Credit values from settlement that uses secondary cost elements for settlement (Table COSS) | S/4HANA |
Additional Information
N/A
N/A
N/A
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)
There are 2 options to post statistical posting (Transaction code KAFD) as below:
Option 1: Create custom cockpit object
Option 2: Create LSMW
The technical design of the target for this conversion approach for statistical posting:
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| COEP | PSPNR | PS_POSID | WBS Element | CHAR | 24 | 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 |
Below is the KAFD posting:

N/A for object 9032.
There will be cleansing required for objects below:
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
The high-level process is represented by the diagram below:
Summarize High-Level Process. Include diagrams, where applicable. Include information supporting details of Extract, Transform and Load specific to the Data Object

Extract data from a source into Syniti Migrate. There are 2 possibilities:
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. | Extract data from source systems based on the current relevancy rules that apply to the Project and WBS Element Master Data. For each relevant WBS Element extract the object number from source systems with WBS Elements from table PRPS. | Data Team | ||||||||||||||||||||||||||||||||||||||||||||
The following tables will be used to extract the settlement data:
To ensure that all costs have been collected via these tables (COSP & COSS), run a report (transaction code CJI3) to extract all the costs posted to the WBS Element/s to reconcile against the totals extracted from table COSP & COSS. Compare and agree the reconciliation values before progressing further to the next steps. For each open Project, confirm that the final balance is zero which will ensure that the settlement costs represent all the postings (debit and credit) within the Project by WBS Element. Extract the transactions by business transaction type. | Data Team | |||||||||||||||||||||||||||||||||||||||||||||
| 2. | Go to source systems to get the Primary Costs Total (Table COSP)
Go to source system (PF2 and WP2) 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.
| Data 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. | Data Team | ||||||||||||||||||||||||||||||||||||||||||||
| 4. | Open the Settlement Rule object from table COBRB in source systems (PF2 and WP2) to find the settlement objects for the above project.
System will provide a report as below that will include the following fields:
Extract the Cost Centre numbers from this report. Retrieve the Object number for all the settlement objects and retrieve the values from the COSP table.
| Data Team | ||||||||||||||||||||||||||||||||||||||||||||
| 5. | Extraction and posting will require one posting at year end and once the overall balance has been agreed above, extract and post and settle with one settlement transaction in the previous year. Explain for the CY | Data Team |
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
| N/A | ||||
N/A.
Extraction Dependencies
List the steps that need to occur before extraction can commence
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1. | All OPEX WBS element cleansing has been completed in PF2 and WP2 | Business |
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. | 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 | PSPNR | WBS Element | 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 | PSPNR | WBS Element | 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 | |
| 4. | PF2 and WP2 | COSS | GJAHR | Fiscal Year | S/4HANA | COEP | GJAHR | Fiscal Year | |
| 5. | PF2 and WP2 | COSP | KSTAR | Cost Element | S/4HANA | COEP | KSTAR | Cost Element | Refer to GL mapping |
| PF2 and WP2 | COSS | KSTAR | Cost Element | S/4HANA | COEP | KSTAR | Cost Element | Refer to GL mapping | |
| PF2 and WP2 | COSP | WTGxxx | Value Transaction Curr | S/4HANA | COEP | PERIO | Posting Period | xxx of WTGxxx (COSP) must be mapped to COEP-PERIO | |
| PF2 and WP2 | COSS | WTGxxx | Value Transaction Curr | S/4HANA | COEP | PERIO | Posting Period | xxx of WTGxxx (COSS) must be mapped to COEP-PERIO | |
| PF2 and WP2 | COSP | WTGxxx | Value Transaction Curr | S/4HANA | COEP | WTGBTR | Total Value in Transaction Currency | xxx represents all periods. Value type (COSP-WRTTP) must be “4” and Dr/Cr Indicator (COSP-BEKNZ) set to “O - Special: Sender credit from settlement”. Once the data is collected the signage must be changed prior to posting. As most of the settlement amounts will be a negative amount, this value must be changed to a positive amount before posting back to the S/4HANA WBS Element. If the settlement amount is a positive value, it must be changed to a negative value. 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. 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:
The amount value as displayed to users in SAP screens and reports. 96015 JPY
The amount value stored in database tables for computation. 960.15 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 decimal for the currency in TCURX table ) Please ensure when extracting this field, it must read from column "Value" (not column "Value Unconverted"), because column "Value" is showing the correct value for all currencies (including currency with 0 decimal, such as JPY, KRW, etc)) In the table below, the column "Value" is showing the correct value (i.e. JPY 19.680.000)., but the amount in column "Value Unconverted" is incorrect (JPY 196.800). | |
| 14. | PF2 and WP2 | COSS | WTGxxx | Value Transaction Curr | 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”. Once the data is collected the signage must be changed prior to posting. As most of the settlement amounts will be a negative amount, this value must be changed to a positive amount before posting back to the S/4HANA WBS Element. If the settlement amount is a positive value, it must be changed to a negative value. 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. 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:
The amount value as displayed to users in SAP screens and reports. 96015 JPY
The amount value stored in database tables for computation. 960.15 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 decimal for the currency in TCURX table ) Please ensure when extracting this field, it must read from column "Value" (not column "Value Unconverted"), because column "Value" is showing the correct value for all currencies (including currency with 0 decimal, such as JPY, KRW, etc)) In the table below, the column "Value" is showing the correct value (i.e. JPY 19.680.000)., but the amount in column "Value Unconverted" is incorrect (JPY 196.800).
|
|
| Mapping Table Name | Mapping Table Description |
|---|---|
GL Accounts | Map legacy GL Accounts to S/4HANA GL Accounts |
WBS Elements | Map legacy WBS Elements to S/4HANA WBS Elements |
Currency | Map legacy currency to S4/HANA currency code |
| 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 agree with the total transaction costs excluding settlement 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 by Asset number to compare to the WBS Element value to be posted. The value to be posted against the WBS Element must agree with the value shown for the relevant Asset Under Construction. See section "Extraction run sheet for legacy WBS element settling to AUCs. |
| Task | Action |
|---|---|
| Verify counts | Business will use the preload report to validate the number of WBS Elements that will migrate values. |
| Task | Action |
|---|---|
| Validate | Validate that the extracted values are identical to those values posted to the WBS Element |
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
Identify the phase as to “when” the load for this object will occur. <Pre-Cutover, Cutover, Post Cutover> and list the steps that need to occur before the load can commence
List the Configurations required before loading can commence
| Item # | Configuration Item |
|---|---|
| 1. | Cost Element Groups |
| 2. | Settlement Profiles |
| 3. | Allocation Structures |
| 4. | Settlement cost elements used for settlement available in all company codes in scope |
| 5. | Number ranges for settlement documents to be set up. This is manual config. |
| Object # | Preceding Object Conversion Approach |
|---|---|
| 1024 | Project Definition (CAPEX, OPEX) |
| 1025 | Project Text & Documents (attachments) |
| 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 |
|---|---|---|
| Configuration | Document type does not exist in S/4HANA | Engage Functional team to fix the error in the system |
| 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. These values have to be verified before settling the costs to the AUCs. |
Settlement to Cost Centres:
Run CJ88 to settle any costs that uniquely settle to mapped cost centres (if required). For settlement to Cost Centres the category of the Cost Centre must either be cost category ? (To be confirmed)
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
| Task | Action |
|---|---|
| title | specific details of what and how the task needs to be performed e.g. which reports are being used etc. |
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.