Siebel CRM Partner Relationship Management Administration Guide Siebel 2018 E24800-01 |
|
![]() Previous |
![]() Next |
View PDF |
A set of business services named PRM ANI Utility Services have been created to support both opportunity transfers and shopping cart transfers.
Most of these service methods deal with the manipulation of integration objects, and rely on the Siebel Adapter Service on the internal side. Whenever possible, follow usage examples from the workflows provided.
You can use the PRM ANI Utility Services in situations where there is only one instance of a component type in the hierarchy path. So if there are multiple instances of a contact under the opportunity, you cannot get the Contact element from the integration object because each hierarchy path provided (Account.Contact here) must be unique. If this constraint must be violated, then refer to each instance with a separate Integration Component Name. For example, if Person had the same type of data as Contact, then use a reference to Account.Person to store another contact.
The following convention is used for hierarchy paths in a number of service methods:
Hierarchy paths are inputs of the form IC1.IC2.IC3…, where IC1, IC2, IC3, and so on, are Integration Component Names that tell the method how to traverse the object definition to find the correct place to put the child. For example, when placing a business address under the account under the opportunity object, the path would read Opportunity.Account.
For the Set Child Type method, a slightly different methodology in the hierarchy path is used, as follows:
For Set Child Type, refer to IC1, IC2, IC3, and so on as the actual structure of the Siebel hierarchy. The examples listed come from the ANI Shopping Cart Message (PRM ANI) Integration object.
The first three substrings appear as follows: ChildObject.ListOfMessageType.RootComponentName. An example is:
SiebelMessage.ListOfANI Shopping Cart Message (PRM ANI).Message Details
The following substrings alternate between ListOf Component Names and the Component Names themselves. An example is:
ListOfChannel Partner.Channel Partner.ListOfChannel Partner Business Address.Channel Partner Business Address
The following methods are included in the PRM ANI Utility Services:
This method appends a child integration object to a parent integration object. The parent object must contain the child object's full definition.
See the notes about calls to the Load Child Hierarchy method. There is a dependency in calls to Append Hierarchy on calls to Load Child Hierarchy, so the Load Child Hierarchy method must be called before calling this method.
The following are inputs for Append Hierarchy:
Hierarchy Path - String. This is used to denote where to append the child to the parent.
SiebelMessage - Hierarchy. This is used to store the parent hierarchy's integration object data.
Append Hierarchy has only one output:
SiebelMessage - Hierarchy. This is the resulting object instance with the child attached to the parent in the correct place on the data structure.
Example: Transfer Cart Outbound Create Header Process, Append Header to Message
This method creates an empty integration object instance with the same structure as a normal integration object but with two notes. All data fields are present and empty (initialized to empty string).
Each component in the definition of the integration object is instantiated once only in the exact structure that is prescribed by the definition.
The following are inputs for Create Empty Hierarchy:
Hierarchy Name - String. This provides the name of the integration object to instantiate.
Message Id - String. (Optional) This provides the Message ID that is used to identify this specific integration object instance. If this is not provided, a new one is calculated.
Create Empty Hierarchy has only one output:
SiebelMessage - Hierarchy. This returns the integration object instance with the empty Component fields.
Example: Transfer Cart Outbound Create Header Process, Create Header Instance
This method returns a string that you can use to uniquely identify a record in the service's business component. For Workflow Processes, it refers to the primary business component of the processes' business object.
Generate Key has only one input:
Key Description - String. This is used to describe the form of the string to be generated.
This input is in the form [A].[B].[C]… where A, B, C… are names of fields that correspond to a unique key in your database.
For instance, when using Contact, [Last Name].[First Name] would generate an insufficient value. However, [Id].[Last Name] would work because [Id] itself is guaranteed unique in this system.
Generate Key has only one output:
Source Key - String. This is used to identify the record in the service's business component.
Example: Transfer Cart Inbound Create Cart Process, Create New Quote Key
This method reports the child type of a property set. For integration objects, this is generally of type SiebelMessage.
Get Child Type has only one input:
SiebelMessage - Hierarchy. These are hierarchy children that are examined.
Get Child Type has only one output:
Child XX - String. (Optional) The outputs have names numbering from 0 to n-1 where n is the number of children in the input Siebel Message.
For example, if there are two children, the output property names are Child 0 and Child 1. The output values are the names of the Child Types.
This method returns a string field value in the integration object structure.
The following are inputs for Get Hierarchy Value:
Hierarchy Path - String. This is the path to the IC parent of the field. Note that this path does not include the field name.
Property Name - String. This is the name of the field to read.
Siebel Message - Hierarchy. This is the integration object you are looking into.
ReturnBlankIfNull - String. (Optional) This allows the returned value to be blank, instead of returning an error if the field is not found in the hierarchy.
Get Hierarchy Value has only one output:
Property Value - String. This is the value of the field the brand owner is examining.
Example: Transfer Cart Inbound Create Contact Process, Get Contact Street Address
This method looks up values in the system preferences.
Get System Preference has only one input:
System Preference Name - String. The name of the system preference to look for.
Get System Preference has only one output:
System Preference Value - String. The value of the system preference.
Example: Transfer Cart Outbound Request Process, Get Organization DUNS
This method strips an integration object instance of everything except for the Integration ID, including child components.
This method is not called by PRM ASIs, but is referenced by other ASIs. It is used to direct Siebel Adapter Operations to consider only the Integration ID to look for a record in some situations.
Isolate Integration ID has only one input:
Siebel Message - Hierarchy. This contains the object to be stripped through.
Isolate Integration ID has only one output:
Siebel Message - Hierarchy. This is the object that is returned. The only field that contains any data is the Integration Id.
This method places a child hierarchy in memory to be used at a later time. It is used for operations that require two hierarchy type operands, such as Append Property Set.
Load Child Hierarchy has only one input:
Siebel Message - Hierarchy. This is the message you want to load that will be operated upon later.
There are no outputs.
Example: Transfer Cart Outbound Create and Append Process, Set the Child Hierarchy
This method generates a search specification from a given key and key description. The search specification can be fed into a query step (Siebel operation or otherwise) to look for the record that the key has specified.
The following are inputs for Parse Key:
Key Description - String. This is a description of the key following the format described in "Generate Key Method".
Source Key - String. Along with the description, this defines the record you want to view.
Parse Key has only one output:
Search Spec - String. This is the search specification used to execute the primary business component. Only one record is in this record set because it is unique.
Example: Transfer Cart Inbound Create Quote Process, Parse Quote Key
This method provides a way to query any business component in the business object. This gives you a bit more flexibility than the standard Siebel operation query, because you can search the entire business component without regard to the links to the primary business component.
If both Search Spec and Query fields are provided, the Search Spec is chosen over the Query field arguments to execute the business component with. If neither is provided, then an error is returned.
The following are inputs for Query Business Component:
Business Component - String. This is the name of the business component in the business object to query through.
Keep Context - String. (Optional, defaults to Yes) This is a string defining whether to query with regard to the current state of the business object or if to instantiate a new business object to query with (outside of context).
Output Field - String. (Optional) These are the values you want to have returned from the record. A number can be appended to the name so that more than one field can be retrieved.
For instance, if you wanted a Name and Location, there would be the arguments Output Field 1 and Output Field 2 with Name and Location as their values. If there is more than one record with the search specification, you obtain values from the first record in the executed business component.
Query Field - String. (Optional) These are the input values determining the search specification that is used on the business component.
To use this argument correctly, you must append the name of the field to the argument name. The value of the field can be any Workflow Process-evaluated string. For instance, if you are looking for a record where [Account Id] = Process Property [Siebel Operation Object Id], you would have:
Argument Name: Query Field Account Id
Type: Process Property
Process Property: Siebel Operation Object Id
Search Spec - String. (Optional) If the search specification is more easily formulated as a string, then you can choose to provide it here. The string can have the same format as any other search specification in Siebel Tools; also, you can also choose to have a Workflow Process-evaluated string as a possible input.
The following are outputs for Query Business Component:
Record Count - String. This returns a string representation of the number of records found in the query, up to 100. If there are more than 100 records, it returns the value -1, indicating that there are too many records in the query.
Output Fields - String. These are fields that are returned in the query with the property name equal to the field name.
In the previous example, the two output arguments are named Name and Location. Their values would be those of the first record returned by the query.
Example: PRM ANI Inbound Create Account Process, Find Account
This method is a complementary function to Append Hierarchy. It takes the specified integration object and extracts it from the parent object.
The following are inputs for Detach Hierarchy:
Child Hierarchy Name - String. This is the name of the child hierarchy to instantiate from the parent data.
Hierarchy Path - String. This specifies the path to trace to find the child root integration component.
Siebel Message - Hierarchy. This specifies the parent from which the child object is extracted.
Detach Hierarchy has only one output:
SiebelMessage - Hierarchy. The Child Object Instance defined by The Child Hierarchy Name, with data contributed from the input Siebel Message.
Example: PRM ANI Inbound Create Account Process, Get Account Object
This method is a complementary function to Get Child Type. It sets the hierarchy type if you need to change something to the type Siebel Message.
The following inputs are for Set Child Type:
Siebel Message - Hierarchy. The string name of the actual child type that is being passed from the external Web service's hierarchy response. (The input argument's type is Process Property, and the property name picks the hierarchy property.)
Child Type - String. (Optional) This lists the current child types, their values, and the values to which you want to change them. For instance, if a user wanted to change a child of type Account to a child of type Partner, the user would need to specify the following:
Argument Name: Child Type: Account
Argument Value: Partner
Hierarchy Path - String. (Optional). This tells the method where to do its work. For more information about the structure of this string, see "Conventions for Hierarchy Paths".
Set Child Type has only one output:
Siebel Message - Hierarchy. This is the existing object with the child type changed.
Example: Transfer Cart Outbound Request Process, Rename Root Object 1
This method is a complementary function to Get Hierarchy Value. It sets the value of a property in an object.
The following are inputs for Set Hierarchy Value:
Hierarchy Path - String. This specifies the integration component path to the field.
Property Name - String. This is the name of the property you want to set.
Property Value - String. This is the value for which you want to set the property.
Siebel Message - Hierarchy. This is the object that you want to have this new field. If there is a problem with the path (a component in the path cannot be found), an error is returned.
Set Hierarchy Value has only one output:
Siebel Message - Hierarchy. This is the object with the hierarchy value set correctly.
Example: Transfer Cart Outbound Create Header Process, Set Message Time Stamp