In this blog post I would talk about enhancing standard MDG mappings and creating new Enhanced/Complex Mappings.
As we know that standard MDG mappings offer key mappings (Primarily Master Data Objects) and value mappings (Primarily Configuration Objects). There are instances where due to various business requirements standard MDG mappings don't fit the requirements. In such cases either the mapping needs to be tweaked or a new enhanced/complex mapping needs to be created. By enhanced/complex mappings I mean mappings based on additional dimensions than offered by standard MDG mappings.
I am describing the way to tweak standard MDG mappings and also some of the considerations when creating new enhanced/complex mappings.
Inclusion of Additional Fields in Standard MDG Mappings
Under configuration node Central Finance >> Central Finance: Target System Settings >> Mapping >> Advanced Settings >> Define Mapping Entities (Enhanced Configuration) field settings of each of the mapping entities are set.
Define Mapped Fields (SAP System) shows the fields which come under preview of this mapping entity. These are SAP given values and can't be changed.
Define Mapped Fields (Customer) shows the customer fields which come under preview of this mapping entity. Here additional fields can be added (Both Custom and Standard). For example, if you have a COPA char. of bill to party which also needs to be derive a target value based on MDG mapping of customer, then same needs to be configured here.
New Entity in Standard MDG Mapping
There are cases where a mapping entity is not standard delivered, but it's a standard SAP field. Then, in many of such cases (Not All) an entity can be configured to be listed under standard MDG Mapping.
For example, region, business place. These are not standard delivered mapping entities. However, an entry can be added and fields from the accounting structures can be configured under Customer section as we did above. Once added the mapping would list under standard MDG mapping list and would work like any other standard mapping.
Inevitably, there would be situations where standard mapping of some entities won't meet the requirements. E.g. you need to derive a G/L Account based on trading partner. In such cases, a complex mapping needs to be set-up to derive right target values in Central Finance. You may also end up in a situation where you need a combination of standard MDG mapping and enhanced/complex mapping.
This logic can be coded in the CFIN BADI. Usually these are simple developments and can be easily planned with technical team. Below are some of things one should be considerate of:
The mapping action of standard MDG mapping should be set correctly. If only complex/enhancement mapping is to be used, then standard MDG mapping action for that entity should be set as "Don't Map".
If a combination of Complex/Enhancement mapping and standard MDG mapping is to be used, then mapping action should be set as "Map if Possible".
In above case the complex/enhanced mapping should be called first, and if mapping is successful then programmatically, the standard mapping action should be changed at run time to "Don't Map". Mapping action can be changed at run time by calling BADI_FINS_CFIN_MAPPING_RULE.
One must particularly be careful with GL mappings as one may end up in situation where two OIs derive two different target accounts in CFIN, where in source they are posted against same account in source. If such OIs are cleared against each other than clearings fail in CFIN. Derivation logic should account for such cases.
If a complex/enhanced mapping is created for Profit Center, then this should be considered that if there is a requirement to suppress subsequent re-derivation from other master data on posting. PC gets re-derived from cost objects on the posting line.
Hope this information is helpful to you. Let's keep learning. Please feel free to leave your feedback in comments section.