1 2 Previous Next


21 Posts

Hi SDN Gurus,

I came across below requirement from the client.

Client is in to business of manufacturing building material, where business requirement is

Order Quantity” Will be in Pieces (PCs) and “Selling Price” will be in Cubic meter (M3),

  which is nothing but Volume.

The same needs to be mapped in SAP.

While creating sale order, Customer requirement, is to have ONE Column for PCs and

ONE Column for Cubic Meter(M3)  at Item Level.

So that,while creating sale order, if Customer increases Order Quantity (PCs) for a material,

Should automatically update relevant Volume /Cubic Meter (M3) of the respective material.


  • Business requires, Order Quantity to be in Pieces (PCs) as the same requirement will be transferred to

       Production planning,to manufacture the material in pieces (PCs).

  • Sale Order price to be calculated, per Cubic meter(M3) for calculated volume of ordered quantity

        in pieces(PCs) and price not to be calculated on Pieces(PCs)

        Eg: if 20 Piece=25.5 M3, then Sale order Item price, needs to be calculated for 25.5 M3 and

                not for 20 Pieces.

Example of Material Description

Vertical Panel T200 W600 L3000 

Dimension given in above material are in Millimetre (MM),

i.e.. Thickness 200MM / Width 600MM /Length 3000mm

T = Thickness / W =Width / L =Length

Solution to be mapped in SAP

One Column for PCs and One Column for Volume / Cubic Meter (M3),while creating sale order

