Siebel Order Management Infrastructure Guide > PSP Engine > Conditions and Actions for PSP Procedures >

PSP-Specific Functions Used in Action Expressions


Action expressions support the full Siebel Query Language syntax including functions such as LookupValue, IfNull, IIF, and InvokeServiceMethod. For more information about Siebel Query Language, see Siebel Tools Online Help.

In addition to Siebel Query Language syntax functions, action expressions can include the PSP-specific functions shown in Table 13.

Table 13. PSP-Specific Functions Used in Action Expressions
Function
Description

ToNumber({Row.Qty})

Convert the specified property value to a number.

All values are stored as a string in a property set.

ToDate({Row.Effective Start Date})

Convert the specified property value to a date.

All values are stored as a string in a property set.

ToCurrency({Row.Net Price}, {Row.Currency Code})

Convert the specified property to a currency.

All values are stored as a string in a property set.

AdjustPrice({Row.Net Price}, {Row.Currency Code}, {Match.Adjustment Type}, {Match.Adjustment Amount}, {Match.Currency Code}, {Match.Exchange Date})

Apply the specified pricing adjustment. This function automatically converts the currency of monetary adjustments to match the currency of the line item.

LookUpMessage('Pricer Waterfall - Selected Contract Adjustment', [Account] = {Row.Temp Contract Account})

Retrieve substituted, translated text from the UMS business service. Payload variables are specified as name-value pairs after the message type.

For more information about the Unified Messaging framework, see Unified Messaging. For details on using the UMS business service in a PSP procedure, see Using Unified Messaging with the PSP Engine.

GetXA({Row}, 'Color')

Get an attribute value for a row.

The GetXA method has two different signatures:

  1. GetXA({Row},<Attribute Name>)
  2. GetXA({Row}, "Name", <Attribute Name>, "LICValue")

For more information about the second signature, see Using the Four-Parameter GetXA Signature.

Sum({Row Set}, 'Extended Net Price')

Sum the value of a field for all children of a property set.

Avg({Row}.{Shipments}, 'Cost')

Calculate the average value of a field for all children of a property set.

Min({Row Set}, 'Score')

Get the minimum value of a field for all children of a property set.

Max({Row Set}, 'Score')

Get the maximum value of a field for all children of a property set.

Count({Children})

Count the children of a property set.

Round({Row.Price}, {Context.Precision})

Round a number to the specified decimal places.

Using the Four-Parameter GetXA Signature

Use the four-parameter GetXA signature if the attribute that you want to obtain is of type integer, otherwise errors can result in calculations especially where numerous digits are involved.

To use the four-parameter GetXA signature in a workflow, you must add an additional step to retrieve LICValues for the attributes as described in the following procedure.

To use the four-parameter GetXA signature in a workflow

  1. Add an additional step to retrieve LICValues for the attributes as follows:
    1. In the workflow editor, create a new "Business Service" before executing the GetXA step.
    2. Set the Business Service Name to "Pricing Manager" and Method to "PopulateAttrLICValue"
    3. Set the following input parameter:
      Input Argument
      Type
      Property Name

      Row Set

      Process Property

      Row Set

    4. Set the following output parameter:
      Property Name
      Type
      Output Argument

      Row Set

      Output Argument

      Row Set

  2. Use the following four-parameter GetXA signature:

    GetXA({Row}, "Name", <Attribute Name>, "LICValue")

    for example, as follows:

    {Row.Temp Attr} = ToNumber(GetXA({Row},"Name","Attribute Name","LICValue"))

LookUpMessage API

The Unified Messaging framework's UMS business service processes all translations using the LookUpMessage API in a PSP action script. For example, for a pricing waterfall, it might use the following script:

{Row}.{Net Price Waterfall} += New('Waterfall', [Text] = LookUpMessage({Row.Temp List Price Message}, [Price List] = {Match.Price List}), [Currency Code] = {Row.Currency Code}, [Price] = {Row.List Price})

For details on using the UMS business service in a PSP procedure, see Using Unified Messaging with the PSP Engine.

Siebel Order Management Infrastructure Guide Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.