Profit Center number decisions that add complexity.
Your decision for Profit Center numbers can add ongoing operation costs and complexity, especially in SAP Retail.
We’re talking strictly about Profit Centers in Material Master that are assigned for each Plant (MARC-PRCTR).
The Best Practice in SAP Retail is that only one Profit Center per Plant (Site) is relevant for all Materials (Articles), and that the Profit Center number is the same as the Plant number.
Profit Center number = Plant number. Simple. But why is this Best Practice? What pitfalls await those who deviate? And how is Best Practice implemented? Spoiler alert: it isn’t standard, and that’s standard!
Your decision should hinge on hard requirements, not a desire for “smart numbers,” with a strong preference for a design that avoids large data maintenance effort and predictable business process failures. The volume of data to be generated and maintained is NUMBER OF MATERIALS times NUMBER OF PLANTS. Simplicity of design is highly consequential.
Master data concepts of SAP Retail minimize effort to create and maintain large volumes of data. But implementing Best Practice for Profit Center assignment in Material Master isn’t “standard.” An enhancement is always used to automatically assign Profit Center to Material Masters. This is standard.
Question # 1: Is it possible to adopt the business rule that one Profit Center per Plant is relevant for Material Master, and that Profit Center number = Plant number?
If the answer is Yes, then the Best Practice result is:
- Super-simple enhancement logic: For any Material, assign the Plant number as the Profit Center number.
- Profit Center assignment is constant and never requires update in Material Master, per Plant.
Whoops … you can’t answer the first question affirmatively? Then proceed with caution.
Question # 2: What hard business requirements prompt multiple Profit Centers per Plant that are relevant to Material Master? Are there alternatives?
Multiple Profit Centers per Plant (for example, per Department, which is not uncommon), or any business logic for determining Profit Center, adds exponential complexity and guaranteed business process failure points. Cross-functional complexity in master data processes — and new business processes – will be required to mitigate and resolve business process failures.
- A higher-complexity enhancement will be required to “automatically” assign the correct Profit Center to a Material, per Plant, perhaps based on some combination of master data and business rules.
- Exceptions to Profit Center assignment rules increase enhancement complexity, with attendant mass updates of high-volume data.
- Cross-functional controls (complexity) are required to avoid creating Material Master data in error (controls spanning Plant Creation, Profit Center creation and maintenance, and Assortment and Listing operations).
- Master Data processes must be created to accommodate the possibility of change to Profit Center assignment over time. A change in any data element that is an input into the logic determining assignment of Profit Center to a Material, per Plant, will be complicated by follow on mass maintenance processes.
- SAP does not permit change of Profit Center number in Material Master when inventory exists at a Plant. For details, see SAP Note 2552651. Because of this, implementing a production process to enable change of Profit Center number can be complex.
- The enhancement to assign Profit Center is called whenever Plant-specific data for Materials is created. In SAP Retail, this should occur mainly during execution of Listing. Listing is a process that considers large data sets, master data, and business rules, then subsequently creates high volumes of data (this mass data creation – extending Articles to Sites – is an essential feature of SAP Retail). Experience teaches that Listing is frequently a cause for system performance discussions. Adding additional business logic to the Listing process has the potential to exacerbate system performance during Listing.
- Normal data maintenance of Material Master can be complicated by follow on mass maintenance processes to consider Profit Center assignment.
- When a product is returned at a Store that never sold an item, a Profit Center must be assigned for that Material and Plant combination. Business rules may be complex for this exception case.
Complex enhancements and business processes should be avoided when possible, but it’s not always possible. Your decision for Profit Center numbers is no exception.
- What is the business reason for (what decisions are fueled by) this level of financial reporting?
- Do department managers have control of their below the line expenses? If yes, then Profit Center is their tool to bridge finance and operations. SAP offers no standard alternative.
- If gross margin is the department manager reporting level, then can COPA and hierarchies fulfill the requirement?
The key trigger for introducing complexity is a requirement for below the line reporting. In this case, the simple case for Profit Center isn’t an option.
Best Practice Implementation
Based on the assumption that Profit Center number = Plant number, the logic for assignment of Profit Center in Material Master is simple.
Follow the recommendations of: SAP Note 2796400 – Fill profit center in the logistics data of the article according to customer-specific requirements.
Using T-Code SE18, create an implementation of BADI_ARTICLE_REF_RT with the following code in method REFERENZ:
METHOD if_ex_badi_article_ref_rt~referenz. IF badi_tbnam = 'MARC' AND badi_flg_referenztyp = '1'. badi_marc-prctr = badi_marc-werks. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = badi_marc-prctr IMPORTING output = badi_marc-prctr EXCEPTIONS OTHERS = 1. ENDIF. ENDMETHOD.
Take note that when BADI_ARTICLE_REF_RT is called during execution of Listing, MARC-PRCTR values are not checked.
Check T-Code OMSR for field MARC-PRCTR:
If the option for Propose Field Content from the Reference is active for MARC-PRCTR, the value of MARC-PRCTR from a Reference Site is copied to MARC-PRCTR for a new Plant. That works against our implementation of BADI_ARTICLE_REF_RT!
If set, the Propose Field Content from the Reference indicator specifies that the field content is proposed from the reference Article when creating an Article Master record using a reference Article.
If set, this indicator also defines that the field content is proposed from:
- Generic Article to the variants
- Reference Site to the dependent Sites
- Client level to lower areas of validity for the same Article
For example, the purchasing group at client level is proposed at Site level.
To correct this, uncheck the option for Propose Field Content for field MARC-PRCTR.