so that any change in Quantity ,should parallel y update respective Volume(Cubic meter(M3) for the


Price for the material to be calculated on “Volume/ Per Cubic Meter(M3)" for ordered Quantity

which is in Pieces.

Proposed Solution in Standard SAP

(A)  In Standard SAP, While creating material master record “Volume /Cubic Meter M3

      automatically calculated by giving dimension of the material.

   Create material (T.Code:MM01) "Basic Data 1" Tab , we can see VOLUME field.



Standard SAP system automatically calculate “Volume /Cubic meter (M3)”, while entering

product dimension, In “Additional Data” as shown below.


Click Additional Data,Go to Unit of Measure TAB, and scroll to the right, to enter

product dimensions in Millimetre


Enter Product dimension (Length/width/thickness in Millimetre) and Press ENTER.

System will automatically calculate Volume (i.e.) Cubic Meter (M3) of respective dimension of the material.



Calculated Volume in Cubic meter (M3) can be seen in “BASIC DATA 1” tab, as shown below


(B) Now, Sale order Price to be calculated based on Volume in M3 for the respective material and

     for calculated Volume for ordered quantity in pieces(PCs)


     To Calculate, Price based on Volume, do the settings in calculation type for respective

     Price condition type (Eg: ZPR0), as below.

     T.Code : V/06




    Create Sale Order (T.Code :VA01)




  To have volume and Volume Unit, scroll to the right as highlighted above,


  drag VOLUME and VOLUME UNIT, and SAVE it as a Variant as shown below.




  Above screen shot displays, Volume and Volume unit in Cubic meter (M3) for one Piece (PC)


  If we increase Order quantity (Piece), system parallel y updates the relevant volume, as shown below.



   Now,while entering Price for the material, system needs to calculate Price per Cubic meter (M3),

    for calculated volume for the ordered quantity in Pieces (PCs).



   Entering Price with “ZPR0” Condition type


Double clicking condition type “ZPR0” to see calculation details




As explained above, user requirement had been mapped in standard.



Note: This is the first document im posting, looking forward for valuable feedback.






Due to the many component cross-overs within SD Sales transactions, there exists a common problem with the correct classification of component area. To ensure a more timely and efficient collaboration with SAP, it is essential that all new issues are directed to the most knowledgeable and experienced Engineer.


To clarify that the incident being reported is directed to the most responsible team, please follow the guidelines outlined in my recent Knowledge Based Article:

This blog is in continuation to my previous blog Seller-Price, Buyer-Cost, Profitability. Where I implied we shouldn't have a notion that business not always think of "cost plus pricing". Pricing itself is big subject as like cost. In this blogs, I will dig more into understand & need of effective pricing and profitability management.


Lets look at an example, where a particular brand charges premium being cult in nature. Or.a new niche technology smart wearable "costs" $250, wherein market it is "priced" at $2500.


So, where cost plus pricing went? Why $2500? Does system or business consider cost plus pricing? As technology is new and manufacturer is looking for premier customer and accordingly priced that at premium. Once that premier customer segment is near to saturation, they will have the revise the price to preach into new customer segment. The same happened to desktops, laptops, smartphones, smart-watches, automobile, bikes to name a few.


Even though we have example around us as mentioned above. But still, every business is always under continual pressure to increase profits for shareholders and satisfying continuous demand from customers for effective price. But, out of all the parameters available to a business to produce those increases or control. Which is the most effective?  Which of these parameters hasn't already been tapped out?


According to the McKinsey & Co study, "a 1% increase in realized price delivers the greatest improvement – a healthy 10% increase in operating profits. Despite this power, few businesses have effectively taken advantage of pricing to improve profits."


In this competitive business era, achieving profits through sales growth is hard-fought and hard-won.  Equally the stress to deliver continues bottom-line growth remains.

Then question arises, "Why is business unable to leverage pricing effectively to drive profits?"


Generally, pricing is often treated/considered as a simple & a point problem. When, it is in fact a highly-complex enterprise-wide problem.

Processing of pricing spread across the organization, functional areas like marketing, sales & finance and different roles like executives, sales reps & managers.  In complex large businesses, pricing may be processes based on the product line.  All these issues make it hard to foresee effective pricing across all business function. If we run through lead-to-cash cycle, this is one of the critical factors and required at several stages of that process cycle.



Fig. - Pricing in Lead to Cash Cycle


Even in one the McKinsey & Co report on new economy has given pricing one of the top priorities for any business to deal with. Even most of the marketers  would agree that pricing is one the 4 P’s of marketing for seller, which produces revenue and is part of tactical marketing in value –delivery process.


Sellers_ 4Ps_of_Marketing.JPG

Fig. “Sellers 4 P’s of Marketing”(Source: Adopted from Marketing Management by Kotler)


Where, 3 of the 4 P’s of marketing Product, Place (distribution) & Promotion create value. In compare to those, pricing harvest values. Therefore, during strategy proposal, business works to achieve the lowest production and distribution costs so that it can price lower than competitors and win more market share. The problem is the competition may emerge with further lower costs, derail your strategy.


In fact,

Seller’s Price Customer’s Cost

Various business challenges like continuous innovation, global price pressure and product liability where businesses must overcome in order to grow, compete and perform in line with stakeholder’s expectations. So, if pricing is not handled professionally or effectively, this can became a nightmare for any business.


If we look at profit and loss statement of any business, pricing decision will effect on “revenue” and subsequently on other. Whereas cost will be derived out of cost of goods sold and operating expenses.



Fig. Profit & Loss Statement


But, very often there is confusion in the understanding of the difference between price and cost that I even mention in previous post.


Some say,

“If a business increases the cost, the profits will rise".


"If the business wants to increase its profits, it could increase its costs and hope to sell more"


Well, price refers to the amount of money that consumers have to give up to acquire a product or service. That amount reflects in Revenue section of the income statement.


Apart from misunderstanding between cost & pricing, there are some other challenges which business faces are in form of profit leakage.


Profit leakage can be referred as the amount of money that reduces your business profitability that is not genuine expenditure. It can be the result of one or many operating inefficiencies. Failure to control such leakages can divert profits away from your business. Example, for forms of profit leakages are direct sales commissions, installation costs and other expenses taken directly off the selling price factors that reduce your gross profit.


This implies without proper understanding on pricing & control profit leakage, a business can’t have vision for future.


In next blogs, I will dig more into how and what we have that can effectively manage pricing and profitability.

Let me start this blog with a question.


"How a seller view price or cost?"

"Can a seller practically derive at effective Profitability by only considering cost?"


If we are taking the opinion of the buyer, pricing would not be an issue. Buyers or consumers will typically use the terms price and cost synonymously. For instance, a purchase manager could tell to its counterpart, “The price of that Mountain Bike was only $250.” Or it could be just as easily say, “That Mountain Bike cost us only $250.”


However, from the opinion of the seller/vendor, the difference between prices and costs is quite important. A price is what a business charges, and a cost is what a business pays. Therefore, for a Store Manager may set a price of $250.00 for a Mountain Bike, may price a pair of Brake Calipers for $40.00, or may sell Disc Brake Caliper at the price of $25 per piece. But, in all situations the manager must also focus to his costs. These costs include, what he pays the manufacturer per set of disc brake, what he pays employees to stock spares on the shelves or to sell them, what he pays for rent, for display and lights, for advertising, and so on and so forth.


For effective profitability, pricing and profitability management is essential. Where, pricing and profitability management is a systematic, yet dynamic approach of recognizing the influence of pricing on revenue & margin and managed tactically over time to ensure reasonable prices for the value your businesses creates.


Accordingly based on better pricing and profitability management business can manage price negotiation effectively have better control in true profitability.


Hence, for seller/vendor, although a "price" may go by many names or unit of measure. One name it should not go by is "cost".


In subsequent blogs, I will dig more into need and way of effective pricing and profitability management.


First in the sequel we have Without a proper understanding on pricing, can business have vision for future?



  • At the main item it's impossible to change the plant.
  • In the sub item of sales BOM it's possible to change plant.



Check in the customizing:



  1. Call transaction: VOV7 - item category





2. Check field: Structure scope (TVAP-STRUM) in case of BOM item




How do I find out why the plant in case of BOM is set to not ready for input?


Way to find out which group the field was assigned to:


1.  Call up program MV45AFFE_FELDAUSWAHL_STATUS and find the DA_REGEL for the field to be checked. In this case for field VBAP-WERKS.



2.  Which group (DA_REGEL) does the field VBAP-WERKS (item plant) belong to? -> DA_REGEL = 'WERKS' that is, the item category belongs to group WERKS.


3.  Check where the group/rule WERKS is processed.


4.  Program MV45AFFE_FELDAUSWAHL_STATUS also checks the processing of the group and decides whether a field is ready for input or not. The relevant  part of the source code starts with:

case da_regel.




5.  Now you have to find the WHEN loop in which the required group/rule is processed.


In our example with the DA_REGEL = WERKS, you  find the relevant source code in the following part:

when 'WERKS'.
  perform feldauswahl_vbap-werks changing sy-subrc.
  if sy-subrc > 0.
    screen-input = 0.




6.  Go to PERFORM feldauswahl_vbap-werks




Check issue after putting the breakpoint directly in sales order:




1.  Call transaction VA02 (change sales order) ->  PERFORM feldauswahl_vbap-werks and check following fields:


  • screen-name
  • screen-input
  • ch_subrc



After program MV45AFFE_FELDAUSWAHL_STATUS is run, you receive an exact list of the checked fields in table SCREEN with the indicator (field name SCREEN-INPUT) whether the field is ready for input (1) or not ready for input (0).





2. Go further with F5 to PERFORM feldauswahl_setzen



Cause and explanation:


Using BOMs (in TVAP-STRUM = A or B for main item category) it is not allowed to change the plant of the main item afterwards, because the BOM is defined plant dependent. If the plant would be changed on main item level after BOM explosion, it could come to inconsistencies in the system. The already created items would not fit any more to the definition of the BOM and the materials could be different in another plant.


Due to this, changing the plant on the main item is not allowed. But you can still change the plant of the sub items, because the composition of the BOM  would not change due to this. Single sub items can be taken from different plants.




Reference notes:



208245 - Availability of fields in sales orders



393798 - Plant changeable in spite of order BOM



901048 - Change of plant for configuration and bills of material

I am sharing my experience in dealing with many inconsistent issues, number range issues,
express document/update fails.

Sometimes user may come across a temporary or inconsistent short dump while executing a process step or a particular transaction.

These inconsistent issues impact completion of activity (can be test /support/implementation activity)

Below method supports to analyze such issues at an earlier stage &resolve the issue wherever possible at users end itself.


~ Detailed analysis of short dumps or runtime errors using transaction ‘ST22’ helps
in understanding & resolving the root cause of the issue by highlighting
problem triggering code line, tables & fields.

~ Based on the information available on short dump trigger point, user can navigate to the
relevant tables & find the reason for inconsistency.

~ If available, perform necessary customizing settings to rectify the issue.


There are two kind of inconsistent issues I have seen:

  1. Issues which triggers dumps in ST22
  2. Issues without triggering dump in ST22

Example: where dump is triggered in ST22

Delivery number not being updated at table level


In given example, user is trying to create a delivery in transaction ‘VL01NO’.
After entering all necessary data when user saves the delivery document,   a delivery number is assigned based on
number range configuration & a success message appears with delivery






  However, in this particular example, on exiting the transaction a ‘Express information’ message appears with information “Update was terminated” which indicates that though a delivery number has been assigned to earlier transaction still the delivery doesn’t exist & the database is not updated with delivery information.





To analyze the issue, click on Inbox button, which navigates you to Business Workplace Inbox.  Look up the latest document with subject ‘Update was terminated’ & check the details relevant to update termination.



For detail analysis of the issue, run transaction ST22, select today’s dump & search
appropriate dump based on user name. Go to the Source code Extract:







As highlighted, choose the code line which triggered short dump. In this example,
the problem is occurring at the insert statement. You can discuss this with
your abaper too from here.



Based on the table information at problem triggering statement, check table VBPA, which stores the value with sales document number & partner function. In data browser, check the table entries for sales documents as highlighted.





The delivery document number which was assigned in earlier transaction & following
numbers are already available in database. This indicates, there was a duplicate insert happening in this transaction at database leading to generate a short dump/update termination message.



This clearly directs to the root cause of issue to be a customization issue having a wrong
number range customizing set up for the delivery document. Based on delivery type customizing, choose appropriate number range & update the number range status to most latest available number.





After correcting number range customizing for delivery, repeat steps for delivery
creation with same data. User will be able to create delivery documents successfully;
the delivery number will be updated in table VBPA.






The new Delivery has been created & saved in the table.



Final vBPA.png





Example 2: when there is no dump in ST22


Change Pointer ID already Exist


In given example, user is trying to create a MPO (material Planning Object) in transaction ‘/ISDFPS/MPO’. After entering all necessary data when users save the document and exit the transaction. The termination pop up appears.







User does not find a log in ST22 as there is no short dump generated. In this case user
should check the SM21 (System logs).Double click on the system log and check the details for fail.





Navigate to transaction SM13 for more details

To find out the details of update termination, check SM13 (Update Requests)











Solution to correct this:  after searching with “Material_Write _Document” update fail, I
found a note: 1700295 which solved the issue.


Check the Number range for change pointers in transaction BDCP

The reason for update termination: Write Operation is failed. We can search with these search terms for Notes.

Similar sort of issue was occurring in transaction VK11 & it’s been solved in following discussion







In export sales order, system does not block delivery even if sales order value exceeds license value. For example licence value is 6000. My sales order value is 7000. System still allows to create a delivery. Where as it should block for delivery.




You view the legal status in VA02 -> extras -> export license - > log





and the System status in Item -> status shows:



Overall status       Open

Reason for rejection

Delivery status      Not delivered

System status        REL  EXLS NoMP       <<<<<  system status Export control is there!


When an order fails the item user status id set to EXLS or FTC5.



But if you go to tx. BS23 and check system status: I0275 - EXLS (Export control)




Here you can see that to create Material purchase requisition, create delivery or a post goods issue is allowed and not forbidden.


It is the reason why you could create a delivery without any block.


Related function modules:   RV_EXPORT_CONTROL_DELIVERY


Dear SCN community,
the handling of supplier products without a material master in ERP SD and MM order processes is becoming increasingly, especially in the Retail and Wholesale Distribution space. In Retail and DIY home improvement the handling of supplier products is also called "Long Tail business".
Amazon, Thalia, Dansk Supermarked as well as the majority of wholesale distributors are key players in the Long Tail business and offer customers a wide variety of alternative products to choose from, while other retailers do the opposite and concentrate o selling fast moving goods to get better purchasing prices and simplify their warehousing.
Especially for wholesalers it doesn't make sense to create millions of master data for each and every product they can possibly procure from their suppliers and keep track of the changes. Store retailers have to manage their store space intelligently and, among other reasons, simply have no space and capacity to present too many variants of similar products.
For over a decade I worked in various supplier catalog/print media/e-commerce/multi channel/wholesale groups at SAP. In 2006 I was involved in the Enhanced Material Search with Creation, a feature introduced with SAP ERP 6.0 EhP2 to perform searches for supplier products and create material master out of them within the order process. 
The Enhanced Material Search is perfect to built various Supplier Products handling / Long Tail scenarios on project basis with reasonable effort.

In this blog I have described feasible realization concepts for Long Tail / Supplier Product handling scenarios in various business cases, mostly leveraging the hybris PCM as product catalog management tool, while the product search and article master creation is performed by the ERP based Enhanced Material Search with Creation.

  1. Preparation of Supplier Product data
  2. Supplier Products / Long Tail product handling in SAP ERP orders (for professional sales reps and buyers)
  3. Supplier Products handling in SAP Retail InStore MIM (for occasional/remote users)
  4. Long Tail business in a Web Shop using an SAP ERP Backend (for end customers and business partners)
Before we come to the actual scenarios let's talk about the (massive!) data preparation required.

Preparation: Supplier Products - Data Import and Management

buzzwords: Data import, master data management, catalog management, harmonization, consolidation, enrichment, staging, versioning, ...
For any scenario above it is mandatory to have the supplier product data consolidated, best in one single repository.
Many businesses use a catalog management system, PIM solution, a huge excel spreatsheet, an ERP Partner addon solution or simply a Z-table in ECC to manage the supplier product data. In my earlier blog I have described a variety of options to import and process supplier product data in my earlier blog about the Catalog Search in Enhanced Material Search and Creation. With the acquisition of hybris in August 2013 there is now an elegant catalog management solution in the SAP product portfolio to import and manage product data.
The figure below shows a long tail scenario with hybris Product Content Management (PCM) solution with SAP ERP to import and manage the product content by supplier, and providing an Apache Solr(TM) search engine, which allows the Enhanced Material Search to search for supplier products in Apache Solr(TM).
Fig.1: Long Tail scenario architecture using the Enhanced Material Search with Creation to orchestrate the creation of master data out of supplier products (slide available as PDF)
Using the hybris PCM is particularly elegant, as it allows to "mix" different product sets from different origins (here: SAP materials as well as supplier products) into one common master catalog:

Fig.2: Managing Supplier Product Information with hybris Product Content Management. Multiple catalogs of different origin can be imported and compiled into one single master catalog.

Such a mixed master catalog is the optimum basis for any long tail scenario, as it can provide a complete set of products (see option for site B in Fig.2) as well as separated catalogs (site A and C).
There can be various alternatives to the given constellation example, e.g. you could manage to export hybris product data into a TREX "catalog" index. This would simplify the architecture but require changes in hybris. In the same way the hybris PCM can be replaced with any 3rd party Catalog Management solution & search engine. Also, a SAP MDM can be used, and then the catalog search request sent out of EMS would by processed by the embedded MDM search engine.
All connections to a supplier catalog search engine are to be implemented on project basis using the EMS Business Add-In BADI_WSD_CATALOG, unless you use the standard search engine options of the Enhanced Material Search.
Common for all these options is that the supplier catalog management takes the highest initial and continuous project effort, to obtain and keep the data quality you need for a sales business. 
This effort can be bypassed if you can access an existing data provider who manages the supplier product data of your industry/segment/business space, e.g. a 3rd party "Master Distributor", a head of a cooperative, a central master data organization of some kind etc.:
Fig.3: Performing external catalog search in a central 3rd party Supplier Product Data Repository via Enhanced Material Search with Creation.

But having all your supplier products accessible in a single repository may not be enough. In customer projects we have learned that the supplier product data should be best further enriched with SAP material master data, e.g. (future) material group, product hierarchy, SAP vendor number and vendor subrange ..., to streamline the processing of master data creation in the SAP backend, both on SD side (basic data, sales data) and MM side (purchasing info record). 


Realization Concepts


1) Supplier Products / Long Tail product handling in SAP ERP orders

