Top Banner
Oracle Order Management/Advanced Pricing Pricing Diagnostics and Troubleshooting An Oracle White Paper December 2002 1
22
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DiagTroubleshoot (1)

Oracle Order Management/Advanced Pricing Pricing Diagnostics and Troubleshooting An Oracle White Paper December 2002

1

Page 2: DiagTroubleshoot (1)

Contents - Section-A Common Advanced Pricing Setup Issues

A.1 Common Price List Setup Issues

A.2. Common Modifier Setup Issues

A.3. Concurrent Program: QP: Maintains the Denormalized data In QP Qualifiers

A.4. Integration/ Attributes Mapping Messages/Errors

A.5. Freight Charges Integration

A.6. Other Common Setup Issues Section-B Common OM-Advanced Pricing Integration Setup Issues

B.1 Understanding Calculate Price Flag in Order Management B.2 Common OM-Pricing Integration/Pricing Issues

Section-C Getting Debug and Troubleshooting

2

Page 3: DiagTroubleshoot (1)

Section-A

Common Advanced Pricing Setup Issues

This section summarizes the common errors encountered while using Advanced Pricing and their reasons. As you will notice that most of these errors are valid pricing errors, the user may need to understand the cause or required setup to change the behavior.

A.1 Common Price List Setup Issues A.1.1 Item and UOM not on Price List

Problem Symptom Recommendation The price list header is inactive.

Check active flag on price list header.

The price list header is ineffective as of the pricing date.

Check active dates on the price list header window. Blank dates mean no restriction (pricing effectivity date can be checked in the Pricing tab of Sales Order window).

The source system code on price list is not correct.

Verify request type, source system code mapping to make sure that appropriate source system codes are attached to the request type code.

The price list line is ineffective as of the pricing date.

Check active dates on the Price List Lines window. Blank dates mean no restriction (pricing effectivity date can be checked in the Pricing tab of Sales Order window).

3

Page 4: DiagTroubleshoot (1)

The qualifiers for the price list are not met or not passed to the pricing engine (attributes mapping).

Occasionally a qualifier is unintentionally created for a price list which prevents use of that price list, resulting in an error. If the price list has a qualifier, verify that the qualifier is passed to the engine by checking the attributes those are passed. Refer Pricing Engine Request Viewer window for that.

The pricing attributes for price list are not met.

Using the Pricing Engine Request Viewer window to verify that the pricing attributes are sourced.

The price break conditions are not met based on item quantity and item amount.

Make sure that context volume and attribute Line quantity is sourced properly. Use Pricing Engine Request Viewer window to verify this.

The UOM on the Sales Order line does not match the UOM on the Price List and UOM conversion is not defined in the price list.

Check the Pricing Engine Request Viewer window to make sure that the correct UOM is passed.

Pricing engine call is made before the pricing attribute in the database is saved.

Verify that the line is saved before making a call to the pricing engine. You may get ‘An item not found on the price list’ error if engine is not able to find the price list due to unavailability of pricing attribute.

Price list header currency is different from the order currency.

Check currency. Choose a price list with same base currency as the Sales Order or, if multicurrency price lists are being used, one that has a conversion defined.

An unusual error causes pricing performance related columns to be out of sync.

Qp_list_line_detail.sql shows that the columns are not properly updated. Run the QP: Maintain de-normalized data concurrent program to correct this situation.

A.1.2 Cannot Resolve Incompatibility Between Price List X and Price list Y

4

Page 5: DiagTroubleshoot (1)

Problem Symptom Recommendation Engine could not use the passed-in Price List and found multiple matching price list lines while attempting to search other price lists.

In the price list window determine if there are qualifiers for the passed-in price list. Also verify that the price list is active. If the user intends engine to use the passed in price list, then debug this issue based on suggestions in 1.1.

Engine found multiple matching price list lines with the same precedence.

Using the Pricing Engine Request Viewer window or the debug script, find the list line information of the selected list lines. Determine if one of the lines is selected unnecessarily due to missing pricing attributes. If not then update the precedence appropriately.

A.1.3 Invalid UOM

Problem Symptom Recommendation The pricing engine can not find the price list in the ordered UOM..

