Siebel CRM Partner Relationship Management Administration Guide Siebel 2018 E24800-01 |
|
![]() Previous |
![]() Next |
View PDF |
The workflow processes described in this topic are associated with opportunity transfer. They are used for the following functions:
Transferring an opportunity
Updating an opportunity
Requesting an opportunity update
Either the brand owner or the partner can transfer an opportunity, update the opportunity, or request an update. The following descriptions refer to the two systems involved as "System A" and "System B." These can refer to either the brand owner or the partner's system, depending on who ran the opportunity transfer, updated the opportunity, or requested an update.
The workflows to transfer an opportunity are called in the following order:
Opportunity Sharing Pick Partner. When the brand owner or partner navigates to the Transfer button on the Transfer Opportunity Child form, it calls the Opportunity Sharing Pick Partner workflow. This workflow retrieves the partner's ID and passes it on to the Opportunity Sharing External Create workflow, which the Opportunity Sharing Pick Partner workflow calls as a subprocess.
Opportunity Sharing External Create. This workflow captures the object ID of the opportunity that is being transferred. It changes the opportunity's transfer status to Transfer In Progress. It then creates an internal key that System A uses to reference the opportunity. This workflow passes the opportunity ID, opportunity key, and the partner ID to the workflow Build Siebel Message, which it calls as a subprocess.
Opportunity Sharing Build Siebel Message. This workflow uses the opportunity ID to gather all the necessary information on the opportunity and put it into a Siebel message. Opportunity Sharing Build Siebel Message also collects the partner information and System A's organizational information, and adds it to the Siebel message. This Siebel message is passed back to Opportunity Sharing External Create, which transfers it to system B and waits for a response.
Opportunity Sharing Siebel Create. System B receives the Siebel message and runs the Opportunity Sharing Siebel Create workflow. Opportunity Sharing Siebel Create first inserts the opportunity's account by calling PRM ANI Inbound Create Account, and then inserts the Opportunity's information. If successful, it creates a key that System B uses to reference the opportunity, updates the Transfer Status on system B to Transfer Successful, and stores System A's key. This workflow then adds System B's key and the current transfer status to the Siebel message and sends the message back to System A.
Opportunity Sharing Receive Create Response. After System A receives the response, it calls the Opportunity Sharing Receive Create Response. This workflow updates the status of the transfer based on the response. It also stores System B's key.
After an opportunity has been transferred, the brand owner or partner can click the Update Opportunity button to update the transferred opportunity in the other company's system with new information that they have entered in their system. When the brand owner or partner navigates to this button, the following workflows are called in this order:
Opportunity Sharing External Update. This workflow is called when the brand owner navigates to the Update button on the Transfer Opportunity Child form. Opportunity Sharing External Update calls Opportunity Sharing Set Update Status.
Opportunity Sharing Set Update Status. This workflow first calls Opportunity Sharing Inbound or Outbound.
Opportunity Sharing Inbound or Outbound. This workflow figures out whether this opportunity was originally sent to System B from System A or was originally sent to System A by System B. (That is, it determines whether this opportunity was originally an outbound opportunity or an inbound opportunity.) It also retrieves System B's key and ID of the partner to whom the opportunity was sent, and passes this information back to Opportunity Sharing Set Update Status. Opportunity Sharing Set Update Status updates the Transfer Status to Update Pending. Then, this workflow calls Opportunity Sharing Build Siebel Message, passing the opportunity ID, System A and System B's keys, and the partner ID. (Depending on your setup, this workflow might not be necessary. A call to this workflow can be replaced with a Siebel operation that queries the ANI Keymap business component.)
Opportunity Sharing Create Siebel Message. This workflow creates a Siebel message and passes it back to Set Update Status, which passes the Siebel message back up to External Update. External Update transfers the Siebel message to System B.
Opportunity Sharing Siebel Update. System B receives the Siebel message and runs Opportunity Sharing Siebel Update, which checks to see if it needs to insert the opportunity's account again by calling PRM ANI Inbound Create Account. It then updates the Opportunity's information. If successful, this workflow updates the Transfer Status on system B to Update Successful, and then adds the current transfer status to the Siebel message, which it sends back to System A.
Opportunity Sharing Receive Update Response. After System A receives the response, it calls the Opportunity Sharing Receive Update Response workflow, which updates the status of the transfer based on the response.
After an opportunity has been transferred, the brand owner or partner can click the Receive Update button to query the other company's system for new information that has been entered about the opportunity, and to update the opportunity in its own system with this new information. When the brand owner or partner navigates to this button, the following workflows are called in this order:
Opportunity Sharing External Query. When the brand owner calls the Receive Update button on the Transfer Opportunity Child form, this workflow calls the Opportunity Sharing External Query workflow. External Query first uses the Opportunity Sharing Inbound or Outbound workflow to determine whether this opportunity was originally an inbound or an outbound opportunity, as described in "Workflows to Update an Opportunity". Then, Opportunity Sharing External Query takes that information and creates a Siebel message with System A's and System B's keys. It then transfers this Siebel message to System B.
Opportunity Sharing Siebel Query. When System B receives the Siebel message, it runs the Opportunity Sharing Siebel Query workflow. Opportunity Sharing Siebel Query makes sure the opportunity exists and then calls Opportunity Sharing Set Update Status.
Opportunity Sharing Set Update Status. This workflow first calls the Opportunity Inbound or Outbound workflow, which does the following:
Determines whether this opportunity was originally an outbound opportunity or an inbound opportunity, as described in "Workflows to Update an Opportunity".
Retrieves System A's key and the partner ID of the employee to whom the opportunity was sent, and passes this information back to Opportunity Sharing Set Update Status.
Opportunity Sharing Set Update Status then updates the Transfer Status to Update Pending and calls the Opportunity Sharing Opportunity Build Siebel Message workflow to create a message containing the opportunity ID, System B and System A's keys, and the partner ID. After the Siebel message is passed back to Opportunity Sharing Set Update Status, this workflow passes the Siebel message back up to Opportunity Sharing External Update. Opportunity Sharing External Update transfers the Siebel message to System A.
Opportunity Sharing Siebel Update. After System A receives the response, it calls Opportunity Sharing Siebel Update. This workflow returns a Siebel message, which Opportunity Sharing External Query transfers back to System B.
Opportunity Sharing Receive Update Response. System B receives the Siebel message and calls Receive Update Response, which updates the status of the transfer based on the response.
The final step in these opportunity transfer processes updates the status field to tell the user whether the transfer, send update, or receive update process was successful. The Transfer Status field can have the following values:
Blank. The opportunity has never been transferred to a partner. In this situation, only the Transfer button is active. You cannot send or receive an update until after the opportunity has been transferred.
Transfer Pending. The opportunity has been transferred to a partner, but the acknowledgement from the partner has not yet been received. In this situation, none of the transfer buttons are active.
Transfer Successful. The opportunity has been transferred to a partner, and the acknowledgement indicates that the transfer went through. In this situation, only Send Update and Receive Update are active. Once an opportunity has been transferred successfully, it cannot be transferred again.
Transfer Unsuccessful. The opportunity has been transferred to a partner, but the acknowledgement indicates that the transfer did not go through for one of these possible reasons:
The connection timed out
The opportunity already exists on the other system
The source organization is not listed as a partner in the other system
There was an exception with the insert step
In this situation, the Transfer button is the only active one. The user can try again to transfer the opportunity to the same partner or a different one.
Update Pending. The send update or receive update process is underway, but no response has yet been received. In this situation, none of the buttons are active.
Update Successful. The send update or receive update process completed successfully. In this situation, the Send Update and Receive Update buttons are active.
Update Unsuccessful. The send update or receive updated process failed, based on the return message from the partner's system, for one of these possible reasons:
The connection timed out
The opportunity does not exist on the other system
There was an exception with the update step
In this situation, the Send Update and Receive Update buttons are active.
The Opportunity Sharing Build Siebel Message workflow process is shown in Figure 4-1.
When this workflow is called, the following events happen:
Create Message Header. This event creates an empty message header for the Siebel message. This header will eventually contain the transfer information.
Store Message Header/Append Message. This event creates an empty Siebel message using the ANI Opportunity Message (PRM ANI) format and appends the message header to it.
Query Oppty. This event queries the Siebel database for the opportunity matching the object ID and returns the account ID for the account of this opportunity.
Store Oppty & Append Oppty. This event adds the opportunity to the Siebel message.
Oppty Has An Account. This event checks to see if the account ID is null. If it is, the workflow does not need to query for an account.
Create Account Message. If there is no account for this opportunity, this event creates an empty account property set to follow the ANI Opportunity Message (PRM ANI) format for the Siebel message.
Query Account. If there is an account for this opportunity, this event returns the account information.
Store Oppty Account/Append Account. This event adds the account information to the Siebel message.
Query Partner/Store Partner/Append Partner. This event queries for the partner to whom the opportunity is being sent and appends that information to the Siebel message.
Query Source Org/Store Source Org/Append Source Org. This event queries for the source organization and appends that information to the Siebel message.
Get Organization DUNS/Set Organization DUNS. This event retrieves the source organization's D-U-N-S number and adds it to the Siebel message.
Add Internal Key. This event adds the internal key to the Siebel message.
Add Internal Key Description. This event adds the internal key description to the Siebel message.
Add External Key. This event adds the external key to the Siebel message.
Add External Key Description. This event adds the external key description to the Siebel message.
Add Sent Time to Message. This event adds the current timestamp to the Siebel message.
This Opportunity Sharing External Create workflow process is shown in Figure 4-2.
When this workflow is called, the following events happen:
Create Source Key. This event generates an internal key from the process property internal key description. Currently, internal key description has a default value. This value can be changed manually or passed in from any workflow that calls this workflow as a subprocess.
Query ANI Keymap. This event searches for a transfer record for this opportunity in ANI Keymap, the buscomp that stores all the transfer information.
ANI Keymap Record Exist. This event checks to see if the number of transfer records for this opportunity is greater than zero, that is, whether a transfer record already exists for this opportunity.
Insert Value into Keymap. If a transfer record for this opportunity does not already exist, this event creates a new transfer record for this opportunity.
Update Value in Keymap. If a transfer record for this opportunity already exists, this event updates the transfer status to Transfer In Progress.
Create Siebel Message. This event calls the Opportunity Sharing Build Siebel message, passing in the internal key, internal key description, partner ID, and object ID, and returns a Siebel message.
Get Rid of Extra Message Layer. This event removes the extra layer that is added to a Siebel message when it is passed up from a subprocess.
Output Siebel Message. This event checks to see if the value of the process property Write Orig File is Y or N.
Find Port. This event finds the Web service port for the partner to whom the opportunity is being sent.
Transfer. This event sends the opportunity to the other system.
Update Status to Failed. If the transfer step returns an exception, this event updates the transfer status of the opportunity to Transfer Unsuccessful.
Write Response. This event checks to see if the value of the process property Write Response to File is Y or N.
Write Siebel Message. If Write Orig File is Y, this event writes the pretransfer Siebel message to an XML file. If Write Response to File is Y, this event writes the post-transfer Siebel message to an XML file.
Receive Create Response. This event calls the subprocess Oppty Sharing Receive Create Response, passing it the Siebel message received from the transfer.
The Opportunity Sharing External Query workflow process is shown in Figure 4-3.
When this workflow is called, the following events happen:
Get Dest Org Id. This event calls Opportunity Sharing Inbound or Outbound. This workflow returns the partner ID of the partner requesting an update, the external key, and external key description.
Set Status. This event updates the transfer status to Update Pending.
Create Message/Store Message/Append Message. This event creates an empty Siebel message.
Generate Key. This event creates the internal key.
Add Internal Key. This event adds the internal key to the Siebel message.
Add Internal Key Description. This event adds the internal key description to the Siebel message.
Add External Key. This event adds the external key to the Siebel message.
Add External Key Description. This event adds the external key description to the Siebel message.
Find Port. This event finds the Web service port for the partner.
Send Oppty Update Request. This event sends this Siebel message to the other system and returns the response from the other system.
Get Request Update Status. This event gets the transfer status from the response Siebel message.
Request Update Ok. This event checks that the transfer status is successful.
Update Opportunity. This event calls Opportunity Sharing Siebel Update as a subprocess, passing it the Siebel message, and returns the response Siebel message.
Remove Extra Message Layer. This event removes the extra layer that is added when a Siebel message is passed up from a subprocess.
Get Update Oppty Status. This event retrieves the status of the update from the Siebel message that Opportunity Sharing Siebel Update inserts before returning the message.
Status Ok. This event checks to see if the update status is Update Successful.
Swap Addresses. This event swaps the source organization and channel partner information, the internal key and external key, and the internal key description and the external key description.
Remove Extra Layer from Message. When a Siebel message is passed up from a subprocess it adds an extra layer to the message. This event removes that layer.
Add Method Name. This event inserts the name of this method, Query, into the Siebel message. This will be used in a later workflow.
Find Response Port. This event finds the Web service port for sending an update response for this partner.
Transfer Response. This event transfers the Siebel message with the update status back to the partner.
Update Status. If any of the transfer statuses from the Siebel message are Update Unsuccessful or any of the transfers returns an exception, this event updates the transfer status to Update Unsuccessful.
The Opportunity Sharing External Update workflow process is shown in Figure 4-4.
When this workflow is called, the following events happen:
Build Message. This event calls the subprocess Opportunity Sharing Set Update Status, passing in the opportunity ID, and returns the partner ID and a Siebel message.
Get Rid of Extra Siebel Message Layer. This event removes the extra layer that is added to a Siebel message when it is passed up from a subprocess.
Write Siebel Message. This event checks to see if the value of the process property Write Orig File is Y or N.
Find Port. This event finds the Web service port for the partner.
Transfer. This event sends the opportunity to the other system and returns a response Siebel message.
Write Response to File. This event checks to see if value of the process property Write Response is Y or N.
Receive Update Response. This event calls the subprocess Opportunity Sharing Receive Update Response, passing it the response Siebel message.
Write to File. If Write Orig File is Y, this event writes the pretransfer Siebel message to an XML file. If Write Response to File is Y, this event writes the post-transfer Siebel message to an XML file.
Set Status to Failed. If transfer returns an exception, this event updates the transfer status for this opportunity to Update Unsuccessful.
The Opportunity Sharing Build Siebel Message workflow process is shown in Figure 4-5.
When this workflow is called, the following event happens:
Get Inbound Partner Id. This event queries the ANI Keymap bus comp and retrieves the initial direction, the partner ID, the external key, and the external key description of this opportunity.
The Opportunity Sharing Pick Partner workflow process is shown in Figure 4-6.
When this workflow is called, the following events happen:
Catch Partner Id. This event retrieves the Partner ID of the partner to whom the opportunity is sent, and stores it in a process property.
Send Opportunity. This event calls Oppty Sharing External Create, passing it the partner ID.
The Opportunity Sharing Receive Create Response workflow process is shown in Figure 4-7.
When this workflow is called, the following events happen:
Get External Key. This event finds the value of the external key in the Siebel message and returns it.
Get External Key Desc. This event finds the external key description in the Siebel message and returns it.
Get Internal Key. This event finds the value of the internal key in the Siebel message and returns it.
Get Internal Key Description. This event finds the value of the internal key description in the Siebel message and returns it.
Get Status. This event returns the transfer status from the Siebel message.
Get Status Message. This event returns the transfer status message from the Siebel message.
Get Last Update Time. This event retrieves the time when the Siebel message was created, which was added to the Siebel message when it was created.
Insert Values into Keymap Bus Comp. This event adds the external key, external key description, status, and the timestamp to the keymap record.
The Opportunity Sharing Receive Update Response workflow process is shown in Figure 4-8.
When this workflow is called, the following events happen:
Get Method. This event returns the method value from the Siebel message. Both update and query use Opportunity Sharing Receive Update Response, and this method value tells the workflow whether this is a send update or receive update.
Query Response. This event checks to see if this is a response from an update or if this is a response from a query.
Get Internal Key/Get Internal Key Description/Parse Key/Query Opportunity. If this is a response from a query, this workflow is started from the inbound Web services, so there is no active object ID. The workflow needs to find the opportunity and retrieve the object ID. This group of steps returns the external key and the external key description and creates a search specification from them. Query Opportunity uses this search specification to find the opportunity and return its object ID. If this is a response from an update, the workflow is activated from the Opportunity Sharing External Update workflow and an object ID is passed in as an argument, so these steps are skipped.
Get Status. This event returns the transfer status from the Siebel message.
Get Status Message. This event returns the transfer status message from the Siebel message.
Get Last Update Time. This event retrieves the time when the Siebel message was created, which was added to the Siebel message when it was created.
Update Status and Time. This event updates the status and the timestamp to the keymap record.
The Opportunity Sharing Set Update Status workflow process is shown in Figure 4-9.
When this workflow is called, the following events happen:
Get Dest Key. This event calls Opportunity Sharing Inbound or Outbound and returns the partner ID, external key, and external key description.
Generate Key. This event generates an internal key from the process property internal key description. Currently, internal key description has a default value. This value can be changed manually or passed in from any workflow that calls this as a subprocess.
Update Status. This event updates the transfer status to Update Pending.
Create Siebel Message. This event calls Opportunity Sharing Build Siebel Message, passing in an object ID, partner ID, external key, external key description, internal key, and internal key description. It returns a Siebel message.
Get Rid of Extra Message Layer. This event gets rid of the extra layer that is added to a Siebel message when it is passed up from a subprocess.
The Opportunity Sharing Siebel Create workflow process is shown in Figure 4-10.
When this workflow is called, the following events happen:
Get Opportunity. This event retrieves the opportunity property set from the Siebel message.
Query Opportunity. Using the opportunity property set, this event searches for the opportunity in this database and returns the number of opportunities that match the search specification.
Oppty Exists. This event checks to see if the number of opportunities found by the query is greater than zero, to determine whether the opportunity already exists.
Set Opportunity Error Status. If the opportunity already exists, this event sets the status process property to an error status and sets the status message process property to the appropriate error message.
Get External DUNS Number. If the opportunity does not exist, this event retrieves the source organization's D-U-N-S number.
DUNS Num Exists. This event checks to see if the previous step returns an empty D-U-N-S Number.
Set Partner DUNS Error Status. If the D-U-N-S number is empty, this event sets the status process property and sets the status message process property to the appropriate error message.
Retrieve Record Id. If the D-U-N-S Number has a value, this event uses that value to find the partner ID of the source organization.
Partner Exists. This event checks to see if the previous step returns an empty partner ID.
Set Partner Id Error Status. If the partner ID is empty, this event sets the status process property and set the status message process property to the appropriate error message.
Add Account. This event calls the PRM ANI Inbound Create Account Process, passing it the Siebel message, the name of the account integration object this process uses, and the account object hierarchy path. It returns an account status code and an account status message.
Account OK. This event checks to see if the account status code equals the general error code.
Set Account Error Status. If the account status code returned a general error, this event sets the status process property to an error status and sets the status message process property to the appropriate error message.
Upsert Opportunity. This event inserts the opportunity property set into the Siebel CRM system.
Set Oppty Error Status. If the opportunity insert returns an exception, this event sets the status process property to an error status and sets the status message process property to the appropriate error message.
Get External Key. This event finds the value of the external key in the Siebel message and returns it.
Get External Desc. This event finds the external key description in the Siebel message and returns it.
Create Internal Key. This event generates an internal key from the process property internal key description. Currently, internal key description has a default value. This value can be changed manually or passed in from any workflow that calls this as a subprocess.
Swap Addresses. This event swaps the source organization and channel partner information, the internal key and external key, and the internal key description and the external key description.
Remove Extra Message Layer. When a Siebel message is passed up from a subprocess it adds an extra layer to the message. This event removes that layer.
Insert Values into Keymap Bus Comp. This event creates a new transfer record for this opportunity.
Set Status OK. This event sets the status process property to successful.
Add Status. This event adds the status to the Siebel message. This is done whether there has been a problem and the status is an error code or whether the status is okay.
Add Status Message. This event adds the status message to the Siebel message.
The Opportunity Sharing Siebel Query workflow process is shown in Figure 4-11.
When this workflow is called, the following events happen:
Get Internal Key. This event finds the value of the internal key in the Siebel message and returns it.
Get Internal Desc. This event finds the internal key description in the Siebel message and returns it.
Parse Key. This event takes in internal key and internal key description and creates a search specification.
Get Opportunity. This event searches for the opportunity using the search specification.
Opportunity Exists. This event checks to see if the number of opportunities found by the query is greater than zero to determine if the opportunity already exists.
Add Error Status. If the opportunity does not exist, this event sets the transfer status in the Siebel message to an error status.
Add Error Message. If the opportunity does not exist, this event sets the transfer status message in the Siebel message to an error status message.
Set Update Status and Create Siebel Message. This event calls Opportunity Sharing Set Update Status, passing it the opportunity ID.
Get Rid of Extra Message Layer. This event removes the extra layer that is added to a Siebel message when it is passed up from a subprocess.
The Opportunity Sharing Siebel Update workflow process is shown in Figure 4-12.
When this workflow is called, the following events happen:
Get Internal Key. This event finds the value of the internal key in the Siebel message and returns it.
Get Internal Key Description. This event finds the internal key description in the Siebel message and returns it.
Parse Key. This event takes in the internal key and internal key description and creates a search specification.
Find Opportunity. This event searches for the opportunity using the search specification.
Opportunity Exists. This event checks to see if the number of opportunities found by the query is greater than zero to determine if the opportunity already exists.
Set Opportunity Error Status. If the opportunity does not exist, this event sets the status process property to an error status and set the status message process property to the appropriate error message.
Get Opportunity. If the opportunity does exist, this event retrieves the opportunity property set from the Siebel message.
Insert Account. This event calls PRM ANI Inbound Create Account Process, passing it the Siebel message, the name of the account integration object this process uses, and the Account Object Hierarchy Path. It returns an account status code and an account status message.
Account OK. This event checks to see if the account status code equals the general error code.
Set Account Error Status. If the account status code returned a general error, this event sets the status process property to an error status and sets the status message process property to the appropriate error message.
Upsert Opportunity. This event updates the opportunity.
Get External Key. This event retrieves the external key from the Siebel message.
Get External Key Description. This event retrieves the external key description from the Siebel message.
Swap Addresses. This event swaps the source organization and channel partner information, the internal key and external key, and the internal key description and the external key description.
Remove Extra Message Layer. When a Siebel message is passed up from a subprocess it adds an extra layer to the message. This event removes that layer.
Set Oppty Error Status. If the opportunity update returns an exception, this event sets the status process property to an error status and sets the status message process property to the appropriate error message.
Update Status. This event updates the transfer status and the timestamp for this transfer record.
Set OK Status. This event sets the status process property to successful.
Add Status. This event adds the status to the Siebel message. This is done whether there has been a problem and the status is an error code or whether the status is okay.
Add Status Message. This event adds the status message to the Siebel message.
The PRM ANI Inbound Create Account workflow process is used by both opportunity transfer and shopping cart transfer. This process is described in "PRM ANI Inbound Create Account Process Workflow".
The PRM ANI Inbound Addressing Change workflow process is used by both opportunity transfer and shopping cart transfer. This process is described in "PRM ANI Inbound Addressing Change Process Workflow".