in ERP transactions Sales Order, Sales Quotation, Purchase Order, Purchase Requisition, and some others
This scenario is for professional sales reps working with the ERP Sales order (transaction va01), or buyers working with the MM purchase order (transaction me21n).
It is based on the ERP based "Enhanced Material Search and Creation" function (see my detailed blogs), which was introduced in ERP 6.0 EhP2 (SD order ) and was extended in EhP5 (overall improvements, support of MM order and purchase requisition).
The Enhanced Material Search with Creation function is an extension to the ERP Sales Order and Purchase Order:
Fig.4: Calling the Enhanced Material Search with Creation function from ERP Sales Order
In the Enhanced Material Search user interface new material master records can be easily created out of search results or from scratch, as decribed below.


Fig.5: Catalog Search and Material Creation with the ERP based Enhanced Material Search mit Creation function.


a) Creation of a new material based on a supplier product search result:
  1. The user calls the Enhanced Material Search (EMS) function from within the SAPGui based order
    • SD: Sales Order va01, quotation, inquiry (from ERP 6.0 EhP2)
    • MM: Purchase Order me21n, purchase requisition me51n (from ERP 6.0 EhP5)
  2. Within the Enhanced Material Search screen the user performs a search for supplier products (called "Catalog Search"). The Search Engine that holds the supplier products index provides the results back to EMS. Before the results are shown the EMS triggers an existence check in order to identify supplier products which are already maintained as master data, by comparing the search results with the information of purchasing info records in ERP.
  3. The Catalog Search results are displayed. The users selects a search result line and presses the button "Create Material"
  4. Based on the material creation method the EMS creates a material master with Basic Data, Sales Data (MVKE), Plant Data (MARC), a purchasing info record and (optional) carries out a pricing to calculate the sales price out of the purchasing price which was given in the search result. This is done either in the background within seconds (Simplified Material Creation method), or with a user interface allowing the sales rep to control and change fields manually.
  5. A new material has now been created, has a material number and the user can order it like any other existing material.