Check the UOM on the order. Open the price list window and search the price list to find out if the price is defined in the ordered UOM.

There is no other matching price list line having primary UOM flag checked.

If user intends to define price list in primary UOM and expects the engine to convert pricing quantity, then verify that the primary flag of the price list line is checked.

A.1.4 Invalid Formula, Error Returned by QP_FORMULA_PRICE_CALC_PVT.Calculate

Problem Symptom Recommendation User does not use NVL in the expression and a step number (formula line) has null value.

Verify that the pricing engine is selecting the expected price list line by using the debug window or debug script. Verify that the required pricing attributes are passed to the engine. If you use get_custom_price, verify that the function does not return a null value. If you use a factor list, verify that appropriate pricing attributes are being

5

Page 6: DiagTroubleshoot (1)

sourced, and that there is a matching factor line.

Formula is not a valid mathematical expression supported by the database sql

Verify that the formula is a valid expression.

A.1.5 Invalid UOM conversion

Problem Symptom Recommendation The ordered UOM does not match the UOM on the price list line.

If the user does not expect the pricing engine to do the conversion, then verify that the primary flag on the price list line is not set. Evaluate the reasons why the price list line with the ordered UOM is not getting selected based on the previous table: Table A. (Item and UOM not on Price List.

There is no conversion defined in mtl_uom_conversions, between ordered UOM and primary UOM.

If user expects pricing to convert the pricing quantity from ordered UOM to the pricing UOM, verify that proper conversion is defined in Oracle Inventory.

A.2. Common Modifier Setup Issues

A.2.1. Expected Modifier Not Selected by the Engine

Problem Symptom Recommendation Similar to message: Item and UOM not found.

Refer to previous table: Table A Item and UOM not on Price List.

Qualifiers for discount list and line are not met. Qualifiers in -1 group are added to all groups.

Make sure that qualifiers in the -1 group are satisfied.

Modifier is eliminated in incompatibility.

As a test, temporarily remove the incompatibility group from the modifier

6

Page 7: DiagTroubleshoot (1)

line, then execute the engine call and verify that the modifier is selected. If yes then check which other modifier is selected from the same incompatibility group. Determine if the precedence must be changed. Also determine if there is any modifier in the exclusive incompatibility group.

Modifier header currency is different from the order currency.

Check modifier currency.

Modifier is manual; it is not automatically set.

Check automatic flag on the modifier.

Asked_For flag is Y and the modifier is not asked for.

Check Asked For flag on the modifier. If the user has asked for the modifier then use debug window/output to verify that Asked For is passed to the engine. If passed, then determine whether Asked For was validated. If not passed, determine whether the qualifiers are matched.

Pricing phase for the modifier line is not attached to the appropriate pricing event.

Verify that the pricing phase on the modifier is attached to the appropriate event. Use caution with the event-phase setup because it can impact the pricing of the entire organization.

The qualifier, sourced item attribute, sourced pricing attribute have been setup recently, however, QP Build Sourcing concurrent program has not been run.

Determine in the Pricing Engine Request Viewer window/debug file whether the qualifier/pricing/item attributes are sourced. If this is a new type of attribute then run the concurrent program.

There is no record in the qp_list_header_phases.

An unusual user error can cause the qp_list_header_phases to populate incorrectly to include all phases. Run the QP: Maintain Denormalized Data concurrent program for this header to resolve the issue.

7

Page 8: DiagTroubleshoot (1)

A.2.2 Modifiers: Incompatibility does not consider best price/precedence

Problem Symptom Recommendation Incompatibility resolution code is set incorrectly.

Refer to Table 1. Item and UOM not on Price List.

Customer has not licensed Oracle Advanced Pricing.

Oracle Advanced Pricing customers can choose to resolve the incompatibility processing by best price or by precedence. Oracle Order Management (basic pricing) customers only have the best price option.

A.2.3 Modifiers: Unable to override selling price/manual adjustments

Problem Symptom Recommendation Manual discounts are not available.

Save the order line or move the cursor out of the line and back; this causes Oracle Order Management to fire the pricing engine modifier phase.

Order level adjustments are not applied.

Check calculate price flag value on the order lines. Order level adjustments are not applied if any lines in an order has a calculate price flag of partial price or freeze price.

The unit selling price and modifier LOVs only show unapplied manual adjustments.

Overtype the unit selling price and increase the price. This applies overridable surcharges, whereas decreasing the price applies overridable discounts.

A.2.4 Calculation: Back Calculation Error

8

Page 9: DiagTroubleshoot (1)

This error happens when user tries to override the selling price on a quote and the pricing engine is not able to find a suitable manual overrideable adjustment to give the overridden selling price.

A.3. Concurrent Program: QP: Maintains the denormalized data In QP qualifiers

Problem Symptom Recommendation FDPSTP failed due to ORA-06502: PL/SQL: numeric or value error: character to number conversion error.

This is caused due to mismatch in the parameters sequence. Check with Support for an ARU to correct this.

Program has been running for a long time.

This program updates rows in qp_qualifiers table. If user has selected ALL headers, then the program takes time.

A. 4. Integration/ Attributes Mapping Messages/Errors

Problem Symptom Recommendation QP_Attr_Mapping_PUB.Build_Contexts package is invalid due to incorrect sourcing data attributes mapping.

Check dba_errors for this package in or to determine which attribute sourcing API is causing the error. If this is a custom API then correct the API. If this is the seeded API then determine whether a correction patch is available.

Concurrent Program Build Sourcing Rules failed with error.

Execute following statement and examine the output: select text from dba_errors where name ='QP_BUILD_SOURCING_PVT' Verify that custom sourcing causes the error.

Getting error while running Build Sourcing Rules concurrent program ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at APPS.QP_ATTR_MAPPING_PUB, line 1445 ORA-20000: ORA-04021: timeout

This occurs when someone makes a pricing call while the concurrent program is running. Do not run the Build Sourcing Rules concurrent program when active users are calling pricing engine.

9

Page 10: DiagTroubleshoot (1)

occurred while waiting. While entering the order line in sales order PAD receives an error: FND_AS_UNEXPECTED_ERROR (PKG_NAME=oe_order_adj_pvt) (PROCEDURE_NAME=oe_line_adj.calculate_adjustments) (ERROR_TEXT=calculate_adjustments#130 ORA-06508: PL/SQL: could not find program unit being called).

Execute following statement and examine the output: select text from dba_errors where name ='QP_BUILD_SOURCING_PVT'; Determine whether any custom sourcing causes the errors. If the seeded sourcing rule causes this error, determine whether there is a patch available to correct the seeded rule. If the error is “Encountered the symbol ‘_’ when expecting…” then determine the relevant patch to be applied.

A.5. Freight Charges Integration

Problem Symptom Recommendation The charge does not show up.

There may be qualifiers attached to the freight charge header or line. Run qp_list_line_detail.sql script for the expected freight modifier and verify that all the qualifiers are being passed to the engine.

Oracle Shipping Execution passed a different charge type than setup in the engine.

Verify that the same charge type/cost type is used in Oracle Shipping Execution and Oracle Advanced Pricing.

Pricing engine does not return a specific freight charge

Pricing engine now returns only the maximum freight charge modifier for every charge name. Make sure if the freight charge that you expect is the maximum freight charge or deactivate other freight charges higher than this freight charge or see if you can put this freight charge in a different charge name.

A.6. Other Common Setup Issues

10

Page 11: DiagTroubleshoot (1)

Problem Symptom Recommendation No values in LOVs occur while running pricing reports in Oracle Order Management.

Determine if obsolete reports are running. There are currently five reports related to Oracle Advanced Pricing: QPPRCST.rdf for price lists QPXPRFOR.rdf for pricing formulas QPXPRQFS.rdf for qualifier grouping QPXPRMLS.rdf for modifier details QPXPACRL.rdf for accrual details All other reports related to pricing are no longer used.

Cannot add a new report in pricing

To add a pricing report to the Oracle Order Management responsibility request group, login under System Administrator responsibility. Navigate to: Security > Responsibility > Request Query your request group. To determine which request group is attached to the Oracle Order Management responsibility, navigate to: Security > Responsibility > Define Query the Oracle Order Management responsibility. Add the request from the Application Oracle Advanced Pricing.

Problems occurs while running copy price list, adjust price list, add items to price list, or update formula prices, through Standard Request Submission

Each of the mentioned operations is a concurrent program that has its own window that submits a request. Requests must be submitted through those forms and not Standard Request Submission. The forms have checks for mandatory parameters which are not found in the Standard Request Submission window. You can locate these forms in the sub menus for Oracle Advanced Pricing

LOV for product attribute value on the price list window does not display any values (items).

Verify that the value for profile option QP: Item Validation Organization (Oracle Order Management SuperUser responsibility, Setup > Profiles) is Vision Operations. Also verify under Setup > Parameters that organization Vision Operations.

Product attribute values (when product attribute is item category) change to X automatically on list line in price list/ modifier window after querying a price list/

The view mtl_categories_kfv is not properly regenerated. Re-compile the flex field for item categories.

11

Page 12: DiagTroubleshoot (1)

modifier window.

12

Page 13: DiagTroubleshoot (1)

Section- B

Common OM-Pricing Integration Setup Issues

B.1 Understanding Calculate Price Flag in Order Management -

This section will help users understand the usage of calculate price flag. The Calculate Price Flag on the order line entity controls if pricing/charge calculations should be done on the line. The values of the Calculate Price flag are as follows - Calculate Price: Use the pricing engine to determine price. Calculate price and freight charges at the time of pricing. Freeze Price: Never use the pricing engine to determine price. Do not calculate price or freight charges. Partial Price: Use the pricing engine to determine price. Calculate only freight charges at the time of pricing. B.1.1 Split Operation and calculate price flag Many issues were noticed because of the incorrect setting of the flag or customers not understanding what should be the value of this column during Split operation. Behaviour of the flag is documented below. Split could be User initiated or System Initiated. If you split an order line into multiple lines and want to retain the original price on both the original line and new lines, change your Calculate Price Flag to either: Freeze Price or Partial Price before initiating a user split. The following table shows the value of the Calculate Price Flag before and after a user or system initiated split. Pricing for each line during the split will be controlled by the “after split” value of the calculate price flag as shown in the table below. Calculate Price Flag

Original Line before split: Calculate Price

Original line before split: Partial Price

Original line before split: Freeze Price

Original line after user initiated split

Calculate Price

Partial Price

Freeze Price

New line after Calculate Price Partial Price Freeze Price

13

Page 14: DiagTroubleshoot (1)

user initiated split

Original line after system initiated split

Partial Price

Partial Price

Freeze Price

New line after system initiated split

Freeze Price

Freeze Price

Freeze Price

If the after split value of the calculate price flag is Calculate Price: Automatic Fixed Amount adjustments get re-calculated Automatic Percent Based adjustments get re-calculated Manual Fixed Amount adjustments get Pro-rated Manual Percent based adjustments get duplicated If the after split value of the calculate price flag is Partial Price: Automatic Fixed Amount adjustments: charges get re-calculated, price adjustments get Pro-rated Automatic Percent Based adjustments: charges get re-calculated, price adjustments get duplicated Manual Fixed Amount adjustments get Pro-rated Manual Percent based adjustments get duplicated If the after split’ value of the calculate price flag is Freeze Price: Automatic Fixed Amount adjustments get Pro-rated Automatic Percent Based adjustments get duplicated Manual Fixed Amount adjustments get Pro-rated Manual Percent based adjustments get duplicated. Note : The calculate_price_flag remains Calculate Price after manual adjustments are applied to the line. To ensure that no other adjustments are applied to that line, set the calculate_price_flag to either Partial Price or Freeze Price. B.2 Common OM-Pricing Integration / Pricing Issues - In this section we will be discussing the issues reported by customers and recommendations for correcting those problem. Listed below are the most commonly reported problems in Order Management around Pricing Integration and Advanced Pricing.

Problem Symptom Recommendation Order Lines are booked, closed with no unit selling price

If the price on line becomes null before booking, it anyway fails to book the order. But many customers noticed unit selling price becoming null

14

Page 15: DiagTroubleshoot (1)

during ship confirm and system did not raise any error. The reason of having null prices is mainly due to setup errors. And setup errors, especially formula setup, is a very common reason why prices got nulled out. The OM application prevents order from being booked if the price becomes null (due to some setup errors) before booking. However, if it becomes null in ship confirm, we do not stop the process currently. Patch 2539217 will help users to know the errors that caused the selling price to become null. Relevant ER 2595445 will place an invoicing activity hold on order lines with this problem.

Cannot add configuration item into booked order if use different price list

User tries to add new line to a booked order which have price list that is different from header's one. User can enter a new price list and a model item and its qty for a new line without error, but encounters below notes and fails to configure the model when they press 'Configurator' button - “No Valid Price lists where found for item <item name> and UOM EA not on <pricelistname> Unit List Price is required on a booked order line.” The way this functionality works is that application default the price list on the lines from the header. When user config option lines on a booked order, the option lines also get a default price list from the header (some customers like this behavior ). This problem is about inheriting the price list on the options from its parent model line. This functionality is not available now. To get around this error, you can put the different price list on the header while you enter the new model and configure it . Price List on the header is just a defaulting source, you can change it any time. Relevant ER 2344369. .

Interface Trip Stop fails for pricing error

A common error is - “The status code IPL - Invalid Item/Price List combination “ When user encounter this issue user need to make sure that the item is valid and it exists in the price list being use. However user might be missing important code

15

Page 16: DiagTroubleshoot (1)

fixes that fixes errors noticed during Interface Trip stop. Some of these fixes issues are - 1.'Error Item (actual item name displays) and EA not on Price List' 2.Error ' Currency code (currency code name) ..... does not Match Order header currency code (currency code name)'. The reason for which these occur are as follows At the time entering the Sales Order if the item was still valid and was in the price list. However, when you run interface trip stop the item is no longer in the price list, and hence the first error. The second error happens when user changes price list currency at the setup before OM interface. We used to validate the price list currency combination even though price list in OM has not changed during interface tripstop. This validation is no longer performed unless the price list is changed. The relevant patch is 2347958. It is included in pack H.

Incorrect Rounding of Unit Selling Price

The new QP profile is available with OM family pack H or OM Consolidated Family Patch 2 [2425009]. New profile option “QP: Selling Price Rounding Options” directs the pricing engine to round prices, adjustments and freight charges sent back to the calling application. The values of the profile include: No = unrounded list price + unrounded adjustments. (No rounding) Individual = round(list price) + round(adjustments). (Round selling price and adjustments) Additive = round(list _price + adjustments). (Round selling price after adding unrounded list price and adjustments) This new profile replaces the profile in Order Management OM: Round Unit Selling Price. If you are on pack H or OM Consolidated Patch 2 and finding issues regarding rounding of unit selling price then first check the profile option

16

Page 17: DiagTroubleshoot (1)

setting and also verify if the price is getting rounded as per the profile setting or not.

User is getting the following message when using a price list line that has qualifiers : “ <Item> and <UOM> are not in Price List”

Verify that you have not set up mutually repulsive qualifiers with same grouping number. The mutually repulsive / opposite qualifiers should always have different qualifier grouping numbers as same qualifier grouping numbers form an ‘AND’ condition and thus the modifier or the price list won’t get applied.

User is getting messages: “ <Item> and <UOM> are not in Price List” and then the message: “QP No Valid Price List found for Item and UOM”

Verify whether the customer is defining non overlapping price break ranges in two different price lists and the search flag is set to ‘N’. It is recommended that the user should use a single price list to define the two non overlapping price breaks in the same price list. For second message, customers are recommended to apply Patch 2637869 if all setup are correct.

After applying OM.H to an 11.5.6 instance the user gets 1) “ <ITEM> AND <UOM> ARE NOT IN PRICE LIST” 2) Not able to resolve incompatibility between two price lists.

