10Asset-Based Ordering Methods Reference

Asset-Based Ordering Methods Reference

This chapter is a reference that explains the methods developed for the business services used for the asset-based ordering parts of C/OM. It includes the following topics:

Product Manipulation Toolkit Business Service Methods

The Product Manipulation Toolkit (PMT) business service is a set of methods that can be linked to implement order processing workflows. These workflows maintain the service profile as orders are provisioned.

The two primary methods in this toolkit are:

  • Delta. Creates a Quote or Order that defines the changes required to convert the initial state of an Asset into the final state of an Asset.

  • Apply. Applies changes defined in Quotes and Orders to an Asset, putting the Asset into a new state.

The toolkit also provides a number of methods to support Delta and Apply.

This topic begins with a description of User Properties Used by PMT Methods. Then this topic describes all the methods that the PMT business service calls, which are summarized in the following table.

Method Comment

Delta Method

Generates the actions necessary to change an existing product with components (asset) into a new product with components. The set of actions can be written to a quote or an order.

Apply Method

Applies changes defined by a Sales order line item to a customizable asset.

Trim Method

Eliminates line items from a delta quote or delta order if they do not meet the requirements specified in the input arguments. This action produces a new trimmed quote or order. The method determines which changes in a customizable order item to apply to the service profile stored in Assets.

Explode Method

Creates multiple instances of a product. The number of instances is determined by the value of the field defined by the ExplodeOnField argument. For each new instance, the value of ExplodeOnField is set to 1. An existing instance is considered for explosion only if it meets the conditions specified by ConditionFieldNames and ConditionValues.

Explode Siebel Object Method

Functions like Explode except that it also loads the SiebelMessage integration object from the Siebel database with a specified business component and synchronizes it back to the database after the explosion.

Find Orders Method

Given the asset integration ID of a root line item, this method finds all instances of order items that have the same asset integration ID. The order header, matching line item, its child items and attributes are returned as part of the output. Other lines item in the same order header with a different integration IDs are not returned.

Logical Delete Method

Converts any item of a product instance that has a Deleted action code to an Update action code and an Inactive status. Logical Delete only works with a product instance of the Order type. In other words, the Integration Object passed in the Siebel Message is based on the Order Entry business object.

Assign New Service IDs Method

Assigns a service point ID, associated with a specified premise, to each item of the input complex object where the service point type matches the service type of the product.

Convert Product Instance Method

Converts a product instance of one type to another; for example, quote to order.

Get Instance Method

Gets a complex product instance from the Product Configurator.

Get Profile Attribute Method

Returns the value of the specified attribute of the user profile.

Is Fully Ex Method

Checks a product instance to determine if an explode operation is required, based upon the value specified by ExplodeOnField. If the field value is greater than 1 for any component of the product instance, the method returns N. Otherwise, the method returns Y.

Is Module Licensed Method

Determines whether or not the specified module is licensed.

Merge Method

Merges the components of one integration object (product instance) under the header of another integration object.

Quote To Revenue Method

Generates revenue line items for each line item in a quote that matches the criteria specified by the input conditions. The line items are associated with the opportunity from which the quote was created.

Reconfigure Product Instance Method

Displays the asset that was passed to the Product Configurator as input, in the Configurator UI.

Reset Method

Clears out all cached product instances.

Retrieve Next Object From List Method

Given a hierarchical integration object with multiple root components at the second level, this method returns an integration object that contains the header, one root component, its children and their attributes.

Set Action Method

Sets the Action Code field of all items in the hierarchy of a given product instance to the specified value.

Set Exception Error Message Method

Called from the workflow to get the localized error message text that is associated with the input error code.

Set Field Value Method

Sets a specified field to the given values for all items in the product instance that meet an optional condition.

Set Multiple Field Values Method

Sets specified fields to the given values for all items in the product instance.

Set Output Header Method

Caches the output header that will be used by the Apply and Delta methods.

Set Product Instance Method

Caches a product instance that will be used as an input arguments for Apply and Delta methods.

Set Profile Attribute Method

Assigns values to attributes in a user profile.

Synchronize Method

Synchronizes product instance to the database. Optionally, this method also reprices the instance after it is synchronized by calling Pricing Manager Reprice or RepriceAll. This method calls the EAI Siebel Adapter Execute method to synchronize or upsert.

Update Multi Object List Method

After a root integration component is stripped from the integration object by the Retrieve Next Object From List method, this method returns the resulting integration object.

Update Order Line Item Completed Flag Method

Sets the Order Item Processed Flag of the root order line item to Y, if its status and that of all its child items is Complete, Rejected, or ‘-‘.

Get Cfg Button Click Information Method

Identifies the button the user has clicked in the Complex Product view.

Refresh Business Component Method

Reexecutes all instances of the specific buscomp to get data from the database.

Invoke BC Method

Allows a business component-based method to be invoked from a workflow. Acts as a bridge to pass the business component name and method name, along with the parameters, and returns the value required from the workflow to the specified business component

Iterate Process For Selected Rows Method

Loops through all selected rows in the active business component and initiates the specified workflow process for each row.

Get Selected Row Count Method

Returns the number of rows selected in the active business component (for example, the business component that initiated the workflow).

Get First Selected Row Values Method

Queries the active business component for a given set of field values (specified by the Fields argument) to be assembled and returned in the output property set.

Ungroup Method

