Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
Showing results for 
Search instead for 
Did you mean: 

In one of our customer’s SAP S/4HANA system, some of the company codes have been created based on Business lines as a result they are not actual legal entities. Hence a group of business line-based company code’s data needs to be aggregated and put it in a different Company Code to make the target Company Code as a legal entity. In this blog I will explain the issues which we have encountered during this process so that it will be helpful for those who needs to perform similar kind of activity.

Business Scenario:

Below is the consolidation structure (IDs changed). Company codes 1000 to 1050 are not actual legal entities. Once we copy all these company codes data into another company code i.e.2000, then this company code 2000 will become the Legal entity which consists of aggregated data of Company codes 1000 to 1050.Please note that  company code 2000 is not in the Enterprise structure in SAP S/4HANA but created in Group Reporting module as one of the consolidation unit so the Data Transfer method filed value is “Flexible upload” and the type of consolidation unit is non-integrated.

To meet this copy requirement, we have checked if the below two possible options can meet the requirement.

Option 1: Using transaction code CXCK: Copy Transaction data: With this transaction code, we can copy data from one version to another version, one period/year to another period/year but we cannot copy data from one consolidation unit to another consolidation unit. Consolidation Unit field is available in the selection area of this Transaction Code but not in the copy area.

Option 2: We also cannot use the assignment of multiple company codes into one single common Company in the enterprise structure of SAP S/4HANA. This is due to the fact that there are some inter unit transactions exist between the company codes 1000, …1050 and we cannot eliminate the same in SAP S/4HANA system. Hence, we need to transfer these company codes data into Group Reporting module where we can perform Inter unit eliminations. That means data will get copied to Consolidation Unit 2000 after elimination of inter Unit Transactions within the Consolidation Group GR10 (please see the above picture)

Due to the above limitations we could not use any of the above options and finally we decided to go for custom development through ABAP Program. Broadly the following objects have been created for this purpose.

  • Developed one ABAP Program

  • Selection Screen for the user to select the values

  • Transaction Codes for the users

Created selection screen similar to the selection screen of Transaction Code CXCK.

In CXCK Transaction screen the consolidation unit is showing under settings area where we can select the Consolidation units for selection of Data but here in our case the consolidation unit is in the area  of copy section so that data gets copied From Consolidation Unit To Consolidation unit

Note: You may have different fields in the selection screen as per your requirement and ensure the corresponding code is written for all the fields as required.

In the process of testing the program, we have faced several issues and I would like to explain those issues and the resolutions there of. Here I am not providing the ABAP code as the intention of this document is to explain on the issues we came across during development and testing of the copy Program.

Issue # 1: At least one Target key field value should be different 

Change the ledger ID:

As a standard rule, while copying the data, the values for FROM and TO should not be the same and at least one key field value should be different for the target value.

While extracting data through Data Monitor- Release universal Journal data Task, we have used the ledger C1 but when we do the copy, we have selected different ledger C2. This is required as there should be a different value for at least one of the key field in ACDOCU table. Please note that our source table and the target table is same i.e. ACDOCU.

Ledger is not available in the selection screen as that is not meant for the users to select but through program the value gets changed from C1 to C2

Issue #2: Change the Record Type form U to 0

During testing the BCF task, we faced another issue and found that there is an issue with the record type field value. System writes the record type U for the release data task and 0 for the flexible upload.

Since the consolidation unit 2000 is a non-integrated consolidation unit, system expects record type 0 but as we are copying data from integrated consolidation units, system copies the record type U as it is. Hence, we have changed the record type value from U to 0. We have achieved this requirement by adding the relevant code in the same program.

Filed name in Table ACDOCU is RRCTY

U= Replication from Universal Document


Issue # 3: Change the Trading partner value

Scenario: As per the business requirement, any company code may do transactions with any other company code, so the intercompany transactions happens with any combination of company codes.

If the intercompany transaction happens between the company codes which are in Group GR10 then there is no issue with this copy program as eliminations happens at GR10 Group level itself. However, if the intercompany transaction happens between the GR10 Group Company codes and GR20 Group company codes then there is a problem when elimination at GR20 Group Level.

For example, if the transaction happens between Company Codes 1000 & 2010:

Consolidation Unit 1000 Side of the Transaction:
Before data copy After Copy
1000 à 2010 (Actual Transaction) 2000 (after Copy data from 1000 to 2000) à 2010
Impact: Nil (Trading partner ID remains same after copy)
Consolidation Unit 2010 Side of the Transaction:
Before data copy After Copy

2010à 1000 (Actual Transaction)


2010à 1000 After copy data from 1000 To 2000