Verify whether a correct price list is getting defaulted on the sales order line. Recommended Patch is 2490074.

Performance problem while - 1. Uploading large number of

price list lines. 2. Querying a price list with

large number of lines.

Recommended Patch is 2502849.

After upgrade from 11.5.4 to 11.5.7, user get the following message : “<Item> and <UOM> not on Price List“

Verify whether the customer is using modlists as qualifiers on the price lists to make the modifiers, price list specific. This is incorrect setup and worked in 11.5.4 due to a bug. After upgrading to 11.5.7, this old incorrect setup will stop working since Oracle Development has fixed a bug that allowed this in 11.5.4. Customers are recommended to avoid using this setup.

User gets “OE_LOCK_ROW_CHANGED” error message in Price List Form

Verify whether the user has enabled the attachment functionality on this price list form. Customers are recommended to - 1. Disable attachments functionality on the Price List form which is not supported for this form. 2. Apply Patch 2243420.

17

Page 18: DiagTroubleshoot (1)

A new line added to the price list cannot be queried OR Duplicate Price list message appears even if same line does not appear on the price list.

Customers are recommended to run “QP: Maintain Denormalized Qualifiers” concurrent program. If it is still not resolved, apply Patch 2601274

Repricing orders drives the price to negative value

Verify whether the repricing of individual lines is working fine. If the lines are repriced correctly individually but the order is not repriced properly customers are recommended to apply Patch 2470364