Creates multiple instances of a product. The number of instances is determined by the value of the field defined by the ExplodeOnField argument. For each new instance, the value of ExplodeOnField is set to 1. An existing instance is considered for explosion only if it meets the conditions specified by ConditionFieldNames and ConditionValues.

    User Properties Used by PMT Methods

    The following user properties are used by PMT methods:

    • Alias Action Code. Used by Delta and Apply to extend the standard set of action codes by creating aliases.

      Syntax:

      Alias Action Code = "<action code>","<alias action code>","<expr to satisfy on 
      Delta>"
      

      Example:

      Name = Alias Action Code 1
      
      Value = "Update", "Suspend", "[Old Asset Status] = "Active" AND [Asset Status] = 
      "Suspended"
      
    • Asset Integration Object Name. Name of the integration object that is based upon the Asset business object.

    • Attribute Integration Component Name. Name of the integration component that is based on the extended attribute business component. For example, Quote Item XA is a line item’s extended attribute. This value must be the same for all three integration objects: asset, quote, and order.

    • Attribute Item Map. Used by the Convert Product Instance, Delta, and Apply methods to map Asset, Quote, and Order attribute fields. It allows the methods to transform one data type (Asset, Quote, or Order) to another data type (Asset, Quote, or Order).

      Syntax:

      Name = Src Int Obj Name.Src Int Comp Name:Dest Int Obj Name.Dest Int Comp Name 
      Map #
      
      Value = [Src Field]:[Dst Field]
      

      Example:

      Name = SIS OM Quote.XA:SIS OM Order.XA Map 20
      
      Value = [Name]:[Name]
      
    • Cancel Button Return. Output value of the Get Cfg Button Click Info method when the Cancel button is clicked in the Complex Product view.

    • Delta Line Item Compare Field. Used by the Delta method to determine which Asset line item fields are compared to determine if two line items are different.

      Syntax:

      Delta Line Item Compare Field = [Asset line item Integration Field]:[Quote/Order 
      line item Integration object field]
      
    • Delta Old Field. Used by the Delta method to capture the old value of a line item field when it is changed by a Modify Order.

      Syntax:

      Delta Old Field # = [field name]:[field name to store old value]
      

      Example:

      Name = Delta Old Field 1 
      
      Value = [Status]:[Old Status]
      
    • Delta XA Compare Field. Used by the Delta method to determine which Asset Line Item’s attribute fields are compared to determine if two line item’s attributes are different.

      Delta Line Item Compare Field = [Asset line item Integration Field]:[Quote/Order 
      line item Integration object field]
      

      Example: If an Order line item’s Account Id field is mapped to the Asset Line item’s Owner Account Id, PMT user property Quote Integration Object Name is set to SISOM Order, and user property Asset Integration Object name is set to SIS OM Asset, the following user property is created:

      SIS OM Order Line Item:SIS OM Asset Line Map 20 [Account Id]:[Owner Account Id]
      
    • Delta XA Old Field. Used by the Delta method to capture the old value of an XA field when it is changed by a Modify Order.

      Syntax:

      Delta XA Old Field # = [field name]:[field name to store old value]
      

      Example:

      Name = Delta XA Old Field 1 
      
      Value = [Value]:[Old Value]
      
    • Done Button Return. Output value of the Get Cfg Button Click Info method when the Done button is clicked in the Complex Product view.

    • Header Integration Component Name. Name of the integration component that is based on header business components. A Quote is a header of a Quote, an Order is a header of an Order, and so on. This value must be the same for all three integration objects: asset, quote, and order.

    • Header Map. Similar to the Attribute Item Map except that this user property maps header fields.

      Syntax:

      Name = Src Int Obj Name.Src Int Comp Name:Dest Int Obj Name.Dest Int Comp Name 
      Map #
      
      Value = [Src Field]:[Dst Field]
      
    • Line Item Integration Component Name. Name of the integration component that is based on line item business components. Quote Item is a line item component, Order Item is a line item component, and so on. This value must be the same for all three integration objects: asset, quote, and order.

    • Line Item Map. Similar to the Attribute Item Map except that this user property maps line item fields.

      Syntax:

      Name = Src Int Obj Name.Src Int Comp Name:Dest Int Obj Name.Dest Int Comp Name 
      Map #
      
      Value = [Src Field]:[Dst Field]
      

      Example: If an Order line item's Account Id field is mapped to the Asset Line item's Owner Account Id, PMT user property Order Integration Object Name is set to SIS OM Order, and user property Asset Integration Object name is set to SIS OM Asset, the following user property is created:

      Name = SIS OM Order.Line Item:SIS OM Asset.Line Item Map 20 
      
      Value = [Account Id]:[Owner Account Id]
      
    • Order Integration Object Name. Name of the integration object that is based on an Order business object.

    • Quote Integration Object Name. Name of the integration object that is based on a Quote business object.

    • Workflow Product Configuration View. Specifies which view the Product Configurator is to use when PMT method Reconfigure Product Instance is invoked.

      Note: The name of the view must be added to both of the following views in the Siebel client: (1) Application Admin screen, then the Views view (2) Application Admin screen, then the Responsibilities view

      Syntax:

      SIS OM Reconfigure Complex Product View Name: Account 
      

      SIS OM Complex Product Runtime Instance View - Account

      Delta Method

      This method is one of the Product Manipulation Toolkit Business Service Methods. It generates the actions necessary to change an existing product with components (asset) into a new product with components. The set of actions can be written to a quote or an order.

      Delta compares two complex assets (original and modified) and returns a quote or order. The return contains line items that specify the actions required to change the asset from the original state to the final state.

      Note: An update occurs if a field in the product or any of its attributes changes. The list of fields being compared is defined by the Delta Line Item Compare Field user properties. This list of fields is configurable to support customer extensions to the database.

      Arguments

      Argument Description

      SiebelMessage

      [in] Hierarchical property set containing the final Asset (output returned from call to PMT business service method Reconfigure Product Instance Method).

      SiebelMessage

      [out] Hierarchical property set containing a quote or order header, complex line items, and attributes.

      SplitQtyChange

      [in] Value is N. Controls whether a new line item is created upon an increase in the quantity of an asset component. This argument is optional. By default the component line item is split.

      Returns

      Property Set containing the complex quote or order.

      Remarks

      Because Delta is used frequently, the following additional information about the method is useful.

      User Properties

      The Delta method uses the following user properties:

      • Asset Integration Object Name

      • Quote Integration Object Name

      • Order Integration Object Name

      • Delta Line Item Compare Field

      • Delta XA Compare Field

      • Delta Old Field

      • Delta XA Old Field

      • Line Item Map

      • Attribute Item Map

      • Alias Action Code

      For descriptions of these user properties, see User Properties Used by PMT Methods.

      Before Invocation

      Before Delta is invoked, the system must call two other methods:

      • Set Product Instance

        Saves the original asset’s configuration before the Product Configurator is called. For more information, see Reconfigure Product Instance Method.

      • Set Output Header

        Saves the quote or order header that will be the Delta output. If a line item or attribute is associated with the Quote or Order property set, it is stripped from the property set returned by the Delta method. For more information, see Set Output Header Method.

      Processing

      During Delta processing, the method:

      • Compares the before and after images to determine the correct action codes for output.

      • Passes all fields in the new customizable asset through to the delta quote or delta order. This includes all custom fields.

        Delta compares a user-configurable set of fields. This includes the parent component ID to make sure that changes to the product with components structure are reflected as an update.

      Increasing Quantities of an Asset Component

      If the user edits a customizable asset and increases the quantity of an existing component, the result is two line items. The first line item represents the original asset. The second line item adds new copies of that asset. If the original line item is changed, the Delta action is Update or NULL.

      Action Field in the Quote and Order Attribute Tables

      Delta logic populates an Action field in the quote attribute and order attribute tables. This field allows order provisioning logic to determine which of the attributes of a service product has changed.

      For example, a delta quote can be represented as shown in the following figure. In this example, the call forwarding number changed but the number of rings did not.

      Action on Attribute Method Example. In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a local line that has been deleted( [DELETE] Local Line). GCI One Bundle also has a Calling Card with a Password and P800.

      When a delta-enabled field in a line item changes (because of direct user input or a process such as repricing) or an attribute of a line item changes, the action code is automatically set. This is shown in the following table.

      Original Action New Action

      None

      Update

      Add

      Add

      Update

      Update

      Delete

      Delete

      Note: Make the Action field Read-Only to avoid possible violations of configuration rules that could be caused by changing the action code of a line item.

      Alias Action Codes

      The Delta method has been extended to support Alias Action Codes. Delta replaces one of the standard action codes (Add, Update, Delete, -) with an alias action code if a certain condition is met. For example, an action code of Update may be replaced by Suspend if the status field changes from Active to Suspended. Alias action codes are evaluated for components but not attributes. Alias action codes are specified by the Alias Action Code user properties.

      Old Value Support

      When performing a modify order in Siebel Customer Order Management versions prior to 7.7, you can view the changes made to a product but only the end state, and values prior to the modify are lost. Downstream provisioning systems require both the prior and current values. For example, a change in bandwidth from 56K to 1024K might require a new piece of equipment to be installed at the wire center whereas a change form 2048K to 1024K is simply a downgrade using the existing equipment.

      The Delta method has been extended to store the values of fields prior to their being changed. The prior value is the value of the field in the initial property set being considered by Delta.

      Service Item Unique Keys (Asset Integration Id)

      The Delta and Apply method operations depend upon the unique keys to each service item. Typically, the unique key is an invariable combination of fields in the service item record. Because no combination of user-entered fields is certain to be unique or invariable, the Siebel application provides a hidden Asset Integration Id field that stores a unique identifier for each service item.

      The asset integration ID links the service item to the quotes and orders that modify it. On creation of a quote to add a new service item a new asset integration ID is generated from the row ID of the quote line item The quote is converted to an order at which time a new asset integration ID is generated from the row ID of the order line item. This occurs only if the action code of the quote line item is ‘Add’ to enforce uniqueness if multiple orders are created from the same quote.

      When the completed order is converted into an asset the asset integration ID is copied from the order line item to asset. When the asset is subsequently modified (Modify or Disconnect) the asset integration ID is copied to the quote and order line items.

      Action Types

      Each action types is implemented as a soft-coded list of values. This soft coding supports a multilingual user interface and allows for industry specific terminology. The action types supported by the Siebel application are listed in the following table.

      Action Type Comments

      Add

      None

      Update

      None

      Delete

      None

      None

      No action

      Examples

      Review the following examples in the following sections:

      Generating a Delta Quote to Update an Asset

      The following example shows how this method generates a delta quote to update an asset.

      1. A configuration session starts with the GCI One Bundle in the state shown in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a second local line. GCI One Bundle also has a Calling Card with a Password.
      2. A CSR updates the customizable asset, as in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a Calling Card with Password. GCI One Bundle also has a P800.
      3. The Delta method generates the delta quote shown in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a Calling Card. The Calling Card has a Password. GCI One Bundle also has P800.

      Generating a Delta Quote to Add a New Asset

      The following example shows how this method generates a delta quote to add a new asset.

      1. A configuration session starts with no existing asset. The user configures a new customizable product, as in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a local line that has been deleted( [DELETE] Local Line). GCI One Bundle also has a Calling Card with a Password and P800.
      2. The Delta method generates the following delta quote.

      Generating a Delta Quote to Disconnect an Asset

      The following example shows how this method generates a delta quote to disconnect an asset.

      1. The user selects a customizable asset in the service profile view, as in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a second Local Line and a Calling Card. The Calling Card has a Password.
      2. The user clicks Disconnect.

        A workflow runs Delta with the current state of the customizable asset and an empty customizable asset as input arguments. The resultant delta quote is shown in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a second Local Line and a Calling Card. The Calling Card has a Password.

      Generating a Delta Property Set to Add More Assets

      The following example shows how this method generates a delta property set to add more copies of an asset.

      1. The user selects a customizable asset in the service profile view, as in the diagram that follows.

        In this image, [DELETE] GCI One Bundle has [DELETE] Local Line with [DELETE] Call Forwarding and [DELETE] Caller ID. [DELETE] Call Forwarding has No. of Rings 6 and Forwarding No. [DELETE] GCI One Bundle also has a second [DELETE] Local Line and a [DELETE] Calling Card. The [DELETE] Calling Card has a Password.
      2. The user makes various changes including changing the quantity of Calling Card from one to three, as in the diagram that follows.

        In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6, Forwarding No., and Forward to Mobile. GCI One Bundle also has 3 x Calling Card and P800. Calling Card has a Password.
      3. Delta generates the delta property set as shown in the diagram that follows. The calling card record is split out into the original, unchanged asset and an action to add the new copies of the original calling card.

        In this image, CGI One Bundle has one Local Line with [UPDATE} Call Forwarding and Caller ID. CGI One Bundle also has: [DELETE] Local Line, Calling Card, [ADD] 2 x Calling Card, and [ADD] P800. Local Line has [UPDATE] Call Forwarding and Caller ID. Calling Card has Password. [ADD] 2 x Calling Card has Password. [UPDATE] Calling Forwarding has No. of Rings 6, [UPDATE] Forwarding No. , [ADD] Forward to Mobile Y, [DELETE] Free Calls 20.

      The following example shows how this method is used to change a product structure.

      1. The user selects a customizable product in the customer profile view, as in the diagram that follows.

        In this image, CGI One Bundle has two Local Lines. Local Line has Call Forwarding. Call Forwarding has No. of Rings 6, Forwarding No.
      2. Since this asset was created, the customizable product structure has changed to group all features beneath a Feature Package component. When the product is loaded into the Configurator, it is relinked and displayed as shown in the diagram that follows.

        In this image, CGI One Bundle has two Local Lines. Local Line has Feature Package, Call Forwarding. Call Forwarding has No. of Rings 6, Forwarding No.
      3. When the new structure is saved, Delta identifies the new Feature Package component and marks the Call Forwarding feature for update because its parent has changed. This is shown in the diagram that follows.

        In this image, CGI One Bundle has two Local Lines. Local Line has [ADD] Feature Package, [UPDATE] Call Forwarding. [UPDATE] Call Forwarding has No. of Rings 6 and Forwarding No.

      Related Information

      See the topic about workflows in Siebel Order Management Guide, and the following methods:

        Apply Method

        This method is one of the Product Manipulation Toolkit Business Service Methods. It applies changes defined by a Sales order line item to a customizable asset. This method uses, as a base, an asset that is cached as a result of a call to set the Product Instance and optionally, a header (asset, quote, or order), passed in during the Set Output Header.

        Arguments

        Argument Description

        OpenOrders

        [in] Output result of a call to Business Service Find Orders. (Optional).

        For more information, see the section about input arguments.

        Note: Either OpenOrders or SiebelMessage is acceptable as input but not both.

        SiebelMessage

        [in] Contains a single complex Open Order or an Open Quote Line Item. (Optional)

        Note: Either SiebelMessage or OpenOrders is acceptable as input but not both.

        SiebelMessage

        [out] Output asset image representing a future configurable asset.

        Is Apply Result Empty

        [out] Y if all the line items are removed from the result, or if the information supplied to create an asset is insufficient information.

        Note: Either SiebelMessage or Is Apply Result Empty is returned as output but not both.

        Returns

        An asset PropertySet that represents the original input asset plus the changes defined in the input quote or order line item.

        Remarks

        The following sections about the Apply method are useful.

        Input Arguments

        To meet its requirements as a general-purpose tool for processing throughout the Asset-Quote-Order life cycle, the Apply method can accept a variety of arguments as input. All input parameters are optional to a varying degree, and the combination of parameters will be determined by the data present and the desired operation.

        Apply handles four possible input parameters:

        • OpenOrders [input] PropertySet representing a series of Open Orders

          OpenOrders can be passed as one of two arguments directly in the Apply method invocation. When a single OpenOrder is to be processed, this argument can be supplied through a standard SiebelMessage PropertySet, obtained through a call to a standard Siebel Adapter. It can be either an Order or a Quote subtype (Quote only on Modify Quote Workflows).

          When more than one Open Order is involved in creating the Output Asset, OpenOrders is supplied by a multiple hierarchy OpenOrders type, obtained by invoking the Find Orders Business Service method. Apply checks for the presence of OpenOrders first, and only looks for the single-order SiebelMessage if OpenOrders is not supplied. If both are supplied, only OpenOrders is processed. If neither is supplied and Input Asset is supplied, the Apply method passes the Input Asset PropertySet back as the Output Asset PropertySet.

        • SiebelMessage [input] PropertySet

          This input represents a single Open Order. See the previous description.

        • Asset [input] PropertySet

          This argument is passed through the Set Product Instance method invocation before Apply is invoked. The Input Asset PropertySet is the base Asset upon which all changes from Open Orders are applied. If no Assets related to the Open Orders are being applied, the call to Set Product Instance is skipped.

        • Header[output] PropertySet

          This argument is passed through the method invocations before Apply is invoked. Ordinarily, the Output Header normally is not supplied. However, if it is supplied, it is passed into the Business Service by a separate invocation of Set Output Header immediately before Apply is invoked.

          Under most operating conditions, Apply determines the contents of the Output Header from the Input Asset or the Input Orders. However, when the Output Header is supplied, it is passed into the Business Service by a separate invocation of SetOutputHeader immediately before Apply is invoked. The Output Header can be a SiebelMessage PropertySet of type Asset, Order or Quote. It can be either an empty header without subordinate data or a fully formed hierarchy with associated child item data. When child item data is carried with the Output Header, the child item data is removed.

          Generally, the Output Header gives the Apply method specific data to create an update Output Header for later synchronization by a Siebel Adapter. Use it only if the Output Header that results from Input Asset or the Input Open Order processing is insufficient for resynchronization.

        It is also possible (and occasionally valid) to invoke Apply without passing any arguments at all. If no input is specified at all, Apply returns a value of Y in the Is Apply Result Empty Process Property. This result is also returned when the resulting Asset contains only a header, but no items.

        Creating a hybrid asset order

        Apply creates a hybrid asset-order to simulate the future configuration of a complex product. Taking an asset representing a complex product as input, Apply overlays all unprocessed items and attributes of that product from all its open orders onto the asset. Because the asset’s items and attributes are already provisioned, their action codes will carry the internationalized equivalent of the *(blank) value.

        Service Item Unique Keys

        The Apply and Delta method operations depend upon the unique keys to each service item. For more information, see the description of Delta Method.

        Apply assumes that the asset used as a base on which to apply open orders was set using Set Product Instance. If no asset is supplied, either the first Open Order or the single (SiebelMessage) Open Quote or Order will be used as the basis for creating a new complex asset. If neither asset nor Open Order is supplied, the method returns an Empty result.

        Exception Handling

        Apply handles all service quote or sales order actions even if they include possible conflicts. For example, if a service quote line item instructs the method to modify a service item that is already disconnected, Apply logic ignores the service quote line item. The exception conditions handled by Apply are listed in the following steps.

        Apply is executed in two steps:

        1. SetProductInstance (Asset PropSet)

          This action initializes internal structures and stores the passed PropertySets that are the result of an earlier invocation of Siebel EAI Adapters. Because a business service is limited to a single hierarchy for each invocation, the PMT business service is invoked twice to pass both PropertySets.

          Note: The Asset PropertySet is assumed to be a single hierarchy representing a single complex item, keyed by the integration ID for the root of the complex item.
        2. Apply (OpenOrders PropSet)

          This action does the following:

          • Retrieves the Asset PropertySet from its internal storage (established by calling Set Product Instance) and instantiates the output complex object from it.

          • Instantiates a complex object from the OpenOrders PropertySet input parameter.

          • Iterates through the OpenOrder PropertySet, applying each item in turn, repeating for each open order in ascending chronological sequence.

          • Whenever the hierarchical structure is altered, Apply fixes the output hierarchy to reflect the OpenOrder.

          • Returns the output property set.

            Note: The OpenOrders PropertySet is assumed to be one of a Null hierarchy, a single hierarchy representing one complex item, or a container of iterations of a complex item, each representing a change over time. The integration ID for the root of the complex item is the key for the item.

        The Apply method handles the exception conditions listed in the table that follows.

        Exception Action Reason

        Instruction to add an item that already exists.

        Ignores the add instruction. Attributes and the price are not updates.

        The instruction is outdated. Therefore, the attributes are unreliable.

        Instruction to update an item that no longer exists.

        Ignores the update instruction.

        The instruction is outdated. It cannot be performed.

        Instruction to delete an item that no longer exists.

        Ignores the delete instruction.

        The action has already occurred.

        Instruction to do nothing to an item that does not exist.

        No action.

        A sequencing problem may have occurred.

        Examples

        Review the following Apply method examples.

        Add, Update, Delete a Complex Order

        The following example shows how this method applies add, update, and delete instructions on an order to an existing asset.

        1. Start with a customizable asset, as in the diagram that follows.

          In this image, CGI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle has a second Local Line. CGI One Bundle also has a Calling Card with a Password.
        2. Apply a delta order, as in the diagram that follows.

          In this image, CGI One Bundle has one Local Line with [Update] Call Forwarding and Caller ID. [Update] Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle has [DELETE] Local Line. CGI One Bundle also has a Calling Card with a Password. CGI One Bundle also has [ADD] P800.

          For more information, see Delta Method.

        3. A new customizable asset is created, as in the diagram that follows.

          In this image, CGI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle has a Calling Card with a Password. CGI One Bundle also has P800.

        Process a new installation

        The following example shows how this method is used to process a new installation.

        1. Start with no asset.

        2. Apply a new installation.

          In this image, [ADD] CGI One Bundle has [ADD] Local Line with [ADD] Call Forwarding and [ADD] Caller ID. [ADD] Call Forwarding has [ADD] No. of Rings 6 and [ADD] Forwarding No. [ADD] CGI One Bundle has a second [ADD] Local Line. [ADD] CGI One Bundle also has [ADD] Calling Card with [ADD] Password.
        3. A new customizable asset is created, as in the diagram that follows.

          In this image, CGI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle has a second Local Line. CGI One Bundle also has a Calling Card with a Password.

        Ignores Instructions to Process Absent Items

        The following example shows how this method is used to process a delta quote that includes an update to an absent item.

        1. Start with a customizable asset from an external profile management system, as in the diagram that follows.

          In this image, CGI One Bundle has Local Line which has Call Forwarding. Call Forwarding has No. of Rings 6 and Forwarding No.
        2. Apply a delta quote that was generated a week before, as in the diagram that follows.

          In this image, CGI One Bundle has Local Line with Call Forwarding and [ADD] Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle has [ADD] Local Line. CGI One Bundle also has [UPDATE] Calling Card with Password.
          Note: The calling card referred to in the delta quote was removed from the profile after the quote was created. The [UPDATE] Calling Card branch is ignored.
        3. The Apply method ignores updates to the service item that no longer exists, but successfully executes the remaining changes. This is shown in the diagram that follows.

          In this image, CGI One Bundle has Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle also has Local Line.

        Ignores Instructions to Add an Already Existing Item

        The following example shows how this method is used to process a delta quote that contains an invalid add instruction.

        1. Start with a customizable asset from an external profile management system, as in the diagram that follows.

          In this image, CGI One Bundle has Local Line with Call Forwarding. Call Forwarding has No. of Rings 6 and Forwarding No. CGI One Bundle also has Local Line.
        2. Apply a delta quote that was generated a week before.

          Note: The second local line, (650) 213-7575, already exists in the service profile. It was provisioned by an external system user.
        3. Apply ignores add commands where the service item already exists and successfully executes the remaining changes.

        Process Instructions to Update the Parent of a Component

        The following example shows how this method is used to process a delta quote that updates the parent component.

        In this image, CGI One Bundle has two Local Lines. The first Local Line has Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. The other Local Line has no extra components.
        1. Start with a customizable asset in the old product format, as in the diagram that follows.

          In this image, CGI One Bundle has two Local Lines. The first Local Line has Call Forwarding. Call Forwarding has No. of Rings 6 and Forwarding No. The other Local Line has no extra components.
        2. Apply a delta order that updates the parent component of the Call Forwarding feature, as in the diagram that follows.

          In this image, CGI One Bundle has two Local Lines. The first Local Line has [ADD] Feature Package. [ADD] Feature Package has [UPDATE] Call Forwarding. [UPDATE] Call Forwarding has No. of Rings 6 and Call Forwarding. The other Local Line has no extra components.
        3. The Apply method adds the Feature Package product beneath the local line and reattaches the existing Call Forwarding feature to the Feature Package, as in the diagram that follows.

          In this image, CGI One Bundle has two Local Lines. The first Local Line has Feature Package. Feature Package has Call Forwarding. Call Forwarding has No. of Rings 6 and Forwarding No. The other Local Line has no extra components.

        Related Information

        See the topic about workflows in Siebel Order Management Guide, and the following methods:

          Trim Method

          This method is one of the Product Manipulation Toolkit Business Service Methods. It eliminates line items from a delta quote or delta order based on a soft coded rule or Keep Specification. This method is used, in the Order to Asset workflow, to identify changes in an order item that are ready to apply to the service profile stored in Assets.

          For a line item to be kept in the product instance hierarchy, KeepSpec must be TRUE for that line item. All children of the line item will also be removed if the parent is removed.

          Arguments

          Argument Description

          KeepSpec

          [in] A Boolean expression based on fields in the current line item. If the line item is to be retained, KeepSpec must return True. (Required)

          Object Id

          [in] Row Id of the root line item that is used to load the hierarchy if a SiebelMessage is not passed in. (Optional)

          Input Object Type

          [in] Type of object to which Object Id relates. Must be specified is Object Id is specified. (Optional)

          SiebelMessage

          [in] Hierarchy to be used if an Object Id is not supplied. (Optional)

          SiebelMessage

          [out] Resulting product instance.

          Is Trim Result Empty

          [out] Y or N value. Y if all line items are removed in the result. Otherwise, N.

          Returns

          Removes selected line items from the product instance.

          Remarks

          If the KeepSpec input is TRUE for a line item, it is kept in the product instance hierarchy. If not, it is eliminated. All children of the line item are removed if the parent is removed.

          When Trim is called, the method starts at the highest item in the product hierarchy and works recursively down through its children. If the KeepSpec evaluates to TRUE for a line item, it is kept in the product instance hierarchy. If not, it and all of its children are eliminated. For example, the KeepSpec for the Order to Asset workflow is:

          (([Status] = LookupValue('FS_ORDER_STATUS', 'Complete')) OR ([Action Code] = 
          LookupValue('DELTA_ACTION_CODE', 'Existing'))) AND ([Convert To Asset Flag] = 'Y')
          
          To process items with status other than Complete or Existing, add the status values to the KeepSpec 
          Input Argument. 
          

          Review the examples in the following sections:

          Trimming Pending and Failed Items

          The following example shows how this method is used to eliminate pending and failed items.

          1. A new installation is partially complete, as in the diagram that follows.

            In this image, [ADD] CGI Bundle [COMPLETE] has [ADD] Local Line [COMPLETE], [ADD] Calling Card [PENDING], [ADD} P800 [FAILED] and [ADD] 200 Minutes Free [COMPLETE]. [ADD] Local Line [COMPLETE] has [ADD] Call Forwarding [COMPLETE] and [ADD] Caller ID [PENDING]. [ADD] Calling Card [PENDING] has [ADD] Password. [ADD] Call Forwarding [COMPLETE] has [ADD] No. of Rings 6 and [ADD] Forwarding No.
          2. Trim eliminates all Pending and Failed items. It also eliminates the 200 Minutes Free product because that product has set Track As Asset to N. This is shown in the diagram that follows.

            In this image, [ADD] GCI Bundle [COMPLETE] has [ADD] Local Line [COMPLETE]. [ADD] Local Line [COMPLETE] has [ADD] Call Forwarding [COMPLETE]. [ADD] Call Forwarding [COMPLETE] has [ADD No. of Rings 6 and [ADD] Forwarding No.

          Trimming Orphaned Items

          If an item fails to meet the KeepSpec criteria, this method removes all of its children. The following example shows this situation.

          1. A user starts a new installation in which a parent item is Pending and a child item is Complete, as in the diagram that follows.

            In this image, [ADD] GCI Bundle [COMPLETE] has [ADD] Local Line [PENDING]. [ADD] Local Line [PENDING] has [ADD] Call Forwarding [COMPLETE]. [ADD] Call Forwarding [COMPLETE] has [ADD] No. of Rings 6 and [ADD] Forwarding. [ADD] Caller ID [COMPLETE} appears outside of the bundle.
          2. Trim eliminates all Pending or Failed items and their children, Complete or not, as in the diagram that follows.

            This is an image of [ADD] GCI Bundle [COMPLETE].

          Related Information

          See the topic about workflows in Siebel Order Management Guide, and the following methods:

            Explode Method

            This method is one of the Product Manipulation Toolkit Business Service Methods. It creates multiple instances of a product. The number of instances is determined by the value of the field specified by the ExplodeOnField argument. For each new instance, the value of ExplodeOnField is set to 1. An existing instance is considered for explosion only if it meets the conditions specified by ConditionFieldNames and ConditionValues.

            Note: Explode works for a quantity set at any level of the product hierarchy.

            To exclude fields from being copied from the existing instance to the new instance, add user properties to the SIS OM PMT Business Service. You can use the ExclusionFieldsUserPropertyTag input argument to identify the User Properties series used for this purpose.

            Arguments

            Argument Description

            RootItemId

            [in] Root Item Id. Only the subcomponents of the root line item with a Row Id specified by the RootItemId are considered for Explode. (Optional)

            ExplodeOnField

            [in] Value of the field specified by ExplodeOnField determines the number of instances created by Explode. For each new instance, the value of the ExplodeOnField is set to 1. (Required)

            ConditionFieldNames

            [in] Comma separated list of component field names. An existing instance is exploded only if the conditions specified by ConditionFieldNames and ConditionValues are met. (Optional)

            ConditionValues

            [in] Comma separated list of condition values. Standard Siebel expressions (such as LookupValue) are supported. An existing instance is exploded only if the conditions specified by ConditionFieldNames and ConditionValues are met. (Optional)

            ExclusionFieldsUserPropertyTag

            [in] Name of the series of user properties that identify fields to exclude when the object instance is copied. The user property name is configurable and specified by ExclusionFieldsUserPropertyTag. (Optional)

            SiebelMessage

            [in] Product instance to be exploded. (Required)

            SiebelMessage

            [out] Product instance (integration object) representing the exploded business component. (Required)

            Is Exploded

            [out] Status flag (Y or N) which indicates whether the SiebelMessage has been exploded or not. (Optional)

            Returns

            Product set containing multiple copies of the original component.

            Remarks

            Explode copies any product component whose quantity is greater then (>) 1. It creates multiple copies, each with quantity set to 1. By default, products with the Convert to Asset flag set to N are ignored. This method inputs and outputs a property set containing product changes.

            A user configurable list identifies fields that are excluded during the copy. For example, a user would not create multiple copies of a unique identifier such as a telephone number.

            The following information about the Explode method is useful.

            Excluded Fields

            All fields, including prices, are copied as they are into each new instance of the service item, except the following columns that cannot be copied, by default:

            • Asset Integration Id

            • Conflict Id

            • Created

            • Sequence Number

            • Updated

            • Id

            • Integration Id

            • Quantity

            • Service Point Id

            • Extended Quantity

            User Properties

            This method uses the default user properties, listed here, to define a list of integration component fields that are not copied when the parent integration object is exploded.

            • Exclude From Explode.SIS OM Order.Line Item 11 to Exclude From Explode.SIS OM Order.Line Item 20

            • Exclude From Explode.SIS OM Quote.Line Item 1 to Exclude From Explode.SIS OM Quote.Line Item 10

            The general format for all these user properties is:

            <User Prop Name>.<Integration Object Name>.<Integration Component Name>#
            
            • Examples

            Review the following Explode method example.

            Copying Components Whose Quantity Exceeds 1

            The following example shows this method creates multiple copies of a component.

            1. Start with an order to add multiple Calling Cards as part of a GCI One Bundle.

            2. Explode copies all components with quantity > 1. The diagram that follows provides an example.

              This image shows a diagram of a GCI Bundle with a Local Line with Calling Forwarding and Caller ID. The bundle also includes: two calling cards with passwords and a P800. The No. of Rings is 6 and there is a forwarding number.

            Related Information

            See the topic about workflows in Siebel Order Management Guide, and the following methods:

              Explode Siebel Object Method

              This method is one of the Product Manipulation Toolkit Business Service Methods. It functions like Explode Method except that it also loads the SiebelMessage integration object from the Siebel database with a specified business component and synchronizes it back to the database after the explosion.

              Arguments

              Argument Description

              IntObjectName

              [in] Name of the integration object representing the business component that will be exploded. (Required)

              PrimaryRowId

              [in] Siebel object row ID of the business component that will be exploded. (Required)

              RootItemId

              [in] Root Item Id. Only the subcomponents of the root line item specified by the RootItemId are considered for Explode. (Optional)

              ExplodeOnField

              [in] Value of the field specified by ExplodeOnField determines the number of instances created by Explode. For each new instance, the value of the ExplodeOnField is set to 1. (Required)

              ConditionFieldNames

              [in] Comma separated list of integration field names. An existing instance is exploded only if the conditions specified by ConditionFieldNames and ConditionValues are met.

              ConditionValues

              [in] Comma separated list of condition values. Standard Siebel expressions (such as LookupValue) are supported in each comma separated value. An existing instance is exploded only if the conditions specified by ConditionFieldNames and ConditionValues are met.

              ExclusionFieldsUserPropertyTag

              [in] Name of the series of user properties that identify fields to exclude when the object instance is copied. The user property name is configurable and specified by ExclusionFieldsUserPropertyTag. (Optional)

              SiebelMessage

              [out] Product instance (integration object) representing the exploded business component. (Optional)

              Is Exploded

              [out] Status flag (Y or N) which indicates whether the SiebelMessage has been exploded or not. (Optional)

              User Properties

              This method has the following default user properties:

              • Exclude From Explode.SIS OM Order.Line Item 11 to Exclude From Explode.SIS OM Order.Line Item 20

              • Exclude From Explode.SIS OM Quote.Line Item 1 to Exclude From Explode.SIS OM Quote.Line Item 10

              Related Information

              See the topic about workflows in Siebel Order Management Guide, and the following methods:

                Find Orders Method

                This method is one of the Product Manipulation Toolkit Business Service Methods. Given the asset integration ID of a root line item, this method finds all instances of order items that have the same integration ID. The order header, matching line item, its child items and attributes are returned as part of the output. Any other line item in the same order header that does not have a matching integration ID will not be returned.

                Arguments

                Argument Description

                Asset Integration Id

                [in] Root asset integration ID that is used to open order items to an asset. (Required)

                Search Spec

                [in] Additional search specification used to look for open orders. This is a business component search spec that will be applied to the ‘Order Entry - Line Item (Asset Based) BC. (Optional)

                Sort Order Item By

                [in] Comma separated list of field names. Each field name is optionally followed by the string (DESCENDING). For example, Last Name (DESCENDING), First Name. This forces the method to sort the order line item it locates by the given field names. (Optional)

                Open Orders

                [out] A single hierarchy of type OpenOrders that has child hierarchies for each open order that is found.

                Related Information

                See the topic about workflows in Siebel Order Management Guide.

                  Logical Delete Method

                  This method is one of the Product Manipulation Toolkit Business Service Methods. It converts any item of a product instance that has a Deleted action code to an Update action code and an Inactive status. Logical Delete only works with a product instance of the Order type. In other words, the Integration Object passed in the SiebelMessage is based on the Order Entry business object.

                  Arguments

                  Argument Description

                  ObjectId

                  [in] ID of the object to be loaded. If this optional argument is provided, the SiebelMessage argument is ignored. (Optional)

                  SiebelMessage

                  [in] Primary argument if there is no Object Id. This must be an Order type input. (Required)

                  SiebelMessage

                  [out] Result of the logical delete.

                  Remarks

                  This method takes a complex object as input. It goes through the hierarchy of the complex object and changes all Deleted action codes to Update. Then, it sets the status of the associated line items to Inactive.

                  Related Information

                  See the topic about workflows in Siebel Order Management Guide.

                    Get Profile Attribute Method

                    This method is one of the Product Manipulation Toolkit Business Service Methods. It returns the value of the specified attribute of the user profile.

                    Arguments

                    Argument Description

                    Profile Attribute Name

                    [in] Name of the user profile attribute to be retrieved.(Required)

                    Profile Attribute Value

                    [out] Value of the profile attribute. This value is NULL if the attribute is not set. (Required)

                    Returns

                    Value of the user profile attribute.

                    Related Information

                    See the topic about workflows in Siebel Order Management Guide, and Set Profile Attribute Method.

                      Get Instance Method

                      This method is one of the Product Manipulation Toolkit Business Service Methods. It gets a complex product instance from the Product Configurator.

                      Arguments

                      Argument Description

                      Object Id

                      [in] Key used to return the preloaded complex asset. The argument Instance Id returned by the Reconfigure Product Instance method is passed here.

                      Instance Id

                      [out] Passed to this method as output from Reconfigure Product Instance, this key is used to return a complex asset that was loaded into the Product Configurator when Reconfigure Product Instance was invoked.

                      SiebelMessage

                      [out] Complex product instance returned by the Configurator runtime session.

                      Returns

                      Complex product instance.

                      Related Information

                      See the topic about workflows in Siebel Order Management Guide, and Reconfigure Product Instance Method.

                        Convert Product Instance Method

                        This method is one of the Product Manipulation Toolkit Business Service Methods. It converts a product instance of one type to another; for example, quote to order.

                        Arguments

                        Argument Description

                        Output Object Type

                        [in] The input product instance to be converted to this type. (Required)

                        Object Id

                        [in] ID of the object to be converted. If Object Id is specified Input, Input Object Type must also be specified. (Optional)

                        Input Object Type

                        [in] Type of the input product instance. (Only required if Object Id is specified)

                        SiebelMessage

                        [in] Product instance to be converted. Not required if Object Id and Input Object Type are specified. (Optional)

                        Generate New Item Integration Id

                        [in] If the line item’s action code is Add (Y or N value), this argument forces the system to generate a new unique ID for the Asset Integration Id field. (Optional)

                        Note: The Integration Id and the Service Id are not the same thing. The Integration Id is the internal unique identifier. The Service Id is a free text field that the user may use for telephone numbers, and so on.

                        Upsert Result

                        [in] Insert and synchronize the resulting product instance back to the database (Y or N value). (Optional)

                        SiebelMessage

                        [out] Product instance to be converted. Not required if the Object Id and Input Object Type are specified.

                        Returns

                        Product type change.

                        Remarks

                        This method uses the mapping of integration component fields as user properties. The name has the following format:

                        Source Int Obj Name.Source Int Comp Name:Dest Int Obj Name.Dest Int Comp Name Map #

                        The user property value format is:

                        [Src FieldName]:[Dest Field Name]
                        
                        Note: Src Field Name must be unique for each group of user property mappings.

                        Related Information

                        See the topic about workflows in Siebel Order Management Guide.

                          Assign New Service IDs Method

                          This method is one of the Product Manipulation Toolkit Business Service Methods. It assigns a service point ID, associated with a specified premise, to each item of the input complex product for which the service type of the service point matches the service type of the product.

                          If a free service point is not available for a product component, a service point is not assigned to it. On the other hand, if multiple service point IDs are available for the same service type, the system will pick one of them randomly.

                          Arguments

                          Argument Description

                          Premise AddressId

                          [in] Row Id of the address to which services are moving. (Required)

                          SiebelMessage

                          [in] Service Point Ids are set for this product instance. (Required)

                          SiebelMessage

                          [out] Product instance with the newly assigned service point IDs. (Required)

                          Returns

                          New service point IDs.

                          User Properties

                          This method uses the following user properties:

                          • Line Item Integration Object Service Account Id Field Name

                          • Line Item Integration Object Service Point Id Field Name

                          • Line Item Integration Object Service Type Field Name

                          • Service Point BC Address Id Field Name

                          • Service Point BC Owner Account Id Field Name

                          • Service Point BC Service Point Id Field Name

                          • Service Point BC Service Type Field Name

                          • Service Point Business Component Name

                          • Service Point Business Object Name

                          Related Information

                          See the topic about workflows in Siebel Order Management Guide.

                            Is Fully Ex Method

                            This method is one of the Product Manipulation Toolkit Business Service Methods. It checks a product instance to determine if an explode operation is required, based upon the value specified by ExplodeOnField. If the field value is greater than one for any component of the product instance, the method returns N. Otherwise, the method returns Y.

                            Arguments

                            Argument Description

                            RootItemId

                            [in] If supplied, only subcomponents of the root item specified by RootItemId are considered for Explode processing. (Optional)

                            ExplodeOnField

                            [in] Field (name) that is checked to determine whether explosion is necessary. (Required)

                            ConditionFieldNames

                            [in] Comma separated list of integration component field names. (Optional)

                            ConditionValues

                            [in] Comma separated list of values. Standard Siebel expressions (such as LookupValue) are supported in each comma separated value. (Optional)

                            SiebelMessage

                            [in] Product instance to be checked for explode processing. (Required)

                            Result

                            [out] Y or N flag indicating whether the input SiebelMessage has been exploded. (Required)

                            Returns

                            Y or N.

                            Remarks

                            Primarily used in the Apply Completed Service Order Line Item to Service Profile workflow, this method double checks to determine if the service order line items created from the Siebel database (earlier in the workflow) have been fully exploded or not. In other words, it determines whether all line items and the subcomponents were previously processed by the Explode method.

                            Related Information

                            See the following methods:

                              Is Module Licensed Method

                              This method is one of the Product Manipulation Toolkit Business Service Methods. It determines whether the specified module is licensed.

                              Arguments

                              Argument Description

                              Module Name

                              [in] Name of the module being checked. (Required)

                              Result

                              [out] Y if the module is licensed; otherwise N.

                              Returns

                              Y (module licensed) or N (module not licensed).

                              Related Information

                              See ViewCart Method.

                                Merge Method

                                This method is one of the Product Manipulation Toolkit Business Service Methods. It merges the components of one integration object (product instance) under the header of another integration object.

                                Note: Before this method is called, Set Product Instance must be called to cache the target product instance.

                                Arguments

                                Argument Description

                                SiebelMessage

                                [in] Source product instance to be merged. (Required)

                                SiebelMessage

                                [out] Merged product instances. (Required)

                                Returns

                                A single product instance containing the merged assets.

                                Remarks

                                This method receives two property sets as input, each containing a complex object with hierarchical assets, quotes, or order items. It copies all the line items from the source complex object to the target (cached) complex object. The target object’s header information (quote or order headers) are retained. The merged complex object is returned in an output argument property set.

                                Related Information

                                See the topic about workflows in Siebel Order Management Guide, and Set Product Instance Method.

                                  Quote To Revenue Method

                                  This method is one of the Product Manipulation Toolkit Business Service Methods. It generates revenue line items for each line item in a quote that matches the criteria specified by the input conditions. The line items are associated with the opportunity from which the quote was created.

                                  Arguments

                                  Argument Description

                                  SiebelMessage

                                  [in] Contains a product instance hierarchy.

                                  RootItemId

                                  [in] Root item ID.

                                  ConditionFieldNames

                                  [in] Names of fields whose value must equal that specified by ConditionValues. In these cases, the quote line item will be converted to a revenue line item. In the SIS OM Update Revenue workflow, the condition fields are action code, price type and extended amount.

                                  ConditionValues

                                  [in] Values that fields must have to satisfy the condition. In the SIS OM Update Revenue workflow, the action code must be Add or Update, price type must be One-Time or Recurring, and extended amount must be non-zero.

                                  ExcludedFieldsUserPropertyTag

                                  [in] User properties tag identifying fields that are not copied from the quote line item to the revenue line item.

                                  Returns

                                  Revenue line items.

                                  Remarks

                                  The following discussions list user properties associated with this method. They also indicate how the method adds revenue and determines: revenue amount, revenue dates, number of revenue items, frequency of revenue line items, annually recurring charges, quarterly recurring charges, monthly recurring charges, weekly recurring charges, and daily recurring charges.

                                  User Properties

                                  This method used the following user properties:

                                  • Quote To Revenue.Quote Item.Due Date Field. Quote Line Item business component field that determines the first date on which revenue will be added. Out of the box, the quote line item is the due date.

                                  • Quote To Revenue.Quote Item.Amount Field. Quote Line Item business component field used as the revenue amount. Out of the box this is the extended amount.

                                  • Quote To Revenue.Quote Item.Item Price Field. Quote Line Item business component field containing the item price.

                                  • Quote To Revenue.Quote Item.Price Type Field. Quote Line Item business component field containing the price type.

                                  • Quote To Revenue.Quote Item.Unit of Measure Field. Quote Line Item business component containing the unit of measure.

                                  • Quote To Revenue.Quote Item.Occurence Field. Quote Line Item business component field containing the number of revenue occurrences.

                                  • Quote To Revenue.Quote Item.Extended Quantity Field. Quote Line Item business component field containing the extended quantity.

                                  • Quote To Revenue.Quote Item.Description Field. Quote Line Item business component field containing the description.

                                  • Quote To Revenue.Quote Item.Product Id Field. Quote Line Item business component field containing the product ID.

                                  • Quote To Revenue.Revenue.Quantity Field. Revenue business component field containing the quantity.

                                  • Quote To Revenue.Revenue.Quotable Field. Revenue business component field indicating whether the revenue is quotable.

                                  • Quote To Revenue.Revenue.Date Field. Revenue business component field containing the revenue date.

                                  • Quote To Revenue.Revenue.Price Field. Revenue business component field containing the product price.

                                  • Quote To Revenue.Revenue.Revenue Field. Revenue business component field containing the revenue.

                                  • Quote To Revenue.Revenue.Description Field. Revenue business component field containing the description.

                                  • Quote To Revenue.Revenue.Product Id Field. Revenue business component field containing the product Id.

                                  Adding Revenue

                                  This method:

                                  • Adds revenue only for quote line items with an Add or Update action code. Quote line items ‘-’, and Deleted action codes are ignored.

                                  • Adds revenue only for quote line items that have an extended amount not equal to zero.

                                  Negative extended amounts are added to revenue.

                                  • Adds revenue only for price types that are one-time and recurring. It is not calculated for usage.

                                  • Adds revenue based on product components (in a quote line item).

                                  Determining Revenue Amount

                                  This method:

                                  • Uses a user property to define the Quote Item business component field that is used for the revenue amount. The default is the Extended Amount field.

                                  • Uses the value of this field as the revenue amount for all periods.

                                  Determining Revenue Dates

                                  This method:

                                  • Uses a user property to define the Quote Item business component field that, in turn, is used to calculate the first revenue date. The default is the Due Date field.

                                  Determining Number of Revenue Items

                                  The forecast number of revenue occurrences for a product is defined in product administration. When a quote line item is created the number of forecast revenue occurrences is copied from the product into the quote line item. There, it can be overridden through the UI or by configuration.

                                  This method:

                                  • Adds revenue for products with one time price types once on the due date of the quote line item, regardless of the number of occurrences defined.

                                  • Adds revenue for products with recurring price types as many times as the number of occurrences.

                                  Determining Frequency of Revenue Line Items

                                  This method:

                                  • Adds revenue as it occurs (weekly, monthly, quarterly or annually) instead of grouping it into monthly totals.

                                  • Adds the first revenue, for any quote line item, on the due date plus one UoM.

                                  The following UoMs that are allowed: Per Year, Per Month, Per Quarter, Per Week, and Per Day.

                                  Determining Annually Recurring Charges

                                  This method:

                                  • Adds revenue on the same day every year, starting on the end date of the first period. For example, if the due date is 7-11-01, the default date of the first billing cycle is 7-11-02 and revenue is added for 7-11-02, 7-11-03 and so on, for as many occurrences as the quote line item specifies.

                                  If the end date of the first period falls on February 29th, the revenue date for nonleap years is February 28th.

                                  Determining Quarterly Recurring Charges

                                  This method:

                                  • Adds revenue on the same day every three months, starting on the date of the first billing cycle, the default value of which is 3 months after the quote line item due date. For example, if the due date is 7-11-01, revenue is added for 10-11-01, 1-11-02, 4-11-02, 7-11-01 and so on, for as many occurrences as product specifies.

                                  If the end date of the first period falls on the 29th, 30th or 31st of a month, the revenue date for months that have fewer days is the last day of the same month.

                                  Determining Monthly Recurring Charges

                                  This method:

                                  • Adds revenue on the same day every month, starting on the date of the first billing cycle which defaults to one month after the quote line item due date. For example, if the due date is 7-11-01, revenue is added for 8-11-01, 9-11-01 and so on, for as many occurrences as the product specifies.

                                  If the due date falls on the 29th, 30th or 31st of a month, the revenue date for months with fewer days is the last day of the same month.

                                  Determining Weekly Recurring Charges

                                  This method:

                                  • Adds revenue every 7 days starting on the date of the first billing cycle which defaults to 7 days after the quote line item due date. For example, if the due date is 7-11-01, revenue is added for 7-18-01, 7-25-01, 8-1-01 and so on, for as many occurrences as the product specifies.

                                  Determining Daily Recurring Charges

                                  The method:

                                  • Adds revenue every day, starting on the date of the first billing cycle which defaults to one day after the quote line item due date. For example, if the due date is 7-11-01, revenue is added for 7-12-01, 7-13-01, 7-14-01 and so on, for as many occurrences as the product specifies.

                                    Reconfigure Product Instance Method

                                    This method is one of the Product Manipulation Toolkit Business Service Methods. It displays, in the Configurator UI, the asset that was passed to the Product Configurator as input.

                                    Note: This method does not return the asset updated by Product Configurator. Instead an event occurs for the primary business component when the Done button is clicked. At that time, you can invoke the Get Instance method to obtain the updated asset from the Product Configurator.

                                    Arguments

                                    Argument Description

                                    Complex Product

                                    [in] This product instance, based on Asset, is used as input to the Configurator.

                                    Row Id

                                    [in] Row Id of the Asset.

                                    Event Name

                                    [in] Name of the event that is triggered when the user clicks the Done button.

                                    Primary Business Component Name

                                    [in] Name of the primary business component of the business object associated with the workflow that calls this method. This business component receives the event specified by Event Name.

                                    Pricing Business object

                                    [in] Name of the business object to be used for pricing.

                                    Price List Id

                                    [in] ID of the price list to be used.

                                    Currency Code

                                    [in] Currency code.

                                    Exchange Date

                                    [in] Date of the exchange.

                                    Instance Id

                                    [out] Returned key. This output can be passed (as input) to the Get Instance method to return a complex asset, loaded into the Product Configurator.

                                    Returns

                                    Product Configurator display of the reconfigured complex asset.

                                    User Properties

                                    This method applies the user properties listed in the following steps.

                                    Note: This view must use the same business object as the workflow that invokes the Reconfigure Product Instance method.
                                    • Asset Integration Object Name:

                                      Name of Integration Object based on Asset business components.

                                    • Complex Product Runtime View Name

                                      Name of view for Product Configurator UI.

                                    Getting an Updated Asset

                                    This method does not return the Asset updated by the Product Configurator. Instead, an event occurs for the primary business components, passed as parameters to this method, when the Product Configurator’s Done button is clicked. At that time, the system can call PMT business service method Get Complex Asset to obtain the updated Asset from the Product Configurator.

                                    Related Information

                                    See the topic about workflows in Siebel Order Management Guide, and Get Instance Method.

                                      Reset Method

                                      This method is one of the Product Manipulation Toolkit Business Service Methods. It clears out all cached product instances.

                                      Arguments

                                      None

                                      Returns

                                      There are no cached products.

                                      Remarks

                                      This method has no input or output arguments.

                                      Related Information

                                      See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                        Retrieve Next Object From List Method

                                        This method is one of the Product Manipulation Toolkit Business Service Methods. Given a hierarchical integration object with multiple root components at the second level (for example, Asset), this method returns an integration object that contains the header, one root component, its children and their attributes.

                                        Arguments

                                        Argument Description

                                        SiebelMessage

                                        [in] Integration object to retrieve the root component from. (Required)

                                        Integration Id

                                        [out] Integration Id of the retrieved root integration component. (Optional)

                                        Object Id

                                        [out] Row Id of the retrieved root integration component. (Optional)

                                        Remaining Number of Objects

                                        [out] Number of root integration components left in the input integration object. (Required)

                                        SiebelMessage

                                        [out] New instance of the integration object containing the header and first root component (including its children and attributes) of the object retrieved. (Required)

                                        Remarks

                                        This method can be called multiple times with the same input argument, each time it returns the next root component. And, it is used in conjunction with Update Multi Object List to form a loop control mechanism.

                                        Related Information

                                        See the topic about workflows in Siebel Order Management Guide, and Update Multi Object List Method.

                                          Set Action Method

                                          This method is one of the Product Manipulation Toolkit Business Service Methods. It sets the Action Code field of all items in the hierarchy of a given product instance to the specified value.

                                          Arguments

                                          Argument Description

                                          Action Code

                                          [in] Set the action codes of all line items in the hierarchy SiebelMessage to this value. (Required)

                                          SiebelMessage

                                          [in] Product instance whose action code will be updated. (Required)

                                          SiebelMessage

                                          [out] Updated product instance.

                                          Returns

                                          Newly set action codes.

                                          Remarks

                                          This method takes a property set containing a complex item as input along with an action code parameter. It goes through the complex item and sets the action code to the value of the action code argument.

                                          Related Information

                                          See the following methods:

                                            Set Exception Error Message Method

                                            This method is one of the Product Manipulation Toolkit Business Service Methods. It is called from the workflow to get the localized error message text that is associated with the input error code.

                                            Arguments

                                            Argument Description

                                            Error Code

                                            [in] Error code defined in the repository. (Required)

                                            Error Message

                                            [out] Localized error message text. (Required)

                                            Dependencies

                                            Strings corresponding to the supplied Error Code must be defined in the Siebel Database. The seven predefined error messages are defined in the Siebel repository with the message key prefixed with IDS_SISOM_ERR_MOVEWF.

                                            Related Information

                                            See the topic about workflows in Siebel Order Management Guide.

                                              Set Field Value Method

                                              It is used optionally to configure conditions so that updates are only run on the subset of items in the hierarchy that satisfy the conditions.

                                              Arguments

                                              Argument Description

                                              Field Name

                                              [in] Name of the field to be changed. (Required)

                                              SiebelMessage

                                              [in] Product instance. (Required)

                                              Value

                                              [in] Literal. (Required)

                                              ConditionFieldNames

                                              [in] Comma separated list of integration component field names. (Optional)

                                              ConditionValues

                                              [in] Comma separated list of values. Standard Siebel expressions (such as LookupValue) are supported. (Optional)

                                              Generate new Id

                                              [In] Y or N flag indicating whether to generate a new Row Id for each item.

                                              SiebelMessage

                                              [out] Updated product instance. (Required)

                                              Returns

                                              New field values.

                                              Remarks

                                              As input, this method receives one property set containing a complex object and two strings representing a field name and field value. The method goes through the line items hierarchy of the complex object wrapped by the property set, and for each item that satisfies the optional conditions, locates the named field of each line item, and sets it to the value provided.

                                              Related Information

                                              See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                Set Multiple Field Values Method

                                                This method is one of the Product Manipulation Toolkit Business Service Methods.

                                                It sets specified fields to the given values for all items in the product instance.

                                                Arguments

                                                Argument Description

                                                Field Names

                                                [in] Comma separated list of names of fields whose values are to be set. (Required)

                                                Values

                                                [in] Comma separated list of values to which the fields are set. (Required)

                                                SiebelMessage

                                                [in] Product instance hierarchy whose field values are to be set. (Required)

                                                ConditionFieldNames

                                                [in] Comma separated list of integration component field names. (Optional)

                                                ConditionValues

                                                [in] Comma separated list of values. Standard Siebel expressions (such as LookupValue) are supported. (Optional)

                                                SiebelMessage

                                                [out] Updated product instance. (Required)

                                                Returns

                                                Product instance with updated field values.

                                                Related Information

                                                See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                  Set Output Header Method

                                                  This method is one of the Product Manipulation Toolkit Business Service Methods. It caches the output header that will be used by the Delta method.

                                                  Arguments

                                                  Argument Description

                                                  SiebelMessage

                                                  [in] Product instance containing the header to be used for the Delta method output.

                                                  Returns

                                                  Cached output header.

                                                  Related Information

                                                  See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                    Set Product Instance Method

                                                    This method is one of the Product Manipulation Toolkit Business Service Methods.

                                                    It caches a product instance that will be used as an input arguments for Apply and Delta methods.

                                                    Arguments

                                                    Argument Description

                                                    SiebelMessage

                                                    [in] Product instance being saved. (Required)

                                                    Returns

                                                    Cached product instance.

                                                    Related Information

                                                    See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                      Set Profile Attribute Method

                                                      This method is one of the Product Manipulation Toolkit Business Service Methods.

                                                      It assigns values to attributes in a user profile.

                                                      Arguments

                                                      Input Argument Description

                                                      Profile Attribute Name

                                                      [in] Name of the attribute being set. (Required)

                                                      Profile Attribute Value

                                                      [in] Value to which the attribute will be set. A NULL value clears the attribute. (Required)

                                                      Returns

                                                      New attribute values.

                                                      Related Information

                                                      See Get Profile Attribute Method.

                                                        Synchronize Method

                                                        This method is one of the Product Manipulation Toolkit Business Service Methods.

                                                        It synchronizes product instance to the database. Optionally, this method also reprices the instance after it is synchronized by calling the Pricing Manager Reprice-RepriceAll. This method calls the EAI Siebel Adapter Upsert method to synchronize.

                                                        Arguments

                                                        Argument Description

                                                        InMemoryPricing

                                                        [in] With this argument set to TRUE, only the instance of the CP (root and subcomponents) in memory is repriced. If it set to FALSE, the CalculatePriceAll method is called, which reprices the entire document. If there is a pricing relationship between the line items, such as a total discount, then you need to set it to FALSE in order to call CalculatePriceAll. Note that this parameter has a severe performance impact if it set to FALSE for large quotes or orders with many line items. Default is FALSE. (Boolean, Optional)

                                                        Message Id

                                                        [in] Passed through to the EAI Siebel Adapter Upsert method. (Optional)

                                                        PrimaryRowId

                                                        [in] Row Id of the business component to be synchronized. (Required)

                                                        Reprice

                                                        [in] Y or N flag indicating whether to reprice or not. (Optional)

                                                        RootItemId

                                                        [in] If this input is given, only reprice the root line item with a Siebel Object Row Id that corresponds to this RootItemId and any new line items that were created from it after an Explode operation. (Optional)

                                                        SiebelMessage

                                                        [in] Product instance to be synchronized.

                                                        StatusObject

                                                        [in] Passed through to EAI Siebel Adapter Upsert method. (Optional)

                                                        SiebelMessage

                                                        [out] Synchronized product instance.

                                                        Returns

                                                        Synchronized product instance.

                                                        Remarks

                                                        This method is used when the object to be synchronized has modified quantity or price fields, requiring a repricing. It is primarily used after Explode.

                                                        Related Information

                                                        See the topic about workflows in Siebel Order Management Guide, and Explode Method.

                                                          Update Multi Object List Method

                                                          This method is one of the Product Manipulation Toolkit Business Service Methods.

                                                          After a root integration component and its children are stripped from the integration object, this method (in conjunction with Retrieve Next Object From List) returns the resulting integration object.

                                                          Arguments

                                                          Argument Description

                                                          SiebelMessage

                                                          [out] Integration object left behind after the first root component is retrieved. (Required)

                                                          Returns

                                                          New integration object.

                                                          Remarks

                                                          This method is used in conjunction with Retrieve Next Object From List to form a loop control mechanism.

                                                          Related Information

                                                          See the topic about workflows in Siebel Order Management Guide, and Retrieve Next Object From List Method.

                                                            Update Order Line Item Completed Flag Method

                                                            This method is one of the Product Manipulation Toolkit Business Service Methods. It sets the Order Item Processed Flag of the root order line item to Y, if its status and the status of all its child items is one of the values passed in Complete Statuses, or if it is '-'.

                                                            Note: This method only works with product instance of type Order.

                                                            Arguments

                                                            Argument Description

                                                            SiebelMessage

                                                            [in] Product instance being updated. (Required)

                                                            Synchronize

                                                            [in] Defaults to N. (Optional)

                                                            Complete Statuses

                                                            [in] The default values are Complete or Rejected. To set the Processed Flag for other status values, add those Status values to this input argument.

                                                            Update Order Items

                                                            [out] Comma separated list of row IDs for line items that were updated by this method.

                                                            Returns

                                                            Order Item Processed Flag set to Y or N.

                                                            Related Information

                                                            See the topic about workflows in Siebel Order Management Guide.

                                                              Get Cfg Button Click Information Method

                                                              This method is one of the Product Manipulation Toolkit Business Service Methods. It is used to identify whether a user clicks on the Cancel or Done button from Complex Product View.

                                                              Arguments

                                                              Input Argument Description

                                                              Business Object Name

                                                              (Required) Name of business that Business Component belongs to.

                                                              Result

                                                              [Out] Either Cancel or Done depending on the button clicked by the user. The actual string value returned is specified by the Cancel Button Return and Done Button Return user properties respectively. (Required).

                                                              Related Information

                                                              See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                                Refresh Business Component Method

                                                                This method is one of the Product Manipulation Toolkit Business Service Methods. It reexecutes all instance of the specific buscomp to get data from the database, and also queries all records again.

                                                                Arguments

                                                                Argument Description

                                                                Business Object Name

                                                                [in] Name of business the buscomp belongs to.

                                                                Business Component Name

                                                                [in] Name of the buscomp you want to refresh with data from database.

                                                                Refresh Result

                                                                [out] Either Fail, NoRefresh, or Succeed. Fail means the method could not refresh because of insufficient input argument. NoRefresh means the method did not find any instance of the specified buscomp. Succeed means it refreshed at lease one instance of the specified buscomp. (Optional)

                                                                Related Information

                                                                See the topic about workflows in Siebel Order Management Guide.

                                                                  Invoke BC Method

                                                                  This method is one of the Product Manipulation Toolkit Business Service Methods. It is a generic method that allows one to invoke a Business Component-based method from Workflow. A Business Service method is invoked from a workflow by default. This method acts as a bridge to allow one to pass in the Business Component name and the method name, along with the parameters and return value required from Workflow to the Business Component specified.

                                                                  Arguments

                                                                  Argument Description

                                                                  BC Name

                                                                  [in] A string to specify the name of Business Component on which you want to invoke its method. (Required)

                                                                  Method Name

                                                                  [in] A string to specify the name of the method in the specified Business Component that you want to invoke. (Required)

                                                                  Param 0

                                                                  [in] A string to pass in the first argument to the method. (Optional)

                                                                  Param 1

                                                                  [in] A string to pass in the second argument to the method. (Optional)

                                                                  Param 2

                                                                  [in] A string to pass in the third argument to the method. (Optional)

                                                                  Param 3

                                                                  [in] A string to pass in the fourth argument to the method. (Optional)

                                                                  Return Property Name

                                                                  [out] A string to pass out the output of the method. (Optional)

                                                                    Iterate Process For Selected Rows Method

                                                                    This method is one of the Product Manipulation Toolkit Business Service Methods. It loops through all the selected rows in the active business component and invokes the specified workflow for each row. Input arguments to the workflow come from the fixed inputs plus the values of specified field names are transformed into workflow argument names based upon the specified mappings.

                                                                    Arguments

                                                                    Input Argument Description

                                                                    All Asset List

                                                                    [in] A property set containing a list of Row IDs.

                                                                    Fields

                                                                    [In] Comma separated list of field names in the active business component. (Required)

                                                                    Fixed Inputs

                                                                    [In] Comma separated list of name-value pairs (Required). For example:

                                                                    'Active Document Id='+[&Active Document Id] '+'Price List 
                                                                    Id='+[&Price List Id]
                                                                    

                                                                    List Type

                                                                    [in] String

                                                                    Mappings

                                                                    [In] Comma separated list of field mappings of the form:

                                                                    [Bus Comp Field Name]=[Workflow Input Argument]
                                                                    

                                                                    Process

                                                                    [In] Name of the workflow process to be initiated for each row of the active business component. (Required)

                                                                    Delete Connection

                                                                    [In] Y or N flag indicating whether to cascade the process to the connections associated with selected nodes in a network scenario. (Optional)

                                                                    Related Information

                                                                    See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                                      Get Selected Row Count Method

                                                                      This method is one of the Product Manipulation Toolkit Business Service Methods. It returns the number of rows selected in the active business component, that is, the business component that initiated the workflow.

                                                                      Arguments

                                                                      Argument Description

                                                                      Row Count

                                                                      [Out] The number of selected rows. (Required)

                                                                      Related Information

                                                                      See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                                        Get First Selected Row Values Method

                                                                        This method is one of the Product Manipulation Toolkit Business Service Methods. It queries the active business component for a given set of field values for the first selected row. The fields to be retrieved are specified by the Fields argument. If the Mapping input argument is specified the values of the fields in the query are remapped to different field names in the output property set.

                                                                        Arguments

                                                                        Argument Description

                                                                        Fields

                                                                        [In] Comma separated list of field names in the active business component for which values are to be retrieved.

                                                                        Mappings

                                                                        [In] Comma separated list of mappings of the form:

                                                                        [Bus Comp Field Name]=[Property Set Field Name]
                                                                        

                                                                        SiebelMessage

                                                                        [Out] Property set containing the requested values.

                                                                        Related Information

                                                                        See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                                          Ungroup Method

                                                                          This method is one of the Product Manipulation Toolkit Business Service Methods. It is a business component-based version of Explode. It creates multiple instances of a product. The number of instances is determined by the value of the field specified by the Quantity Field argument. For each new instance, the value of the Quantity Field is set to 1. An existing instance is considered for ungrouping only if it meets the conditions specified by the Condition Field Names and Condition Values arguments. The updated business component instances are written to the database.

                                                                          Arguments

                                                                          Argument Description

                                                                          Line Item BC Name

                                                                          [In] Name of the line item business component to be ungrouped. (Required)

                                                                          Extended Attribute BC Name

                                                                          [In] Name of the XA business component associated with the line item business component. (Required)

                                                                          Quantity Field

                                                                          [In] Name of field in the line item business component that is used to determine the number of instances to be created. (Required)

                                                                          Header Id

                                                                          [In] Row Id of the header business component instance. (Required)

                                                                          Header Id Field

                                                                          [In] Name of the field in the header business component that stores the Row Id. (Required)

                                                                          Root Item Id

                                                                          [In] Id of the root item in the line item business component. (Required)

                                                                          Root Item Id Field

                                                                          [In] Name of the field in the line item business component that stores the Root Item Id. (Required)

                                                                          Parent Item Id Field

                                                                          [In] Name of the field in the line item business component that stores the Parent Item Id. (Required)

                                                                          Line Number Field

                                                                          [In] Name of the field in the line item business component that stores the Line Number. (Required)

                                                                          XA Header Id Field

                                                                          [In] Name of the field in the XA business component that stores the Header Id. (Required)

                                                                          XA Parent Root Id Field

                                                                          [In] Name of the field in the XA business component that stores the Parent Root Id. (Required)

                                                                          XA Line Item Id Field

                                                                          [In] Name of the field in the XA business component that stores the Line Item Id. (Required)

                                                                          Condition Field Names

                                                                          [In] Comma separated list of field names. An existing instance is ungrouped only if the conditions specified by Condition Field Names and Condition Values are met. (Optional)

                                                                          Condition Values

                                                                          [In] Comma separated list of condition values. Standard Siebel expressions (such as LookupValue) are supported. An existing instance is ungrouped only if the conditions specified by Condition Field Names and Condition Values are met. (Optional)

                                                                          Integer Fields to Split

                                                                          [In] Comma separated list of fields of type Integer for which the value is to split between the multiple instances. For example, if an instance has a field value of 12 and a quantity of 4, the integer field will have a value of 3 in each of the multiple instances. (Optional)

                                                                          Number Fields to Split

                                                                          [In] Comma separated list of fields of type Number for which the value is to split between the multiple instances. (Optional)

                                                                          Related Information

                                                                          See the topic about workflows in Siebel Order Management Guide, and the following methods:

                                                                            Order Entry Toolkit Business Service Methods

                                                                            The Order Entry Toolkit (OET) business service is a set of methods that allow Siebel order management processes to be implemented in eSales workflows. The business service includes methods to manipulate the user's account information, validate payment information, and navigate to eSales views. These methods summarized in the following table.

                                                                            Method Comment

                                                                            CreateAccount Method

                                                                            Creates a new account, associates it with the User and associates specified addresses to that account. The method also sets a specified field in the Quote BC, if it is required.

                                                                            CreateOrder Method

                                                                            Converts a quote to an order.

                                                                            GetBCCount Method

                                                                            Gets the number of rows and first row ID in a BC for the input Search Spec. If Parent and Child BC names are provided, the search spec is applied to the Parent BC. If no Parent BC is provided, the Search Spec in applied to the one input BC.

                                                                            GotoView Method

                                                                            Navigates to the view specified in the input argument.

                                                                            SelectPrimary Method

                                                                            Selects a record in the picklist into a field.

                                                                            SetLIAccounts Method

                                                                            Rolls down the Service and Billing Account field values from the Quote or Order Header to the line items, if the value is NULL.

                                                                            SubmitOrder Method

                                                                            Submits the Pending Order by changing the Order Header and Line Items status to Open. Optionally, sets the Order ID to a defined (user property) Profile Attribute.

                                                                            ValidatePayment Method

                                                                            Validates the payment method, verifying that only one payment method at a time is specified for a quote.

                                                                            ValidateQuote Method

                                                                            Sets the Invalid Flag for all line items that have a base price of 0 except those that have an Action Code set to Delete.

                                                                            ViewCart Method

                                                                            Navigates to the CME Shopping Cart if licensed; otherwise, to the standard Shopping Cart.

                                                                              CreateAccount Method

                                                                              This method is one of the Order Entry Toolkit Business Service Methods. It creates a new account, associates it to the user and associates specified addresses to that account. The method also sets a specified field in the Quote BC, if it is required.

                                                                              Arguments

                                                                              Argument Description

                                                                              Account Name

                                                                              [in] Name of the new account. (Required)

                                                                              Account Type

                                                                              [in] Type of new account. (Required)

                                                                              Address Id 1

                                                                              [in] ID of an existing address associated with the new account. (Optional)

                                                                              Address Id 2

                                                                              [in] ID of an existing address associated with the new account. (Optional)

                                                                              You can add more Address IDs by incrementing the number.

                                                                              Quote Account Field

                                                                              [in] Quote business component field to be populated with the Account Id. (Optional)

                                                                              New Account Id

                                                                              [out] Row ID of the newly created account.

                                                                              Returns

                                                                              Row ID of new account.

                                                                              User Properties

                                                                              This method uses the following user properties:

                                                                              • CreateAccount: Account BC Name

                                                                                Name of the business component that is used to create the new account. The default is Account.

                                                                              • CreateAccount: Account and Address Intersection BC Name

                                                                                Name of the business component based on the Account-Address Intersection table that is used to associate addresses to the new account. The default is Com Account Address Intersection.

                                                                              • CreateAccount: Intersection Account Field Name

                                                                                Account foreign key field in the intersection business component. The default is Account Id.

                                                                              • CreateAccount: Intersection Address Field Name

                                                                                Address foreign key in the intersection business component. The default is Address Id.

                                                                              This method invokes AssociateAccountToUser method in the CUT Account Administration Toolkit Service business service.

                                                                              Related Information

                                                                              See the following methods:

                                                                                CreateOrder Method

                                                                                This method is one of the Order Entry Toolkit Business Service Methods. It converts a quote to an order.

                                                                                Arguments

                                                                                Argument Description

                                                                                Quote Id

                                                                                [in] Quote identifier. (Required)

                                                                                Return Error Code

                                                                                [in] Direction to return an error code. (Optional)

                                                                                Order Id

                                                                                [out] Order identifier. (Optional)

                                                                                Error Message

                                                                                [out] Error message. (Optional)

                                                                                Returns

                                                                                A new Order.

                                                                                Dependencies

                                                                                This method first invokes the Shopping Service’s CreateOrder Method, and then it invokes SubmitOrder.

                                                                                  GetBCCount Method

                                                                                  This method is one of the Order Entry Toolkit Business Service Methods. It gets the number of rows and first row ID in a BC for the input Search Spec. If Parent and Child BC names are provided, the search spec is applied to the Parent BC. If no Parent BC is provided, the Search Spec in applied to the one input BC.

                                                                                  Arguments

                                                                                  Argument Description

                                                                                  BC Name

                                                                                  [in] Name of the business component whose rows will be counted. (Required)

                                                                                  BC SearchSpec

                                                                                  [in] Free text search specification. (Optional)

                                                                                  BusObj Name

                                                                                  [in] The business components belongs to this business object. If a BusObj Name is not specified, the business service business object is used. (Optional)

                                                                                  Parent BC Name

                                                                                  [in] Name of the parent business component to which the search criteria is applied. (Optional)

                                                                                  Field Name

                                                                                  [in] Field name to be used as additional input for the search specification. (Optional)

                                                                                  Field Value

                                                                                  [in] Value to be used as additional input for the search specification. (Optional)

                                                                                  Count

                                                                                  [out] Number of rows. (Optional)

                                                                                  First RowId

                                                                                  [out] First rowId of the rows. (Optional)

                                                                                  Returns

                                                                                  Number of rows and first row Id.

                                                                                  Related Information

                                                                                  See the topic about workflows in Siebel Order Management Guide, and CreateAccount Method.

                                                                                    GotoView Method

                                                                                    This method is one of the Order Entry Toolkit Business Service Methods. It navigates to the View specified in the input argument.

                                                                                    Arguments

                                                                                    Argument Description

                                                                                    View

                                                                                    [in] Name of the view to navigate to. (Required)

                                                                                    KeepContext

                                                                                    [in] Set this to TRUE to maintain the context. The destination view must be based on the same business object as to originating view to keep the context.

                                                                                      SelectPrimary Method

                                                                                      This method is one of the Order Entry Toolkit Business Service Methods. It selects a record in the picklist into a field.

                                                                                      Arguments

                                                                                      Argument Description

                                                                                      PickList Field

                                                                                      [in] Name of the picklist field. (Required)

                                                                                      Primary Row Id

                                                                                      [in] Primary rowId (Optional)

                                                                                      Primary ID Field

                                                                                      [in] Name of the field that stores the primary Id. Not required if Primary Row Id is specified. (Optional)

                                                                                      Business Component Name

                                                                                      [in] Name of the business component to which the field belongs. (Optional)

                                                                                      IntersectionTable Field

                                                                                      [in] Name of the field in the intersection table that stores the primary Id. (Optional)

                                                                                      Execute BusComp at Finish

                                                                                      [in] TRUE if Base BC is executed after this operation; otherwise, FALSE. The default is TRUE (case sensitive). (Optional)

                                                                                      ReturnVal

                                                                                      [out] Success or Fail.

                                                                                      Returns

                                                                                      Success or Fail.

                                                                                      Related Information

                                                                                      See the topic about workflows in Siebel Order Management Guide.

                                                                                        SetLIAccounts Method

                                                                                        This method is one of the Order Entry Toolkit Business Service Methods. It rolls down the Service and Billing Account field values from the Quote or Order Header to the line items, if the value is NULL.

                                                                                        Arguments

                                                                                        Input Argument Description

                                                                                        Parent BC Name

                                                                                        [in] Parent BC name. (Required)

                                                                                        Parent Row Id

                                                                                        [in] Parent row Id. (Required)

                                                                                        Line Item BC Name

                                                                                        [in] Line item BC name. (Required)

                                                                                        Returns

                                                                                        New line item values.

                                                                                        Related Information

                                                                                        See the topic about workflows in Siebel Order Management Guide, and GetBCCount Method.

                                                                                          SubmitOrder Method

                                                                                          This method is one of the Order Entry Toolkit Business Service Methods. It submits the Pending Order by changing the Order Header and Line Items status to Open. Optionally, it sets the Order Id to a defined (user property) Profile Attribute.

                                                                                          Arguments

                                                                                          Argument Description

                                                                                          Order Id

                                                                                          [in] Order identifier. (Required)

                                                                                          Parent Fieldmap LHS

                                                                                          [in] LHS value of the field map used by user properties for field names in the Parent business component. (Optional)

                                                                                          Parent Fieldmap RHS

                                                                                          [in] RHS value of the field map used by user properties for field values in the Parent business component. (Optional)

                                                                                          Line Item Fieldmap LHS

                                                                                          [in] LHS value of the field map uses by user properties for field names in the Line Item business component. (Optional)

                                                                                          Line Item Fieldmap RHS

                                                                                          [in] RHS value of the field map uses by user properties for field names in the Line Item business component. (Optional)

                                                                                          Return Error Code

                                                                                          [in] Direction to return an error code. (Optional)

                                                                                          Error Message

                                                                                          [out] Error message. (Optional)

                                                                                          User Properties

                                                                                          The following user properties are associated with this method:

                                                                                          • Order Field|Value FieldMap X—Field map value. See the next user property definition.

                                                                                          • Order Item Field|Value FieldMap X—Field map value.

                                                                                          Replace X with a numbers starting from 1 and increments of 1. The last FieldMap must have a value of End.

                                                                                          • SubmitOrder: Order Header Buscomp—Default = Order Entry - Order.

                                                                                          • SubmitOrder: Line Item Buscomp—Default = Order Entry - Line Items.

                                                                                          • SubmitOrder: Line Item Set Field Condition. Default is Status=FS_ORDER_STATUS Pending.

                                                                                            ValidatePayment Method

                                                                                            This method is one of the Order Entry Toolkit Business Service Methods. It validates the payment method, verifying that only one payment method at a time is specified for a quote.

                                                                                            Arguments

                                                                                            Argument Description

                                                                                            Bill To Account

                                                                                            [in] The account whose payment is being validated. (Required)

                                                                                            Credit Card Number

                                                                                            [in] Credit card number associated with the account. (Required)

                                                                                            Credit Card Type

                                                                                            [in] Type of credit card associated with the account. (Required)

                                                                                            Expiration Month

                                                                                            [in] Expiration month of the credit card. (Required)

                                                                                            Expiration Year

                                                                                            [in] Expiration year of the credit card. (Required)

                                                                                            PO Number

                                                                                            [in] PO number for the account. (Optional)

                                                                                            Return Error Code

                                                                                            [in] Direction to return an error code. (Optional)

                                                                                            Error Message

                                                                                            [out] Error message. (Required)

                                                                                            Returns

                                                                                            Error messages.

                                                                                            Related Information

                                                                                            See the topic about workflows in Siebel Order Management Guide, and CreateAccount Method.

                                                                                              ValidateQuote Method

                                                                                              This method is one of the Order Entry Toolkit Business Service Methods. It sets the Invalid Flag for all line items that have a base price of 0 except those that have an Action Code set to Delete.

                                                                                              Arguments

                                                                                              Argument Description

                                                                                              Quote Id

                                                                                              [in] Quote identifier. (Required)

                                                                                              Return Error Code

                                                                                              [in] Direction to return an error code. (Optional)

                                                                                              Invalid

                                                                                              [out] Indicates an invalid quote. (Optional)

                                                                                              Error Message

                                                                                              [out] Error message. (Optional)

                                                                                              ReturnVal

                                                                                              [out] Indicates that the quote is valid. (Optional)

                                                                                              Dependency

                                                                                              Invokes the Shopping Service’s ValidateQuote method.

                                                                                                ViewCart Method

                                                                                                This method is one of the Order Entry Toolkit Business Service Methods. It navigates to the CME Shopping Cart if licensed; otherwise, to the standard Shopping Cart.

                                                                                                Arguments

                                                                                                No input or output arguments.

                                                                                                Remarks

                                                                                                The following user properties may be specified for the Shopping Service:

                                                                                                • Module Name

                                                                                                Licensed Module Name. The default is CME eSales.

                                                                                                • Default Shopping Cart View

                                                                                                Name of the view to display if a module is not specified or if the module is specified but not licensed. The default is Current Quote View (eSales).

                                                                                                • Licensed Shopping Cart View

                                                                                                Name of the view to display if the module identified by module name is licensed. The default is CUT Current Quote View (e Sales).

                                                                                                Related Information

                                                                                                See the topic about workflows in Siebel Order Management Guide, and ValidatePayment Method.

                                                                                                  Account Administration Toolkit Business Service Methods

                                                                                                  The Account Administration Toolkit (AAT) business service is a set of methods that are used to manipulate accounts for eSales workflows.

                                                                                                  These methods are summarized in the following table.

                                                                                                  Method Comment

                                                                                                  PickAccount Method

                                                                                                  Sets an Account to current for a user session and sets its price list as the default price list.

                                                                                                  SetPrimary Method

                                                                                                  Picks a record from a picklist and puts it into the set of fields specified in the picklist field’s pickmap.

                                                                                                  AssociateAccountToUser Method

                                                                                                  Associates an Account with a User.

                                                                                                  EstablishMtoM Method

                                                                                                  Establishes an Account to Contact M:M relationship.

                                                                                                    PickAccount Method

                                                                                                    This method is one of the Account Administration Toolkit Business Service Methods. It sets an account to current status for a user session. It also sets the account’s price list as the default price list.

                                                                                                    Arguments

                                                                                                    Argument Description

                                                                                                    Account Id

                                                                                                    [in] Row Id of the Account that is set to current status. (Optional)

                                                                                                    Account Name

                                                                                                    [in] Name of the account. (Optional)

                                                                                                    Master Account Id

                                                                                                    [in] Row Id of the ultimate parent of the account. (Optional)

                                                                                                    BusComp Name

                                                                                                    [in] Name of the account business component. (Optional)

                                                                                                    User Properties

                                                                                                    • SelectCurrent:Login BO/BS—Default = CUT Account Login|CUT Account Login

                                                                                                    • SelectCurrent:BusComp Name to Refresh—Default = Account

                                                                                                      SetPrimary Method

                                                                                                      This method is one of the Account Administration Toolkit Business Service Methods. It picks a record from a picklist and puts it into the set of fields specified in the picklist field’s pickmap.

                                                                                                      Arguments

                                                                                                      Argument Description

                                                                                                      BusComp Name

                                                                                                      [in] Name of the business component into which the picklist record will be picked. (Required)

                                                                                                      PickList Field

                                                                                                      [in] Field name in the business component that has the picklist defined. (Required)

                                                                                                      Primary Id

                                                                                                      [in] Row Id of the Picklist record that is picked. (Required)

                                                                                                      Row Id

                                                                                                      [in] Row Id of the business component into which the picklist record is picked. (Required)

                                                                                                      User Properties

                                                                                                      • SelectPrimary: Source Buscomp—Default = User Profile (eApps)

                                                                                                      • SelectPrimary: Source Picklist Field Name—Default =Primary Account Name

                                                                                                        AssociateAccountToUser Method

                                                                                                        This method is one of the Account Administration Toolkit Business Service Methods. It establishes an Account to Contract M:M relationship.

                                                                                                        Arguments

                                                                                                        Argument Description

                                                                                                        Account Id

                                                                                                        [in] Account identifier. (Required)

                                                                                                        Contact Id

                                                                                                        [in] Contact identifier. (Required)

                                                                                                        BusComp Name

                                                                                                        [in] Name of the business component from which this method is to be invoked. (Optional)

                                                                                                        BusComp ToBe Refreshed

                                                                                                        [in] Name of the business component that is refreshed after the operation in order to show updated data. (Optional)

                                                                                                        User Properties

                                                                                                        • AssociateAccountToUser: Account and Contact Intersection BC—Default = Account Contact.

                                                                                                        • AssociateAccountToUser: Default BC—Default = Account

                                                                                                        • AssociateAccountToUser: Default BD to Re-Execute—Default = Account Id

                                                                                                        • AssociateAccountToUser: Intersection BC Contact Field—Default = Contact Id

                                                                                                        • AssociateAccountToUser: Intersection BC Date Field—Default =Start Date

                                                                                                        • AssociateAccountToUser: Primary Contact Id Field—Default = Primary Contact Id

                                                                                                          EstablishMtoM Method

                                                                                                          This method is one of the Account Administration Toolkit Business Service Methods. It establishes an M:M relationship between two entities.

                                                                                                          Arguments

                                                                                                          Argument Description

                                                                                                          MtoMlntXBCName

                                                                                                          [in] Intersection business component name. (Required)

                                                                                                          MtoMlntXDestFldName

                                                                                                          [in] Intersection business component destination field value. (Required)

                                                                                                          MtoMlntXDestFldValue

                                                                                                          [in] Intersection business component destination field value. (Required)

                                                                                                          MtoMlntXSrcFldName

                                                                                                          [in] Intersection business component source field name. (Required)

                                                                                                          MtoMlntXSrcFldValue

                                                                                                          [in] Intersection business component source field value. (Required)

                                                                                                            Invoke BC Method

                                                                                                            This method is one of the Account Administration Toolkit Business Service Methods. It is a generic method that allows one to invoke a Business Component-based method from Workflow. A Business Service method is invoked from a workflow by default. This method acts as a bridge to allow one to pass in the Business Component name and the method name, along with the parameters and return value required from Workflow to the Business Component specified.

                                                                                                            Arguments

                                                                                                            Argument Description

                                                                                                            BC Name

                                                                                                            [in] A string to specify the name of Business Component on which you want to invoke its method. (Required)

                                                                                                            Method Name

                                                                                                            [in] A string to specify the name of the method in the specified Business Component that you want to invoke. (Required)

                                                                                                            Param 0

                                                                                                            [in] A string to pass in the first argument to the method (Optional)

                                                                                                            Param 1

                                                                                                            [in] A string to pass in the second argument to the method (Optional)

                                                                                                            Param 2

                                                                                                            [in] A string to pass in the third argument to the method (Optional)

                                                                                                            Param 3

                                                                                                            [in] A string to pass in the fourth argument to the method (Optional)

                                                                                                            Return Property Name

                                                                                                            [out] A string to pass out the output of the method (Optional)

                                                                                                            Note: Preconfigured, you can find the usage of this method in the SIS OM Quote to Order Workflow

                                                                                                              Complex Product Auto Match Business Service Method

                                                                                                              The Complex Product AutoMatch Business Service includes one method that is used to match components in a quote, order, or asset with components in the current version of the product model, the Auto Match method.

                                                                                                                Auto Match

                                                                                                                Auto Match compares the input product instance to the customizable product definition. For each product or class that cannot be located in the definition of the relationship specified by the product instance, Auto Match searches for that product or class in another relationship under the same parent in the product definition hierarchy. If the product or class exists in one or more relationships, the product instance is updated so that the product or class is associated with the first of those relationships. If the product or class cannot be found in any relationship in the customizable product definition, the product or class is removed from the product instance. The details of each change made by Auto Match are added to the AutoMatchReport and returned as the output of the method with the modified product instance.

                                                                                                                Arguments

                                                                                                                Argument Description

                                                                                                                SiebelMessage

                                                                                                                [in] Product instance to be transformed by Auto Match.

                                                                                                                AutoMatchReport

                                                                                                                [in] Product instance that has been transformed by Auto Match.

                                                                                                                Examples

                                                                                                                Review the following Auto match method examples.

                                                                                                                Service Profile Upgraded from SCE 6.x

                                                                                                                The following example shows how this method is used when a service profile record is upgraded.

                                                                                                                Note: In the following examples, a port is an instance of a relationship.
                                                                                                                1. The following diagram shows a service profile record that has been upgraded from SCE 6.x:

                                                                                                                  In this image, Family Wireless Bundle has Wireless Service, Wireless Service, and Installation. Wireless Service has Nokia 6100. Wireless Service has Nokia 6800, Call Forwarding, and Installation.
                                                                                                                2. The customizable product definition was reimplemented as shown in the following diagram (rounded boxes represent a class).


                                                                                                                  In this image, Family Wireless Bundle has Wireless Service and Installation. Wireless Service has CDMA Cell Phone, Calling Feature, and Installation.
                                                                                                                3. Auto match assigns the following port IDs without error, as shown in the following diagram.


                                                                                                                  In this image, Family Wireless Bundle has Wireless Service, Wireless Service, and Installation. Wireless Service has Nokia 6100. Wireless Service has Nokia 6800, Call Forwarding, and Installation.
                                                                                                                Note: The Installation component port IDs were assigned without ambiguity because each of their parent components only have one port that supports the Installation product. Also, the erroneous port ID originally assigned to the Nokia cell phones was replaced by the correct port ID without generating an error.

                                                                                                                Service Profile Imported from a Legacy System

                                                                                                                The following example shows how this method is used when a service profile is imported from a legacy system.

                                                                                                                1. The service profile record shown in the following diagram was imported from a legacy system.


                                                                                                                  In this image, Local Line has DSL Service, Call Forwarding, and Installation. DSL Service has Voice Mail.
                                                                                                                2. The customizable product definition is shown in the following diagram.


                                                                                                                  In this image, Local Line has Call Forwarding, Calling Feature, and Installation.
                                                                                                                3. Auto match does its best to assign port IDs, as shown in the following diagram.


                                                                                                                  In this image, Local Line has Voice Mail, Call Forwarding, and Installation.
                                                                                                                Note: The DSL Service component was deleted because it does not exist beneath Local Line. The Voice-Mail component was reparented and associated with the Calling Features class. The Call Forwarding component could have been associated with the product relationship or as a member of the Calling Features class. Hence, it was assigned to the first port found (the product relationship) and a warning message was issued.