ZEKE
ZEKE
ZEKE
TABLE OF CONTENTS:
1) Introduction-ZEKE
2) ZEKE Database
Event Master Record (EMR)
Schedule Queue Record (SQR)
Calendars
Schedule Function.
3) Dispatching an Event.
4) Logon Procedures
6) Event Status.
7) Primary Commands
8) Status of Jobs
1) Introduction-ZEKE:
ZEKE is the scheduling tool that automates job or events depending
Upon Conditions like requirements, Job dependencies, submit times etc., Basically
Events are “occurrence” means any of the following:
Zeke commands.
System commands.
Note:
When a scheduled event is a collection of jobs then all the jobs will run as a
Whole. No job will be left in the bunch of jobs.
2) ZEKE Database:
ZEKE is maintaining a Database where it stores scheduling and
dispatch information. The Database consist of lot of Records that contains information
To process an Event. They are:
Calendars.
Generation Options.
Security.
Variables.
Documentation.
Date and time the event runs, Job name and JCL source.
Job dependencies.
The Event will not be dispatched until the above conditions are satisfied
Schedule Function:
The ZEKE‘s SCHEDULE FUNCTION uses the Event Master
Record (EMR) to create the daily schedule. Obviously the SCHEDULE FUNCTION runs
At the start of the each working day to remove the previous day’s completed Schedule
and adding current day’s schedule.
Calendars:
In ZEKE Calendar means defining the working days, weekends, holidays to
ZEKE. If we did not define then by default ZEKE assumes that the working day from
Monday to Friday and weekends are Saturdays and Sundays and there are no holidays.
After defining the calendar we can make an event to run according to our needs.
If we want to run an event on all working days (Monday to Friday) then we can
Command as “OCCURS (WORKDAYS)”. The event will start to run from Monday
1 Standard Calendars
3 Special Calendars
1 Standard Calendars:
Generic Holidays Holidays that occur on the same date every year
Only need to be entered once. Similar to the
Perpetual feature, specify the year portion of
a holiday as four asterisks (****).
Standard calendars. We use them to define our workdays, weekends, and holidays. User
calendars are Different in the following ways:
Specific year User calendars are only valid for one specific
Year. Holidays, however, can be defined with four
Asterisks (****) in the YEAR field to keep them
Generic.
3 Special Calendars:
ZEKE offers Special calendars to events that do not comply with any scheduling
algorithm even though the OCCURS clause keywords are very flexible and offer
Literally thousands of scheduling possibilities, For these few events, Zeke supports
Special calendars.
We can use one Special calendar for several events, then use
Keywords to specify dates in the OCCURS clause. For example,
OCCURS (CALENDAR CAL1 AND MONDAY)
Calendar
Event Master Record (EMRs) Standard
OCCURS Clause Accounting
Special
3) Dispatching an EVENT:
An event is placed in Dispatch queue when it’s prerequisite
Conditions are satisfied. Before dispatching an event the ZEKE checks for the
Following:
4) Logon Procedures:
From the ISPF Panel type ‘TSO %ZEKE’ and press Enter.
Then shows the following Primary Menu for the ZEKE tool. Then choose ‘2’ for
Schedule View that is used to monitor the flow of events or jobs as shown below.
Then the following screen will be displayed from which we can track an event or
A job by filling some of the options in the screen.
JOBNAME: we can uniquely give the job name and search for the information on the
Job. For ex- we have given one job here to search the information on
The screen.
The following screen appears which tells us that the status of the job is
“SCHEDULED REFRESH HOLD” means the job Abended and operator
Has put a Refresh on the job and waiting for the instructions from the
Programmer.
EVENT NAME:
Event name can be given to search the information on particular event. As we discuss
earlier event may be a collection of jobs. Here we are giving an event name as follows to
find information on that event
By pressing enter we go to the screen that shows the jobs, which are all scheduled
Under this event. There are 2 jobs under this event. The following screen will show
That one job “FLRX0002” which is success and one more job namely “”FLRX4000”
Is in “SCHEDULED REFRESH HOLD” status.
APPLICATION:
Application is defined in such a way that explains whether it is daily job or monthly
Job or backup job for ex – application “DLY” means the job is a daily job
Application “MTH” means the job is monthly job
Application “BKP” means the job is a backup job etc
We can take an example to find the jobs that run on monthly basis fill the application
As “MTH” and press enter. We will get the list of all the jobs that run on monthly
Basis.
GROUP ID:
Job belong to each project (states in USA) have their Group ID.
For ex- group Id for Florida is FL2, for Washington id is WA. Etc.
USER ID:
Each project (or state) has its own user id and password which is unique for
Each state. We can search with this user id for events or jobs belong to that user id.
SYSTEM:
We can search an event or job through giving the system name on which
The job or event will run.
SCHED DATE:
We can give the scheduled date and can list all the jobs and events run on the
Date.
Note: Please note that the schedule date is the actual date on which the job is schedule
To run but there is possibility that when the job abends then programmers may leave
The job to run on some other day.
RUNDATE:
Run date is the date on which the job or event started to run. There
Is the difference between run date and shed date.
6) Event status:
In the Right side we can see ‘Event Status’, in which the following options are
Available. These options can be selected accordingly to view a concise form of
Information on an Event. The option are explained below
Actv: Y - Active- Y / N
Choose Y (YES)-only to view that are in active status
Choose N (NO) only to view that are not in active status
Pend: Y -Pending-Y/N
Choose Y (YES)-only to view that are in pending status.
Done: Y Done-Y/N
Choose Y (YES)-only to view that are completed.
Choose N (NO)- only to view that are not completed.
7) Primary Commands:
Here are some frequently used Primary commands to view the Schedule in ZEKE.
Note:
When viewing a Job in pending status if it shows as SJCL then the Job is in
SKELETON status.
8) Status of Jobs:
There are various statuses that a Job can show in ZEKE. Here we can find
Information on all the possible statuses of jobs.
STATUS - EXPLAINATION
SUCCESS FAILED ONCE – Job is failed once or multiple times but after reran
It ran successfully.
SUCCESS FORCED FAILED ONCE – Job failed once or multiple times but
After that forced to success (force completed)
SCHEDULED – The job is in schedule for the day but till now the time or Job
Dependencies are not yet met.
SCHEDULED TIME OK – The time dependency for the job is met or no time
Is defined for the job and Waiting for job
Dependency.
SCHEDULED WHEN OK - The Job dependency is met and waiting for time
Is not met
Note:
The Job is put on hold but giving “HOLD” command before the job.
DISPATCHING PENDING- The job is ready to run but due some reasons it
Is not running. Reason may be waiting for
Initiators, datasets, resources etc.
1) Abended jobs:
On ZEKE Primary Menu issue Command “ZD AB SYS *” and press ENTER to see the
jobs in Abended Status. The below screen shot shows the information on the job or event.
SCHED- Actual scheduled time of the job on which it has to run but has not run.
FREQ – The FREQUENCY in which the job is going to RUN. I.e. If the JOB
Is going to RUN for multiple times in a day’s schedule then time interval
Between each run of this JOB is given here.
Note: TIMES –Number of times the job will run on the day’s schedule
2) Active Jobs:
The Command “ZD ACT SYS *” will give the list active jobs in all
The systems. Here is screen shot for information on active jobs.
Note:
• Even though DATE and RDATE appears to be same for all jobs some
Times there may be a difference. For ex- if the operator takes some action
On A job which Abended in the previous day then it may show the DATE
As the previous day and RDATE as the current date.
DP- DISPATCH PRIORITY .The ZEKE assigns priority to each job for running.
If required we can change the priority of the Job.
The highest dispatch priority is 0.
STATUS- ACTIVE. The Job is ACTIVE now. Also shows the time at which the Job
Started.
3) Waiting Jobs:
The Command ”ZD WA SYS *” will show Jobs which are in waiting
Status. Here is the Screen shot for that.
NEED RESOURCES- job is waiting for some resources such as datasets etc
4) Pending Jobs:
To View the Jobs in Pending Status issue “ZD PEND SYS *”. See the
Following screen shot which shows that there is no matching entries for the system.
Note:
Pending may be because of the Job in Contention with dataset or due to some
tape mount pending etc.
When viewing a Job in pending status if it shows as SJCL then the Job is in
SKELETON status.
5) Late Jobs:
To view the Jobs in LATE status issue command “ZD LATE SYS *” and press
Enter. Following screen should be displayed .If there is any late jobs then we have to
Investigate on them
6) Hold Jobs:
To view the jobs that are in hold status issue command “ZD HOLD SYS *”
The following screen shot shows a typical output of the job.
HOLD RFSH: we have put a ‘REF’ before the Abended job and it is waiting for
Resolution from the programmer.
HOLD SJCL: This happens when the job comes to SKELETON status.
Here are some frequently used Line commands to view the Schedule in ZEKE.
WH-Display and change the WHEN conditions for the selected event
During this schedule run.
PRED*- Shows all the predecessors of the job from the starting of the stream.
SUCC* - Shows all the Successors of the job till the end of the stream.
(JCLLIB2)
Note:
DEL- Deletes the Job from ZEKE schedule for the day.
Note: When we rebuild a job, it is set to restart, but prerequisite conditions need
To be satisfied before the Job can run.
?:
The help command to know about all the line commands is ‘?’.
Issue ‘?’ in line command against any Job and get the list of all
The explanations on all the line commands. The following screen
Is displayed.
WH:
The ‘WH’ command is used to see the job that is going to trigger this Job
This command has to be given in line as shown below .
Here we are taking a job ‘GCFL222U’ as example to view the information on this job.
The information is about the condition that has to be satisfied for run of this job.
Here for this job the condition is as shown below screen.
The screen shows the conditions are “NOT DURING GCFL222D NOT DURING JOB
GCFL22T”. From this we came to know that the job GCFL222U’ has a mutually
exclusive condition with two jobs ‘GCFL222D’ and ‘GCFL22T’.
So we came to know that this job could run only when those two jobs are not running
In some cases it will show the condition as ‘EOJ JOBNAME” which means that the job
Will run only at the end of the mentioned job.
NOTE:
When we see a “*EOJ” before the job then the information is that the JOB is
scheduled for the day and completed successfully.
When we see a “#EOJ” before the job then the information is that the JOB is not
Scheduled for the day and there is no need to wait for this job.
PRED:
This line command is used to get the predecessors of a particular Job. We can take
A job and see the predecessors of that job. For ex- taking a job “CHED4600” and give
“PRED” before the job as shown below.
The following screen appears which shows that the job “CHED4500” is only predecessor
of the job “CHED4600”. Also note that there EOJ before the predecessor job which tells
us that only at the End Of the Job “CHED4500” the job will be triggered.
Also the screen Shows level number of the jobs, event no, current date and average
duration the job will run.
Note:
The Line command “PRED*” will show all the predecessors of the job
From the starting of the stream.
In the same way “*SUCC*” will show all the successors of the job
Till the end of the stream
There is a column at the left side of each job named ”LVL” which is the level
Number of the job.
SUCC:
The Line command “SUCC” will show the successors of the job. Lets take a job
“DBS003” and give SUCC in front of the job and press enter.
The following will be displayed which shows the successors of the job .the job
“DBSXMIT” is the only successor of the job “DBSRESTOR”. Also the screen
Shows level number of the jobs, event no, current date and average duration the
The job will run.
PATH:
The line command “PATH” will show the path (stream of jobs including predecessors
and successors) of the job. Lets take an example of job ‘DBSRESTOR’ and try to see
The predecessors and successors of the Job. Now give a command ‘PATH’ in front
The job and press enter as shown below.
The below screen shows the predecessors and successors of the job ‘DBSRESTOR’.
ZO:
The line command “ZO” (zoom) Display info for a job in one screen. The
information are the run date, scheduled date, library from where the ZEKE will take
JCL etc.
EVENT NAME- the name of the Event to which the job ‘DBSRESTOR’ belong to.
APP- Application of the job. For ex - Application “DLY” means the job is a daily job
Application “MTH” means the job is monthly job
Application “BKP” means the job is a backup job etc
JCL – this points to a PDS from which the job is going to take the JCL to run.
1) RESTART
a) From TOP or RESUBMIT a Job.
b) From the Abended step.
c) From Override library.
1) RESTART:
When a job Abended and if the programmer tells us to restart the job. We
have to make clear about the restart ie restart from TOP or restart from Abended step or
restart from override library.
Restarting a job from top and resubmitting are same. Once the programmer
Tells us to restart the job from top then we have to follow the procedure as below.
NO CHANGE in JCL means then we have to put ‘REF’ before the Job and
Press enter as follows.
Note that Refresh command will refresh the JCL of the job. After refreshing the job, issue
line command ‘RUN’ before the Job as follows.
CHANGE in JCL means we have to put ‘REB’ before the job and ‘RUN’ the
Job. Rebuild the job- fetches a fresh copy of JCL from library.
NOTE:
The difference between the restarting a job with NO CHANGE in JCL and
CHANGE in JCL is
In NO CHANGE in JCL we ‘REF’ and ‘RUN’ the Job.
In CHANGE in JCL we ‘REB’ and ‘RUN’ the Job.
If the programmer tells to restart the Job from Abended step then we have to
Follow the below procedure.
Step1- put ‘JCLR’ before the job and press enter as shown below.
Step 2- Then issue line command ‘ZO’ before the job and press enter. We will get
Following screen.
Step 3- in the above screen we have to put a ‘E’ before the JCL to edit the JCL (here I
Have put ‘B’ to browse) and press enter.
Step 4- Here shows the JCL for the Job that has to be edited with following
Information
Step 5- Press PF3 to come out of the screen that will save the changes automatically.
Now the job will start to run from the Abended step.
If the programmer tells us to restart the job from override library then
we have to follow this procedure.
Step 1- Issue the ‘ZA EV ****** PDSD JCLLIB2’ in command line where ***** is the
Event number of the job that needs to be restarted from over ride library.
Step-2 Issue a ‘ZO’ before the job to see the whether the PDS changed to JCLLIB2.
When the programmer wants to FDONE a Job we should follow the below
Procedure.
Step 1- Give the job name in SCHEDULE VIEW screen window and press enter.
Step 2- Issue ‘FDONE’ in command line of the job and press enter to force complete the
Job.
Step 1- from ZEKE – PRIMARY MENU select 2- Schedule View as shown below
Step 2 – Select 3 for ADD Function and press enter. Here comes the following
Screen.
Step 3- we have to choose the Job name to demand. Here we gave job name as
‘GCFL1750’ and selected option for HOLD-Y to bring the job in schedule
With a hold.
We have to select the SCHEDULE DATE and RUN DATE as per programmer
Instructions and press enter.
Step 4- Select the Job again and press ‘S’ to Schedule the Job for the day.
When a programmer requests to put a job on hold then we have to issue ‘HOLD’ in
the command line of the JOB and press enter.
Note- when a programmer requests to release a job then issue ‘REL’ in the command line
Of the job and press enter.
When issuing “PRED” before the Job and press enter, we will be able to see all the
Predecessors for the job. In which the Last Job found in the list is “GCFL050D” as
in below screen.