Customer cannot attach more than one secondary price list to a primary price list

Verify whether the customer is a “Basic” or “Advanced” pricing customer. This is an intended functionality for “Basic” pricing users. One can attach multiple secondary price lists to a primary price list only by fully licensing “Advanced Pricing”.

User gets following formula error in sales order: “Error in evaluating formula. Check all pricing attributes that may be required by the Formula. Or alternatively, use NVL in formula for steps that may potentially have null value. Also, check if all steps used in the formula have been setup as formula lines.”

Verify the formula set up. Verify that all numbers that areused directly in the formula expression are valid step numbers. If user uses a number that is not a step number, he may get this error. Example - nvl(1,2)*3 Verify that the formula has all the three steps (1,2,3) defined.

The rounding factor specified on the price list is not effective. Even if the price list has a rounding factor the decimal number does not round to the rounding factor but keeps on growing.

Apply QP Patch 2412549 and OM patch 2454550.

Price list lines become invisible after applying certain patch or cannot be queried back properly after a patch. The qp_list_line detail sql indicate wrong values for qualification_ind columns

Run “QP: Maintain Denormalized Data for Qualifiers” concurrent program

User gets following error message when a pricing attribute is used to calculate the formula value -

Verify whether a datatype is defined for the pricing attribute that is used for the formula calculation. Formula API needs a valid datatype to convert the value to a number. Verify the datatype is not null.

