Understanding carry forward options
Job streams are carried forward when the production plan is generated. How the job stream is carried forward depends on:
- The carryforward keyword in the job stream. See carryforward.
- The enCarryForward global option. See HCL Workload Automation Administration Guide.
- The stageman -carryforward command-line keyword. See The stageman command.
- The carryStates global option. See HCL Workload Automation Administration Guide.
If a job is running when the production plan is generated, and the job stream that contains it is not carried forward, the job continues to run and is placed in a dedicated job stream called USERJOBS in the new production plan.
Global options | Carry forward operation |
---|---|
enCarryForward=all carryStates=() | Job streams are carried forward only if they did not complete. All jobs are carried forward with the job streams. This is the default setting. |
enCarryForward=no | No job streams are carried forward. If this option is set to no, running jobs are moved to the USERJOBS job stream. |
enCarryForward=yes carryStates=(states) | Job streams are carried forward only if they have both jobs in the specified states and the carryforward keyword set in the job stream definition. Only the jobs in the specified states are carried forward with the job streams. |
enCarryForward=yes carryStates=() | Job streams are carried forward only if they did not complete and have the carryforward keyword set in the job stream definition. All jobs are carried forward with the job streams. |
enCarryForward=all carryStates=(states) | Job streams are carried forward only if they have jobs in the specified states. Only jobs in the specified states are carried forward with the job streams. |
enCarryForward | stageman -carryforward | Resulting carry forward setting |
---|---|---|
NO | YES | NO |
NO | ALL | NO |
YES | NO | NO |
ALL | NO | NO |
ALL | YES | ALL |
YES | ALL | ALL |
YES | YES | YES |
- It ends in a SUCC state
- Its UNTIL time is reached
- It is cancelled.
If you set carryStates=(succ) and either enCarryForward=all or enCarryForward=yes,
then the next time you run JnextPlan there will be misalignment
between the preproduction plan and the new Symphony
file.
This happens because, the preproduction plan does not contain the
instances of job streams that ended successfully, but the new Symphony
file
does. The result of this misalignment is that dependencies are not
resolved according to carried forward successful job stream instances
because they no longer exist in the preproduction plan.
The decision to carry forward a repetitive job, that is a job that contains an every time setting in its definition, or a chain of rerun jobs is based on the state of its most recent run. Only the first job and the last job of the chain are carried forward.