b) Creation of a new material master from scratch (e.g. with information from print catalog or a supplier's product page)
  1. The user calls the Enhanced Material Search (EMS) function from within the SAPGui based order
    • SD: Sales Order va01, quotation, inquiry (from ERP 6.0 EhP2)
    • MM: Purchase Order me21n, purchase requisition me51n (from ERP 6.0 EhP5)
  2. Within the Enhanced Material Search screen the user directly presses the button "Create Material", without selectiong a search result.
  3. A Material Creation UI is shown based on the EMS material creation customizing.
  4. The user selects a vendor and some start parameters, enters the product data based on the EMS material creation customizing. At the end the user saves the new material.
  5. The EMS creates a material master with Basic Data, Sales Data (MVKE), Plant Data (MARC), a purchasing info record and (optional) carries out a pricing to calculate the sales price out of the purchasing price which was given in the search result.
  6. A new material has now been created, has a material number and the user can order it like any other existing material.
c) Creation of a new material master using an existing material as copy template:
  1. The user calls the Enhanced Material Search (EMS) function from within the SAPGui based order
    • SD: Sales Order va01, quotation, inquiry (from ERP 6.0 EhP2)
    • MM: Purchase Order me21n, purchase requisition me51n (from ERP 6.0 EhP5)
  2. Within the Enhanced Material Search screen the user performs a search for materials (with material numbers, called "Material Search"). The Search Engine that holds the material index provides the results back to EMS.
  3. The Material Search results are displayed. The users selects a search result line and presses the button "Create Material"
  4. A Material Creation UI is shown based on the EMS material creation customizing.
  5. The user changes the product data where it differs from the material used as template. At the end the user saves the new material.
  6. The EMS creates a material master with Basic Data, Sales Data (MVKE), Plant Data (MARC), a purchasing info record and (optional) carries out a pricing to calculate the sales price out of the purchasing price which was given in the search result.
  7. A new material has now been created, has a material number and the user can order it like any other existing material.
