P. 1
SCM_TechnoFunctional

SCM_TechnoFunctional

|Views: 97|Likes:
Published by Mahantesh Salunkhe

More info:

Published by: Mahantesh Salunkhe on Apr 11, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

01/31/2013

pdf

text

original

• Depot Repair • Field Service • Install Base • Service Contracts • Service Fulfillment Manager • Spares Management

• Oracle Product Lifecycle Management . Oracle Advanced product Catalog

• Telesales • Trade Management • Incentive Compensation • Order Capture • Partners Online

Develop Service & Maintain Market
• Advanced Supply Chain Planning • Global Order Promising

• Release Management • Shipping Execution • Inventory Management • WMS • Transportation Execution

Fulfill

Plan

Manufacture

• Cost Management • Configure to Order • Process Manufacturing • Project Manufacturing • Quality • Work in Process
• Purchasing • iProcurement

Procure

Sell & Manage Orders

• Order management Advanced Pricing • Configurator • iStore

Oracle Supply Chain Management Solutions

Oracle Order Management

Enter Order and Line details

Oracle Advanced pricing
Price the Order

Oracle Shipping Execution

Oracle Transportation Management Ship Confirm

Oracle Global ATP
Check Availability, Schedule Order

Oracle Mobile Supply Chain Application
Pick Confirm

Oracle Order Management Oracle Shipping Execution
Pick Release the Order Book the Order

Oracle WMS

Oracle INV

.

.

