Bookshelf Home | Contents | Index | PDF |
Siebel Business Process Framework: Workflow Guide > Adding Workflow Process Steps > Adding Steps and Connectors > Adding a Siebel Operation StepThis topic describes how to add the Siebel operation step. It includes the following topics:
The Siebel operation step is a type of workflow process step that does an operation on a business component, such as insert, update, or query. You define a Siebel operation step for the business component that a business object references. The workflow process references this business object. If you configure Siebel CRM to update a business component that this business object does not reference, then you can use Siebel Tools to start a sub process or to associate the business component with the business object. For more information, see Defining the Primary Business Component. To add a Siebel operation step
Using a Siebel Operation Step to Update a Process PropertyYou can define a test workflow process that uses a Siebel operation to update a process property. For example, you can use the sum of two business component integer fields that provide input to a decision that resides downstream in the workflow process. Siebel CRM uses the sum of the two required fields to update a process property in the Siebel operation step. You can then use this property on a subsequent branch connector. The example in this topic references the Action business object. To use a Siebel operation step to update a process property
Using a Siebel Operation Step with the Object Id Process PropertyWhen Siebel CRM finishes an Insert or Upsert operation, it stores the row ID of the record that it created. It stores this ID in the Siebel Operation Object Id process property. It passes the Object Id of the workflow process to the Siebel operation step. It is not necessary to define a search specification unless Siebel CRM must update child records. For example, if a workflow process:
If Siebel CRM runs a Siebel operation, then the Object Id cannot be null unless it inserts this Object Id into the primary Object Id. If the workflow process does not contain an Object Id, then the Siebel operation step returns an error. The Siebel Operation Object Id process property returns the following values if a query operation modifies child records:
The following option returns the row ID of a matching row: The Insert, Update, and Upsert operations update the Siebel Operation Object Id process property of the row ID for the record. Using a Siebel Operation Step with the Upsert OperationThe Upsert Operation can do an update or insert operation depending on if a record or records exist in the Siebel database. Hence the name, Upsert. Assume a search specification on a Siebel operation step queries the Siebel database and returns one of the following results:
For example, assume the following occurs:
When the user returns there is the potential that Siebel CRM will create another contact. Siebel CRM must determine if the contact already exists. If a contact exists, then it must update this contact. If the contact does not exist, then it must create a new contact. For another example, assume a workflow process runs in the background at midnight, processing orders that an external system sends to Siebel CRM:
Configuring the Operation PropertyIf you configure this step to update or insert a field that contains a dependency, then you must make sure the field is valid. For example, if a service request process and a workflow process update the area and sub area fields, then you must make sure the values chosen for the subarea field are valid for this area. If your configuration uses a DB2 for z/OS database, and if you must use a Siebel operation step to query this database, then it is recommended that you set the Operation property to QueryBiDirectional and not to Query. Using QueryBiDirectional avoids leaving an open thread on DB2 for z/OS. Using a Siebel Operation Step with a Search SpecificationYou can use a search specification to filter the business component records that a Siebel operation modifies. For example, if a workflow process for the Account object must only update opportunities that possess a lead quality of Poor, then you can define a search specification that only returns these opportunities. CAUTION: Define a search specification for a Siebel operation as efficiently as possible so that the search returns the smallest possible set of rows. A search specification that returns in a large set of rows can severely degrade performance. For information about using a search specification in an example workflow process, see Creating the Workflow Process. Adding a Literal Search SpecificationIf the search specification is of type Literal, then Siebel CRM interprets it literally. For example, [Status] LIKE '*Open*'. A search specification of type Expression allows you to create a search specification dynamically. For example, consider the following search specification: "[Contact ID] = ' " + [&New ID] + " ' " If the New ID process property is 1-ABC at run time, then Siebel CRM interprets this search specification to the following value: Referencing a Business Component Field in a Search SpecificationEach side of an expression can reference a business component field:
Table 12 describes an example of this configuration. Siebel CRM uses the following format to evaluate this expression: "[Account.Id] = [Contact.Account Id]" Using Compound Expressions and Substitutions in a Search SpecificationYou can use compound expressions and substitutions in a search expression. For example, consider the following generic format: "([Field1] > '" + [&Process Property Name] + "') OR ([Field2] IS NULL) OR ([Field3] IS NULL)" Siebel CRM translates this format to the following value: ([Field1] > 'value') OR ([Field2] IS NULL) OR ([Field3] IS NULL) An expression can include a literal representation of a business component field. For example:
For more information about using a process property as a substitution variable, see Referencing a Process Property. Using a Siebel Operation Step to Update a Field That References a Multi-Value GroupA Siebel operation step can indirectly update a field that references a multi-value group. For example, assume Siebel CRM must update the Account Team business component field. This field references a multi-value group, so you cannot use a Siebel operation step to update it. You can define a business component named Account Team, and then associate it with the Account business object. You can then choose Account Team as the business component that the Siebel operation step updates. For more information about multi-value groups, see Configuring Siebel Business Applications. Using a Siebel Operation Step with a Calculated FieldA Siebel operation step cannot update a calculated field because, typically, the calculated field requires values from the fields of another business component. Instead, you can use an expression to perform calculations. Using a Siebel Operation Step to Traverse a Record SetTo traverse a record set, you can use the NextRecord, PrevRecord, and QueryBiDirectional operations on the Siebel operation step in conjunction with the Update, Query, and Insert operations. You can use the following operations to traverse the records of a child business component of the business object that the workflow process references:
You must configure Siebel CRM to perform a query on the business component before it uses another Next Record or Previous Record operation. If the workflow process traverses active records or if it uses the PreviousRecord operation, then use the QueryBiDirectional operation. Otherwise, use the Query operation. You cannot use NextRecord, PrevRecord, and QueryBiDirectional to traverse records of the primary business component. These operations traverse records only for a child business component. For a detailed example that traverses a record set, see Defining a Workflow Process That Traverses a Record Set to Close Service Requests. Stopping a Traverse a Record Set OperationYou set the NoMoreRecords output argument in the Siebel operation to TRUE. Siebel CRM uses this argument when the Siebel operation attempts to read the next record but finds that no more records exist in the record set to traverse. You set NoMoreRecords to TRUE: You can assign NoMoreRecords to a process property. You can use it in conjunction with a decision point to exit the loop after navigating through every record in the record set. To support this output argument, the Process Designer displays an Output Argument column in the Output Arguments tab of the Siebel operation step. Counting the Number of Records Siebel CRM Gets or UpdatesYou can use the NumAffRows (Number of Affected Rows) output argument with the following operations:
How Siebel Operations and Workflow Policy Programs Use Different Object LayersThe Siebel operation step uses a different object layer than a workflow policy program to update data. For example:
When determining to user a Siebel operation or workflow policy program, you must consider how these operations interact with the various object layers. |
Siebel Business Process Framework: Workflow Guide | Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices. | |