Thursday 12 February 2015

Order Line Pricing Issue , Line Not Getting Priced using a Price List

Many times when Trying to create a Sales Order we enter an item on the Order Line but the Pricing of the line does not happen  , and in some cases when selecting the item on the  Order line for a specific Price List we get and error that " Item XXXX and UOM EA not available on the price list"

In such scenarios we have to check the Setup of the concerned price list to determine the root cause of the issue :

1. Go to the Price List Setup and see if the Item is actually Available on the price list or not by entering the Price List name and the Item details

If the item is not available on the Price list then maintain the item on the price list and re-try Order Line Creation
2. If the Item is available on the Price List , then scroll right on the Item Setup line and check the         Start Date and End Date on the price list line. Ensure that the line is not end dated and the start Date if available is less than the Order Pricing Date


If there is an issue with the pricing dates , correct it and re-try booking the order

3. If the price list Line setup is correct then check for the Qualifier Setup on the Price List by clicking on the Qualifier Tab
   

The Qualifiers are used to specify the conditions which Govern if this price list should be Selected or not for the Order Lines pricing
An important thing to know here is the Grouping number
Records of the Grouping number will be ANDed with each other and records of different Grouping  Number will follow an OR condition
An important thing to note here is about Grouping Number : -1 , a grouping number of -1 will always be included in the condition formation and will be ANDed with the conditions of other Grouping numbers

Many a times the Price List Qualifiers fail and give an issue in Order Line Pricing

Tables storing Price list information :

QP_LIST_HEADERS --> Price List Header information
QP_LIST_LINES --> Price details
QP_PRICING_ATRRIBUTES --> Item details

Below SQL can be used to check item availability on a price-list

select qlh.name,msib.segment1,qll.operand
  from apps.qp_list_headers qlh,
           apps.qp_list_lines qll,
           apps.qp_pricing_attributes qpa,
           apps.mtl_system_items_b msib
 where qlh.name = 'PRICE_LIST_NAME'
 and qlh.list_header_id = qpa.list_header_id
 and qpa.product_attr_value = msib.inventory_item_id
 and msib.organization_id = :WAREHOUSE_ID
 and msib.segment1 = 'ITEM_NUMBER'
 and qpa.list_line_id = qll.list_line_id;


Thursday 5 February 2015

Descriptive flexfields SQL to get DFF Details

Descriptive flex fields have always been used on Standard Oracle forms to provide the business additional fields for information representation.

From the front end information of the DFF can be seen from the Application Developer Responsibility

Flexfields --> Descriptive --> Register

For a technical developer if needed the DFF information can be checked from the Data base too via an SQL.

The below SQL gives the DFF details defined for AR Invoices :
Line transaction flexfield

select fdf.application_id,fdf.APPLICATION_TABLE_NAME,fdf.TITLE,fdfc.DESCRIPTIVE_FLEX_CONTEXT_CODE,fdfc.DESCRIPTION--fdfc.*
       ,col.APPLICATION_COLUMN_NAME,col.end_user_column_name,col.ENABLED_FLAG,col.FLEX_VALUE_SET_ID
from FND_DESCRIPTIVE_FLEXS_VL fdf,
     FND_DESCR_FLEX_CONTEXTS_VL fdfc ,
     FND_DESCR_FLEX_COL_USAGE_VL col
where fdfc.DESCRIPTIVE_FLEXFIELD_NAME =fdf.DESCRIPTIVE_FLEXFIELD_NAME
and upper(fdf.TITLE) like 'LINE TRANSACTION FLEXFIELD%'
and fdf.application_id = col.application_id
and col.DESCRIPTIVE_FLEXFIELD_NAME =fdf.DESCRIPTIVE_FLEXFIELD_NAME
and fdfc.descriptive_flex_context_code = col.descriptive_flex_context_code ;

Changing the Title we can get details of Order flexfield Structures too