18

Page 19: DiagTroubleshoot (1)

“Error in evaluating formula. Please supply any Pricing Attributes that may be required by the Formula. Or alternatively, use NVL in formula for steps that may potentially have null value. Also, check if all steps used in the formula have been setup as formula lines”

Customers are recommended to define a valid datatype for the pricing attribute that is used for the formula calculation.

User gets an error ‘Item and UOM not on XYZ price list’ , when the item is defined in the price list.

Verify whether the price list line has any pricing attributes and that they are properly sourced. Running Build Sourcing Rules concurrent program will correct the issue in most of the cases.

Automatic modifiers with multiple price lists as qualifiers do not get applied

Verify that the grouping number of the qualifier price list definition in the qualifiers screen. They should not be the same as then it would form an AND condition and then modifier would not qualify to order line as order line has a single price list associated to it.

User get the following error: “ORA-01476 Divisor id equal to zero”

Customers are recommended apply OM Family Consolidated Patch 2 [2425009].

The rounding of unit price does not work properly.

Customers are recommended apply OM Family Consolidated Patch 2 [2425009].

19

Page 20: DiagTroubleshoot (1)

Section-C

Getting Debug and Troubleshooting

This section contains information about diagnosing and troubleshooting of problems in OM(Pricing int.)/Pricing. The following table provides a summary of various methods of diagnosing and troubleshooting the results of the pricing engine. C.1 Generating OM/ QP Debug File - If the instance has Oracle Order Management Installed - Set Profile “OM: Debug Directory” to directory listed in util_file_dir in init.ora. Set Profile “OM: Debug_Level” to 5. If the instance do not have Oracle Order Management Installed - Set Profile “QP:Debug” to Yes. Set Profile “OM:Debug Directory” to directory listed in util_file_dir in init.ora. Search the output file in the directory mentioned in above profile based on time-stamp. This debug is normally required by Oracle Support and Development to examine the code flow and failure point if any. Warning : As enabling these debugs adds significant overhead on system performance, it is highly recommended that these debugs are kept disabled unless debug file is being captured for diagnostics. Profile “QP: Debug” should also be set to ‘No’ unless it is required. C.2 Pricing Engine Request Viewer window - Pricing Engine Request Viewer window can be used from Oracle Order Management starting with Order Management Family Pack H (11.5.8). The navigation path is: Sales Order window > Tools > Pricing Engine Request Viewer. This method provides a subset of information as compared to the debug output file. It provides information such as the list line selected and deleted by the engine during processing, and the reason for deletion. It does not provide information on why the list line is not selected by the engine (qp_list_line_detail.sql is a useful mechanism for this). This is a quick and useful method to verify the data passed to the pricing engine and data that was returned by the pricing engine. This method determines whether the