By using reference materials in ECC standard, "single" materials can be created with just one click ! within a second using the "Simplified Material Creation" method.
Fig.6 shows the user interface of the "Simplified Material Creation" method, which is highly configurable and uses reference materials:
Fig.6: User interface of the Simplified Material Creation method embedded in the Enhanced Material Search.

Even IS Retail specific Generic Articles can be created with one click when the Retail functionality Price Catalog (PRICAT) is used to manage supplier products.

More details about the material creation options can be found in the Application Help of the Enhanced Material Search with Creation.
The Enhanced Material Search function is implemented in some SD, MM and Retail MM transactions. However, on project basis you can implement the EMS function module into any SD or MM related transaction.

Variant of scenario 1: Long Tail in a Cooperative / Franching Business

The concept of a Long Tail scenario in a cooperative / franchising business (Fig.7) is identical to the main scenario 1 shown in Fig.1, with the difference that the data repository containing the supplier products data is outside the company's system landscape.


Fig.7: Performing catalog search via local Enhanced Material Search in a central hybris PCM based Supplier Product Data Repository

(slide available as PDF)


For a SAP user performing the catalog search in the Enhanced Material Search there is no difference at all in the behavior of the EMS. This makes this variant an elegant way to search for supplier products without the effort to import, harmonize, consolidate, manage and maintain the data coming from multiple suppliers in as many format.


As in the intra-company variant (see Fig.3), using the hybris PCM is particularly elegant as it allows to "mix" different catalogs into one common basis for a Long Tail / Supplier Product handling along with regular ERP materials. This is shown in Fig.7.


Scenario 1) shown in Fig.1 and Fig.7 is depending on the ERP based Enhanced Material Search with Creation, which is available in SD Order/quotation/inquiry since EhP2, and in MM order (me21n) and purchase requisition (me51n) since EhP5. This makes it possible to implement a long tail / supplier product creation in both SD and MM order processes using the same application for searching and creating supplier products.


In 2012 a German car parts dealer cooperative has implemented the scenario in Fig.8 using a central SAP Enterprise Search with a BWA server to run the central data repository:

Fig.8: Performing catalog search via local Enhanced Material Search in an central external Supplier Product Data Repository using SAP Enterprise Search as the central search engine. This scenario is running in a German car parts dealer cooperative serving around 30 business members (each with an own SAP ERP client).   

2. Supplier Products handling in SAP Retail InStore MIM

