How to create a Price Report in 15 minutes
Objective: You wish to create a report listing specific condition records with associated condition record validity dates, but you wish to extract data relevant for a specific customer across multiple condition types. This would normally entail you having to do multiple extracts or creating a specific query/custom ABAP program. A standard SAP solution is to create a price report, which can be done very quickly and effectivly.
Procedure to Create a SAP Price Report:
- Access the IMG: SAP Customizing Implementation Guide–>Sales and Distribution–>Basic Functions–>Pricing–>Maintain Pricing Report
- Select “Create Pricing Report”
- Enter a Name and Title
- Now select a field which is part of the condition table within your access sequence assigned to your condition type. For example you may select the field KUNNR. (Be careful as more than 1 technical field may have the same Field name description). (A good tip is to not select too many fields.)
- Select the OR or AND buttons depending on the number of fields you have selected.
- You will now have a list of all the pricing tables which contain the field you have selected. Select the tables for which you would like the report to extract the data. (Be careful as each field which is represented in a table will need to be represented in the final report, so you may not wish to have too many variables.)
- Now select the Next Step (F5)You can select which fields are used as selection parameters or not. All fields must have a position assigned in the report; Page Header –Group Header –Item level –
Result: You can now execute the report with transaction V/LD.
Price Agreement unwanted condition types
Scenario - You are in a contract and select the “Price Agreement” button. You then select the top right hand button “Other Condition Type” (Ctrl+Shift+F7), the drop down list has condition types that you are unfamiliar with, you may not even have these condition types in your pricing procedure. Some of the usual culprits are:
PPAG MatlGroup Price Item
PPAR Settlement Price Itm
PPSG Hierarchy Price Item
PPSV Service Price Item
So how do you remove these from the drop down list (match code) as there is no clear customizing causing them to appear?
The Answer is all condition types that have an access sequence that has a condition table which refers to a sales document number VBELN or item number POSNR will automatically appear in this list of price agreement conditions. To remove them from your match code simply remove the table from the access sequence.
Quick and Easy Tut – EDI – Pricing Condition Records
Introduction
So you know that SAP can send pricing condition records from your SAP system to another system using ALE/EDI. An investigation of transaction WE60 can show you the structure of the Basic Type “COND_A03″.
But what is the easiest method of sending the initial data load from SAP to another system for pricing condition records, or how do you use it? Read more 
SAP Tips – VPRS condition Type currency in Billing
SAP Tips – VBAP-CEPOK – EDI Price/Value
Not all customer expected prices are causing the documents to be incomplete for with EDI. This will help:
How To Pricing – Condition Basis
This is a series of steps to create a pricing procedure covering Condition Basis, From and To Step Numbers and the condition basis formula.
SAP Tips – Manual conditions in the pricing procedure
SAP Tips – How is the cost determined in pricing?
In the order, the cost is generally taken from the valuation segmentof the material master.
In the billing document, however, it may have other sources. Depending on the business transaction, the costs can be taken from the goods issue of the billed delivery or, in the case of a third-party order processing or individual purchase order, from the respective purchase order, the goods receipt or the invoiceverification in purchasing. Read more 
SAP Tips – In Billing how was condition VPRS determined?
Go to the detail display of the VPRS condition type.
- If the condition control (KSTEU) is set to ‘H’, the cost was taken from the goods issue.
- If it set to ‘A’, it was redetermined from the valuation segment of the material master, in case of ‘D’ or ‘E’ it was copied from the preceding document.
SAP Tips – ‘Y’ – “Inactive because of subsequent price”
Use of KINAK ‘Y’ (‘last price’ logic) to exclude conditions:
In addition to the condition exclusions, which you can influence in Customizing and in the condition master data, R/3 pricing still has a condition exclusion that was programmedusing a hard-coded logic: the ‘last price’ logic. Read more 
SAP Tips – Using field PSTYV in a Pricing condition table
For technical reasons, the field PSTYV was included in the structure KOMP, but not in the structure KOMG (Allowed Fields for Condition Structures).
To solve the problem, proceed as follows:
1. Call the ABAP Dictionary (transaction SE11) and create the data type ZZPSTYV. Select PSTYV as the domain. As the short description, you can use ‘ZZ – Sales Document Item Category’ (for example) and as the field labels, you can use the field labels of the data type PSTYV. Save, check and activate your entries.
2. In the ABAP Dictionary (transaction SE11), enter the structure KOMPAZ, switch to change mode and make the following entries:
Component Component type
ZZPSTYV ZZPSTYV
Save, check and activate the change.
3. Note: Due to the changes in the structure KOMPAZ, the field ZZPSTYV is now known in the structures KOMG and KOMP because the structure KOMPAZ is included in both structures.
4. Call transaction SPRO. Go to ‘Sales and Distribution > Basic Functions > Pricing > Pricing Control’ and execute ‘Define Condition Tables’. Select ‘Conditions: Allowed fields’ and enter ZZPSTYV as a new entry.
5. Note: When you create the condition table Axxx, you can now use the field ZZPSTYV as a key field.
6. Populate the new field you defined by including the following source code line in the user exit USEREXIT_PRICING_PREPARE_TKOMP: MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV.
In order processing, the user exit is available in the include MV45AFZZ, and in billing document processing, it is available in the include RV60AFZZ
Remember too that you can use this technique for other user defined fields. For header fields, use the structure KOMKAZ instead of the structure KOMPAZ, and use the user exit USEREXIT_PRICING_PREPARE_TKOMK instead of the user exit USEREXIT_PRICING_PREPARE_TKOMP.
More information is available in transaction SPRO when you go to ‘Sales and Distribution > System Modifications > Create New Fields (Using Condition Technique) > New Fields for Pricing’, and in OSS Note 21040
SAP Tips – Determination of price unit and unit of measure:
In the SD pricing procedure sometimes you may be confused how the system determines the Net Price:
Determination of price unit and unit of measure: Read more 
Tip – Pricing analysis
This is one good standard SAP tool for pricing analysis.
Transaction : PRCAT
The more you dig the more it is helpful
Tip – Price report
Is it possible to have a report which shows who changed what pricing condition record at what time and what was changed?
Yes – use SA38 to execute report – RV16ACHD
or use transaction code – S_P6B_12000142
Great Pricing OSS consulting note
note: 836243
This note deals with the following topics in detail:
1. Attributes of the inactivity indicator (KINAK field).
2. Use of the KZNEP exclusion indicator to exclude conditions.
3. Condition exclusion based on the properties of thecondition type.
4. Use of exclusion group Customizing to exclude conditions.
5. Use of KINAK ‘Y’ (‘last price’ logic) to exclude conditions.
6. Summary/program steps for condition exclusion.
7. No exclusion on header level
Pricing rules in TVCPF
Tip – Any OSS note that is in version 27, is guaranteed to have a lot of value, the OSS note 24832 should be standard reading for anyone
Pricing Analysis in ERP
Tip – How many time have you done a pricing analysis and found the error:
VE 108 “Condition record exists but has not been set” or
VE 008 “Condition record exists (removed manually)”?
There is a great OSS note that you can use to determine the cause of these errors – See OSS note 859876