20

Page 21: DiagTroubleshoot (1)

expected qualifiers and pricing attributes are sourced. Since the Pricing Engine Request Viewer requests are stored in the permanent pricing debug tables, users can query previous pricing debug requests also. Warning : As the Pricing Engine Request Viewer consumes a large amount of system resources, it is recommended that it is turned off unless debug is being generated. C.3 Script qp_list_line_detail.sql This script provides information about how the price list line or modifier is setup and can be used when the expected price list line/ modifier line has not been selected by the engine. How to use this script : 1. Obtain the Price List line ID/ Modifier line ID from the Price List/ Modifier setup window. Open the Price List/ Modifiers window. Position the Cursor on the Price List Line/ Modifier Line In Question. Navigate to : Help > Diagnostics > Examine > Pick the LIST_LINE_ID field from the Field LOV Note the value. This list_line_id value must be provided as input to the script qp_list_line_detail.sql. 2. Login to apps/apps@sid. 3. Run the script $qp/patch/115/sql/qp_list_line_detail.sql and get all the Price List line/ Modifier line information, which takes list line ID as input. 4. Script will generate outputs in <list line id>.lst file. C.4 Other Important Notes - C.4.1 Important Setups and Parameters - Many setup information has impact on pricing engine process. Verify that the following columns have appropriate values: Incompatibility Resolve Code in event phase , Search_flag in event phase, Automatic_flag, active_flag in modifiers and price lists Pricing Phase in modifier.