for occasional/remote users
The same general procedure applies for a realization of a supplier product ordering in the order creation process of the Retail InStore MIM solution.
An option is the project based integration of a full text search option for articles (Article Search) and supplier products (Catalog Search) based on the Enhanced Material Search capabilities with a product catalog managing used the supplier products, leveraging scenario 1 above:
Fig.9: Mockup for searching and creating Supplier Products in SAP Retail based InStore MIM solution.

3) Long Tail business in a Web Shop

For customers and business partners
This concept describes a possible Long Tail /Supplier Product handling scenario in a web shop and can be extended to other sales channels as well, applying the general principle of the scenarios above.
Typically a company would not allow their web customers to create new master data records. In this space workarounds like "text items" or "dummy products" are often used by customers to transfer the supplier product information to an order item.
These workarounds have the advantage for a company to keep control and limit the creation of master data records, but the disadvantage is that the process is not streamlined and requires a larger manual effort. In addition the sales reporting for such supplier products is more difficult, with effects on contracts up to price negotiations with suppliers.
In some wholesale areas like Heating/Ventilation/Air Conditioning (HVAC) where 10 million or more products can possibly be procured from suppliers, a company might not want to bother their web customers with request for quotations for supplier products and having all the manual effort to create the master data on the shoulders of their sales backoffice people. Here a webuser-triggered creation of master data could make sense.
I recommend to use an own material type for the creation of such master data out of supplier products catalog information. An own material type allows to easily identify materials which were created out of supplier product entries, and simplifies the whole order and procurement processes, including pricing, reporting, supplier negotiations, archiving, legal obligations, tracking, .... and not to forget the analysis whether such a material should be added to the assortment. In that case you can easily change the material type, e.g. to HAWA, and add additional master data like dispo data, storage locations, listing (in IS Retail), etc.
The general concept is simple and has to be realized on project basis:
  • The web shop used in the scenario is based on a product catalog, which has to hold not only products with an SAP master data record, but also supplier products without a material number.
  • The supplier product data entries need product content to allow a material master creation with the ERP based Material Creation module of the Enhanced Material Search, like SAP vendor, vendor material number, purchasing price, delivery time, minimum order quantity, ideally also sales list price, matching ERP material group, matching ERP product hierarchy, etc.
  • During the navigation of a customer within a webshop both supplier products and ERP materials are shown. For a web shop customer there must be no difference between the two kinds of products.
  • During the order creation or the creation of a request for quotation, the missing material masters are created:
    • I recommend the usage of the "Simplified Material Creation" method, which allows a creation of a new (single" material master within 1-2 seconds in ERP.
    • The Material Creation Module is part of the EMS and is contained in ABAP package WSD_CS_UI.
    • The Material Creation module sends the material number back to the calling web shop application
  • The web shop order has now all the material numbers and is created in the SAP ERP backend
  • a) hybris web shop variant using an SAP ERP backend


    The hybris product catalog has to contain the supplier product data in addition to the ERP material information. Alternatively, within hybris, a supplier products master catalog has to be mixed with an ERP material catalog (see Fig.2).


    The order process goes on as described in the general concept.


    b) SAP WCEM / SAP Internet Sales web shop variant using an SAP ERP backend


    When using WCEM or Internet Sales as web shop solution, the ERP Product Catalog has to be used to as the product basis of the webshop, together with TREX as search engine. However, in SAP Standard, the ERP Product Catalog does not support supplier products where no material master exists. Here the SAP ERP AddOn solution CatMan Suite is to be used to fill the gap. The web shop interfaces and UI's as well as the business object of the TREX index have to be extended on project basis to display and process supplier products as described in the general concept above.








    Feedback is welcome


    Again, I published these concepts as food for thought, not as the ONLY way of truth to realize long tail scenarios. But I believe all concepts are feasible without much complexity to be realized on project basis.


    My blogs are partly a bit technical, but I hope I can serve the needs of both business analysts as well as SAP experts to understand the concepts.


    As always comments, feedback and critique are welcome. Ideally we can start a serious discussion here to bust the myth of complexity for realizing a long tail scenario. In case it is business confidential please contact me in person for an individual concept discussion of your particular business case. 


    Please check my SD Enhancement Series Index blog for other valuable SD order enhancements.



  • Best regards,

    Ingo Woesner




    Dr. Ingo Woesner

    Product Manager - Multi Channel

    Suite Development Application Innovation

    SAP AG


    The requirement from the business was to have different levels of allocation for the same material for different countries. For example, Korea needed to do the allocation for materials at sales office and plant level whereas Pakistan wanted the allocation for the same materials at customer group level.
    It might also happen that business may need different planning time fence for different countries for allocation consumption. For example, one country
    requires allocation consumption to be checked on weekly basis whereas other countries need them on a monthly basis.
    With the Standard SAP, the above requirements are not feasible as the Product allocation procedure assigned to the material is at Basic data1 level which is
    common to all different sales orgs.


    For the above requirement, the below can be implemented:


    1. Info-structure definition MC21: Info-structure definition should be done by defining the characteristics and key figures. For our understanding and business case as mentioned above, 2 info structures have been defined – S860 and S861 for Korea and Pakistan respectively as below:
    2. Update group OMOG: The update group should be defined with the correct application (01 for Sales and distribution). This would be later on used
        for defining the update rules for the specific info-structure.
    3. Create Update rules MC26: Update rules need to be defined for the data which needs to be updated automatically in the info-structure. In case needed, a formula or a requirement routine can be assigned for the spcific key figures.
    4. Define Planning Type MC8A: A planning type describes a customized planning table. You use planning types to create and store important data from any information structure. Planning type Z_S860 and Z_S861 are created for the respective info structures.
    5. Product Allocation Configuration: All the required setup as per standard product allocation setup should be completed. The most important setup is to add the 2 info structures in the product allocation procedure as below:

    OV3Z - Assigning Procedure to Information structure
    OV4Z - Control Product Allocation
    Other configurations needed are:
    1. OV5Z – Consumption periods
    2. OVZ0 - Activate Allocation for Requirement Class
    3. OVZ8 - Activate Allocation for Schedule Line Category
    4. MC61 – Create Planning Hierarchy
    5. OV7Z - Generate Masking Character
    6. MM02 – Assign Product Allocation Procedure on Basic
      Data 1 Tab
    6. Development in SAP Enhancement: SAP has provided a specific enhancement point where based on specific conditions, specific step in the product allocation procedure can be ignored so that the system checks the allocation quantity in the required info-structure only.
    With the above coding, for a specific sales org, we can delete a specific step from the product allocation procedure so that the system checks the allocation
    quantity from the relevant info-structure only.

    POC in SAP

    2 sales orders are created - 1 for sales order 4500 and another for sales org 4460 for the same material. For Sales Org 4500, the product allocation quantity should be checked in info-structure S860 whereas for the sales org 4460, the allocation quantity should be checked in info-structure S861.
    1. Order 1 – for sales org 4500:
        The product allocation quantity is taken from the info-structure S860.
    2. Order 2 – for sales org 4460:
        The product allocation quantity is taken from the info-structure S861.

    Handheld (legacy system ) to SAP  Sales Process overview


    In today scenario we have many company using SAP for tracking SD (sales & distribution ) . SAP interact with Different Legacy system (non SAP) for normal process to intregate SAP and SAP or SAP and Legacy systems .


    In a handheld scenario , we have Sales represenative ideally use a HH (handheld ) device to take on Sales order and Add basic master data like new customer for any route etc . The Handheld will provide mobility in terms of the sales representatives for different manufacturing / retails companies will goto any route and take up sales orders for the customers for any routes . In case they see and meet new customer who are willing to purchase or place and order . The sales represenatative will capture sales orders for these new customers also through HH . They would have shell customer or new customer template that they will map the new customers to . Once they are verified they will be authorized to bill and supplied their Order placed . Before authorization , to avoid duplicate Customers setup for any route , the customers are placed in a block and Sales order in SAP will have Hard incompletions .


    Once the Sales order is saved in HH . The Sales Rep add these HH to network ports and do a send . Once the SO from the HH are put on service network , they all are saved in a flat file which is sent to SAP via Middleware . Once the flat file reached SAP , A customized program will break up these File into Inbound IDOCS and each idoc will create a Sales orders corresponding to the Flat file created earlier ( HH related Sales order created . )  . Since interaction is with legacy system and SAP . we do send an update as an outbound idoc to HH system again for the sales rep to be aware that the Sales order has been created in SAP also . This is done through an output from SO which send the idocs to HH system . this will ensure that idocs / SO are not missed inbetween SAP and HH system and a 2 way communication is set up correctly , as required .


    HH devices can be configured to be more flexible to interact to SAP for more functions , as per business requirements .

    Scenario: Company ABC manufactures very high value equipments. these are sold across the country through their own dealer network. Dealers are free to place orders for any product and quantity. Company provides credit facility to dealers for buying equipment.


    ABC Company runs its business on SAP which is used for procurement, production, sales and logistics activities, for dealers they have DMS system (Non SAP) which is use for Purchasing, inventory management, service and sales to end customers.


    Sales Orders are created via. Interface in SAP from DMS. Delivery processing and shipping planning starts parallely, because of no credit shipping process should not stop. So update group 15 is used so that the deliveries are considered to calculate credit exposure. There is also a legal requirement to create one invoice per equipment.


    Considering the above business requirement the IT team proposed to create delivery with one material and one quantity.


    Now let’s see how to fulfill the business requirement in SAP.

    Mostly deliveries are created using due list transaction here lets take example of VL10E.

    Navigate to the below given path


    Click on configure list profile copy 0201 and give a new name e.g. Z800


    Make changes as above in red.


    Change Cumul. Rule to 9 use exit LV50R_VIEWH19.

    In user exit set the value of cf_kumng = 1


    In Field “SplitSchedLine” set value to “1 Deliver only one schedule line”

    (This will deliver only one schedule line for selected item e.g. for item 10 there are 3 schedule lines and when all three are selected for delivery, system will create delivery for the first schedule line out of all)


    Once the delivery is created the cumulative quantity is set to original cumulative qty. as per order confirmation, so the log settings are changed to show on the same screen. Upon pressing any button the refresh will get activated and the exit is called again to set qty. to 1.


    Now choose “Assignment of List Profile to Delivery Scenario” in IMG and assign as shown below


    To have a split based on item number pass sales order item number (POSNR) to LIKP-ZUKRL in copy controls.



    Why Field WBS Element (COBL-PS_POSID) is not displayed at the Sales Order Line Item?


    1. Go tx. VA02
    2. Select item and go to tab: Account assignment



    Reason and analysis


    Once  the KZVBR is determined on sales order line item with 'E' so after entering the plant the field WBS element is not displayed.




    Please check your customising:


    1. In the sales order, check the requirements type (VBAP-BEDAE).

    • Sales order (VA02) check requirement type on tab "Procurement" :






    2. In OVZH, check the requirement class assigned to the requirements type.






    3. In OVZG, for the requirement class, check the "Account Assignment Category" (V_T459K-KNTTP).





    4. In OME9, check the "Consumption posting indicator" (V_T163K-KZVBR).





    If you want the WBS element (COBL-PS_POSID) to be displayed in the sales order item, this "Consumption posting indicator" should not be E or P.



    Summary of Transactions:


    OVZI:  Assign the requirement type to the item category

    OVZH: Assign the requirement class to the requirement type

    OVZG: Customize the requirement class (select the Acct.assig.cat)

    OME9: Customize the Account Assignment Category (select the  consumption posting indicator VBAP-KZVBR)



    More information about account assignment you can read in SAP note:


    459734How does the order account assignment work?

    • How to analyse the status during results analysis in tx. KKA3
    • Although the status of sales order is completed, it still catched status REL as status for valuation method in KKA3.




    Check it in sales order. Sales order is completed fully delivered, but system status shows: REL and not FNBL.




    How to analyze it, what is the reason?


    • In document flow status overview you can see already that the delivery status is not complete.
    • Delivery status is "Being processed"




    • Status delivery -> partially invoiced




    An invoice was already created to the customer, but an other is missing. Which invoice and why it is missing? Check it in debugging mode and

    set breakpoint to FM  SD_ORDER_GET_DATA :




    Here you can see again, everything is invoiced. And fields ch_all_issued and ch_all_posted are getting value "X".





    Where this value will be deleted and status FNBL is not set ?


    • Here will be deleted, because the sales order is an intercompany scenario and IV invoice is missing !
    • IV invoice status is not processed ("A")




    • Where does da_intercompany "X" come from ?
    • How can I analyze an intercompany process?
    • Check table LIKP with the following selection fields:





    • Create IV invoice in this example, with company code "5100".
    • Delivery will be full invoiced after that.
    • Run tx. KKA3 again.

    How Status Functionality in SAP helps professionals to control different activities:

    • SAP status profile functionality which is basically a workflow enabled functionality
    • Status profile is enabled by assignment to the sales order type (header level) or item category(item level)
    • Every activity will be defined by status number
    • With the help of the status number you determine the sequence in which the user statuses are activated.
    • You can assign lowest and highest number to status number so that particular activity can work within that number
    • you can track all activities performed for particular document based on updated statues
    • it can also be used for reporting purposes.


    How to configure status profile in SAP and enable for Sales documents:

    1. Define Status Profile:

    SPRO--------- Sales and Distribution---------- Sales >Sales documents ---------- Define and Assign Status Profile------------Define Status profile


    2.Assignment of Status profile at order type at below path:


    SPRO--------- Sales and Distribution---------- Sales >Sales documents ---------- Define and Assign Status Profile------------Assign order type/Status profiles


    3.Assignment of Status profile at item category at below path:


    SPRO--------- Sales and Distribution---------- Sales >Sales documents ---------- Define and Assign Status Profile----------- Allocate status profile to item categories



    4.Set Status controls based on business requirements.


    Go to Transaction control screen and enable below functionality



    5.Enter Authorization code to change the status:


    t-code BS02 can be used also


    Details about User Status:



    Status Number:

    It is the number which is assigned per activity and it is unique to every status.



    This is the text  which will flow to sales document once it is activated and update as per business activity mentioned in the configuration.



    whenever sales document is created by default this status will be activated to it.


    Lowest Status No:

    This will ensure that particular activity will be performed within this lowest number and once that activity is performed this will get deactivated.


    Highest Status Number:

    all activities will be performed till this number and it will block other activities or status updation having below status number than this.



    it will give you at which place this status can be activated.



    if several status have same priority then status which has highest priority will have preference.



    Step by Step usage of Status in Sales Document  status tab and approval process:

    1.Based on initial Status ,order will have status A001 as per configuration


    2.Update User exit logic based on business requirement and call function to change the user status and it will change to A002 as pending for approval


    3.Use Authorization object to approve or reject, it will again call function to change the status as per maintained in the status profile and after approval it will change to A003


    4.Once it is rejected ,it will have status A004 as below:





    • Status profile functionality is useful to track activities in a sequence and create workflow based approval process.
    • Statuses can be used to control and communicate.  Statuses can be used in reporting.

    There are instances when user wants to alter sale terms for a material. We can enable the user to enter quantity conversions directly in sales order by configuring relevant condition types. In V/06, go to Changes which can be made section for the condition type and choose Qty relation indicator. User will now be able to directly enter quantity conversions in sales order without maintaining the same in material master.  If sale unit is EA and user wants to specify price per KG, the same can be entered directly in sales order pricing without maintaining conversion in material master. Condition type has to be set with ‘No limitations’ or ‘Manual entry has priority’ along with ‘Qty relation’ as allowed.



    I maintained EA as base unit of measure for material and Gross weight as 10 Kg. If I require to change my rate of conversion, I can do so directly in the sales order. I enter price per KG and System prompts user to enter conversions and user can specify, say 1 EA = 25 Kg.


    However, there is little control over user input and this can lead to user errors. This can be used where both product pricing & packing is as per demand or sale conducted.




    Filter Blog

    By author:
    By date:
    By tag: