Error fixSAP ECC / S/4HANASD Pricing

SAP Pricing Error: Condition Record Missing for PR00 in a Sales Order

Error
SAP pricing condition record missing PR00 sales order VK11

Also searched as

  • SAP no condition record found PR00
  • SAP pricing error mandatory condition is missing
  • how to create condition record VK11 price
  • SAP pricing analysis in sales order item

Short answer

The error means the pricing procedure expected a price condition such as PR00, found no valid record for the key, and the condition was flagged mandatory. Use the pricing analysis in the order item to see which access failed, then create the record with VK11, or fix the pricing procedure determination if the wrong procedure was selected.

Applies to: SAP ECC 6.0 and S/4HANA SD condition technique; condition tables vary by implementation, procedure names such as RVAA01 are standard examples

How to resolve a missing condition record

  1. 1In VA01 or VA02 open the item, choose Conditions, and use Analysis (the pricing analysis function). It shows each condition type, its access sequence, and whether each access found a record.
  2. 2Note the key combination that failed, such as Sales Org, Distribution Channel, Customer and Material. Confirm the material and customer master data are what you expect.
  3. 3Check VK13 for the condition type, for example PR00, with the same key. A record may exist but be outside its validity dates or in another sales org or currency.
  4. 4Create the missing record with VK11. Enter condition type, choose the key combination, enter the keys, the amount, currency, unit and validity range, and save.
  5. 5In the order, choose Edit, New Pricing (or pricing type B) to redetermine the price, since the existing pricing result is not recalculated automatically.
  6. 6If the analysis shows the wrong pricing procedure, check determination in OVKK using sales area, document pricing procedure (set on the order type in VOV8) and customer pricing procedure (customer master, sales view).
  7. 7If the condition is mandatory in the procedure (V/08) but you intend it to be optional for this case, change the Mandatory indicator with a transport after approval.
  8. 8Test with a new order for the same customer and material and confirm the price appears.

How the condition technique selects a price

A pricing procedure (V/08) lists condition types in a fixed order, for example base price PR00, discounts K007 and surcharges. Each condition type points to an access sequence (V/07), which is an ordered list of accesses. Every access reads a condition table keyed by fields such as customer and material or price list and material. The system takes the first access that finds a valid record.

Records live in header table KONH and item table KONP, with key fields in the A tables (A304 and others, depending on the key combination chosen). A record is valid only inside its validity range, with the right currency and unit. A record that exists for next month will not be found today, which is one of the most common surprises.

Reading the pricing analysis

The analysis screen is the fastest diagnostic. Each condition type shows a list of accesses with a status. A green tick means a record was found, a mark means no record for that access, and a requirement failure means the access was skipped because a routine said it did not apply. The detail view shows the exact key values used, so you can compare them with the VK13 record character for character.

Common mismatches are a customer pricing group different from the record, a material pricing group, a currency difference, a price list type, or a record created at a level the access sequence does not read. If the access sequence does not include the key combination you created, no record will be found, however correct the price looks in VK13.

VK11    Create condition record
VK12    Change condition record
VK13    Display condition record
V/08    Pricing procedure (condition types, mandatory flag)
V/07    Access sequence
V/06    Condition types
OVKK    Pricing procedure determination
VOV8    Document pricing procedure on sales document type

Wrong procedure, scales and mass maintenance

When no record could be correct for the order, the pricing procedure was probably determined wrongly. OVKK combines sales area, document pricing procedure and customer pricing procedure. A new customer with an empty pricing procedure field, or a new sales order type without a document pricing procedure, gets a procedure that does not contain PR00 at all or contains a different set of accesses.

For many records use VK31 for list based maintenance or upload through an LSMW or a standard BAPI based load. Check scale types and units: a price entered per 1 unit while the order is in per 100 units yields correct results only if conversions are maintained. Review released prices with the pricing analysis rather than assuming the load worked.

Common pitfalls

  • !Creating a record with a key combination the access sequence does not read, so it is never found.
  • !Setting validity from the first of next month and testing with today's pricing date.
  • !Not redetermining price in the existing order, so the old error remains even after the record exists.
  • !Making a condition mandatory in V/08 without testing special order types such as free of charge or intercompany.
  • !Maintaining the price in the wrong currency or unit of measure.

How an ERP-grounded AI assistant handles this

A grounded assistant like ERPray can compare the order's key values with the condition records it can read in KONH, KONP and the A tables, then state which access failed and which record would match: for example a record valid next month for the same customer and material. It shows the queries and only reads. Creating or changing prices stays a human action in VK11 with your normal approval.

Frequently asked questions

What does the mandatory condition error mean?

The pricing procedure flags a condition type, usually PR00, as mandatory. If no valid record is found for the order's keys and dates, the system raises an error and may set the item pricing status as incomplete. Create the record or correct the pricing procedure determination.

Why does a record exist in VK13 but is not found?

Typical reasons are validity dates, currency, unit of measure, a different sales organisation, or a key combination the access sequence does not use. Use pricing analysis to see the exact key used and compare it with the VK13 record.

How do I recalculate price after creating the record?

Open the order in VA02, go to the item conditions screen and choose Edit, New Pricing, or use pricing type B to redetermine prices fully. Without this step the order keeps the old pricing result even though the condition record now exists.

Where is the pricing procedure determined?

In OVKK, using the sales area, the document pricing procedure on the sales document type and the customer pricing procedure in the customer master sales view. If any of those fields are empty, a different procedure may be selected than the one you expected.

Related

How-to

SAP Sales Order Incompletion Log in VA01/VA02: Fix and Configure

An SAP sales order is incomplete when a field marked as required by its incompletion procedure is empty. Open the order in VA02, choose Edit, Incompletion Log, fill the listed fields, and save. If you need to change which fields are required, you maintain incompletion groups and procedures in SD customizing, not in the order itself.

Error fix

SAP VF04 Billing Due List Is Empty: Why Documents Do Not Appear

VF04 only lists documents that are billing relevant, not yet fully billed, not blocked, complete, and inside the selection dates you entered. When a delivery or order is missing, the cause is almost always one of: goods issue not posted, a billing block, an incompletion, wrong billing relevance on the item category, or a billing date outside the selection range.

How-to

SAP SE16N vs SQVI: Table Browser vs Ad Hoc Query

SE16N is a single-table browser: fast filtering, formatted display, and export from one table at a time, with an optional edit function for authorized users. SQVI (Quick Viewer) builds ad hoc queries that join multiple tables without writing ABAP, and can be saved as a reusable report. Use SE16N for a quick look at one table; use SQVI when you need data joined across two or more tables.

Error fix

SAP M7 021: Deficit of SL Stock Quantity

M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.

Error fix

SAP IDoc Status 51: Application Document Not Posted

Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.

Error fix

SAP Short Dump TIME_OUT: Maximum Runtime Exceeded

A TIME_OUT runtime error means a dialog (or RFC) work process ran longer than the maximum allowed runtime, controlled by profile parameter rdisp/max_wprun_time (600 seconds by default). The fix is almost always to move the long-running work to background processing or tune the underlying program, not to raise the timeout.

AI for ERP

AI for SAP S/4HANA Sales and Distribution (SD) That Explains Orders, Pricing and Blocks

AI for SAP S/4HANA SD: order status, delivery and billing blocks, pricing explanations and credit holds in plain English. Read-only, on-prem option.

Stuck on SAP ECC / S/4HANA?

Talk to engineers who work inside SAP ECC / S/4HANA every week, and who build private AI that answers these questions from your own ERP data.