free goods.Modifiers enable you to set up price adjustments (for example. Price List Line 100 Item=AS5987 Price=$100 Price lists contain item and item category prices. . coupons) and freight and special charges that can be applied to the Price list lines. Qualifiers determine who is eligible for certain Price List or modifier. discounts and surcharges). benefits (for example.

Qualifiers determine who is eligible for certain Price List or modifier. Price lists contain item and item category prices. . benefits (for example. coupons) and freight and special charges that can be applied to the Price list lines. discounts and surcharges).Modifiers enable you to set up price adjustments (for example. free goods.

default Freight Terms. default Freight Carrier information. Details about the related Blanket Sales Agreement: can be found in Other tab as. Application Method is populated as Unit Price: Defines the price for inventory items and item categories You can define the following types of prices on price lists: • Unit price: A fixed price. Blanket Document Number. you can define bracket pricing or price breaks. A negative Round To number indicates number of places to the right of the decimal point. Round To. Pricing Transaction Entity. . • Percent Price: A price which is a percent of the price of another item (for service items only) • Formula: Multiple pricing entities and constant values related by arithmetic operators. default Payment Terms. Source System Code etc. Select Line Types as Price List Line: To enter a base list price for the item. • Price Break: If the price of an item varies with the quantity ordered.Price lists contain item and item category prices along with Currency..

the total quantity falls into the Price 2nd bracket where the unit price is $90. if you ordered 25 units. Eg: For Range break type with Block pricing. the Block price repeats for every interval defined by the Recurring Value column. When a recurring value is used with price breaks. So if 1300 units were purchased. the price is $10 for each 100 units up to 1200 units. Choose an Application Method: • Block Price: Defines the price for the entire set of a block. the total cost would be as follows: • Block price 1: Price for first 1200 (1200/100= 12 X $10): $120 (first price break) • Block price 2: Price for each additional block of 100 units beginning with 1201 units: $30 (second price break). you could create a second price to define a price of $30 for each 100 units. To charge $10 for 0 to 1200 items with recurring price 100. For 1201 units and more. • Range: The pricing engine charges each unit of volume at the price of the within which it falls. Total $150 We shall discuss the Pricing Context and Pricing attributes later.Select Line Type as Price Break Header: Select the Price Break Type as. So for the first 1200 units. So the total price is calculated as follows: Total price = 20 * $90 each = $1800 If the Price Type is Point: The price is not returned if the ordered quantity does not fall in the price range of the price list. • Point: The pricing engine charges each unit of volume at the price of the within which the total falls. If the Price Type is Range: A price of 0 is retrieved for the ordered quantity that does not fall in the price range. • Unit Price: Defines the price for inventory items and item categories Block pricing enables you to apply a lumpsum price rather than a per unit price to a pricing line. Eg: For Point break type. ..

Qualifiers determine who is eligible for certain Price List. . the pricing engine uses the highest precedence secondary price list (the secondary price list with the lowest value in the Precedence field). To make a qualifier mandatory for all qualifying conditions. you can use a qualifier grouping number of -1. Qualifier lines with the same grouping number generate an AND condition and qualifiers with different grouping numbers generate an OR condition. We shall discuss the Qualifier Context & Qualifier attributes later.If the item you are ordering is not in the primary price list. If the item is found. the pricing engine looks for the price on any attached secondary price list. Enter a qualifier Grouping Number.

QP_LIST_HEADERS_B LIST_HEADER_ID LIST_TYPE_CODE START_DATE_ACTIVE END_DATE_ACTIVE AUTOMATIC_FLAG CURRENCY_CODE ROUNDING_FACTOR SHIP_METHOD_CODE FREIGHT_TERMS_CODE TERMS_ID COMMENTS DISCOUNT_LINES_FLAG GSA_INDICATOR PRORATE_FLAG SOURCE_SYSTEM_CODE QP_LIST_LINES LIST_LINE_ID LIST_HEADER_ID LIST_LINE_TYPE_CODE QP_PRICING_ATTRIBUTES PRICING_ATTRIBUTE_ID LIST_HEADER_ID LIST_LINE_ID PRICING_PHASE_ID EXCLUDER_FLAG ACCUMULATE_FLAG PRODUCT_ATTRIBUTE_CONTEXT PRODUCT_ATTRIBUTE PRODUCT_ATTR_VALUE PRODUCT_UOM_CODE START_DATE_ACTIVE END_DATE_ACTIVE AUTOMATIC_FLAG MODIFIER_LEVEL_CODE PRICE_BY_FORMULA_ID LIST_PRICE LIST_PRICE_UOM_CODE PRIMARY_UOM_FLAG INVENTORY_ITEM_ID ORGANIZATION_ID PRICING_ATTRIBUTE_CONTEXT PRICING_ATTRIBUTE PRICING_ATTR_VALUE_FROM PRICING_ATTR_VALUE_TO .

.

When qualifier group is selected. all the qualifiers in the qualifier group are attached to the modifier or price list. . To make a qualifier mandatory for all qualifying conditions.A set of Qualifiers are seeded in Adv Pring viz: Qualifiers determine who is eligible for certain modifier. Qualifier groups with different numbers create “OR” conditions. you can use a qualifier grouping number of -1. Qualifiers may be grouped to create “AND/OR” conditions using grouping numbers. Qualifiers with the same group number create “AND” conditions.

QP_QUALIFIERS QUALIFIER_ID QUALIFIER_RULE_ID LIST_HEADER_ID LIST_LINE_ID QUALIFIER_GROUPING_NO QUALIFIER_CONTEXT QUALIFIER_ATTRIBUTE QUALIFIER_ATTR_VALUE COMPARISON_OPERATOR_CODE .

. Click on List qualifier to show the eligibility criteria for this modifier to be applied. Qualifiers determine who is eligible for certain modifier. you can use a qualifier grouping number of -1. To make a qualifier mandatory for all qualifying conditions.Here is an example of a qualifier usage.. Qualifiers may be grouped to create “AND/OR” conditions using grouping numbers. Create a Discount list modifier. Qualifier groups with different numbers create “OR” conditions. Qualifiers with the same group number create “AND” conditions.

.

pricing attributes. free goods. This means that the price list can be used by all operating units for pricing transactions. .Modifiers enable you to set up price adjustments (for example. incompatibility groups. the price list‟s use is restricted to the operating unit of the user creating the price list. benefits (for example. and buckets. discounts and surcharges). levels. If cleared. coupons) and freight and special charges that can be applied to the Price list lines. The Global box is selected when the Pricing Security Control profile option is set to ON. We can create eligibility rules for modifiers by assigning list and line level qualifiers. Control features that influence modifiers are products and product groups. phases.

• Pricing Transaction Entity (PTE): Displays the pricing transaction entity associated with the modifier. coupons) and freight and special charges that can be applied immediately to pricing requests or accrues for later disbursement. BSO indicates Blanket Sales Order. then the modifier is considered a manual modifier and the adjustment must be applied manually rather than automatically. If nonshareable (the default). The Ask for box is only available for modifier list types of Deal and Promotion. This means the customer must specifically request that the modifier benefit be applied • List Source Document Number: This is the Blanket Number of the blanket sales agreement associated with the modifier. • Shareable box: Indicates if the modifier is shared or not. free goods. discounts and surcharges). then this modifier is specific to that blanket and cannot be used with other blanket sales agreements. . the pricing engine automatically applies the modifier If cleared. For example. You can create the following modifier list types: • Deal • Discount List • Freight and Special charge List • Promotion • Surcharge List If Automatic box is selected. The Pricing Transaction Entity value defaults from the PTE that created the modifier. This field cannot be updated. benefits (for example. • Source System Code: Displays the source system code of the modifier such as QP for pricing. • List Source Code: Displays the code associated with the modifier source.Modifiers enable you to set up price adjustments (for example.

the pricing engine applies the modifier at the order level. • Freight/Special Charge: Applies a freight charge. • Item Upgrade: Replaces a specific item ordered with another item for the same price. Modifier application Level: • Order: If the line is eligible to receive the modifier. • Price Break Header: Applies a variable discount or surcharge price adjustment to a pricing request based meeting the condition of a break type. . • Promotional Goods: Adds a new item with a price adjustment or benefit when the customer orders one or more other items on the same order. • Line: If the line is eligible to receive the modifier. • Group of Lines: If the pricing request is eligible to receive the modifier. shipping charges. and payment terms with typically more favorable charges. • Surcharge: Creates a positive price adjustment. the pricing engine considers the item quantity or item amount consumed for a group of order lines.Modifier No field is populated with a default modifier number which identifies the modifier line and is unique. • Coupon Issue: Issues a coupon on one order that the customer can redeem for a price adjustment or benefit on a later order. Modifier Line Types: • Discount: Creates a negative price adjustment such as a 10% discount. the pricing engine applies the modifier at the line level. You can use both point and range type breaks. • Term Substitution: Replaces freight charges. • Other Item Discount: Gives a price adjustment or benefit to a specified item on an order when the customer orders one or more other items on the same order.

as follows: • From Value = 5 and To Value blank creates the condition Value > 5 • From Value blank and To Value = 100 creates the condition Value < 100 • From Value = 5 and To Value = 100 creates the condition Value >= 5 and value <= 100Enter the Value From/To. then 4%discount is applied . the Product Attribute Value is ALL. So if a sales order is created with order quantity 20. for example. or All Items. If RECURRING is selected. leave From Value and To Value blank. If point break is chosen then the modifier line will be applied only once. Select a Product Attribute Value. Use All Items to define a modifier that applies to all items in your product hierarchy. Item Category.Select a Product Attribute value such as Item Number. where Value from =10 application method =PERCENT and value=2. The Precedence value will default based on the Product Attribute Value. Select either Point or Recurring as the Break Type. If you select ALL_ITEMS for Product Attribute. Enter a Volume Type such as Item Quantity and Item Amount to instruct the pricing engine which item attribute to use when qualifying for a modifier. This value can be updated. then it will be accumulated as… Recurring break type with the following values. Select an Operator value such as = or BETWEEN To create greater than and less than conditions.

Accrual Conversion Rate: Defines the conversion of the Benefit UOM to the primary currency. Benefit Qty and Benefit UOM: Enter Benefit Qty and Benefit UOM of the benefit to be accrued. Assign a pricing phase and then assign an incompatibility group to each modifier line. • New price: Overrides the selling price of this item and makes the new price defined in the Value field the new selling price. The Expiration Period begins when item begins to accrue. 5. 6. Say. to apply a 10% discount. Multiple incompatibility groups can be assigned to each pricing phase. For example. if the pricing engine selects more than one eligible price list line in the desired unit of measure. 3. if one air mile is 0.50 currency units. 4. Accrual: Complete the remaining fields to enter an accrual: 1.50. Expiration Period and Period Type: The pricing engine calculates the expiration date. Creates a price adjustment for the difference in list price and the new price. For example. select Percent as the Application Method. • Lumpsum: Creates a price adjustment for this lump sum amount on the entire line. Accrue: Select Accrue check box to enter accrual information. 2. Expiration Date: Defines when the accrued transactions expire. Have we discussed the Pricing phases and events? . it resolves the incompatibility by picking the price list line having the lowest precedence number. the accrual conversion rate is 0. Accrual Redemption Rate: You can enter or modify the redemption rate after the Accrue box is selected. During the phase List Line Base Price.Modifier application methods: • Percent: Creates a percentage price adjustment on each unit based on the percentage entered in the Value field. Use the benefit columns to define nonmonetary accruals. • Amount: Creates a fixed price adjustment on each unit using the amount entered in the Value field.

surcharge. or freight charge (a formula can be used with modifier line types of Discount. Surcharge or Price Break Header). select a formula to calculate a discount.Formula: Optionally. Have we discussed the Pricing Formulae yet? QP_LIST_HEADERS_B LIST_HEADER_ID LIST_TYPE_CODE START_DATE_ACTIVE END_DATE_ACTIVE AUTOMATIC_FLAG CURRENCY_CODE ROUNDING_FACTOR SHIP_METHOD_CODE FREIGHT_TERMS_CODE TERMS_ID COMMENTS DISCOUNT_LINES_FLAG GSA_INDICATOR PRORATE_FLAG SOURCE_SYSTEM_CODE QP_LIST_LINES LIST_LINE_ID LIST_HEADER_ID LIST_LINE_TYPE_CODE START_DATE_ACTIVE END_DATE_ACTIVE AUTOMATIC_FLAG MODIFIER_LEVEL_CODE PRICE_BY_FORMULA_ID LIST_PRICE LIST_PRICE_UOM_CODE PRIMARY_UOM_FLAG INVENTORY_ITEM_ID ORGANIZATION_ID QP_PRICING_ATTRIBUTES PRICING_ATTRIBUTE_ID LIST_HEADER_ID LIST_LINE_ID PRICING_PHASE_ID EXCLUDER_FLAG ACCUMULATE_FLAG PRODUCT_ATTRIBUTE_CONTEXT PRODUCT_ATTRIBUTE PRODUCT_ATTR_VALUE PRODUCT_UOM_CODE PRICING_ATTRIBUTE_CONTEXT PRICING_ATTRIBUTE PRICING_ATTR_VALUE_FROM PRICING_ATTR_VALUE_TO .

.

you can also create its attributes. You cannot create new contexts or attributes for the Qualifier context. and new attributes for Pricing and Product contexts. you can define new contexts for the Pricing Context. pricing. . Order management . Under ORDFUL Pricing transaction entity we have a source application called Adv Pricing having request type as ONT ie. User-entered means that the value is obtained when a user enters the value.A pricing transaction entity (PTE) is defined for a group of Source Applications having various request types. Contexts and attributes are used to define customer. and product hierarchies Creating new pricing contexts and attributes enables you to create additional user-defined data sources for your pricing actions. Once you define a new context. For each attribute. you can select "User-Entered" as the attribute mapping method to derive the value for the attribute. In Basic Pricing.

else if it is „Attribute mapping‟ then click on the attribute mapping button below to see how the information is derived. ship method. It can be derived from Header or line level. Enter the column names in pricing table to which these info are mapped. Check the user value string ie. order source etc.Shipping_method_code . Click on Adv Pricing application and view the derivation logic below. as various attributes for this qualifier.G_Line. If the attribute mapping method is „user entered‟ then the system waits for data to be entered by the user.Link attributes for the Qualifier context „ADS Order‟. OE_ORDER_PUB. We have various info like supplier.

While creating a Price list we are restricted to a LOV for the Pricing or product or qualifier context attribute. it is referring to for validation Eg. sales channel etc. Customer name is selected from qp_customers_v view for the above customer attribute. Navigate to the context setup and search a qualifier context say „Customer‟. . Let‟s see how those LOVs are set up. Click on the value_set tbutton o view the table and column. It has various attributes like Name. ship to.

Supplier Context Code Attribute Eg. Order Source Context Code Attribute Eg. Shipment Method . CUSTOMER Context Code Eg.QP_PTE_SOURCE_SYSTEMS PTE_SOURCE_SYSTEM_ID PTE_CODE APPLICATION_SHORT_NAME ENABLED_FLAG QP_PRC_CONTEXTS_B PRC_CONTEXT_ID PRC_CONTEXT_CODE PRC_CONTEXT_TYPE SEEDED_FLAG ENABLED_FLAG QP_SEGMENTS_B SEGMENT_ID SEGMENT_CODE PRC_CONTEXT_ID AVAILABILITY_IN_BASIC SEGMENT_MAPPING_COLUMN SEEDED_FLAG Context Type Eg: Qualifier Context APPLICATION_ID SEEDED_PRECEDENCE USER_PRECEDENCE SEEDED_VALUESET_ID Context Code Eg. Sold To Org Context Code Attribute Eg. ADS_ORDER USER_VALUESET_ID SEEDED_FORMAT_TYPE USER_FORMAT_TYPE REQUIRED_FLAG Context Code Attribute Eg.

QP_PTE_SEGMENTS SEGMENT_PTE_ID SEGMENT_ID PTE_CODE SEGMENT_LEVEL SOURCING_ENABLED SEEDED_SOURCING_METHOD USER_SOURCING_METHOD SOURCING_STATUS LOV_ENABLED LIMITS_ENABLED USED_IN_SETUP QP_PTE_REQUEST_TYPES_B REQUEST_TYPE_CODE PTE_CODE ORDER_LEVEL_GLOBAL_STRUCT LINE_LEVEL_GLOBAL_STRUCT ORDER_LEVEL_VIEW_NAME QP_ATTRIBUTE_SOURCING LINE_LEVEL_VIEW_NAME ATTRIBUTE_SOURCING_ID ENABLED_FLAG SEGMENT_ID REQUEST_TYPE_CODE ATTRIBUTE_SOURCING_LEVEL APPLICATION_ID SEEDED_SOURCING_TYPE USER_SOURCING_TYPE SEEDED_VALUE_STRING USER_VALUE_STRING SEEDED_FLAG ENABLED_FLAG .

QP_PTE_SEGMENTS SEGMENT_PTE_ID SEGMENT_ID PTE_CODE SEGMENT_LEVEL SOURCING_ENABLED SEEDED_SOURCING_METHOD USER_SOURCING_METHOD SOURCING_STATUS LOV_ENABLED LIMITS_ENABLED USED_IN_SETUP QP_SEGMENTS_B SEGMENT_ID SEGMENT_CODE PRC_CONTEXT_ID AVAILABILITY_IN_BASIC SEGMENT_MAPPING_COLUMN SEEDED_FLAG APPLICATION_ID SEEDED_PRECEDENCE USER_PRECEDENCE SEEDED_VALUESET_ID USER_VALUESET_ID SEEDED_FORMAT_TYPE USER_FORMAT_TYPE REQUIRED_FLAG .

.

or freight charges. for example. base prices. depends on the pricing phases of the event. QP_PRICING_PHASES PRICING_PHASE_ID NAME MODIFIER_LEVEL_CODE QP_EVENT_PHASES PRICING_EVENT_CODE PRICING_PHASE_ID START_DATE_ACTIVE PHASE_SEQUENCE INCOMPAT_RESOLVE_CODE SEEDED_FLAG FREEZE_OVERRIDE_FLAG USER_FREEZE_OVERRIDE_FLAG USER_INCOMPAT_RESOLVE_CODE LINE_GROUP_EXISTS OID_EXISTS RLTD_EXISTS FREIGHT_EXISTS MANUAL_MODIFIER_FLAG SEARCH_FLAG SEEDED_FLAG USER_SEARCH_FLAG . if you need to price sales orders at shipment. promotions. The pricing engine uses the price list and modifiers that are in effect at order entry to meet booking requirements such as credit check. The information that the pricing engine returns.Events are points in the process flow when the calling application sends a pricing request to the pricing engine (similar to a workflow event). For example. use the Reprice Line event and insert the Reprice Line workflow activity into the order process workflow to invoke the repricing. price adjustments.

.

A formula which has a Modifier Value as a component cannot be attached to a price list line. you can run a concurrent program at any time to calculate the final list price using the formula up front (not wait until order entry time) and also store it in the price list. Like discount by attaching a formula to a discount line. • Static calculation: If the formula is attached to a price list line for static calculation of the final list price. the pricing engine evaluates the formula and displays the final list price on the order. . A formula consists of step numbers (such as 1.Formulas can be linked to a price list line or modifier line to: • Create a price from a computation as an alternative to entering prices in a price list. • Modifier Value: Uses the value that is entered in the Value field of Define Modifier window. When the sales order is entered. Select one of the following Formula Types: • List Price: The price of the item in a specific price list to which you have attached a formula. Enter a Formula expression. 2. 3) used in an arithmetic equation such as 1*2. • Calculate a price adjustment. • Numeric Constant: Enter the numeric constant in Component. • Dynamic calculation: The list price resulting from the formula calculation is not calculated or stored anywhere until the sales order is entered with that Price List line item. • Price List Line: A formula which has List Price as a component and is attached to a price list line gets the list price from the Value entered in a price list line. A step number such as 1 in the formula expression corresponds to the formula line with the same step number in the Formula Lines region.

• Pricing Attribute: Select the Pricing Attribute Context and Pricing Attribute. • p_req_line_attrs_tbl: PL/SQL table of records containing context. The step numbers for a formula are available in the GET_CUSTOM_PRICE API. To create a new factor list. • p_list_price: List price on the price list line to which the formula using Get_Custom_Price is attached. The engine passes only the pricing and product Attributes of the price list line to which the formula is attached. attribute. click Factors to create the factor criteria in the Factors window. May be null. and attribute value records for product and pricing attributes and a column indicating the type (Product Attribute or Pricing Attribute). You must write the function in this PL/SQL package and it must return a number. When you complete your entries for the formula line. GET_CUSTOM_PRICE parameters are: • p_price_formula_id: Primary key of the formula that uses the Get_Custom_Price function. . • p_price_effective_date: Pricing Effective Date. type a new name in the Component field. • Function: The Component field displays GET_CUSTOM_PRICE. the date for which the pricing engine is evaluating the formula. • Factor List: Select an existing factor list in Component field.

you probably want to adjust the price further based on the age of the car. If you have multiple entries.0 years old. if you are selling cars. . you could use adjustment factors to adjust the price based on the car options the customer chooses: • If the car options are Standard then the price is multiplied by 1 (factor=1) • If the car options are Business then the price is multiplied by 1. An adjustment factor enables you to adjust the price based on the options selected. the price is multiplied by 0. • If the car is older than 3. the price is multiplied by 0. Enter the Adjustment Factor. Select a value for Base Pricing Attribute. Use the Associate Pricing Attributes region to associate additional contexts with the base context (to create an AND condition where both attributes must be present to qualify). the pricing engine chooses one of the entries.5 (factor=1. Select a value for Base Pricing Attribute Context.8.6. you must use the same base context in this region (to create an OR condition). In the Associate Pricing Attributes region.0 years.1 and 3. For example: • If the car is between 1. Select a comparison Operator and enter the Value From/To. For example. select an Associated Pricing Attribute Context and Associated Pricing Attribute to associate with the base pricing attribute context and base pricing attribute values (to create an AND condition).5) If the cars you are selling are second hand.Let‟s enter a factor list and define adjustment factor based on various Pricing context and attributes Click Factors to create factor criteria.

the concurrent program Build Formula Package should be run to generate the formula package. and select the specific Pricing Formula. • Static calculation: Prior to order entry. For price list lines whose formulas have been added or changed from when they were last updated by this concurrent program. select Build Formula Package to run the program. When you attach a formula to a price list line. . Every time a new formula expression is created.Updating Formula Prices We need to use this process to use static formulas to set list prices. you can select from the following calculation methods: • Dynamic calculation: When you enter an order the pricing engine uses the formula to calculate list price. select New and Modified Lines Only of Price Lists. you execute a concurrent process which calculates the list price. select Update Individual Pricing Formula for Price Lists. From the Tools menu.

.

currency_code := 'USD'.PRODUCT_ATTRIBUTE := 'PRICING_ATTRIBUTE1'. This sample price list does not have any qualifiers or price breaks or non product-information type of pricing attributes.operand := 10.PRODUCT_ATTRIBUTE := 'PRICING_ATTRIBUTE1'. gpr_price_list_rec. gpr_msg_count number := 0. gpr_qualifiers_val_tbl QP_Qualifier_Rules_Pub. J := J + 1. ppr_pricing_attr_val_tbl QP_PRICE_LIST_PUB.put_line('after get price list '). */ J := 1. length. Each line can have one or more pricing attributes.3 LOOP gpr_price_list_line_tbl(K).Pricing_Attr_Tbl_Type.Pricing_Attr_Val_Tbl_Type.Price_List_Val_Rec_Type. gpr_pricing_attr_tbl(J).operation := QP_GLOBALS.list_line_id := FND_API.Price_List_Line_Tbl_Type.product_attribute for Item Number is Pricing_Attribute1 product_attribute_context is ITEM. K number := 1. ppr_qualifiers_val_tbl QP_Qualifier_Rules_Pub.Price_List_Val_Rec_Type.Price_List_Line_Tbl_Type. gpr_pricing_attr_tbl(J). ppr_price_list_line_tbl QP_PRICE_LIST_PUB. pricing_attribute.Qualifiers_Val_Tbl_Type.PRODUCT_UOM_CODE := 'Ea'.PRODUCT_ATTR_VALUE := '62061'.arithmetic_operator := 'UNIT_PRICE'. gpr_qualifiers_tbl QP_Qualifier_Rules_Pub. END LOOP. gpr_pricing_attr_tbl(J). begin --dbms_output.product_attr_value columns (for J = 1 to 3) are populated with 3 different valid inventory_item_id from the instance where this script is run.PRICE_LIST_LINE_INDEX := 1. gpr_price_list_line_tbl(K). populate the fields pricing_attribute_context. say FRA */ gpr_price_list_rec.operation := QP_GLOBALS.Qualifiers_Tbl_Type.list_line_id := FND_API. gpr_pricing_attr_tbl(J).Qualifiers_Tbl_Type.. gpr_pricing_attr_tbl(J).G_MISS_NUM. gpr_msg_data varchar2(2000). FOR K IN 1. gpr_pricing_attr_tbl(J). pricing_attr_value_from. /* you can set the currency of price list to whatever. gpr_price_list_val_rec QP_PRICE_LIST_PUB.G_MISS_NUM.operation := QP_GLOBALS. ppr_pricing_attr_tbl QP_PRICE_LIST_PUB.Price_List_Rec_Type. pricing_attr_value_to and comparison_operator_code ( '=' or 'between') and repeat the product_attr_value and its attribute and context for each record. gpr_price_list_line_tbl(K).Pricing_Attr_Tbl_Type. gpr_pricing_attr_tbl(J).pricing_attribute_id := FND_API. ppr_qualifiers_tbl QP_Qualifier_Rules_Pub.Qualifiers_Val_Tbl_Type. ppr_price_list_val_rec QP_PRICE_LIST_PUB. gpr_price_list_rec.Price_List_Rec_Type. gpr_price_list_rec.Pricing_Attr_Val_Tbl_Type.G_MISS_NUM.pricing_attribute_id := FND_API. and the product information for each of the lines(Product Information is stored in pricing attributes table in product attribute columns).list_header_id := FND_API. ppr_price_list_rec QP_PRICE_LIST_PUB.G_MISS_NUM. gpr_pricing_attr_tbl(J).G_MISS_NUM. gpr_pricing_attr_val_tbl QP_PRICE_LIST_PUB. gpr_pricing_attr_tbl(J). gpr_pricing_attr_tbl QP_PRICE_LIST_PUB. /* product_attr_value stores inventory item id . gpr_pricing_attr_tbl(J).PRODUCT_ATTRIBUTE_CONTEXT := 'ITEM'.list_line_id := FND_API. ppr_price_list_line_val_tbl QP_PRICE_LIST_PUB.description := 'Sample price list'. gpr_pricing_attr_tbl(J).PRODUCT_ATTRIBUTE_CONTEXT := 'ITEM'. When you have pricing attributes like color.name := 'Sample1-PL 1024'. PRICE_LIST_LINE_INDEX is used to link the child (pricing attributes) to the parent(line).Price_List_Line_Val_Tbl_Type.Sample script which inserts a Price List with 3 price list lines. This script must be modified by the user such that the qpr_pricing_attr_ tbl(J). gpr_price_list_line_tbl(K).G_OPR_CREATE.list_line_type_code := 'PLL'.EXCLUDER_FLAG := 'N'.ATTRIBUTE_GROUPING_NO := 1. **************************************************************************** declare gpr_return_status varchar2(1) := NULL. j number := 1. gpr_price_list_line_val_tbl QP_PRICE_LIST_PUB.list_type_code := 'PRL'. /* set the list_header_id to g_miss_num */ gpr_price_list_rec. gpr_price_list_rec QP_PRICE_LIST_PUB. gpr_pricing_attr_tbl(J). width etc.G_MISS_NUM. . gpr_pricing_attr_tbl(J).G_OPR_CREATE. gpr_price_list_rec. gpr_pricing_attr_tbl(J).Price_List_Line_Val_Tbl_Type. gpr_price_list_line_tbl(K).G_OPR_CREATE. gpr_price_list_line_tbl QP_PRICE_LIST_PUB.

null.EXCLUDER_FLAG := 'N'. & Electronic Messaging Guide WHEN OTHERS THEN gpr_return_status := FND_API. Rollback. API. / commit. x_QUALIFIERS_tbl=> ppr_qualifiers_tbl .gpr_pricing_attr_tbl(J).PRICE_LIST_LINE_INDEX := 3.put_line('err msg 1 is : ' || gpr_msg_data). Rollback.G_RET_STS_ERROR.ATTRIBUTE_GROUPING_NO := 1.G_FALSE . gpr_pricing_attr_tbl(J). x_msg_data=> gpr_msg_data . gpr_pricing_attr_tbl(J).G_MISS_NUM.Process_Price_List ( p_api_version_number=> 1 . p_encoded => 'F' ). --dbms_output. x_QUALIFIERS_val_tbl=> ppr_qualifiers_val_tbl . J := J + 1.G_MISS_NUM. . p_PRICE_LIST_LINE_tbl=> gpr_price_list_line_tbl . x_PRICING_ATTR_val_tbl=> ppr_pricing_attr_val_tbl ). EXCEPTION WHEN FND_API. /* oe_msg_pub. --Get message count and data --dbms_output. gpr_pricing_attr_tbl(J).Count_And_Get ( p_count=> gpr_msg_count . x_PRICE_LIST_rec=> ppr_price_list_rec . p_PRICING_ATTR_tbl=> gpr_pricing_attr_tbl . gpr_pricing_attr_tbl(J).G_FALSE . gpr_pricing_attr_tbl(J). */ --Get message count and data --dbms_output. gpr_pricing_attr_tbl(J).operation := QP_GLOBALS. x_PRICE_LIST_val_rec=> ppr_price_list_val_rec . exit. END IF. QP_PRICE_LIST_PUB.ATTRIBUTE_GROUPING_NO := 1. x_PRICE_LIST_LINE_val_tbl=> ppr_price_list_line_val_tbl .G_OPR_CREATE. p_return_values=> FND_API.operation := QP_GLOBALS.get( p_msg_index => k. gpr_pricing_attr_tbl(J). gpr_pricing_attr_tbl(J). p_init_msg_list=> FND_API.PRODUCT_ATTRIBUTE := 'PRICING_ATTRIBUTE1'.G_RET_STS_UNEXP_ERROR . IF gpr_return_status <> FND_API. --dbms_output. x_PRICE_LIST_LINE_tbl=> ppr_price_list_line_tbl .PRODUCT_ATTR_VALUE := '62083'. x_msg_count=> gpr_msg_count .PRODUCT_ATTR_VALUE := '62081'.G_OPR_CREATE. --dbms_output.put_line('after process price list ').. x_return_status=> gpr_return_status .G_EXC_UNEXPECTED_ERROR THEN gpr_return_status := FND_API.PRODUCT_UOM_CODE := 'Ea'. Rollback. x_PRICING_ATTR_tbl=> ppr_pricing_attr_tbl .PRICE_LIST_LINE_INDEX := 2.list_line_id := FND_API.EXCLUDER_FLAG := 'N'.G_RET_STS_SUCCESS THEN RAISE FND_API.G_RET_STS_UNEXP_ERROR .put_line('before process price list '). for k in 1 .pricing_attribute_id := FND_API. end.PRODUCT_ATTRIBUTE_CONTEXT := 'ITEM'. gpr_pricing_attr_tbl(J). gpr_pricing_attr_tbl(J). WHEN FND_API. --Get message count and data --dbms_output.put_line(' msg count 2 is : ' || gpr_msg_count). gpr_msg_count loop gpr_msg_data := oe_msg_pub.G_FALSE .PRODUCT_UOM_CODE := 'Ea'.G_EXC_UNEXPECTED_ERROR. gpr_pricing_attr_tbl(J). gpr_pricing_attr_tbl(J). Price List Setup Application Program Interface 5-218 Oracle Order Management Open Interfaces.G_EXC_ERROR THEN gpr_return_status := FND_API. p_PRICE_LIST_rec=> gpr_price_list_rec . p_data=> gpr_msg_data ).put_line('err msg ' || k ||'is: ' || gpr_msg_data). p_commit=> FND_API. gpr_pricing_attr_tbl(J).put_line('err msg 3 is : ' || gpr_msg_data). gpr_pricing_attr_tbl(J). gpr_pricing_attr_tbl(J). end loop.

G_MISS_NUM. /* Create price formula line 3 of type 'Pricing Attribute'(PRA) */ K := K + 1. . gpr_formula_lines_tbl(K).G_MISS_NUM. gpr_formula_rec.price_formula_line_id := FND_API.G_OPR_CREATE.price_list_line_id := 293195.operation := QP_GLOBALS. gpr_formula_lines_tbl(K). This script must be modified by the user so that the following column is populated with a valid list_header_id of an existing Factor List: gpr_formula_lines_tbl(K).Formula_Rec_Type. gpr_formula_lines_tbl(K).description := 'Sample Pricing Formula'.Formula_Lines_Val_Tbl_Type.Corresponds to the Pricing Attribute 'Insurance Cost' gpr_formula_lines_tbl(K). gpr_formula_rec. --Every operand must correspond to a step_number in a price formula line.formula_line_type_code := 'PRA'.Formula_Lines_Tbl_Type.'Testing 1023'. gpr_formula_rec. gpr_formula_lines_tbl QP_PRICE_FORMULA_PUB.pricing_attribute := 'PRICING_ATTRIBUTE12'. the list_header_id of an existing Factor List is used in this sample script. see: Oracle Advanced Pricing User's Guide. begin /* Set the price_formula_id to g_miss_num to Create the Price Formula Record(Header)*/ gpr_formula_rec. gpr_formula_lines_tbl(K).step_number := 3.price_formula_line_id := FND_API.G_MISS_NUM.operation := QP_GLOBALS.name := 'Sample1-PF 1025-1'.operation := QP_GLOBALS.Formula_Val_Rec_Type. --Any valid Mathematical Expression including built-in database functions.Formula_Lines_Val_Tbl_Type.step_number := 2. gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K). -.Corresponds to the list_line_id of the item 'dw01' on the PriceList -.G_MISS_NUM. ppr_formula_lines_val_tbl QP_PRICE_FORMULA_PUB. /* Create price formula line 1 of type 'List Price'(LP) */ K := 1.G_OPR_CREATE.price_formula_id := FND_API.G_MISS_NUM.This sample script inserts a Pricing Formula with seven different pricing formula lines to demonstrate the six formula line types supported in Advanced Pricing formulas: * Price List Line (PLL) * Function (FUNC) * List Price(LP) * Numeric Constant (NUM) * Pricing Attribute (PRA) * Factor List(ML) * Modifier Value (MV) Oracle Basic Pricing supports three formula line types: * Pricing Attribute (PRA) * Numeric Constant (NUM) * Factor List (ML) A pricing formula header record and seven price formula lines are created. gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K).G_MISS_NUM.price_formula_id := FND_API. ppr_formula_val_rec QP_PRICE_FORMULA_PUB.price_formula_id := FND_API. gpr_formula_lines_tbl(K).formula_line_type_code := 'LP' gpr_formula_lines_tbl(K). gpr_formula_lines_val_tbl QP_PRICE_FORMULA_PUB.G_OPR_CREATE. gpr_formula_lines_tbl(K).formula_line_type_code := 'PLL'.price_modifier_list_id and the following column is populated with a valid list_line_id of an existing Price List Line from the instance where this script is run: gpr_formula_lines_tbl(K). gpr_formula_val_rec QP_PRICE_FORMULA_PUB.price_formula_id := FND_API.Formula_Rec_Type. gpr_msg_count number := 0.4)/5+6'. gpr_formula_lines_tbl(K).operation := QP_GLOBALS.price_formula_id := FND_API. Seed Data.pricing_attribute_context := 'PRICING ATTRIBUTE'.G_MISS_NUM. K number := 1. gpr_formula_lines_tbl(K).G_MISS_NUM. /* Create price formula line 2 of type 'Price List Line'(PLL) */ K := K + 1.Formula_Lines_Tbl_Type.Formula_Val_Rec_Type. **************************************************************************** declare gpr_return_status varchar2(1) := NULL.G_OPR_CREATE. gpr_formula_lines_tbl(K). -. gpr_formula_lines_tbl(K).G_MISS_NUM. gpr_formula_rec.price_formula_line_id := FND_API.formula := 'SQRT(1)*2-NVL(3.price_formula_line_id := FND_API. gpr_formula_lines_tbl(K). For the formula line of type Factor List.price_list_line_id For more information. gpr_formula_lines_tbl(K). gpr_formula_rec QP_PRICE_FORMULA_PUB. gpr_formula_lines_tbl(K). gpr_msg_data varchar2(2000).step_number := 1. /* Create price formula line 4 of type 'Numeric Constant'(NUM) */ K := K + 1. gpr_formula_lines_tbl(K). ppr_formula_lines_tbl QP_PRICE_FORMULA_PUB. ppr_formula_rec QP_PRICE_FORMULA_PUB.

x_FORMULA_val_rec => ppr_formula_val_rec . gpr_formula_lines_tbl(K).Process_Price_Formula ( p_api_version_number => 1 . gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K). */ --Get message count and data --dbms_output.put_line('err msg ' || k ||'is: ' || gpr_msg_data). x_return_status => gpr_return_status . /* Create price formula line 7 of type 'Modifier Value'(MV) */ K := K + 1.G_FALSE . gpr_formula_lines_tbl(K). END IF --dbms_output. gpr_formula_lines_tbl(K).put_line('before process price formula '). gpr_formula_lines_tbl(K).G_FALSE . null.'ABC' gpr_formula_lines_tbl(K). p_data => gpr_msg_data ). end loop. gpr_formula_lines_tbl(K). /* Create price formula line 6 of type 'Factor List'(ML) */ K := K + 1.operation := QP_GLOBALS.operation := QP_GLOBALS.G_OPR_CREATE. gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K).G_EXC_ERROR THEN gpr_return_status := FND_API.G_RET_STS_SUCCESS THEN RAISE FND_API.G_MISS_NUM.G_MISS_NUM.G_OPR_CREATE. gpr_msg_count loop gpr_msg_data := oe_msg_pub.price_formula_line_id:= FND_API.formula_line_type_code := 'MV' gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K).step_number := 6.operation := QP_GLOBALS. gpr_formula_lines_tbl(K).price_formula_line_id := FND_API. gpr_formula_lines_tbl(K). x_msg_count => gpr_msg_count .successfully use this formula line type (FUNC) in their formulas. WHEN FND_API. QP_PRICE_FORMULA_PUB.G_EXC_UNEXPECTED_ERROR.'QP: Get Custom Price Customized' to 'Yes' at the Site Level to -.G_FALSE .step_number := 5. --Get message count and data --dbms_output. p_encoded => 'F' ). gpr_formula_lines_tbl(K).G_MISS_NUM.G_MISS_NUM.G_RET_STS_ERROR. x_FORMULA_rec => ppr_formula_rec . K := K + 1.price_modifier_list_id := 50174. gpr_formula_lines_tbl(K). Rollback.numeric_constant := 1000. IF gpr_return_status <> FND_API. p_FORMULA_rec => gpr_formula_rec .operation := QP_GLOBALS.User must customize the QP_CUSTOM.put_line('err msg 1 is : ' || gpr_msg_data).G_OPR_CREATE. ..Count_And_Get ( p_countgpr_msg_count . p_return_values => FND_API.Corresponds to the list_header_id of an existing Factor List -.formula_line_type_code := 'FUNC'.G_OPR_CREATE.formula_line_type_code := 'ML'.G_MISS_NUM.G_RET_STS_UNEXP_ERROR .price_formula_line_id := FND_API.to return a numeric value and also set the profile option -.step_number := 7. x_FORMULA_LINES_val_tbl => ppr_formula_lines_val_tbl ). p_FORMULA_LINES_tbl => gpr_formula_lines_tbl . WHEN OTHERS THEN gpr_return_status := FND_API.step_number := 4.formula_line_type_code := 'NUM'.gpr_formula_lines_tbl(K).Get_Custom_Price function -. Rollback. /* oe_msg_pub. gpr_formula_lines_tbl(K). gpr_formula_lines_tbl(K). EXCEPTION WHEN FND_API. p_commit => FND_API. / Commit. -.price_formula_id := FND_API.G_EXC_UNEXPECTED_ERROR THEN gpr_return_status := FND_API.price_formula_id := FND_API. x_FORMULA_LINES_tbl => ppr_formula_lines_tbl . --dbms_output.put_line(' msg count 2 is : ' || gpr_msg_count). x_msg_data => gpr_msg_data . for k in 1 . --dbms_output.price_formula_id := FND_API.put_line('after process price formula ').G_MISS_NUM.put_line('err msg 3 is : ' || gpr_msg_data). end. --Get message count and data --dbms_output. /* Create price formula line 5 of type 'Function'(FUNC) */ -.get( p_msg_index => k. Rollback. p_init_msg_list => FND_API.G_RET_STS_UNEXP_ERROR .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->