Title: Storyboard - TWS for z/OS 8.5.0 Conditional logic IBM Tivoli Software
1Storyboard -TWS for z/OS 8.5.0Conditional logic
IBM Tivoli Software
Rossella Donadeo
2TWS for z/OS 8.5.0 Storyboard Conditional logic
Overview
Disclaimer The purpose of this storyboard is to
gather customer feedback on the Conditional Logic
feature developed with TWS for z/OS 8.5.0
Release. The content of this storyboard is not
committed by IBM and may change over the course
of time based on gathered feedback and product
requirements.
3TWS for z/OS 8.5.0 Storyboard Conditional logic
Overview
This presentation will focus on
Customer value of Conditional logic
feature Description of Conditional Logic
feature implementation Scenarios that
illustrate main usage of the feature
Note Slides marked with the symbol have
associated slides notes.
4TWS for z/OS 8.5.0 Storyboard Conditional logic
Customer value
- Current Behavior
- With TWS for z/OS you can specify dependency
between operations in order to condition the
starting of an operation on the completion of all
its predecessors operations. - New Behavior
- You will have the possibility to define more
conditions on predecessors based on their final
status and Return Code. - Customer value
- An easy driven way to define workflows with
alternative branches mapped directly on the
Current Plan. - An easy way to monitor Conditional work
execution. - A general way to define conditional dependency
independently from z/OS environment (not JCL
oriented) - Current alternative for z/OS users is to use the
IF/THEN/ELSE JCL statements that cannot be
easily monitored via ISPF/WEB UI dialogue (they
are step dependencies defined within the JCL)
5TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- It will be possible to define a new kind of
dependency - the Condition
- Defined in AD database at operation level based
on logical combinations of conditional
dependencies on predecessor operations status or
return codes - Tracked in the Current Plan as a condition
defined on operations, either created at plan
creation time or added dynamically - Checked by Scheduler to decide if an operation is
eligible to be submitted or not - A new status, suppressed by condition, (X) will
be introduced to identify dead branch path in the
Plan.
6TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition definition
- It can be considered a combination of condition
dependencies. A condition dependency is a
condition defined for a specific operation
Status / Retun code value - Application Operation
- Condition Check Type (RC / STATUS)
- Logical Operator (GE,GT,LE,LT,EQ,NE,RG)
- Condition Check value (Rc value / Status
value) - E.g. ApplA_001 RC GE 0004
-
- Allowed status value are Error, Complete,
Suppressed by condition or Started - Allowed Return Code values are the ones possible
for the existing operation field Error Code (4
chars)
7TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition status /evaluation
- The Condition Dependency has its own status that
can be True, False or Undefined - The Condition status is the result of the
condition dependencies statuses combination - Scheduler will evaluate the Condition status each
time an operation, involved in the condition
dependencies, changes its status, until it
assumes the final value True or False. - An operation having a Condition Dependency will
have the status set to - W Waiting (Condition dependency is undefined,
that is not yet evaluated) - R Ready (Condition dependency is True)
- X Suppressed by condition (Condition dependency
is False)
8TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition types
- Three types of Conditional dependecies
combination can be defined - At least one of cond deps list
- At least n out of cond deps list
- All of cond deps list
9TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition definition rules
- You cannot have mixed combination of AND and OR
within the same Condition definition - But ...
- You can define more Conditions (of different
kind) on a single operation - You can chain Conditions via dummy operations
- You can use range operator for more common
scenarios - This guarantees the coverage of the major part of
user - Scenarios. For example, suppose we have the
following - four operations
- A1 Application A, operation 001
- B1 Application B, operation 001
- C1 Application C, operation 001
- D1 Application D, operation 001
10TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition definition rules
- Suppose you want to start operation Z1 when the
following Condition is true -
- ((A1 RC gt 4) and (B1 RC gt 4)) or ((C1 RC gt 8)
and (D1 RC gt 8)) - You can do this by defining
Y1 and Y2 are DUMMY operations
11TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition dependency definition rules
- Suppose now you want to start operation Z1 when
the following Condition is true -
- ((A1 RC gt 0) and (A1 RC lt 12)) or ((C1 RC gt0)
and (C1 RC lt 12)) - You do not need dummy operations you can simply
use the range operator
12TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition definition Rules
- You cannot define an operation both as a
conditional predecessor and a normal predecessor
of the same operation - This means that if you want to define only
conditional dependencies within the same
Application you need a bypass (All operation
within the same Application must be chained by
normal dependency) - The bypass is add a FOP dummy operation as
normal predecessor of all conditional operation.
13TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Condition definition rules
- You can define a condition on an E2E operation
only if it is with centralized script -
- The reason for this is that TWS support of
Conditional Logic is not available at TWS z/OS
8.5 GA time. -
- This support is required to handle the required
changes in the Symphony.
14TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Removal rules for operations with conditions
- The new status X has been defined for the
monitoring of Conditional workflow in order to
display the dead branches that will never be
executed - This leads to have a new meaning for the
occurrence status C it will be set when the
operations belonging to the occurrence are all in
C or X status - Conditional workflows imply the need to remove
automatically from the plan also the occurrences
in error status when the ended in error
operations have been handled by their recovery
jobs (no changes about completed occurrences).
15TWS for z/OS 8.5.0 Storyboard Conditional logic
Brief Description
- Removal rules for operations with conditions
- You can handle an error condition of an operation
by a condition dependency on a job defined as
recovery job (job option in the AD) -
- When a job ends in error, if the error code
matches the condition defined on a recovery job,
then the operation will be flagged as removable
from the plan - Thus an occurrence will be removed from next plan
if - Its status is C
- Its status is E and all its operations ended in
error have been handled by recovery jobs
16TWS for z/OS 8.5.0 Scenarios Persona and Goals
The following TWS for z/OS personas will be the
main exploiters of the TWS z/OS Conditional Logic
feature Kevin TWS z/OS Application
Manager Experience Goals Too much implementation
effort to workaround product behavior Tivoli
Workload Scheduler for z/OS is the most scalable
scheduler on the market and the company needs it,
but it should be improved with the requested
enhancements, to save the extra implementation
effort for fulfilling business scenarios End
Goals Deploy TWS for z/OS solutions to automate
business processes and reduce the Total Cost of
Ownership. Solutions must be simple, consistent
and, overall, reliable.
17TWS for z/OS 8.5.0 Scenarios Persona and Goals
Kevin currently uses JCL statements like COND of
IF/THEN/ELSE to implement workflows with
alternative branches. This definitions are done
at step/ level and have some disadvantages
Their status cannot be monitored via TWS for z/OS
unless you edit the JCL and check it against the
resulting joblog They cannot be defined across
different operations in the plan as they are JCL
step/job card specific The definitions are z/OS
specific. This means that alternative branches
cannot be extendend to distributed jobs or other
kind of operations (e.g. general workstation)
18TWS for z/OS 8.5.0 Scenarios Outline
- Handle Conditions in AD database
- Define an operation as recovery job in AD
- Handle Conditions in Long Term Plan
- Handle Conditions in Current Plan
19Scenario 1
- Focus on Handle Conditions in database
- Define Conditions
- Modify Conditions
- Display Conditions
20Scenario 1 Handle Conditions in database
- Kevin wants to define one Application (APPLA),
made by 4 operations - CPU1 001 JOBA
- CPU1 002 JOBR1
- CPU1 003 JOBR2
- CPU1 004 JOBB
-
- JOBB must be run after successful completion of
JOBA or after an appropriate recovery job is run
to handle JOBA error conditions. - JOBR1 is the recovery jobs that handles JOBA
operation RC value less than 4. - JOBR2 is the recovery jobs that handles JOBA
operation RC values greater than 4. - To obtain this Kevin first of all defines via
ISPF the application adding a dummy operation
(DMY 099) that is predecessor of all the others
operations - Ws No. Jobname Int Pred
- DMY 099
- CPU1 001 JOBA 099
- CPU1 002 JOBR1 099
- CPU1 003 JOBR2 099
- CPU1 004 JOBB 099
21Scenario 1 Handle Conditions in database
Kevin defines all the operations in the
application and to display the number of
conditions in the panel issue the command TEXT
EQQAMOPL ------------------------ OPERATIONS
----------------- Row 1 to 5 of 5 Command gt
Scroll gt PAGE
Enter/Change data in the rows, and/or enter any
of the following row commands
I(nn) - Insert, R(nn),RR(nn) -
Repeat, D(nn),DD - Delete
S - Select operation details, J - Edit JCL
Enter the PRED
command above to include predecessors in this
list, or, enter the GRAPH command to
view the list graphically.
Application
APPLA
Row
Oper Duration Job name Operation text
Number of cmd
ws no. HH.MM.SS
Conds '''' GENN 099
00.00.01 ________ ________________________ 0
'''' CPU1 001 00.00.01 JOBA____
________________________ 0
'''' CPU1 002 00.00.01 JOBR1___
________________________ 0
'''' CPU1 003 00.00.01 JOBR2___
________________________ 0
'''' CPU1 004 00.00.01 JOBB____
________________________ 0
Bottom of data
22Scenario 1 Handle Conditions in database
Kevin at this point go to modify the existing
operation CPU1 002 (JOBR1) in order to define a
condition dependency and enter option 1 to select
predecessor option
EQQAMSDP --------------------- OPERATION DETAILS
----------------------------- Option gt 1
Select one
of the following
1
PREDECESSORS - List of predecessors
2 WS RES AND SERVERS
- Work station resources and servers
3 SPECIAL RESOURCES - List of special
resources 4
AUTOMATIC OPTIONS - Job, WTO, and print options
5 FEEDBACK
- Feedback options
6 TIME - Time
specifications
7 OP INSTRUCTIONS - Operator instructions
8 JCL EDIT
- Edit JCL
9 CLEANUP OPTIONS - Cleanup Options
10 EXTENDED
INFO - Operation extended info
11 AUTOMATION INFO - System
Automation operation info
Application
APPLA
Operation CPU1 002
Duration
00.00.01
Jobname JOBR1
Number
of int preds 1 Number of ext
preds 0 Number of conds 0
23Scenario 1 Handle Conditions in database
Kevin issues the COND command to go to define the
condition dependency
EQQAMPDL ----------------------- PREDECESSORS
---------------- Row 1 to 1 of 1 Command gt
COND
Scroll gt PAGE
Enter the COND command to view list of
Conditions. Enter/Change data in the rows, and/or
enter any of the following row
commands
I(nn) - Insert,
R(nn),RR(nn) - Repeat, D(nn),DD - Delete
S - Description of external
dependency
Application
APPLA
Operation CPU1 002
JOBR1 Number of Conds 0
Row Oper Transport time
Application id Jobname cmd
ws no. HH.MM (for ext pred only)
''' DMY 099
_____ ________________ ________
Bottom of
data
24Scenario 1 Handle Conditions in database
The new panel EQQAMCCL is shown Kevin identifies
the condition with Id 001 and select it to
describe it in details
NEW
EQQAMCCL ------------- CONDITIONS DEFINITIONS
---------------- Row 1 to 1 of 1 Command gt
Scroll gt PAGE
Enter/Change data in the rows, and/or enter any
of the following row commands
I(nn) - Insert, R(nn),RR(nn) -
Repeat, D(nn),DD - Delete
S - Conditions details
Application APPLA
Operation
CPU1 002 JOBR1
Row Cond Condition Description Dep Condition
Rule cmd no.
No. S'' 001 JOBA 0 lt RC lt4________
0 Bottom
of data
25Scenario 1 Handle Conditions in database
The new panel EQQAMCCP is shown Kevin adds two
simple conditions with Rule All must be true to
say JOBR1 must be run if JOBA RC is gt 0 and lt 4
NEW
- EQQAMCCP ------------- CONDITION DETAILS
---------------- Row 1 to 1 of 1 - Command gt
Scroll gt PAGE -
- A Condition is made by a list of condition
dependencies related by a rule. - Each Dependency is defined on a Status or Return
Code value through operators EQ, NE, GE, GT,
LE, LT, RG. - To define a Dependency enter/change data in the
rows, using any of the following row commands
- I(nn) - Insert, R(nn),RR(nn) - Repeat, D(nn),DD -
Delete -
- Application APPLA
- Operation CPU1 002 JOBR1
- Condition Rule
- gt At least a subset of following list must be
true N Subset 000 - gt All in following list must be true Y
-
- Row Oper Application Id Jobname Cond
Cond Status Return Code - cmd ws. no. (for ext Adid only) Type OP
Value Value1 Value2
- CPU1 001 ________________ JOBA___ RC RG
_ 0001 0004 - Bottom of data
26Scenario 1 Handle Conditions in database
Kevin goes back to condition list panel and check
that now the defined dependency is 1, than go
back to previous panel to add a condition to
JOBR2 job
NEW
EQQAMCCL ------------- CONDITIONS DEFINITIONS
---------------- Row 1 to 1 of 1 Command gt
Scroll gt PAGE
Enter/Change data in the rows, and/or enter any
of the following row commands
I(nn) - Insert, R(nn),RR(nn) -
Repeat, D(nn),DD - Delete
S - Conditions details
Application APPLA
Operation
CPU1 002 JOBR1
Row Cond Condition Description Dep Condition
Rule cmd no.
no. ''' 001 JOBA 0 lt RC lt4______ 1
All Bottom of
data
27Scenario 1 Handle Conditions in database
The new panel EQQAMCCL is shown Kevin identifies
the condition with Id 001 and select it to
describe it in details
NEW
EQQAMCCL ------------- CONDITIONS DEFINITIONS
---------------- Row 1 to 1 of 1 Command gt
Scroll gt PAGE
Enter/Change data in the rows, and/or enter any
of the following row commands
I(nn) - Insert, R(nn),RR(nn) -
Repeat, D(nn),DD - Delete
S - Conditions details
Application APPLA
Operation
CPU1 003 JOBR2
Row Cond Condition Description Dep
Condition Rule cmd no.
No. S'' 001 JOBA RC gt 4
____________ 0 All
Bottom of data
28Scenario 1 Handle Conditions in database
The new panel EQQAMMCP is shown Kevin adds only
one dependency with Rule All must be true to
say JOBR2 must be run if JOBA RC gt 4
NEW
EQQAMCCP ------------- CONDITION DETAILS
---------------- Row 1 to 1 of 1 Command gt
Scroll gt PAGE
A
Condition is made by a list of condition
dependencies related by a rule. Each Dependency
is defined on a Status or Return Code value
through operators EQ, NE, GE, GT, LE, LT, RG.
To define a Dependency enter/change data in the
rows, using any of the following row commands
I(nn) - Insert, R(nn),RR(nn) - Repeat, D(nn),DD
- Delete
Application APPLA
Operation CPU1 003 JOBR2 Condition
Rule gt At least a subset of following list must
be true N Subset 000 gt All in following list
must be true Y
Row Oper Application Id Jobname Cond
Cond Status Return Code cmd ws. no.
(for ext Adid only) Type OP Value
Value1 Value2
CPU1 001 ________________ JOBA___ RC GT _
0004 ____
Bottom of data
29Scenario 1 Handle Conditions in database
Finally Kevin define the condition for JOBB
NEW
EQQAMCCL ------------- CONDITIONS DEFINITIONS
---------------- Row 1 to 1 of 1 Command gt
Scroll gt PAGE
Enter/Change data in the rows, and/or enter any
of the following row commands
I(nn) - Insert, R(nn),RR(nn) -
Repeat, D(nn),DD - Delete
S - Conditions details
Application APPLA
Operation
CPU1 004 JOBB
Row Cond Condition Description Dep
Condition Rule cmd no.
no. S'' 001 JOBA or JOBR1 or
JOBR2 __ 0
Bottom of data
30Scenario 1 Handle Conditions in database
This time the needed rule is at least on of
(OR) to say that JOBB must be run if at least one
among JOBA, JOBR1 and JOBR2 completes. The simple
conditions are 3
NEW
- EQQAMCCP ------------- CONDITION DETAILS
---------------- Row 1 to 1 of 1 - Command gt
Scroll gt PAGE -
- A Condition is made by a list of condition
dependencies related by a rule. - Each Dependency is defined on a Status or Return
Code value through operators EQ, NE, GE, GT,
LE, LT, RG. - To define a Dependency enter/change data in the
rows, using any of the following row commands - I(nn) - Insert, R(nn),RR(nn) - Repeat, D(nn),DD -
Delete -
- Application APPLA
- Operation CPU1 004 JOBB
- Condition Rule
- gt At least a subset of following list must be
true Y Subset 001 - All in following list must be true N
- Row Oper Application Id Jobname Cond
Cond Status Return Code - cmd ws. no. (for ext Adid only) Type OP
Value Value1 Value2 - CPU1 001 ________________ JOBA___ ST EQ
C - CPU1 002 ________________ JOBR1__ ST EQ
C - CPU1 003 ________________ JOBR2__ ST EQ
C
31Scenario 1 Handle Conditions in database
At this point Kevin has added in AD database the
Application APPLA with one Condition for
operation 002 003 and 004
32Scenario 1 Handle Conditions in database
To check the just defined conditions Kevin goes
to the BROWSE Operation panel, then select CPU1
004 JOBB to check Condition definition
EQQABOPL -------------------- BROWSING OPERATIONS
------------ Row 1 to 5 of 5 Command gt
Scroll
gt PAGE
Enter the
PRED command above to include predecessors in
this list, or, enter the GRAPH command
above to view operations graphically.
Enter the row command S to select the
details of an operation. Enter
the row command J to browse the JCL
Application APPLA
Row Oper Duration Job name
Operation text Number of
cmd ws no. HH.MM.SS
Conds
'''' GENN 099 00.00.01
0 '''' CPU1 001
00.00.01 JOBA 0
'''' CPU1 002 00.00.01 JOBR1
1 ''''
CPU1 003 00.00.01 JOBR2
1 S''' CPU1 004 00.00.01
JOBB
1 Bottom of data
33Scenario 1 Handle Conditions in database
The operation detail panels show that we have
only one condition defined on JOBB. Selecting
option 1 Kevin go to BROWSING PREDECESSORS panel
EQQABSDP ---------------- BROWSING OPERATION
DETAILS -------------------------- Option gt 1
Select one of the following
1 PREDECESSORS - List of
predecessors 2
WS RES AND SERVERS - Work station resources and
servers 3 SPECIAL RESOURCES
- List of special resources
4 AUTOMATIC OPTIONS - Job, WTO, and
print options 5
FEEDBACK - Feedback options
6 TIME
- Time specifications
7 OP INSTRUCTIONS - Operator
instructions 8
JCL BROWSE - JCL browse
9 CLEANUP OPTIONS
- Cleanup Options
10 EXTENDED INFO - Operation
Extended Info 11
AUTOMATION INFO - System Automation Operation
Info
Application APPLA
Operation
CPU1 4
Duration
00.00.01
Jobname JOBB
Number of int
preds 1 Number of ext preds
0 Number of conds 1
34Scenario 1 Handle Conditions in database
To display the Defined Conditions Kevin issues
the COND command
EQQABPDL ------------------- BROWSING
PREDECESSORS ----------- Row 1 to 1 of 1 Command
gt COND
Scroll gt PAGE Enter COND command to
list the existing Conditions.
Enter the row command S to select the
description of an external predecessor.
Application APPLA
Operation CPU1 004 JOBB
Row Oper Transport
Application id Jobname cmd
ws no. time (for ext pred only)
' GENN 099
Bottom of
data
35Scenario 1 Handle Conditions in database
The COND command lead to panel EQQABCCL where
Kevin can see the list of Conditions defined on
JOBB Selecting the only one defined Kevin goes
to display the Condition details
NEW
EQQABCCL ------------------- BROWSING CONDITIONS
----------- Row 1 to 1 of 1 Command gt
Scroll gt PAGE Enter the row command S to
select the description of a Condition
Application APPLA
Operation CPU1 004 JOBB
Row Cond Condition Descriptions Dep
Condition Rule cmd no.
no. S 001 JOBA or
JOBR1 or JOBR2 3 At least one of
Bottom of data
36Scenario 1 Handle Conditions in database
Kevin check that the Browse Condition correctly
shows 3 Simple conditions chained in OR (At least
one of is the rule)
NEW
- EQQABCCP ----------- BROWSING CONDITION DETAILS
--------------- Row 1 to 1 of 1 - Command gt
Scroll gt PAGE -
- A Condition is made by a list of condition
dependencies related by a rule. - Each Dependency is defined on a Status or Return
Code value through operators EQ, NE, GE, GT,
LE, LT, RG. -
- Application APPLA
- Operation CPU1 004 JOBB
- Condition Rule At least one of following list
must be true - Oper Application Id Jobname Cond Cond
Status Return Code - ws. no. (for ext Adid only) Type OP
Value Value1 Value2 Oper CPU1 001
JOBA ST EQ C - CPU1 002 JOBR1 ST EQ C
- CPU1 003 JOBR2 ST EQ C
- Bottom of data
37Scenario 2
- Focus on
- Define an operation as recovery job in database
38Scenario 2 Define an operation as recovery job
- Kevin has defined APPLA as we have just seen in
previous slides. - Now he has a problem
- how to automate the removal of an instance of
APPLA in the current plan whenever JOBA ends in
error but a recovery job (e.g. JOBR1) fixes the
problem so that JOBB can be run successfully? - SCENARIO 1
- JOBA runs and completes
- JOBR1 is set to suppressed by condition because
its condition is false. - JOBR2 is set to suppressed by condition because
its condition is false. - JOBB runs and completes as its condition become
true as soon as JOBA completes. - Final statuses of operations are
- DMY 099 C Complete
- CPU1 001 JOBA C Complete
- CPU1 002 JOBR1 X Suppressed by condition
- CPU1 003 JOBR2 X Suppressed by condition
- CPU1 004 JOBB C Complete
- The occurrence is set to C status and will be
removed from the plan at next extension.
39Scenario 2 Define an operation as recovery
job
- SCENARIO 2
- JOBA fails with RC 4
- JOBR1 runs and completes because its condition
becomes true. - JOBR2 set to suppressed by condition because its
condition becomes false. - JOBB runs and completes as its condition become
true as soon as JOBA completes. - Final statuses of operations would be
- DMY 099 C Complete
- CPU1 001 JOBA E Error RC 4
- CPU1 002 JOBR1 C Complete
- CPU1 003 JOBR2 X Suppressed by condition
- CPU1 004 JOBB C Complete
- The occurrence is set to E status and for this
reason is not removed from plan at next
extension. - But from Kevin point of you the JOBA failure has
been recovered so that the occurrence could be
removed. - To obtain this Kevin can define JOBR1 and JOBR2
as recovery jobs, meaning - If JOBA ends with an error code matching the
condition defined for a - recovery job, ignore the error for occurrence
removal.
40Scenario 2 Define an operation as recovery
job
Kevin set the recovery job field to Y to say if
JOBA ends in error and is recovered by JOBR1,
JOBA can be removed from the plan
EQQAMJBP ---------------- JOB, WTO, AND PRINT
OPTIONS ------------------------- Command gt
Enter/Change data below
Application APPLA
Operation
CPU1 002 JOBR1
JOB CLASS gt _
Job class of corresponding job
ERROR TRACKING gt Y Y means
error automatically tracked HIGHEST
RETURNCODE gt ____ Highest return code
not in error EXTERNAL MONITOR gt N
Job monitored by external product (Y/N)
CENTRALIZED SCRIPT gt N
Centralized script Y/N (for FTW only)
RECOVERY JOB gt Y Recovery job
for a cond predecessor (Y/N) CRITICAL
gt N Critical job N P W
POLICY gt _ CLASS gt ________
WLM Policy and Service Class Job release
options Answer Y or N for options
below SUBMIT gt Y
Automatically submitted
HOLD/RELEASE gt Y Automatically
held and released TIME DEPENDENT
gt N Run the job at specified time
SUPPRESS IF LATE gt N
Suppress the job if not on time
DEADLINE WTO gt N Deadline WTO,
Y or N WS fail options
RESTARTABLE gt _
Operation is restartable
REROUTEABLE gt _ Operation is
eligible for reroute Print options
FORM NUMBER gt ________
SYSOUT CLASS gt _
41Scenario 2 Define an operation as recovery
job
Kevin browse the operation after the setting of
new field
EQQABJBP ----------- BROWSING JOB, WTO, AND PRINT
OPTIONS --------- Command gt
View data
below
Application APPLA
Operation
CPU1 2 Job
name JOBR1
Job class
Error tracking
Yes
Highest return code
External monitor No
Centralized
script No Recovery job Yes
Critical No
WLM Class
WLM Late Job Policy Deadline WTO
No
Job release options
Submit
Yes Hold/release Yes
Time dependent
No Suppress if late No
WS fail options
Restartable
Rerouteable
Print options
Form number Sysout
class
42Scenario 3
- Focus on
- Handle condition dependencies on Long Term Plan.
43Scenario 3 Handle condition dependencies on LTP
LTP shows only the external dependencies. For
this reason our previous example with APPLA
having all internal dependencies has no impact on
LTP. But suppose to define a cloned situation
using all different applications (ZA, ZR1, ZR2
and ZB)
44Scenario 3 Handle condition dependencies on LTP
Kevin run an LTP extend with AD containing APPLA,
ZA, ZR1, ZR2 and ZB with run cycle saying that
they must run every day at 10.00. APPLA has no
PRED and SUCC as expected
EQQLSTOL ----------- LONG TERM PLAN OCCURRENCES
(left part) - row 1 to 10 of 10 Command gt
Scroll gt CSR
Enter the CREATE command above to create a new
occurrence or enter the GRAPH
command above to view occurrences graphically,
or, enter any of the commands below
B
- Browse, D - Delete, J - Job setup, M - Modify,
RG - Remove from Group
Row Application id Input arrival
Deadline P C Pre Suc Cond Cond cmd
date time date time
Pre Suc ''' APPLA 08/04/29 10.00
08/04/29 23.45 1 N 0 0 0 0 ''' ZA
08/04/29 10.00 08/04/29 23.45 1 N 0
0 0 3 B'' ZB 08/04/29 10.00
08/04/29 23.45 1 N 0 0 3 0 ''' ZR1
08/04/29 10.00 08/04/29 23.45 1 N 0
0 1 1 ''' ZR2 08/04/29 10.00
08/04/29 23.45 1 N 0 0 1 1 ''' APPLA
08/04/29 10.00 08/04/29 23.45 1 N 0
0 0 0 ''' ZA 08/04/29 10.00
08/04/29 23.45 1 N 0 0 0 3 ''' ZB
08/04/29 10.00 08/04/29 23.45 1 N 0
0 3 0 ''' ZR1 08/04/29 10.00
08/04/29 23.45 1 N 0 0 1 1 ''' ZR2
08/04/29 10.00 08/04/29 23.45 1 N 0
0 1 1
Bottom of data
45Scenario 3 Handle condition dependencies on LTP
Kevin issue the row command B to browse ZB
Occurrence and EQQLBOCP panel is shown were the
details about conditional one is displayed. At
this point Kevin select option 2 to check
Application dependencies
EQQLBOCP ------------------- BROWSING AN
OCCURRENCE --------------------------- Option
gt 2
Select one of the following
1 OPERATIONS - Browse
operations
2 APPLICATION DEP - Browse dependencies
(application level) 3
OPERATION DEP - Browse dependencies (operation
level)
Application ZB
Input arrival
08/03/29 10.00
Deadline 08/03/29 23.45
Owner
KEVIN
Priority 1
Error
code
Variable table
Successors
0 Conditional Succ 0 Predecessors
0 Conditional Pred 3
Manually created No
Group Definition
46Scenario 3 Handle condition dependencies on LTP
Kevin issues the row command B to browse ZB
Occurrence and EQQLBOCP panel is shown were the
details about conditional one is displayed. At
this point Kevin select option 2 to check
Application dependencies
EQQLBBDL ------------------- BROWSING
DEPENDENCIES ----------- Row 1 to 1 of 1 Command
gt
Scroll gt CSR
View data below
Application ZB
Input arrival
08/04/29 10.00
Deadline 08/04/29
23.45
Dep Application id
Input arrival Complete Manually Deleted
Type date time
created PC ZA
08/04/29 10.00 N N N
PC ZR1 08/04/29 10.00 N
N N PC ZR2 08/04/29
10.00 N N N
Bottom of data
47Scenario 3 Handle condition dependencies on LTP
Kevin can delete/add normal predecessor or
successors but cannot do this on conditional
ones
EQQLCDPL ------------------- MODIFYING
DEPENDENCIES ----------- Row 1 to 1 of 1 Command
gt
Scroll gt CSR
Enter the CREATE command above to create a new
dependency or enter any of the
commands below B - Browse, D -
Delete Conditional predecessors/ successors
cannot be created.
Application ZB
Input arrival
08/04/29 10.00
Deadline 08/04/29 23.45
Row Dep Application
id Input arrival Complete Manually Deleted
cmd Type date time
Created ' PC
ZA 08/04/29 10.00 N N
N ' PC ZR1
08/04/29 10.00 N N N ' PC
ZR2 08/04/29 10.00 N N
N Bottom of
data
48Scenario 4
- Focus on Handle Conditions in CP
- For a specific operation in Current Plan
- Display Conditional Predecessors / Successors
- Display Defined Conditions
- Add / Modify / Delete a Condition
49Scenario 4 Handle Conditions in CP
Kevin browses the operation APPLA CPU1 004 and
from EQQSOPSP select option 4 to check related
dependency info (conditional or not)
EQQSOPSP SELECTING APPLICATION OCCURRENCE AND
OPERATION INFORMATION ---------- Option gt 4
Select one of the following
1
APPLICATION - Detailed application
occurrence information 2 OPERATION
- Detailed operation information
3 OPERATION LIST - Operations
of the application occurrence 4
DEPENDENCIES - Immediate predecessor and
successor information 5 RESOURCES
- List of resources used by the operation
6 JCL - Browse the JCL
7
OPERATOR INSTR - Operator instructions
8 EXTERNAL DEPS
- Immediate external dependencies of the
occurrence 9 ALL DEPS - All
dependencies of this operation
10 CLEANUP OPTIONS - Cleanup options
11 EXTENDED INFO
- Operation extended info
12 AUTOMATION INFO - System
automation operation info
Application
APPLA
Operation CPU1 004
Jobname
and jobid JOBB JOB00245
Status of
operation Completed
on Work Station
Priority of operation 5
Planned input
arrival 08/04/28 11.11
Actual input arrival 08/04/28
11.20
50Scenario 4 Handle Conditions in CP
Kevin can see that JOBB has 3 conditional PRED
and one normal PRED (GENN 099). APPLA run
successfully GENN 099 completed, JOBA run ok,
JOBR1 and JOBR2 were consequently set to dummy
complete (X) and JOBB finally run ok.
EQQSPP1L -- PREDECESSORS AND SUCCESSORS TO AN
OPERATION (left Row 1 to 4 of 4 Command gt
COND
Scroll gt PAGE Issue command COND to show
list of defined Conditions. Scroll right or enter
the row command S to select an operation for
details.
Application APPLA
Operation
CPU1 4
Jobname JOBB
Row Type Operation
Jobname Application id Status
cmd ws no. text
''' P GENN
099 APPLA
C ''' PC CPU1 001
APPLA C ''' PC
CPU1 002
APPLA X ''' PC CPU1 003
APPLA
X Bottom of data
51Scenario 4 Handle Conditions in CP
Kevin issues the COND command to check the
Conditions defined on JOBB.
EQQSPP1L -- PREDECESSORS AND SUCCESSORS TO AN
OPERATION (left Row 1 to 4 of 4 Command gt
COND
Scroll gt PAGE Issue command COND to show
list of defined Conditions. Scroll right or enter
the row command S to select an operation for
details.
Application APPLA
Operation
CPU1 4
Jobname JOBB
Row Type Operation
Jobname Application id Status
cmd ws no. text
''' P GENN
099 APPLA
C ''' PC CPU1 001
APPLA C ''' PC
CPU1 002 APPLA
X ''' PC CPU1 003
APPLA
X Bottom of data
52Scenario 4 Handle Conditions in CP
Kevin sees that only one condition is defined,
having 3 simple conditions chained by the At
least one of rule (OR). At this point Kevin
select the Condition to check details
NEW
EQQSCP1L ------- BROWSING condition dependencies
------------ Row 1 to 4 of 4 Command gt
Scroll
gt PAGE Enter the row command S to show
Condition details.
Application APPLA
Operation
CPU1 4
Jobname JOBB
Row Cond Condition
Description Dep Condition Rule
cmd no. no. S'' 001 JOBA or
JOBR1 or JOBR2 3 At least one of
Bottom of data
53Scenario 4 Handle Conditions in CP
The condition is on JOBA, JOBR1 and JOBR2 status
Complete as previously defined in database
NEW
EQQSOCCP ----------- BROWSING CONDITION DETAILS
--------------- Row 1 to 3 of 3 Command gt
Scroll gt PAGE
A
Condition is made by a list of condition
dependencies related by a rule. Each Dependency
is defined on a Status or Return Code value
through operators EQ, NE, GE, GT, LE, LT, RG.
Application APPLA
Operation CPU1 004
JOBB Condition Rule At least one of following
list must be true Oper Application Id
Input arrival Jobname Cond Cond Cond
ws. no. (for ext Adid only) Date Time
Type OP Value
CPU1 001 08/04/28 11.11 JOBA ST EQ C
CPU1 002 08/04/28 11.11 JOBR1 ST EQ C
CPU1 003 08/04/28 11.11 JOBR2 ST EQ C
Bottom of data
54Scenario 4 Handle Conditions in CP
- Kevin at this points wants to change APPLA
conditions by adding a third - job (JOBR3) to handle the JOBA RC greater than 16
that is - If JOBA fails with RC
- gt 0 and lt 4 run JOBR1 to recover
- gt 4 and lt 16 run JOBR2 to recover
- gt 16 run JOBR3 to recover
- JOBB can run if at at least one among JOBA,
JOBR1, JOBR2 and JOBR3 - run ok.
- Kevin can do this directly in Current Plan for
the just added occurrence by - Adding the new operation CPU1 005 JOBR3 chaining
it to the dummy operation 099 - Defining a Condition on JOBR3 about RC gt 16
- Changing the Condition defined on JOBR2 with new
limit RC lt 16 - Changing the Condition on JOBB adding the
condition dependency on JOBR3 too
55Scenario 4 Handle Conditions in CP
Kevin adds CPU1 005 JOBR3 to the existing
occurrence in the plan and select it to modify
operation details
EQQMMOPL --------- MODIFYING OPERATIONS IN THE
CURRENT PLAN -- Row 1 to 6 of 6 Command gt
Scroll gt CSR
Enter the GRAPH command above to view operations
graphically or change data in the
rows, and/or enter any of the following row
commands I(nn) - Insert, R(nn),RR(nn) -
Repeat, D(nn),DD - Delete
J - Edit JCL, O - Browse operator instructions,
S - Modify operation details L - Browse joblog
Application APPLA
Owner
KEVIN
Input arrival 08/04/29 10.00
Status
Completed
Row Operation Jobname
PS Duration Opt Ext Res Stat cmd ws no.
text HH.MM.SS S T
S/P S R1 R2 N Cu ''' CPU1 001 ____________________
____ JOBA____ 1 00.00.01 Y N 0 0 _ C
''' CPU1 002 ________________________ JOBR1___
1 00.00.01 Y N 0 0 _ X ''' CPU1 003
________________________ JOBR2___ 1 00.00.01 Y N
0 0 _ X ''' CPU1 004 ____________________
____ JOBB____ 1 00.00.01 Y N 0 0 _ C
''' GENN 099 ________________________ ________
1 00.00.01 Y N 0 0 _ C S'' CPU1 005
________________________ JOBR3___ 1 00.00.01 Y N
0 0 _ C
56Scenario 4 Handle Conditions in CP
Kevin select option 1 to modify dependencies
EQQMMODP -------- MODIFYING AN OPERATION IN THE
CURRENT PLAN ------------------ Option gt 1
Select
one of the following
1 DEPENDENCIES - Delete and add
(internal and external) 2 SPEC
RESOURCES - Special resources
3 AUTOMATIC OPTIONS -
Job, WTO, and print options
4 TIME - Time specifications
5 JCL
- Edit JCL for MVS job
6 GENERAL - General
information 7
CLEANUP OPTIONS - Cleanup Options
8 EXTENDED INFO
- Operation extended info
9 AUTOMATION INFO - Automation info
Application APPLA
Input arrival 08/04/29 10.00
Operation
CPU1 005
Duration (HH.MM.SS) 00.00.01
Jobname
JOBR3
External predecessors
No External Cond pred No
External
successors No External Cond succ No
Special resources No Number of Conds
0
57Scenario 4 Handle Conditions in CP
Kevin see that JOBR3 (CPU1 005) has defined as
internal predecessor GENN 099. He wants to add
the condition JOBR3 run only if JOBA fails
with RC gt 16. For this reason issues the COND
c