Implementing PeopleSoft Enterprise Pricer

This chapter provides an overview of the PeopleSoft Enterprise Pricer implementation and discusses how to:

Click to jump to parent topicUnderstanding PeopleSoft Enterprise Pricer Implementation

The setup for Enterprise Pricer is separated into two segments: performing setup tasks and establishing pricing options and values. Setup tasks are optional and are more complex and involve adding additional fields and completing significantly more complex tasks. As for pricing options tasks, they are simpler tasks that involve defining key fields appropriate to the enterprise.

Warning! The Enterprise Pricer application is delivered with standard setup for the Order Capture transaction. Changes made to certain delivered data, such as adding a new price transaction code, adding a price-by key for a record that's not already being used by Enterprise Pricer, and creating custom mathematical expressions, are considered system customizations and are not supported by the Global Support Center.

Click to jump to top of pageClick to jump to parent topicSetup Tasks

Perform setup tasks if you wish to modify Enterprise Pricer system data and alter how the application works in a standard implementation.

Available setup tasks include addition of price-by fields and transaction-specific options. Note that these tasks require customization to the application. For example, if a new pricing key for a record that is not already being used in Enterprise Pricer is added on a setup page, the developer must also customize both online and batch pricing to use the new key.

Setup tasks are optional in a standard pricing implementation because it delivers a predetermined set of price-by key fields and price list fields as well as ready-to-use pricing settings for the Order Capture transaction.

These setup tasks are:

Click to jump to top of pageClick to jump to parent topicPricing Options and Values

After the price-by keys and transaction code options are defined and specified, an Enterprise Pricer implementer or information technology person can perform these steps to set up other pricing options and values for use in defining price lists, price rules and arbitration plans:

  1. Specify price-by keys to be used by a transaction on the Transaction Price-By Keys component.

    This identifies the price-by keys used by the application when defining price lists and price rules for a transaction. Enterprise Pricer delivers price-by keys for the Order Capture transaction.

  2. Set up the pricing dates for the application on the Pricing Dates page.

    This defines the date variables used in the creation of price rules and arbitration plans. The dates are used to create breaks on the formula and select price lists. Delivered values are available.

  3. Set up the pricing variables for the application on the Pricing Variables page.

    This defines the pricing variables used for price formulas when creating price rules. The Pricing Variables page is used to establish the variables to be used for calculating net prices using mathematical expressions. Delivered values are available.

  4. Set up a rounding rule to be used to round up pricing adjustments or net prices if needed.

    Enterprise Pricer delivers a rounding rule called standard for use in Order Capture transactions.

Click to jump to parent topicSetting Up Enterprise Pricer

This section provides an overview of transaction code options and discusses how to:

Note. Tasks in this section are optional; skip this section if there is no need to modify the delivered price-by key fields and transaction code options.

Click to jump to top of pageClick to jump to parent topicUnderstanding Transaction Code Options

Each transaction that Enterprise Pricer supports is associated transaction code options, which determines the values and functionality that are available when you define price rules or arbitration plans for the transaction, or when Enterprise Pricer performs arbitrations or calculates pricing.

This table lists the setup options that are delivered as system data for the Order Capture transaction:

Option

Delivered Values for Order Capture Transaction

Valid Price Action Types

  • Discount/Surcharge

  • Free Period Promotion

  • Giveaway/Product Add

  • Min/Max Target Discount

  • Min/Max Target Price

  • Min/Max Target Surcharge

  • Price List Only Condition

  • Price Override

  • Rollup Only Rule

  • Total Order Discount/Surcharge

Valid Adjustment Methods

  • Cascading

  • Summed

Valid Price Types

  • Extended Price

  • Quantity

Setup and Use of One-Time Only Price Rule

Yes

Use of Mutually Exclusive Price Rule

Yes

Use Quantity in Price List

Yes

Use of Expressions in Price Rule

Yes

Use of External Application Class for Custom Logic Implementation

Yes

Use of Price Variables

Yes

Use of Price Dates

Yes

Click to jump to top of pageClick to jump to parent topicPages Used to Set Up Enterprise Pricer

