Hi Friends. CostElements 11 behave in different ways if you have PA active or not.
Some time ago i spend time understanding this stuff but all the info I saved in text, no screens captures. … In this doc Im traying to explain and document what i learned (i dont feel a expert in this topic), and share some technical data that i think its interesting if you want to debug the standard code.
1. Understanding the Real CO Object. Every post in CO can have only 1 CO Real Object. CostCenters, Orders, CostObject, Proyects, BussinessProcess are real objects. ProfitCenters is not considered as a real CO Object, just statistical. What do you think about a PA Profitability Segment?
Lets begin, im introducing you Stucture COBL_COTZ, is important to have in mind, if you want to know the guts of CO objects!
Every object can be real or statistic, and this is defind in the domain fo the fields. EG, if you check the domein of CO_KAKST, you see the next screen:
2. Imagine PA is not active. Revenues need a Real CO Object… Im sure lot of ppl say: are you sure? .. Yes! SAP create a dummy object called REO or Reconciliation Object in this scenario.
Lets begin the example,I will work with CostElem 48xx … type 11
Post a Fb50. I enter a ProfitCenter.. remember, this is a not real co-object.
In the next screenshot you can see my debug. If you want to replicate, set a breakpoint in function K_COBL_CHECK in the
PERFORM accountings_combination_check. This function analize the Statistical and Real Objects in the CO document.
e_COBL is the internal table that store the info of the CO doc, its created online in memory when you press enter. I still dont save the FI document, but the system im preparing the CO doc. Check the Real Object (field OBJNR_REAL) .. then leters `AO` represent the reconciliation order ( oss 106968) and the field co_kaabs .. go back to the point #1.. yes, its a reconciliation object!.. and have parameter 1 = real.
3 Now, im going to activate PA in the IDES. In this scenario, the real object is PA Segment. In the next example i set the Profit Center in FB50 screen. The ProfitCenter is not a real CO Object.
** If you dont put a ProfirCenter, system say that need a CostObject refering to a ProfitCenter.
The next screes is my debug…. My real Object is a PA stuff.. EO is a profitability segment created because AccoutBased PA is active. If you know IDES, you know IDEA is my Operating Concern! I only set in OKB9 for the 48x account the flag `Indicator: Find profitability segment using substitution`
check CO_KAERG, The name is a bit extrange, but this is a profitability segment.
4. What Happen if you put a CostCenter in FB50?
System show a message, Need a CO asigment object… why? .. im not sure… I expect the system pick the CostCenter and then the Profict Center form the cost center.
Next oss explain more or less this stuff..
I just apply the code attached in the OSS…
I enter to the FB50 create the document and the system dont show the error.
If we analize the debug, co_kakst (cost center) has parameter 2 = statistic, and co_kaerg is PA Segment the real CO Object.
**WorkAround> If you set 1st only the Profit Center, click enter, and then the CostCenter, you dont see the error message, so you dont need to implement the OSS. Indeed i dont understand the reason, but this is the system beharior.
+ oss reversed
I set Only the ProfitCenter
No error Mesages. Now i set the CostCenter, and enter.
Click save and sys create the document.
For more info, check oss
PS. I really appreciate if you tell me if any of the info here is not clear or if i made a mistake. I try to give screenshots of everything that suport my statements. If you have more info about this please share.