Your Ad Here

Saturday, July 11, 2009

SAP Tutorial - Part 16 - Sales & Distribution - Pricing - Part 3

Material Master Price as Sales Price Automatically


The first method is not to set the pricing condition VPRS as statistical.

Simply remove PR00 and it will work fine if you always use VPRS as your pricing base inside the pricing procedure.

VPRS will reads both prices based on the price control in the material master.

Price control S for standard price.
Price control V for moving average price.

It is this simple if you do not have any other "Prices" in the price procedure.



Steps to Create Commission for Agent

For creating commission agent, you have to follow below steps.

1) Establish Partner Functions for the Commissionee(s)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA

2) Assign the Partner Functions to Partner Procedures
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA

3) Create a Partner Procedure for the Commissionees
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA

4) Create New Customer Account Group(s) for Commission Agents
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; LOGISTICS GENERAL ->; LOGISTICS BASIC DATA: BUSINESS PARTNERS ->; CUSTOMERS ->; CONTROL ->; DEFINE ACCOUNT GROUPS AND FIELD SELECTION FOR CUSTOMER
Transaction Code: OVT0

5) Assign the Partner Functions to the Customer Account Group(s)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS ->; GOTO ->; PARTNER FUNCTIONS ->; ENVIRONMENT ->; ACCOUNT GROUP ASSIGNMENT
Transaction Code: VOPA

6) Assign the Partner Functions to the Partner Procedure for the Sales Document Header
Menu Path: Tools ->; Business Engineer ->; Customizing ->; Sales and Distribution ->; Basic Functions ->; Partner Determination ->; Define Partner Functions
Transaction Code: VOPA

7) Assign the Partner Functions to the Partner Procedure for the Sales Document Item (OPTIONAL)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA

8) Edit the Pricing Communication Structure (KOMKAZ) to Hold the New Functions (Client Independent)
Menu Path: Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; DICTIONARY
Transaction Code: SE11

9) Edit MV45AFZZ – userexit_pricing_prepare_tkomk (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR
Transaction Code: SE38

10) Edit RV60AFZZ - userexit_pricing_prepare_tkomk (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR
Transaction Code: SE38

11) Edit MV45AFZB - userexit_new_pricing_vbkd changing new_pricing (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR
Transaction Code: SE38

The following code should be inserted into program MV45AFZZ to allow the system to re-execute pricing if the user makes a change to the relevant partner function (alteration, addition, deletion).

13) Add the KOMKAZ Fields to the Pricing Field Catalog (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: OV24

14) Create Condition Tables (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: V/03

15) Create an access sequence containing the new tables (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: V/07

16) Create a new condition type
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE CONDITION TYPES ->; MAINTAIN CONDITION TYPES
Transaction Code: V/06

17) Add the Condition Type to the Pricing Procedure
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE AND ASSIGN PRICING PROCEDURES ->; MAINTAIN PRICING PROCEDURES
Transaction Code: V/08

11) Create Commission Report ZZCOMMISSION (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR
Transaction Code: SE38




However, if you are using one pricing procedure where for some items you price using VPRS and some others using PR00, then you should use requirement routines to enable the correct price condition type at the right time.

The second method involves more work as you need to write a formula (VOFM) to get that information.

This is how it goes :-

1. Set VPRS to be the first step in the pricing procedure and to be subtotal B (as standard).

2. Set PR00 with alt. calc. type formula, which sets the value of PR00 to be equal to the subtotal B.
The routine (created with transaction VOFM) is:

RV64A901
FORM FRM_KONDI_WERT_600.
XKWERT = KOMP-WAVWR.
ENDFORM.

The pricing procedure than looks like that:

Step 1 VPRS statistical, subtotal B, reqt 4
Step 2 PR00 Altcty 600

Thursday, July 9, 2009

SAP Tutorial - Part 15 - Sales & Distribution - Pricing - Part 2

Re-pricing in a Quotation

How can I, or am I able to find anything on a way of RE-Pricing be done in a QUOTATION?

You can always 'Update" pricing manually in a quotation the same way you do in a sales order, either in create or change modes. Menu path Edit --> New Pricing or press the 'Update pricing' button on the item conditions tab.

If you are asking how to reprice a quotation when it converts into a sales order, that can be done with the copy controls of the Item Category. IMG: Sales & Dist --> Sales --> --> Maintain Copy Control for Sales Docs --> Sales Doc to Sales Doc (transaction vtaa). Just choose the combination of documents and the respective item category. The field you need to be concerned with is "Pricing type".

However, from a business process perspective it makes absolutely NO sense to reprice a quotation when converting to a sales order. After all, the entire point of using quotations is to firm up details like pricing before creating the sales order.



Report to Check the Entered Pricing Condition Price

You're looking to implement quantity based discounts in 4.6c. You are trying to sell items in specific bulk quantities, and only give the discount for specific quantity intervals.

For example, if a customer orders 1 piece, 2 pieces, 3, etc. of part ABC, the price is $100.

If the customer orders 10 pieces of part ABC, the price is $50.

However, this is not only a standard minimum quantity discount. If the customer tries to order 11 pieces, 12, 13, etc. it should return $100 again.

The only values for which $50 should apply are 10, 20, 30, etc. - multiples of the bulk quantity 10.

You have discussed changing your part number to reflect a bulk qty of 10, however you have in house consumption that is allowed to consume only 1 part at a time. You would vastly prefer to keep one part number that you order from the supplier, consume internally and ship externally.

You are fairly certain there is basic functionality that covers this, but you're just not sure where to start.

Taking your requirements literally. Standard SAP scale pricing will not do it in that you only want the reduced price to come into effect when the order quantity is multiple of some bulk factor.

It is agreed with that creating a separate material number is not a good idea.

You can try this :-

1. Define/Select a UOM for selling in bulk (i.e. cas, pallet, box whatever)
2. Maintain UOM conversion between your base UOM and this new UOM
3. Configure you bulk pricing condition type by usual means (it should be a base price rather than discount).
4. Place this new bulk price behind your normal "PR00" price in the pricing procedure
5. Create a new condition base value routine via VOFM where you check XKWERT to see if it is a whole number. If it is not then set XKWERT to zero.
6. Assign this new routine to your bulk price condition in your pricing procedure in ALT condition base value column.
7. Maintain bulk price condition record in the Bulk UOM.



Mass Update of condition pricing

You can update the condition pricing for a range of sales order.

For e.g. if you create sales order for 15 months or so, and at the beginning of each year, you have to update the prices for lots of sales orders.

Other than using VA02 and make an Update of the conditions at item level which is a big work because you will have lots of open sales order after so many months.

Use VA05, select your Orders and on the result screen