Page Name

Definition Name

Navigation

Usage

All Price-by Key Fieldnames

EOEP_KEYFLDS

Set Up CRM, Product Related, Enterprise Pricer, All Price-by Key Fieldnames, All Price-by Key Fieldnames

Specify fields that can be used as price-by key fields for all PeopleSoft Enterprise Pricer implementations. The values are delivered as system data during installation.

Price Transaction Code

EOEP_APP_CODE

Set Up CRM, Product Related, Enterprise Pricer, Price Transaction Code, Price Transaction Code

Configure the PeopleSoft Enterprise Pricer data entry pages for each application code and relate the transaction to another transaction.

Click to jump to top of pageClick to jump to parent topicSetting Up Price-by Key Fields

Access the All Price-by Key Fieldnames page (Set Up CRM, Product Related, Enterprise Pricer, All Price-by Key Fieldnames, All Price-by Key Fieldnames).

Entries on this page are delivered as system data. The system identifies the record and field name for each price-by key specified on this page.

Note. Addition of new price-by key fields on this page for records that are not already being used by Enterprise Pricer is considered a customization.

Click to jump to top of pageClick to jump to parent topicSetting Up Price Transaction Code Options

Access the Price Transaction Code page (Set Up CRM, Product Related, Enterprise Pricer, Price Transaction Code, Price Transaction Code).

The transaction code setup for the Order Capture transaction is delivered as part of the standard Enterprise Pricer implementation.

Parent

Select a value if you want the transaction to inherit all of the attributes and price by keys of the parent.

Price Rule Usage Processor

Specify an application class that Enterprise Pricer calls to do one of the following:

  • To determine whether a one-time only rule has been used.

  • To determine if the maximum quantity for a rule has reached.

  • To display the rule usage data for the user.

This processor is triggered from Price Rule page. The implementation of the RuleUsageChecker subclass is in place to provide the above functions for the Order Capture transaction.

Valid Action Types

Action Type

Select valid price action types for the transaction and limit the available options during price rule and arbitration plan entry. Action types that are specified on this page become available values for setting up price rules for the Order Capture transaction. They are: (* denotes action types that are delivered as enabled for the Order Capture transaction)

*Discount/Surcharge: Applies a discount or surcharge to the list price on a line.

*Free Period Promotion: Specifies the number of free periods of a recurring price. The period used is what appears on the order. For example, if you select three free periods and the rule is used on an order with a cell phone for 30 USD per month, then the first three months are free.

*Giveaway/Product Add: Adds a free product or a discounted product to the line or order.

This action type also supports the use of BOGO (buy one, get one) rules on order lines or orders.

*Min/Max Target Discount (minimum/maximum target discount): Compares the total discount adjustment and, if it's outside the limit, the system discards the calculated amount and replaces it with the target discount.

*Min/Max Target Price (minimum/maximum target price): Compares the price adjustment and, if it's outside the specified range, the system discards the calculated amount and replaces it with the target amount.

*Min/Max Target Surcharge: (minimum/maximum target surcharge): Compares the total surcharge adjustment and, if it's outside the specified range, the system applies a target surcharge.

*Price List Only Condition: Uses the product list price from the price list that is returned as a result of matching the price rule condition with related objects of price lists.

*Price Override: Replaces the price on a product with this price.

*Rollup Only Rule: Indicates that the rule is used for rolling up quantities. The rollup rule is then referenced by regular price rules to match the formula break for adjustment consideration.

This type of rules includes only conditions but not formulas. UOM rollup is not used when this option is selected.

*Total Order Discount/Surcharge: Applies a discount or surcharge to the entire order.

Related Business Objects.

Standard Discount.

Apply to Recurring Pricing

Select to indicate that the corresponding price action type can be used to define price rules that apply to recurring pricing.

As delivered, you can set up price rules for recurring pricing using these action types:

  • Discounts/Surcharge.

  • Giveaway/Product Add.

  • Price Override.

    Additionally, the Min/Max Target Discount, Min/Max Target Price and Min/Max Target Surcharge action types are also available for recurring price rules. While free period promotion pertains only to recurring prices, the Total Order Discount/Surcharge action type does not support recurring pricing.

