SWG - TIVOLI Tivoli Workload Scheduler for z/OS Conditional and Step Dependencies Troubleshooting IBM Rome Tivoli Lab Via Sciangai, 53 00144, Rome – Italy Rossella Donadeo Tivoli Workload Scheduler development Version: 20111217 © Copyright IBM Corp. 2011 Table of Content 1. 2. 3. 4. Introduction...............................................................................................................................3 More frequent user errors / questions.................................................................................. 3 How to detect Step dependencies problems....................................................................... 4 How to detect Conditional Dependencies problems...........................................................6 1.Introduction Purpose of this document is to provide help in understanding more frequent user errors. Hints to detect and debug problems in this area are provided too. A knowledge of Conditional Logic feature is needed to read this document: for a complete and detailed explanation of Conditional logic feature we remand to the specific chapter dedicated to this argument in the TWS for z/OS Managing the Workload manual. 2. More frequent user errors / questions Hereafter more common users errors / questions follow: 1. I added an occurrence in the plan but Conditions were lost. Why? • When you add an occurrence via ISPF you must specify automatic dependency resolution to yes like you do for external dependencies resolution in order to have conditions added to the plan 2. I defined a step dependency but it remains hanging in undefined status, Why? • StepName and ProcStep were probably inverted in the step dependency definition: check it. • If this is not the case check that the A3S events were correctly generated. To do this checks that the Event Writer initial parameter statement specifies STEPEVENTS(ALL) or SDEPFILTER (startpos,string). If SDEPFILTER is used check that the programmer name of the job for which the step dependency has been defined is coherent with the SDEPFILTER values. 3. I have conditional dependencies in the plan hanging in undefined status even if the involved predecessor have already run. Why? • Probably an unexpected RC situation occurred. Check if the conditional predecessors have the unexpected RC flag on (directly browsing them or filtering the operations with this flag on). In other words when the conditional predecessor was set to C or E, there was no successor to be executed: in this case the condition dependency is left undefined. Another way to check this situation is to look on Controller log for related messages (EQQE141W, EQQE142W, EQQM125W) 4. A job failed and I want to rerun it but I'm not allowed to change the status to ready or execute a step restart even if no external dependencies exist. Why? • Probably the job has conditional predecessors or successors. In this situation status can change only within an occurrence rerun because conditions are like external predecessors... 5. A Conditional or Step Dependencies is in undefined status: they should be false and unexpected flag is off, Why? • Probably the Unexpected RC flag was reset by an unsuccessful Automatic Operinfo retrieval that caused predecessor error setting to CLNO. Check the unexpected RC looking at EQQE141 or EQQE142 messages on Controller log. 3. How to detect Step dependencies problems The typical problem with Step Dependencies is that they are still not evaluated at the end of the job running the JCL containing the step to be evaluated. This can happen for three kind of problems: 1. Step End event never arrived 2. Step End event arrived but it did not match the Step Dependency definition 3. Step End event arrived, matched the Step Dependency definition but “unexpected RC” occurred HOW TO RECOGNIZE WICH KIND OF PROBLEM OCCURRED? First of all look at Controller Message Log. There is always a message for all 3 kind of problems. These messages are issued also on the System log so it possible the triggering of a Netview alert mechanism. STEP END MISSING OR NOT RECOGNIZED: Situation 1) and 2) can always be recognized by the issuing of message EQQE127W both on Controller and System log: EQQE127W MISSING STEP END EVENT FOR OPERATION ApplicationName InputArrival OpNumber JOB NAME JobName. CONDITION DEPENDENCY Dependency IN CONDITION ConditionId DEFINED ON OPERATION ApplicationName InputArrival OpNumber WILL REMAIN UNDEFINED where Dependency is in expressed in the format: StepName ProcStep RC operator (one of GE/GT/LT/LE/EQ/NE) RetCode or StepName ProcStep RC RG Retcode1 RetCode2 From this message you can identify both the operations in the plan having • the JCL containing the missing step • the conditional successor with the Condition containing the not evaluated Step Dependency You can also detect that the Step Dependency has not been evaluated for this reason by browsing it and checking the Missing Step info flag. At this point, to understand if the Step is really missing or did not match our Step Dependency you must: • Check if the Step was really executed: for example if the Job ended in JCLI or Abended in a previous Step our Step End event was not produced: • • If so you can decide how to solve this situation: you can force the Step Dependency top False or True or you can rerun the occurrence after having fixed the error in the JCL. Check if the Step Dependency definition is correct. If the Step was really executed the Step End Event could be received but not recognized as the one indicated in our Step Dependency due to: • A typo error • A misunderstanding in StepName and ProcStep meaning: they could be inverted If so, fix the error, than you can decide how to solve this situation: you can force the Step Dependency top False or True or you can rerun the occurrence. • Check if Event Writer Configuration is wrong. If the Step was really executed the Step End Event was not received probably for a configuration error. So check all the Trackers EWTROPTS STEPEVENT definitions, they must be STEPEVENTS(ALL) or you must have SDEPFILTER keyword: check SDEPFILTER value against JCL programmer name: • If you find EWTROPTS configuration errors fix them, then stop restart Trackers rebuilding the SSX. • If you find a JCL programmer name error fix it in the JCL. • In any case for the current JCL problem you can decide how to solve this situation: you can force the Step Dependency to False or True or you can rerun the occurrence after having fixed the error in the JCL. STEP END RECEIVED BUT NOT EVALUATED: Situation 3) can always be recognized by the issuing of message EQQE142W both on Controller and System log: EQQE127W UNEXPECTED RC OCCURRED FOR OPERATION: ADID=ApplicationName, IA=InputArrival, OPNO=OpNumber, WS=WsName JOBNAME=Jobname, JOBID=JobId, DEST= Destination WHEN CHECKING END OF STEP: StepName ProcStep From this message you can identify the operation for which the Step End arrived and which was the Step. What happened is that a conditional successor with a Step dependency pointing to the specified Step was found but the Return code was not the expected one and there was no possible path in the plan. So an “unexpected RC” situation occurred and the Step Dependency was not evaluated. You can verify this by browsing the predecessor operation and checking the Unexpected RC flag: it should be set unless an unsuccessful Operinfo retrieval was executed caubing predecessor status change to Error with error code CLNO. In any case at this point you can decide how to solve this situation: you can force the Step Dependency to False or True or you can rerun the occurrence after having fixed the problem (adding a new path or making the Step run and end with the expected RC) 4. How to detect Conditional Dependencies problems The typical problem with Conditional Dependencies is that they are not evaluated at the end of the predecessor job. Usually this happen when an “Unexpected RC” situation occurs, that is when the predecessor job ends does not allow the start of any path in the plan. If this is the reason of the missing evaluation you can find on the Controller an System log the message EQQ141W: EQQ141W UNEXPECTED RC OCCURRED FOR OPERATION: ADID=ApplicationName, IA=InputArrival, OPNO=OpNumber, WS=WsName JOBNAME=JobName, JOBID=JobId, DEST=Destination WHEN SET TO STATUS Status. From this message you can identify the involved predecessor operation and its new Status. What happened is that a conditional successor with a dependency pointing to this operation was found but the Status / Return code was not the expected one and there was no possible path in the plan. So an “unexpected RC” situation occurred and the Dependency was not evaluated. You can verify this by browsing the predecessor operation and checking the Unexpected RC flag: it should be set unless an unsuccessful Operinfo retrieval was executed causing predecessor status change to Error with error code CLNO.
© Copyright 2025 Paperzz