Using numeric subvar values in Process Flow Component aliases

Document ID : KB000088734
Last Modified Date : 14/04/2018
Show Technical Document Details
Issue:
Using numeric subvar values in Process Flow Component aliases
Resolution:
Applicable to Applications Manager Versions: v7.1, v8.0

Symptoms

You can include numeric substitution variables in the Alias field for a Component within a Process Flow.  This is useful when passing a value from the Process Flow's prompt to the Component. When used in the alias names field, the numeric subvar must be enclosed in curly brackets { }. For example, when {#2} is entered in the Component's Alias field, the value of the Process Flow's second prompt will be inserted into the Component's alias name where {#2} is referenced.


Cause

If a prompt is being passed from the Process Flow to a Component within the process flow to be used in the alias field of that component and it is not enclosed in curly brackets, it will be evaluated as a literal.  For example, if you want to use the value of the Process Flow's second prompt in the alias name for a component in that Process Flow the following would occur.

Process Flow's 2nd Prompt Value: 123456
Component:  TEST_JOB
Desired Alias Name:  TEST_JOB_123456

If you define the Component's alias field as

     TEST_JOB_#2    -- Evaluates to TEST_JOB_#2
     TEST_JOB_{#2}  -- Evaluates to TEST_JOB_123456 


Additional Informaition About Using Prompts in a Component's Alias Field

Components with aliases including { } curly brackets should not be defined as external predecessors for other modules, Process Flows, and Process Flow Components. The reason is that predecessors reference job names and these Components names will by definition change, causing the predecessors never to be met.

The "Don't Evaluate Process Flow args when INITIALIZED" (for 6.1.4.1.1 and 7.1) or "Always Evaluate Subvars in Process Flow Prompts at Component Run Time When Scheduled" (for 8.x) Master option has no affect on Component alias names. For subvars, the value is always resolved when the job runs. For replacement values, the value is always resolved when the Process Flow is inserted into the Backlog.

It is possible for Component alias values to not match the Component prompt value. For example, you might have {#aw_now} set at the Process Flow level. In that case, it will get evaluated when inserted into the Backlog as part of the alias name but will not be evaluated for the prompt until the Component is initiated.

If the prompt value is passed from a parent Process Flow all the way down to the alias name of a Component in a nested Process Flow. The prompt value for the nested Process Flow must be enclosed in { } brackets (in the parent Process Flow's definition), and the alias name in the nested Process Flow must also be enclosed in { } curly brackets (in the nested Process Flow's definition).

Passing prompt values from a Process Flow's prompts to its Components is not supported when the value of the Process Flow prompt is set by a subvar with a login assigned to it.

When bad SQL statements are included for a subvar used in a Process Flow Component alias or a subvar that doesn't exist is referenced for the alias name, an error will be written to the RmiServer.log file. The error will also be displayed in a pop-up window for users who have the Receive RmiServer Error Broadcasts user option assigned to them. If the Schedule Submitted as a Group master option is checked, which it is by default, you will not be able to run this Process Flow until you edit it and fix the problem. If the Schedule Submitted as a Group master option is not checked, no scheduled jobs will run until you edit this Process Flow and fix the problem.

Evaluation of plain subvars (that is subvars without a login) assigned to prompts in Process Flows will occur when each Component runs rather than when the process flow goes to an INITIATED status. Having this option checked is not recommended.  Note: Changing this option requires you to stop and restart the RmiServer process. For information on stopping and starting processes, see topic 8.2 Starting and Stopping Automation Engine and Agent Processes.

WARNING- ensure that all aliases are unique due to some known issues if a duplicate alias name is created within the same Process Flow the predecessors will not be evaluated properly.
 
For additional information pertaining to the the evaluation of subvars in a Component's Alias field reference the Applications Manager Development Guide, 7.9.2 Using Prompt Values in Process Flow Component Aliases.

You can use the numeric substitution variables by:

Just including the variable.

     Example: {#2}

Combining the substitution variable with text.

     Example: {#2}text

Combining the substitution variable with other substitution variables.

     Example: {#2}text{#today}