Valid Adjustment Methods

Adjustment Method

Select how the system applies the adjustment for the Discount/Surcharge price action type:

Cascading: Applied as they are found. A second discount is applied to the previously discounted price, a third discount is applied to a price that already was discounted twice, and so on. For example, if the system encounters two discounts: 10 percent and 20 percent off the list price of 100.00 USD, the system applies the discounts in this manner: 10 percent off of 100.00 USD and 20 percent off of 90.00 USD. Thus, the unit price for the order schedule line is 72.00 USD.

Summed: When the system finds multiple discounts, it adds them together and applies the discounts once. Thus, for the summed example, the system would apply discounts in this manner: the 10 percent and 20 percent discounts are combined for 30 percent off of 100.00 USD. The unit price for the order schedule line is 70.00 USD.

Valid Price Types

Price Type

Select a value that will be available when you select price types for defining price formulas. Values applicable to PeopleSoft CRM are Extended Price and Quantity.

Transaction Code Options

Options

Select options to be supported by the transaction. When you select an option, the system displays the appropriate processing fields on the Price Rule component. Values are:

Use One-Time Only Price Rule: This option indicates whether or not the specified transaction supports the ability to define price rules that are “limited use” price rules. On the Formulas page, you can indicate that the rule is valid only for one time per rule or one time per customer on the One-Time Only field. This option is valid only for Discount/Surcharge, Price Override, Giveaway/Product Adds, and Total Order Discount/Surcharge price rules.

Use Mutually Exclusive Rule: This option indicates whether or not the specified transaction supports the ability to define price rules that are mutually exclusive rules (using the Mutually Exclusive field on the Formulas page). With multiple exclusive prices rules, if one or more of these rules are matched, only one of them is applied and all other rules, whether they are mutually exclusive or regular rules, are ignored.

Use Quantity in Price List: This option indicates whether or not the specified transaction is allowed to use quantity breaks within the price list.

Use Mathematic Expression: This option indicates whether or not the specified transaction enables Enterprise Pricer to create adjustments using user-defined mathematical expressions on the Formulas page. You must set up pricing variables so the system knows what variables are used in the pricing calculation.

Use External Application Class: This option indicates whether or not the specified transaction enables user-defined application classes to calculate the net price.

Click to jump to parent topicEstablishing Pricing Options and Values

To define pricing dates, pricing variables, and price rounding rules, use the Pricing Dates, Pricing Variables, and Price Rounding Rules components.

Use the EOEP_DATE_VAR_CI, EOEP_PRICE_VAR_CI, and EOEP_ROUND_RULE_CI component interfaces to load data into the tables for these components.

The section provides an overview of pricing options and values, and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Pricing Options and Values

Price lists and price rules are two important elements in the pricing process; price lists are used to determine list prices and price rules used for computing the price adjustments when applied. Prior to defining price lists and price rules, you establish components that are referenced in price lists and price rules for a number of purposes: setting up related objects in price lists, building rule conditions, specifying date ranges and mathematical expressions in rule formulas, as well as the rounding option for use in price rules.

Transaction Price-by Keys

Transaction price-by keys are used in defining conditions in price rules. When Enterprise Pricer is called to compute pricing for an order, it looks for all price rules with conditions that match the order lines for applying price adjustments and price lists (in case when a price list is specified in a price rule).

Price List Fields

Price list fields are used in defining related objects in price lists and are a subset of transaction price-by keys. When Enterprise Pricer finds a list price of the product on an order line that is not list price protected, it retrieves all price lists with related objects that match the order. If multiple matching price lists are available, you can set up to either take the best (lowest) product list price found among these price lists, or to use the product list price that comes from the price list with the highest priority score.

Pricing Variables

Pricing variables are used for calculating the net price using mathematical expressions. This table lists the pricing variables that Enterprise Pricer delivers and specifies the ones that are enabled for the Order Capture transaction:

Variable Name

Variable Type

Enabled For Order Capture Transaction

