Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata


The purpose of this page is to clarify the understanding of the system logic and requirements in relation to Product proposal in ERP SD: SD-MD-MM-PPR


A product proposal is a list of products for a specific customer that is automatically proposed during sales document processing. You can decide for yourself which materials should be displayed as product proposals in the sales document.  The product proposal differs to cross-selling in that it is dependent on the customer and sales area, and is displayed in the sales document as soon as you have entered a customer. Cross-selling, on the other hand, is triggered by a material. In other words, the system proposes cross-selling materials according to the material or a characteristic of the material you have entered.


•   Order history
•   Listed materials
•   Excluded materials
•   Item proposal
•   Customer-material info records
•   Customer-specific data sources
You can combine materials from these data sources to create a product proposal. The system then accesses the data sources either online or in the background.



  1. SPRO: Sales and Distribution -> Basic functions -> Dynamic Product Proposal
  2. VA51 – VA52 – VA53: DPP create / change / display
  3. XD02:  Sold-to party change


To define a product proposal for sales document processing, you must carry out the following activities in Customizing:

  • Define customer procedure for product proposal
  • Define document procedure for product proposal
  • Assign document procedure for product proposal to order types
  • Maintain table of origin for product proposal
  • Define product proposal procedure and determine access sequences
  • Maintain procedure determination (in background) for product proposal
  • Maintain procedure determination (online) for product proposal

The product proposal procedure determines how the system displays the product proposal in the sales document. For instance, if the system has accessed the order history, it determines how many columns should be displayed in the sales document, in which period intervals thehistoric order quantities should be displayed (for instance, day, week, or month), and most importantly, the sequence in which the system should access the data sources (for example, order history, listing, exclusion). 

The product proposal procedure depends on the:

  • Customer determination procedure
    The customer procedure determines which product proposal procedure the system automatically uses when you create a sales document for a particular customer. It is specified in the customer master record per sales area.
  • Document determination procedure
    The document procedure determines which product proposal procedure the system automatically uses for a certain document type. The document procedure is stored as a key in the header for the sales document type


  • Assign Document Procedure for Product Proposal to Sales Document type 


  • Maintain Table of Origin for Product Proposal

In this IMG activity, you define which data sources should be used to determine the product proposal, in other words, where should the materials in the product proposal come from. You can determine the product proposal from the following data sources:

Order history
The system evaluates all the sales documents belonging to the "order" category and copies all the materials contained in these document types, together with their requested delivery quantities, to the product proposal. When you define the product proposal procedure, you can determine whether each actual order quantity should appear in the quantity field, or whether it should be compressed (for example, per day, per week or per month).
Listed materials
The system checks whether a valid listing exists for the customer. If so, it copies all the listed materials to the product proposal.
Excluded materials
The system checks whether any of the materials it has determined have been excluded for the customer. This guarantees that the product proposal only contains materials that the customer is allowed to buy.
Item proposal
The system determines all the materials from the item proposal and copies them to the product proposal. You can use a parameter in the access sequence to transfer a certain item proposal to the function module that determines the product proposal. If you do not specify an item proposal in the function module, the system determines it from the relevant customer master record.
Customer-material info records
The system determines all the customer-material info records for the customer and copies all the materials contained in them to the product proposal.
Customer-specific data sources
If you want to access data sources that are not defined in the standard system, you must develop your own function module for the data access, maintain it in the table of origin, and save it in the access sequence in the product proposal procedure.

The origin key is displayed in the sales order so that you can find out at any time in the sales document where the proposed materials come from.

The system can determine the same material from different data sources for the product proposal. For example:
You determine that the materials in the product proposal come from the order history and the material listing. The same material appears in both sources. In the sales document, the system therefore displays the first source in which it determined the material. You determine the sequence in which the system accesses the data sources in the access sequence for the product proposal procedure.

  •  Define Product Proposal Proc. and Determine Access Sequence 


In this IMG activity, you define the product proposal procedure and determine the order in which the system creates the materials for the product proposal from individual data sources. In the definition, you determine:
The number of periods that should be displayed in sales doc. procesing. This means that if you use the order history as a data source, how many order quantity columns there should be in the sales document. Note: You can define a maximum of twelve columns in the sales document.

The period in which the historic order quantities should be compressed (day, week, month) Note: If you do not activate a period type, each column in the sales document contains the quantity from one order. For example:
Order Creation date Material Quantity 1000 01/13/99 Mat 1 1 Mat 2 2 1001 01/14/99 Mat 1 3 1002 01/14/99 Mat 1 3 1003 01/18/99 Mat 3 4 1004 01/22/99 Mat 1 5
Product proposal: Number of orders: Material 01/22/99 01/18/99 01/14/99 01/14/99 01/13/99 Mat 1 5 3 3 1 Mat 2 2 Mat 3 4
Product proposal: Cumulated per day: Material 01/22/99 01/18/99 01/14/99 01/13/99 Mat 1 5 6 1 Mat 2 2 Mat 3 4
Product proposal: Cumulated per week: Material Week 03 Week 02 Mat 1 5 7 Mat 2 2 Mat 3 4
The output format of the column headings (date, weekday, calendar week, or month)
Note: Ensure that the column heading matches the period type you have chosen. If you want individual columns to have different headings, you must program this specifically in the function module that the system accesses. This also applies if you want different calculation operations to take place in individual columns (for example, totalling).

The access sequence determines the order in which the system access the data sources you have specified and how it should combine the partial results from the accesses to a product proposal. In order to do this, the system needs the following information: Name of the function module that evaluates the data source (here you can store your own function modules)

The following function modules are defined in the standard system:

SD_DPP_CUSTOMER_MATERIAL_INFO - Material from customer-info record
SD_DPP_EXCLUSION - Material from exclusion
SD_DPP_HISTORY - Material from order history
SD_DPP_LISTING - Material from listing
SD_DPP_PRODUCT_PROPOSAL - Material from product proposal

The function module called SD_DPP_READ is only for reading the product proposal from the database if you are generating the product proposal in the background. You must specify this function module in the access sequence for the online procedure.

WARNING: If you combine the background determination with a determination in the Online site, the function module SD_DDP_READ must always be listed as the first function module in the Online procedure.

Freely-definable parameters (function module attributes) for controlling the function module: the parameters you enter here are transferred as values to the function module. For example, you can specifiy the name of a certain item proposal that the system should access, or the name of the information structure for a statistical evaluation.
Activity indicator for the function module that specifies how you should proceed with the materials or the end result determined by the function module. To form the end result of the product proposal, you can carry out one of the following operations:
 Indicator A: Add
 Indicator B: Remove (for example, for excluded goods)
 Indicator C: Check and compare (for example, for listed goods)
 Indicator D: Mix result externally
This indicator is designed for when you want to use operations or calculation rules to determine the end result but indicators A, B, and C do not meet your requirements. You have to save the operations for mixing the result in the function module itself. If you then choose indicator D, the end quantity determined at this point is transferred to the specified function module, where the system then runs the operations stored there. The final result is then used as the product proposal.

If you use online processing, the product proposal procedure is determined according to the customer and document determination procedures. If you use background processing, the product proposal procedure is determined according to the sales area in the customer master and the customer determination procedure. It does not use the document determination procedure because the document type is not recognized in background processing

  • Maintain Procedure Determination (Online) for Product Proposal 


  • Maintain Procedure Determination (in Background) for Product


In this IMG activity, you determine the product proposal procedure for background processing. Note: The procedure can be determined both online and in the background together. For example, the system can determine materials from the order history in the background but access all the other data sources while online. Note that if you use both types of determination, the data should be cumulated in the same period type for both. The product proposal procedure is determined according to the customer determination procedure and the sales area from the customer master record.

If you want the system to access several different data sources, SAP recommends that you process in the background. This reduces the system load as much as possible while processing sales documents online. When you generate the product proposal in the background, the volume of data can be very large because the product proposal is stored at both customer and sales area level.

The standard system contains the SD_DPP_READ function module for reading the product proposal from the database. If you generate a product proposal using background processing, you need to specify this function module in the access sequence for the online procedure. Only then can the system display the product proposal during sales document processing.
When using the condition technique to generate product proposals in background processing (for example, in material listings or exclusion), only use fields that are known to the system at the time of generation. You cannot use fields that can only be determined once you process the sales document (for example, sales office, sales group, division, item category, or plant).
If you combine background determination with determination in the Online site, the function module SD_DPP_READ must always be listed as the first function module in the Online procuedure.

1. Define the product proposal procedure determination for background processing.

2. Schedule the "Generate Product Proposal" report (SDPVGEN) for background processing. You will find this report in the SAP menu, under Logistics --> Sales and Distribution --> Sales --> Environment --> Generate Product Proposal.

3. Create a variant for the selection criteria. The report SDPVGEN is used to generate the product proposal. The report creates, in accordance with the selection criteria, the product proposal procedure. Here, the access entered is carried out, and the result is written in a table and stored in the database.






PP in document processing

Enter sold-to party and PO number -> system propose the items, but at this stage without quantity => no position number, no item category, only after entering quantity. If there are proposed items without entered quantity at time of saving the order -> this item will disappear from the order and in VA02 will not pe proposed again. In VA02 proposal can be listed again with the Proposal button, but in this case it gets already a position number.


PP Calls


Userexit in MV45AFZA:

                    - userexit_move_field_to_komkg

                    - userexit_move_field_to_kompg


Please see note FAQ  870085:

1. What is the difference between a product proposal and the cross-selling function?                                    

      PP depends on customer -  CS depends on MATNR 
      PP only when creating in VA01
      New proposal PP only when changing sold-to or new AUART

2. What restrictions are there for the creation of a product  proposal?    

      -   Batch Input                                                             

      -   incoming IDOC´s                                                       

      -   BAPIS                                                                   

      -   Changing sales document (only manual - button/menu)

      -   Displaying sales document

      -   Creating sales document with reference

3. From which sources can a dynamic product proposal be created? 

     Indicator for source ( V_TPVH-PVHKN)  

     -   SD_DPP_CROSS_SELLING                                                 

     -   SD_DPP_CUSTOMER_MATERIAL_INFO                                        

     -   SD_DPP_EXCLUSION                                                     

     -   SD_DPP_HISTORY                                                       

     -   SD_DPP_LISTING                                                       


Function module SD_DPP_READ only serves for reading the product proposal of the database. If the background determination is combined with an online determination, SD_DPP_READ must always be listed as first function module in the online procedure.    

4. When are the target quantities from a product proposal copied to a sales document?   

Target qty (VBAP-ZMENG) are not automatically copied from a dynamic product Proposal; a transfer of the target quantity to the document only possible by means of menu path Edit -> 'Propose items' or the button 'Propose items'.                                                                                                                            

5. Is the dynamic product proposal function also possible for sales document types      that use the target quantity in the screen in your screen sequence group?                                        

     PP is possible only for AUART with order quantity 


         - Credit/debit memo requests (Note 402486)

         - Contracts (Notes 499233/517807)

Related SAP Notes/KBAs

SAP Note  870085 FAQ: Product proposal
SAP Note 402486 Dynamic product proposal and target quantity
SAP Note 499233 Dynamic product proposal and target quantity in contracts
SAP Note 517807 Dynamic product proposal and target qty in quantity contract


  • No labels