30Migrating Process Administration Configuration Data
Migrating Process Administration Configuration Data
This chapter describes how to migrate process administration configuration data using the Oracle Migration Tool On Demand client. It contains the following topics:
Process Administration
For certain record types, administrators can set up processes to prevent users, including external applications, from performing certain actions on records of that type when the records are in a particular state. Preventing users from performing certain actions in this way is referred to as record locking.
You can set up only one process for each of the record types that support process administration. For more information about process administration and the record types that support it, see Oracle CRM On Demand Online Help.
The following table describes the Oracle Migration Tool On Demand client commands used with process administration. These commands are case sensitive.
Table Commands Used with Process Administration in Oracle Migration Tool On Demand
Command | Description |
---|---|
|
This command extracts the process administration configuration data for a specific record type. You must specify either a record type or a process name, or you can optionally specify both. The parameters are as follows:
|
|
This command extracts the process administration configuration data for all record types. |
|
This command updates or inserts the process administration configuration data for one record type. |
Privileges Required for Migrating Process Administration Configuration Data
The following privileges are required for the user account running the Oracle Migration Tool On Demand client commands:
For the
Read
andReadAll
commands: Enable Web Services Access, and Process Administration.For the
Upsert
commands: Enable Web Services Access, and Process Administration.
For information about setting and checking privileges, see Oracle CRM On Demand Online Help.
Elements and Sections in the Process Administration XML Output File
The following table describes the elements and sections in the process administration XML output file.
Table Elements and Sections in the Process Administration XML File
Description | Element or Section |
---|---|
The <Process> section contains all of the information for one process. |
<data:Process> . . . </data:Process> |
<RecordType> contains the system name of the record type (object), which never changes. |
<data:Process> <data:RecordType>Activity</data:RecordType> . . . </data:Process> |
<ProcessName> contains the name given to the process. |
<data:Process> . . . <data:ProcessName>Activity Process </data:ProcessName> . . . </data:Process> |
<PrimaryField> contains the name of the field in the record type that is to be used as a filter to restrict the process to certain records of the record type. Only the Activity record type supports the use of a primary field to restrict the process. |
<data:Process> . . . <data:PrimaryField>Category </data:PrimaryField> . . . </data:Process> |
<TransitionField> contains the name of the field in the record type that determines the transition of records from one transition state to another. The Status field must be used as the transition field for all supported record types. |
<data:Process> . . . <data:TransitionField>Status </data:TransitionField> . . . </data:Process> |
<Description> contains the description of the process. |
<data:Process> . . . <data:Description>This is a test process. </data:Description> . . . </data:Process> |
<Order> indicates the order of this process within the processes for the record type. The Order field is set to 1 by default, and you cannot update the field to a different value.
Note: If you specify an invalid value, such as a non-numeric string, for this element when you insert or update a process, then an error is returned.
|
<data:Process> . . . <data:Order>1</data:Order> . . . </data:Process> |
<Default> indicates if the process is the default process for the record type (true). The Default field is set to true by default, and you cannot update the field value to false. |
<data:Process> . . . <data:Default>true</data:Default> . . . </data:Process> |
The <ListOfPrimaryValues> section contains the values in the primary field that are valid for the process. A record will be locked by the process only if the value in the primary field on the record is set to one of the values specified within the <ListOfPrimaryValues> section. |
<data:Process> . . . <data:ListOfPrimaryValues> <data:PrimaryValues> <data:Value>Account Call</data:Value> </PrimaryValues> <data:PrimaryValues> <data:Value>Attendee Call</data:Value> </data:PrimaryValues> . . . </data:ListOfPrimaryValues> . . . </data:Process> |
The <ListOfTransitionStates> section contains the details of the transition states for the process. |
<data:Process> . . . <data:ListOfTransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
The <TransitionStates> section contains the details of one transition state for the process. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<State> contains the transition field value that identifies this transition state. Each transition field value can be used with only one transition state in the process. For upsert operations, the value in the <State> element must match an existing picklist value in the Status field for the record type. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> <data:State>Deferred</data:State> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<Category> contains the name of the sales category that the transition state is associated with. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:Category>Software</data:Category> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<Description> contains a description of the transition state. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:Description>Test </data:Description> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<Created> contains the username of the user who created the transition state, and the date and time the transition state was created. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:Created>ABC User 10/26/2012 10:12:40</data:Created> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<Modified> contains the username of the user who last updated the transition state, and the date and time the transition state was last updated. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:Modified>ABC User 11/23/2016 11:27:40</data:Modified> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<Condition> contains a condition that determines whether a record can move to this transition state.
Note: Do not use any calculated fields in the expression. Calculated fields are not supported in expressions in the Condition field on transition states.
|
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:Condition>[{Priority}]="3-Low" </data:Condition> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<ErrorMessage> contains the text for the error message that appears if the condition that is set up for the transition state is not met when a user tries to move a record of the record type specified in the process to this transition state. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:ErrorMessage> </data:ErrorMessage> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<DisableUpdate> determines whether a record can be updated when the record is in this state. If it is set to true, then users, including external applications, cannot update records of the record type specified in the process when the records are in this transition state. |
<data:Process> . . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:DisableUpdate> </data:DisableUpdate> . . . </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
<DisableDeleteOrRemove> determines whether a record can be deleted when the record is in this state. If it is set to true, then users, including external applications, cannot delete records of the record type specified in the process while the records are in this transition state. |
<data:Process> . . <data:ListOfTransitionStates> <data:TransitionStates> . . . <data:DisableDeleteOrRemove> </data:DisableDeleteOrRemove> </data:TransitionStates> . . . </data:ListOfTransitionStates> </data:Process> |
Migrating Process Administration Configuration Data
The following topics describe how to use the Oracle Migration Tool On Demand client to migrate process administration configuration data:
Extracting a Process for a Single Object
This topic describes how to extract a process for a single object from the Oracle CRM On Demand server for your environment; that is, a customer test environment or production environment. The output from the extract is saved to a file and directory as follow:
migration tool install/repository/ProcessAdministration/RecordType.xml
Syntax
The following is the syntax for using the Oracle Migration Tool On Demand client to extract the process for a single object:
migrationtool -u UserID -s ServerURL Read ProcessAdministration SystemNameOfObject [ProcessName]
where:
UserID is the user sign-in ID that has the appropriate privileges to run the Oracle Migration Tool On Demand client commands.
ServerURL is the URL for the Oracle CRM On Demand server where your company resides.
SystemNameOfObject is the system name of the object (record type) for which you want to extract the process, for example, Account. The system names for the record types are listed in System Names for Record Types. If you specify a process name in the command, then you do not need to specify a record type, but you must include an empty value for the SystemNameOfObject parameter. An empty value is specified as a set of double quotation marks ("").
ProcessName is the name of the process that you want to extract. This parameter is optional if you specify a record type in the command.
Example of Extracting a Process for a Single Object
The following is an example of extracting a process for a single object:
migrationtool -u UserID -s ServerURL Read ProcessAdministration Account "My Account Process"
Extracting Processes for All Objects
This topic describes how to extract the processes for all objects from the Oracle CRM On Demand server for your environment; that is, a customer test environment or production environment.
Syntax
The following is the syntax for using the Oracle Migration Tool On Demand client to extract the processes for all objects:
migrationtool -u UserID -s ServerURL ReadAll ProcessAdministration
where:
UserID is the user sign-in ID that has the appropriate privileges to run the Oracle Migration Tool On Demand client commands.
ServerURL is the URL for the Oracle CRM On Demand server where your company resides.
Updating or Inserting a Process (Upsert)
This topic describes how to update a process (if it exists) or insert a process (if it does not exist) on your Oracle CRM On Demand environment (customer test environment or production).
About the Upsert Operation
The Upsert
command inserts or updates a process based on the user key: <RecordType>.
Oracle CRM On Demand attempts to locate the process specified in the input file based on the user key. If a process exists for the specified record type, then the process is updated. If a process does not exist for the specified record type, then a new process is created for that record type.
The Upsert
command inserts or updates a process transition state based on the user key: <State>.
Oracle CRM On Demand attempts to locate a process transition state in the input file based on the user key. If a match is located, then the transition state is updated. If Oracle CRM On Demand cannot locate a transition state based on the user key, then a new transition state is created for the process for the record type.
Read ProcessAdministration
and
ReadAll ProcessAdministration
commands do not extract the field setup and related access control configuration data for transition states, and the
Upsert ProcessAdministration
command does not insert or update this configuration data. So, if you extract a process that has field setup and related access control configuration data, and if you then insert the extracted process in a different environment, then no field setup and related access control configuration data is inserted for the process. However, if the process already exists in the target environment, and if you update the process, then any existing field setup and related access control configuration data on the process remains unchanged.
Syntax
The following is the syntax for using the Oracle Migration Tool On Demand client to insert or update a process for an object:
migrationtool -u UserID -s ServerURL Upsert ProcessAdministration ProcessXML
where:
UserID is the user sign-in ID that has the appropriate privileges to run the Oracle Migration Tool On Demand client commands.
ServerURL is the URL for the Oracle CRM On Demand server where your company resides.
ProcessXML is the fully qualified path name of the process administration XML file, for example:
C:\My Files\Account.xml
If the fully qualified path name contains any spaces, then it must be enclosed with quotation marks, for example:
migrationtool -u UserID -s ServerURL Upsert ProcessAdministration "C:\My Files\Account.xml"
Example of Updating or Inserting a Process
The following is an example of updating a process (if it exists) or inserting the process (if it does not exist) in your Oracle CRM On Demand server:
migrationtool -u UserID -s ServerURL Upsert ProcessAdministration "C:\Oracle Migration Tool On Demand\repository\ProcessAdministration\Account.xml"