EXT_RECUR_LIST

Extended Recurring List Price

Yes

EXT_RECUR_NET

Extended Recurring Net Price

Yes

LIST_PRICE

List Price

(List price of the transaction line)

Yes

NET_PRICE

Net Price

(Current calculated net price)

Yes

ORDER_LIST

Order Extended List Price

(List price x Quantity)

Yes

ORDER_NET

Order Extended Net Price

(Net price x Quantity)

Yes

RECUR_LIST

Recurring List Price

Yes

RECUR_NET

Recurring Net Price

Yes

-

Rollup Amount

-

-

Rollup Quantity

-

-

Rollup Volume

-

-

Rollup Weight

-

-

User Variable

-

Mathematical Expressions

Enterprise Pricer supports the use of these operators and functions when creating custom mathematical expressions:

Operator/Function

Description

Example

Notes

+

Add

1 + 2

value: 3

If you use negative numbers, do not enter a space between the negative sign and the number.

Subtract

2 – 1

value: 1

 

*

Multiply

2 * 3

value: 6

 

/

Divide

6 / 3

value: 2

 

**

Exponential

2 ** 3

value: 8

 

( )

Parenthesis

(1 + 2) * 3

value: 9

You can use operation grouping.

Truncate(a,b)

Truncate

Truncate(123.45,1)

value: 123.4

You must enter a value for both “a” and “b,” and “b” cannot be a negative number.

Round(a,b)

Round

Round(123.45,1)

value: 123.5

You must enter a value for both “a” and “b,” and “b” cannot be a negative number.

Enterprise Pricer provides the ability to validate the syntax of mathematical expressions and evaluate them with the inputs you provide.

Pricing Dates

Pricing dates are used in arbitration plans and in defining date breaks that are referenced in price rule formulas for Order Capture transactions. This table lists the pricing dates that Enterprise Pricer delivers and specifies the ones that are enabled for the Order Capture transaction:

Date Name

Date Type

Enabled For Order Capture Transaction

ARRIVEDATE

Requested Arrival Date

Yes

FULFILLDATE

Fulfillment Date

Yes

ORDERDATE

Order Date

Yes

PRICEDATE

Price Date

Yes

SYSTEMDATE

System Date

Yes

-

Effective Date

-

-

User Date

-

Rounding Rules

Price rounding rules identify the number of decimal points to use based on the base price that is used in the pricing calculation. You can associate each price rule with a rounding rule or use the default rounding rule from the arbitration plan. You can also define whether each adjustment is rounded before it is applied, the net price is rounded after adjustments are applied, or both.

Use the Price Rounding Rules page to specify rounding rules. If rounding rules are not established, the system rounds according to how each application uses Enterprise Pricer. In the case of PeopleSoft Enterprise CRM, prices are rounded by currency.

Click to jump to top of pageClick to jump to parent topicPages Used to Establish Pricing Options and Values

Page Name

Definition Name

Navigation

Usage

Price Key Fields

EOEP_APPKEY_FIELD

Set Up CRM, Product Related, Enterprise Pricer, Transaction Price-by Keys, Price Key Fields

Select the price by fields that are used to price the transaction.

Price List Fields

EOEP_APPLIST_FLDS

Set Up CRM, Product Related, Enterprise Pricer, Transaction Price-by Keys, Price List Fields

Select valid price list-related business objects that are used when creating price lists.

Pricing Dates

EOEP_DATE_VAR

Set Up CRM, Product Related, Enterprise Pricer, Pricing Dates, Pricing Dates

Set up date variables that can be used in defining price rule conditions and arbitration plans.

Pricing Variables

EOEP_PRICE_VAR

Set Up CRM, Product Related, Enterprise Pricer, Pricing Variables, Pricing Variables

Set up variables that are used in price rule formulas when defining mathematical expressions.

Price Rounding Rule

EOEP_ROUND_RULE

Set Up CRM, Product Related, Enterprise Pricer, Price Rounding Rule, Price Rounding Rule

Set up the rule that is used for rounding purposes during net price calculation.

