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

Read ProcessAdministration SystemNameOfObject [ProcessName]

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:

  • SystemNameOfObject is the system name of a record type. 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 (""). The system names for the record types are listed in System Names for Record Types.

  • ProcessName is the name of a process. This parameter is optional if you specify a record type in the command.

ReadAll ProcessAdministration

This command extracts the process administration configuration data for all record types.

Upsert ProcessAdministration ProcessXML

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 and ReadAll 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:

Note: Back up your configuration data and all other relevant data before running the Oracle Migration Tool On Demand client.

    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.

    Note: The Oracle Migration Tool On Demand client requests your Oracle CRM On Demand password, which can be redirected (using the pipe command) to the client program from standard input; that is, from a file, from the command line, or from another program.

    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"
    
    Note: If the object name contains spaces, then it must be enclosed with quotation marks. Similarly, if the process name contains spaces, then it must be enclosed with quotation marks.

      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.

      Note: The Oracle Migration Tool On Demand client requests your Oracle CRM On Demand password, which can be redirected (using the pipe command) to the client program from standard input; that is, from a file, from the command line, or from another program.

        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.

        Note: The 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"
          
        Note: The Oracle Migration Tool On Demand client requests your Oracle CRM On Demand password, which can be redirected (using the pipe command) to the client program from standard input; that is, from a file, from the command line, or from another program.

        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"
        
        Note: Quotation marks are required only if the fully qualified path name contains spaces.