Anda di halaman 1dari 15

Sales and Distribution Pricing

By: Vandana Sharma


SAP ECC/CRM Technical Consultant
This document describes Pricing Concept in SD which follows condition technique approach. It
describes pricing components and their configuration in SAP and how pricing data is stored in
SAP table and new fields are added to Pricing Field Catalog.

Pricing
The term pricing is used to describe the calculation of prices (for external use by customers or
vendors) and costs (for internal purposes, such as cost accounting). To arrive pricing for a sales
order line item there will be multiple components which are represented by condition types.

Pricing Elements

Pricing Procedure
Condition Type
Access Sequence
Access or Condition Table
Condition Record

Pricing Procedure:
It is group of condition types in a particular sequence.

Path: SPRO -> IMG -> Sales and Distribution - > Basic Functions -> Pricing - > Pricing
Control -> Maintain pricing procedures

Definitions of Fields in Pricing Procedure


a) STEP
This indicates the number of the steps in the procedure. For example, the first condition
type should be Step 10; the second condition type should be Step 20, and so on. It is
possible to number the steps in intervals of 1, but this can make changing the procedure
in the future very difficult.
b) COUNTER
This is used to show a second mini- step within an actual step.
c) CONDITION TYPE
This is the most important component in the pricing procedure. The rates are picked up
from this element, on the basis of the properties described.
d) DESCRIPTION
This forms the description of the condition type.
e) FROM
This is used to define the progression of the calculation and range of subtotals
f) TO
This is used to define the progression of the calculation and range of subtotals.
From and To are used in two circumstances:
(I)

To define the range for a subtotal For example, if you want to add up all the
condition types from step 10 to 50, you would enter 10 and 50 in the Fro and
To columns respectively.

(II)

To define the basis for a calculation For example, if a discount is defined as a


percentage, you need to indicate which step must be used as the basis for the
calculation. If the calculation must be performed from Step 100, you would
enter 100 in the Fro field.

g) MANUAL
This function enables to allow the condition type to be entered manually also apart from
automatic pickup.
h) MANDATORY
This function identifies the conditions that are mandatory in the pricing procedure. The
sales price is a mandatory condition type.

i)

STATISTICS
This can be used to represent the cost price of the material sold, generally used for study
statistical impacts of price

j)

PRINT
The activation of this function will enable the printing of the values and conditions to the
document.

k) SUBTOTAL
A key is assigned from the drop down menu; this can be used by the system in other area
like Sis for reporting purpose also
l) REQUIRMENT KEY
This function is used to assign a requirement to the condition type. This requirement can
be used to exclude the system from accessing the condition type and trying to determine
the value. This can be used to specify that the condition type should only be accessed if
the customer has a low risk credit.
m) ALTERNATE CALCULATION TYPE
This function allows you use a formula as an alternative in finding the value of the
condition type, instead of standard condition technique. this can be used to calculate
complex tax structures.
n) ALTERNATE CONDITION BASE VALUE.
The alternative condition base value is a formula assigned to a condition type in order to
promote an alternative base value for the calculation of a value.
o) ACCOUNTS KEY
The account keys form part of account determination. These keys are used here to define
the posting of the revenue generated to respective account heads& to subsequent
assignment to GL accounts.
p) ACCRUAL KEY.
The accrual keys form part of account determination. These keys are used here to define
the posting of the revenue generated to respective account heads& to subsequent
assignment to GL accounts and payment to respective parties.

The Combination of following determines Pricing Procedure.

a)
b)
c)
d)

Sales Organization
Distributional Channel
Division
Document Pricing Procedure: Sales Document Type (VBAK-AUART) is assigned Doc
Pricing Procedure.

e) Customer Pricing Procedure: Customer is assigned Customer Pricing Procedure in sales


view.

Condition Type
It is a representation of different pricing components involved e.g. You can define different
condition types for each kind of price, discount or surcharge that occurs in your business
transactions. Condition Type is linked to an access sequence.
Path: SPRO-> IMG -> Sales and Distribution -> Basic Functions -> Pricing -> Pricing
Control -> Define Condition Types -> Define Condition Types

Condition Type PR00 is part of Pricing Procedure PR0000

Access Sequence
Access Sequence is a combination of Condition Table in a logical order to obtain a condition
record.
It is assigned to Condition Type.

Path: SPRO -> IMG -> Sales and Distribution -> Basic Functions -> Pricing -> Pricing
Control -> Define Access Sequences -> Maintain Access Sequences

An access sequence is a search strategy that the system uses to find valid data for a particular
condition type. It determines the sequence in which the system searches for data. The access
sequence consists of one or more accesses or condition table. The sequence of the accesses
establishes which condition records have priority over others. The accesses tell the system where
to look first, second, and so on, until it finds a valid condition record.