Click to jump to top of pageClick to jump to parent topicSpecifying Price-by Keys for the Order Capture Transaction

Access the Price Key Fields page (Set Up CRM, Product Related, Enterprise Pricer, Transaction Price-by Keys, Price Key Fields).

Price-by Key Fields

This section lists the price-by fields that can be selected for use in the specified OC transaction.

Build Price-by Key Fields

Click to add fields to the Price-by Key Fields grid after selecting them from the Select Price-by Key Fields grid.

Note. If a price-by field is currently assigned to a price rule or an arbitration plan, you cannot remove it from the list of values assigned to the pricing transaction.

Select Price-by Key Fields

This section lists price-by key fields that are currently selected for the transaction, as well as the ones that can be added to the list. For example, if you add a new field to the All Price-by Key Fieldnames page, it is added automatically to this list.

Note. You can define an unlimited number of pricing keys; however, system performance is affected as the number of keys increases.

Click to jump to top of pageClick to jump to parent topicSpecifying Price List Fields for the Order Capture Transaction

Access the Price List Fields page (Set Up CRM, Product Related, Enterprise Pricer, Transaction Price-by Keys, Price List Fields).

Price List Lookup

Select how you want the system to perform price list lookup. Values are:

Consider all prices: The system considers all matching price lists based on the related business objects and price rules that you have attached to the price lists. It then selects the lowest price for the product.

Lookup in priority order: The system establishes the order for the price list lookup based on the values in the Price-by Key Field Names by Priority section. Use this method to establish a hierarchical method for selecting the list price for the transaction.

Note. When using the hierarchical method, price rules tied to price lists are not used, unless a price is not found using the hierarchical method.

Key Field code

Select price-by keys to define the valid related business objects for a price list. These values are available to you as related business objects on the Related Objects page of the Price List component.

Priority

Establish a hierarchical order to price list lookups by entering a numeric value. This field is available only if you select Lookup in priority order in the Price List Lookup field.

Click to jump to top of pageClick to jump to parent topicSetting Up Pricing Dates

Access the Pricing Dates page (Set Up CRM, Product Related, Enterprise Pricer, Pricing Dates, Pricing Dates).

Use this page to define valid dates that can be used by price rules to create date breaks in rule formulas. Delivered pricing dates are available. You can define multiple rule formulas using multiple date breaks in a price rule.

Date Name

Enter a date variable name. The date name must:

  • Start with an alpha character (for example, A-Z)

  • Consist of only alphanumeric characters (for example, A-Z, 0-9)

Optionally, you can add “&” to the front of the date name.

Date Type

Select the date type for the variable.

Effective Date: The date the transaction takes place.

Order Date: The date that the order header is created.

Fulfillment Date: The date when the order is fulfilled in the supply chain management system.

Price Date: The date specified on the arbitration plan.

Requested Arrival Date: The date when the customer wants the order to be arrived on site. This date type is not used in PeopleSoft Enterprise CRM.

Schedule Ship Date: The date the order line is scheduled to ship.

System Date: The current server date.

User Date: A user defined date. When used, provide a record and field name from where the date value is pulled. A customization of the system is needed to gather and process values properly, if the record and field pair that is selected for the user-defined date is not available in the component buffer.

Record

Select the record from which you wish to pull the date value. Applies only when the pricing variable selected is User Date.

Field Name

Select the field from which you want to pull the date value. Applies only when the pricing variable selected is User Date.

Click to jump to top of pageClick to jump to parent topicSetting Up Pricing Variables

Access the Pricing Variables page (Set Up CRM, Product Related, Enterprise Pricer, Pricing Variables, Pricing Variables).

Use this page to specify valid variables that can be used in mathematical expressions for calculating pricing adjustments. Delivered pricing variables are available.

Variable Name

Enter a variable name. The guidelines for naming pricing dates apply to pricing variables as well.

Pricing Variable Type

Select a variable type. All of the variable types, except for User Variable, are Pricer variables whose values are known to Enterprise Pricer.

Extended Recurring List Price: Sum of the recurring list prices for the whole order.