21

Page 22: DiagTroubleshoot (1)

Verify that the following important profiles are appropriately set: QP: Get Custom Price Customized QP: Blind Discount Option QP: Verify GSA Violations QP: Return Manual Discounts C.4.2 Important Consolidated Patch - Order Management Family has recently released a family level consolidated patch which included important fixes from Order Management, Advanced Pricing and Shipping into a single patch 2425009. Customers who are not on OM Family Pack H (or 11.5.8) are recommended to apply this consolidated patch to get most of the important fixes from the OM family. C.4.3 Patch Application - Patches involving any operation on temporary tables are not applied correctly if any user is holding a lock on the temporary table. While applying QP patches, verify that no user has a lock on Oracle Advanced Pricing temporary tables by executing the following sql statement (this statement should not return any rows) - Select sid, sql_text from v$open_cursor where sql_text like '%QP_PREQ%'; Check the adpatch worker log to verify that the pricing patch application is successful without any errors. If the patch failed with the following error then bounce the database and reapply the patch. ORA-14452: Attempt to create, alter, or drop an index on temporary table already in use

Make sure that no concurrent program (example: Order Import) is started before applying the patch. White Paper Name : Pricing And Pricing Integration Diagnostics and Troubleshooting Version : 1.0 Last Update Date : Dec, 2002 Written By : Rajendra Badadare, Subhra Datta Reviewed By : Charlene Chandonia, Praveen Sahni, Kanan Tarakad, Nitin Hase

22