Condition Table:
A condition table defines the combination of fields (the key) that identifies an individual
condition record. A condition record is how the system stores the specific condition data that you
enter in the system as condition records. Condition Tables are assigned in Access Sequence in a
particular sequence. Condition tables are named as AXXX where XXX is 3 digit table numbers.

Path: SPRO -> IMG -> Sales and Distribution -> Basic Functions -> Pricing -> Pricing
Control -> Define Condition Tables -> Maintain Access Sequences -> Accesses -> Fields
Sales and Distribution Pricing

Condition Record:
It is record or data stored in Condition Table. Condition records allow to store and retrieve
pricing data in the system. All the pricing elements of daily business - the prices, discounts, and
surcharges for freight and taxes - that we want to use for automatic pricing must be stored in the
system as condition records. We can define as many condition records as we want for the
different pricing elements for any validity period. Condition Record is retrieved from condition
table using following condition technique.

Access Sequence search condition record from most specific to the most general.

Information About Fields


The fields that you choose to make up the key are called the selected fields. The fields from
which you can make your selection are called the allowed fields.

Field Catalog (Allowed Fields)


When you select fields for the key, you must choose the fields from the list of allowed fields.

Steps to add new fields to Pricing Field Catalog (Extending Field Catalog)
For example if you want to use field PSTYV (Sales document item category) that is included in
structure KOMP (Pricing Communication Item) as a key for a condition table.
When you create a condition table (Transaction V/03), however, the system does not propose the
field in the field catalog.

Prerequisites:
For technical reasons, field PSTYV was included in structure KOMP, however, not in structure
KOMG (Allowed Fields for Condition Structures).
To solve the problem, proceed as follows:
1. Call up the ABAP Dictionary (Transaction SE11) and create data type ZZPSTYV. Choose
PSTYV as a domain. As a short text, you can use, for example, ZZ sales document item
category and as a field label, you can use the field labels of PSTYV. Save, check and activate
your entries.
2. Call up structure KOMPAZ in the ABAP Dictionary (Transaction SE11) in the change mode
and make the following entry:
Component Component type
ZZPSTYV ZZPSTYV
Save, check and activate the change you made.
3. Note: Because of the change in structure KOMPAZ, field ZZPSTYV is now known in
structures KOMG and KOMP because structure KOMPAZ is included in both structures.
4. Call up Transaction SPRO. Navigate to Sales and Distribution -> Basic Functions -> Pricing > Pricing Control and execute Define Condition Tables. Choose Conditions: Allowed fields
and include ZZPSTYV as a new entry.
5. Note: Now you can use field ZZPSTYV as a key field when you create a condition table
Axxx.
6. Supply the new field you defined by including the following source code line in
USEREXIT_PRICING_PREPARE_TKOMP:
MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV.

In order processing you find the user exit in Include MV45AFZZ, and in billing document
processing you find it in Include RV60AFZZ.
Consider that you can also use this note as a help if you want to use other customer-specific
fields as key fields in a condition table. For header fields, use structure
KOMKAZ instead of structure KOMPAZ and USEREXIT_PRICING_PREPARE_TKOMK
instead of USEREXIT_PRICING_PREPARE_TKOMP.

An example to how SAP calculates Pricing for one of Sales Line item and which table stores
pricing data.
Sales Area: 0001/01/01
Document Type: OR gives Doc Pricing Procedures as A
Customer: 1000 gives Customer Pricing Procedure as 1
Combination of above 5 values determines Pricing Procedure as RVAA01

There are 4 condition types for line item 10(Material 1962). To arrive how pricing for condition
type PR00 is calculated
1) Get Access Sequence for Condition Type PR00

2) For Access Sequence PR02 Get Condition Tables as below.

3) Execute Transaction VK13 (Display Condition Records) for each of the above table in
sequence until record is found.

Condition Record from Condition Table 305 is shown as below. Since Condition record is found
in first condition table itself, there is no need to go into further condition tables.

Alternatively Same data found as above can be retrieved from tables also.
Once Condition table is known get KNUMH (Condition record number) from Condition Table
AXXX.
Pass KNUMH to KONP to get KBETR (Rate), KONWA (Rate Unit), KPEIN (Condition pricing
unit) and KMEIN (Condition unit)

Pricing Tables:
KONH Conditions (Header)
KONP Conditions (Item)
KONV Conditions (Transaction Data)
T683V Pricing Procedures: Determination in Sales Docs.
T683S Pricing Procedure: Data (Get list of Condition Type assigned to Pricing Procedure)
T685 Conditions: Types (Get Access Seq. for Cond. Type)
T682I Conditions: Access Sequences (Get Cond. Table for Access Seq.)

Anda mungkin juga menyukai