Extended Recurring Net Price: Sum of the calculated recurring net prices for the whole order.

List Price: The list price of the transaction line.

Net Price: The current calculated net price (running net price).

Order Extended List Price: Sum of the extended list price for the whole order.

Order Extended Net Price: Sum of the extended net price for the whole order.

Recurring List Price: The recurring list price of the transaction line.

Recurring Net Price: The calculated recurring net price of the transaction line.

Rollup Amount: The rolled-up amount of the transaction lines that match the price rule. This value is used to select the price formula breaks.

Rollup Quantity: The rolled-up quantity of the transaction lines that match the price rule. This value is used to select the price formula breaks.

Rollup Volume: The rolled-up volume of the transaction lines that match the price rule. This value is used to select the price formula breaks.

Rollup Weight: The rolled-up weight of the transaction lines that match the price rule. This value is used to select the price formula breaks.

User Variable: A user defined variable. When used, provide a record and field name from where the variable value is pulled.

Click to jump to top of pageClick to jump to parent topicSetting Up Price Rounding Rules

Access the Price Rounding Rule page (Set Up CRM, Product Related, Enterprise Pricer, Price Rounding Rule, Price Rounding Rule).

Use this page to specify the rule that is used for rounding during net price calculation.

A rounding rule cannot be deleted if it's currently used by an arbitration plan.

Rounding Rule ID

Enter the name of the rounding rule. This name appears as an available value of the Rounding Rule ID field that appears in the Arbitration Plan page and Formulas page.

Minimum Price and Maximum Price

Enter the lowest and highest prices to establish different rounding levels to which the corresponding rounding position applies.

Levels should not overlap.

Rounding Position and Decimal Position

Select the rounding method. Values are:

Decimal Point: Rounds prices to a specific decimal point. When selected, specify the number (from 0 to 4) of decimal points to use in the Decimal Position field that appears.

By Currency: This defines the decimal precision for the currency code of the transaction. This option is the default value.

Click to jump to parent topicAdding Price-by Key Fields

You might need to add more price by keys than those delivered with the system data. The following steps provide an example of how to add item weight using the All Price-by Key Fieldnames page. You can follow the same steps to add other fields.

Note. Adding price by key fields for records that are not already being used by Enterprise Pricer is considered a customization.

Follow these steps to add item weight as a pricing key to PeopleSoft Enterprise Pricer:

  1. Add the INV_ITEM_UOM record and the SHIPPING_WEIGHT field on the All Price-by Key Fieldnames page.

  2. Assign the new SHIPPING_WEIGHT field to the transaction code that you are using on the Price Key Fields page.

    Select the new SHIPPING_WEIGHT field from the list at the bottom of the page. Click the Build Price-by Key fields button to associate the new field to the transaction code.

  3. If the new field requires a table to prompt for valid values when the pricing key is used on the price rule, create a view and assign the prompt table to the pricing key on the Price Key Fields page.

    This is the same page you used in step 2.

    If no prompt table is assigned to a pricing key, you can enter any value on the price rule for that field.

You may need to modify the PeopleCode to recognize the new pricing key. When a new pricing key is added to the list of available keys and it is assigned to a transaction code, it may require a change to the PeopleCode method used to pass a value to that new pricing key. The following method in PeopleSoft Enterprise CRM contains the logic used to pass a value for each pricing key defined for the Order Capture transaction code. If a new pricing key is added to the transaction code, you should review the following PeopleCode program to make sure that the pricing key is used by the system:

This method is used to assign a value from PeopleSoft Enterprise Order Capture to each pricing key defined for the Order Capture transaction code. If multiple pricing keys are defined for the same record, you modify the PeopleCode only once. Subsequently, you can select any field from that record as a pricing key without having to modify the code. You can modify the code in CreatePricingKeysLocal( ) to handle all the fields from a specific record without having to specify the field name.

In other cases, the value for a field will require more logic to determine what value to assign to the pricing key. If you must add a new record for which all the fields can be used as pricing keys to the PeopleCode, you use the same logic and add a new condition to the Evaluate logic. For example, if you need to add multiple fields from record INV_ITEM_UOM to the list of pricing keys, you can add the following condition:

When Record.INV_ITEM_UOM &recItemUom = createrecord(RECORD.INV_ITEM_UOM); &recItemUom.SETID.value = %Super.ProductSetid; &recItemUom.INV_ITEM_ID.value = %This.GetInvItemId(&recLine.PRODUCT_⇒ ID.Value); &recItemUom.UNIT_OF_MEASURE.value = &recLine.UNIT_OF_MEASURE.value;⇒ &recItemUom.SelectByKey(); &strValue = &recItemUom.GetField(@("FIELD." | &strFieldname)).Value; Break;

You can add the PeopleCode once and then use any field from record INV_ITEM_UOM as a pricing key.

Example

The following example shows the code that you need when more logic is needed in order to determine the value for a specific pricing key. When the pricing key is INV_ITEM_UOM.SHIPPING_WEIGHT, you can run the GetWeight( ) method to calculate the weight for the item:

When Record.INV_ITEM_UOM Evaluate &strFieldname When Field.SHIPPING_WEIGHT &strValue = %This.GetWeight(&recLine.PRODUCT_ID.value, &recLine.UNIT_⇒ OF_MEASURE.value); Break;

This is the existing and new code for the customization:

rem ================================================================== rem Method: CreatePricingKeysLocal rem rem Description: Pass the pricing key information to the engine. rem ==================================================================; method CreatePricingKeysLocal /+ &objLine as EOEP_PRICER:DataStructure:Line, +/ /+ &recLine as Record +/ Local integer &iCount, &iCount2; Local Record &recAppkeyFld, &recDestination; Local string &strFieldname, &strValue, &strVoid; Local number &numBO, &numShipToBoid, &numProfileSeq; Local boolean &bRetVal; Local RO_CAPTURE:BusinessLogic:Records:Destination &objDestination; Local array of string &arrReturn; For &iCount = 1 To &c_rsPricingKeys.ActiveRowCount &recAppkeyFld = (&c_rsPricingKeys)(&iCount).PW_PRCKEY_VW; &strFieldname = &recAppkeyFld.FIELDNAME.Value; &strValue = ""; When Record.RO_HEADER rem -----------------------------------------------------------; rem Copy key value from header ; rem -----------------------------------------------------------; &strValue = %Super.HeaderRec.GetField(@("FIELD." | &strFieldname)).Value; Break; When Record.INV_ITEM_UOM rem -----------------------------------------------------------; rem Copy key value from Inventory Item UOM ; rem -----------------------------------------------------------; &recItemUom = createrecord(RECORD.INV_ITEM_UOM); &recItemUom.SETID.value = %Super.ProductSetid; &recItemUom.INV_ITEM_ID.value = %This.GetInvItemId(&recLine.PRODUCT_⇒ ID.Value); &recItemUom.UNIT_OF_MEASURE.value = &recLine.UNIT_OF_MEASURE.value;⇒ &recItemUom.SelectByKey(); &strValue = &recItemUom.GetField(@("FIELD." | &strFieldname)).Value; Break; . . . End-Evaluate; If &strValue <> "" Then %This.AddPricingKey(&objLine, &recAppkeyFld.EOEP_KEY_FLD_CD.Value, &str⇒ Value); End-If; End-For;

This is the new code for the customization to retrieve values from the table and pass them to the pricing engine:

When Record.INV_ITEM_UOM rem -----------------------------------------------------------; rem Copy key value from Inventory Item UOM ; rem -----------------------------------------------------------; &recItemUom = createrecord(RECORD.INV_ITEM_UOM); &recItemUom.SETID.value = %Super.ProductSetid; &recItemUom.INV_ITEM_ID.value = %This.GetInvItemId(&recLine.PRODUCT_⇒ ID.Value); &recItemUom.UNIT_OF_MEASURE.value = &recLine.UNIT_OF_MEASURE.value;⇒ &recItemUom.SelectByKey(); &strValue = &recItemUom.GetField(@("FIELD." | &strFieldname)).Value; Break; . . . End-Evaluate;