Impact: Yes (There is impact, we need 2000 instead of 1000 to get the eliminations done. This is because we don’t have Consolidation unit 1000 in GR20 Group)

Please note that GR10 Group is not part of Top group as we are sending all GR10 Company codes data to Consolidation Unit 2000.


Solution: In the program, we need to change the trading partner from 10xx to 2000 for the intercompany transactions with Company Codes 20xx


When you want to copy data from one consolidation unit to another consolidation unit, after copying the data please run all the tasks which are in both Data Monitor and Consolidation Monitor to ensure that the target Consolidation Unit got the required data. Also decide when you want to copy the data i.e. for example before inter unit eliminations or after eliminations. Also please ensure to have some data validation controls and data reconciliation reports etc. as part of total solution.

I hope you understand the business scenario and the solution, and I look forward to receive your comments and I am happy to answer all your queries, if any.

Special Thanks

To my manager Gummadi Venkateswara Rao who helped me in my first blog(https://people.sap.com/vr.gummadi)
0 Kudos
Hi Priyanka,

Nice Blog and this could be a value added information for such a Scenarios who are working on SAP S/4HANA Finance for Group Reporting.


0 Kudos
Thank you C R Krishna

0 Kudos
Hi Priyanka,

Nice one and useful information, can you please explain what kind of reconciliation procedures you have adopted to ensure all data got transferred from source consolidation units to target consolidation units.
Thank you...
S karatlapally
0 Kudos
Hi Priyanka,

Nice blog and useful information. We hope you post some more value added blogs in this forum which will helpful to Group Reporting implementation.


Thank you....


0 Kudos
Thank You Ashok.
We have created reconciliation report to ensure all source data is copied to Target Consolidation Unit.
As we are not changing the FS item or Amount, we have use those two field values in our report to check the data.
Below is the sample reconciliation report where we have totaled all source consolidation units data and compared with the target consolidation unit data.
In the last column, you can see the variance if there is any data mismatch.

While creating this report we have used the reporting functionalities like Restricted measures and calculated measures etc.
Hope this helps!!
0 Kudos
Thanks for your detailed information....Appreciated.
0 Kudos

Hello Priyanka,

Congratulations! Keep up the good work and Thank you Gummadi Venkateswara Rao Garu helping with GR solutions.

I have a couple of questions raised while reading your blog. Hope I can get clear with your response.

  1. What are the prerequisites needed while converting the entities into a legal entity in the terms of Technically?  
  2. Why don't Company codes 1000 to 1050 is normalized into the Enterprise structure in SAP S/4HANA rather than copying data to GR010? How financial data is integrating to 2000 CU from GR010? Where exactly ICMR transactions are getting hit? .. I mean along with all existing CU's or separately?
  3. What are the reasons for maintaining separate ledger C2. since all the company code transactions are posted in the same source ledger? Every time uses will get change the global settings while performing data monitor or consolidation monitor tasks?




0 Kudos
Hi Kishore,

Below is my response to your queries.

  1. It depends on what type of transactions you are posting at source company codes and accordingly it vary from customer to customer. In our case we just need to eliminate inter company transactions before sending the data to target unit. To achieve this we have created a separate group for all these source units and did the eliminations at this group level before sending the data to Unit 2000. Also note that there is no common consolidation group for both source and target units. i.e.GR10 & GR20 are independent groups and one more thing is that there is no Holding company and subsidiary relationship established with in this GR10 Group’s Consolidation Units, as all Consolidation units with in this group are equal in status.

  2. As I mentioned in the blog, these company codes are created based on business lines in S/4HANA and inter-unit transactions also exist among these company codes. IC transactions with in the Group GR10 getting eliminated within the group and IC transactions between GR10 Company codes and GR20 company codes getting eliminated at GR20 level. That is the reason why we are changing the Trading partner value (please read the issue # 3 in the blog).

  3. To understand the reasons for maintaining separate ledger, please see the Issue # 1.Once elimination activity is over at GR10 level, user has to copy data from GR10 Units to Unit 2000 through a Transaction code and ABAP Program.

0 Kudos
Hi Priyanka,

I understood your approach but I have one query.

Can't we treat 1000 to 1050 as consolidated unit (although they are not legal entity) and consolidate them first to GR10. Subsequently use this GR10 (in lieu of consolidation unit 2000) in consolidation hierarchy of GR20.



0 Kudos
Hi Kailash,

1000 to 1050 are already created as Consolidation units and IC Elim are performed at  GR10 (Group) level. As we don't have an option of assigning GR10 GROUP to GR20 Group from 1909 version.


Labels in this area