Professional Documents
Culture Documents
SETTING UP SCHEDULES
It is simple to set up schedules for Events, because the product uses free format, everyday
English for specifying schedule criteria. If any parameter you specify is ambiguous, the
product attempts a context analysis to work out the most likely meaning.
The following topics are presented in sequence, or you can select them by number.
A schedule specification can be in two parts, both of which are optional. The first part gives
a starting date and time, such as:
'9AM, JAN 1ST' or 'MIDNIGHT, 24 JUNE 1996' or '95.245'
The second part of the schedule specification describes an algorithm for computing
subsequent times and dates. Examples of this are:
'EVERY 2 WEEKS' or 'MONTHLY' or 'YEARLY' or 'ONCE'
Most of the times you define schedules, you will not need to specify a starting time and
date. The first time and date that match the criteria you have entered will be selected.
Examples of this are:
'DAILY AT 19.00' or 'WEDNESDAYS AT 3PM' or '13.00 WEEKDAYS'
Sometimes, though, you will want to specify both an algorithm and a starting date and time.
In this case you should separate the two parts of the specification with the keyword
STARTING. For example:
'DAILY AT 3PM STARTING JAN 1ST' &/ 'WEEKDAYS EXCEPT WEDNESDAYS
STARTING MON (2) JUNE'
Specifying ONCE requests, as you might expect, no repetition of the schedule. If this is
specified on a SCHEDULE, SUSPEND, RESUME, HOLD or RELEASE statement within
an Event definition, the statement is deleted immediately after execution.
The various elements of a date which you can use in your schedule specifications for Events
are described in the following pages. In general, words can often be shortened to only three
characters. There is no need to leave spaces between words as long as there are other
delimiting factors such as in
'SAT25JUN' &/ 'MON (1) JULY' &/ 'EVERY5MINUTES'.
You can work through the following topics in sequence, or select them by number.
Month names
As you might expect, the recognized month names are JANUARY, FEBRUARY,
MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER,
NOVEMBER and DECEMBER. You can abbreviate when you are specifying a schedule.
Use month names which you have shortened to three letters if you prefer - JAN, AUG &
JUN.
Time zones
LT Local time
LOCAL Local time
GMT Greenwich Mean Time
AST Atlantic Standard Time
EST Eastern Standard Time
CST Central Standard Time
MST Mountain Standard Time
PST Pacific Standard Time
ADT Atlantic Daylight Time
EDT Eastern Daylight Time
CDT Central Daylight Time
MDT Mountain Daylight Time
PDT Pacific Daylight Time
BST British Summer Time
Times of day
The following formats for times of day are recognized (where h and hh = hours,
mm = minutes and ss = seconds).
hh.mm &/ hh:mm &/ hh:mm:ss &/ hmm.
Days of months
If a number is followed by any of the qualifiers ST, ND, RD, or TH, it is recognized as a
day of the month. If you leave off the qualifier, then the day of the month is recognized
by context. The following are all valid:
'3RD JAN'
'21ST'
'24 TH'
'JULY12'
'6NOVEMBER'
If you use a number joined to the name of a month, it is also recognized as a day of the
month. For example:
Relative days
A relative day number can be included after a day of week name, for example MONDAY
(n). The exact meaning of 'MONDAY (n)' depends on what else you include in the schedule
statement. It could mean either the nth Monday from the current date, or the
nth Monday from the start of the month.
For example:
'MONDAY (1) MONTHLY' requests the first Monday of each month.
'SATURDAY (5) DAILY AT 6PM' requests an activity at 6pm every day, starting on the
fifth Saturday from today. If today happened to be a Saturday, specifying 'SATURDAY
(1)' would be TODAY.
Julian Date
A Julian date is recognized when a number is specified in either of two formats (where y
= year number and d = day number).
SCHEDULE QUALIFIERS
Many words and phrases, other than specific dates and times, can be used to help you
schedule Events at any time and at any intervals. You can work through the following list
of schedule terms in sequence or by qualifier name.
ANYDAY specifies that there is no day of the week restriction. DAILY means 'EVERY
1 DAY', which therefore includes weekends and holidays. EVERY n UNITS requests a
recurrence of the Event at every n unit of time. The units can be any of SECONDS,
MINUTES, HOURS, DAYS, WEEKS, MONTHS, or YEARS, while n can be any number
up to 32500. An example of this is 'EVERY 1 HOUR ROUND LESS 5 MINUTES'. This
requests an Event at five minutes before the hour, every hour. Note that the five minutes
are subtracted from the base time (every hour, on the hour). If the five minutes were
subtracted from the interval, the Event would occur every 55 minutes. EXCEPT may be
used to exclude specific days of the week from the activity list.
Specifying 'OVERDUE(0)' requests that the overdue activity is ignored. The next
scheduled activity would take place when the system is brought back up again. If the
system stays down until 6.30pm the next day (for instance, over a holiday), two
scheduled activities would have been missed. However, only one would be initiated at
start-up time. You can specify whatever overdue count you need to allow more than
one missed activity to be performed. PLUS n UNITS specifies a value to be added to a
base time to produce an execution time. The LESS n UNITS phrase works in a similar way.
ROUND this word can be used together with the EVERY n UNITS phrase. It specifies
that the computed time is an integral multiple of the units parameter. For example,
specifying 'EVERY 1 HOUR ROUND' requests every hour at the hour mark. 'EVERY 6
HOURS ROUND' requests the times 00.00, 06.00, 12.00 and 18.00.
If you specify 'EVERY 5 HOURS ROUND', you will get the next hour that is an integral
multiple of five hours from 00.00 on 1st January 1900. STARTING this allows you to split
the schedule specification into two parts. The first part is an algorithm, and the second part
is the starting time and date. Imagine, for example, that you want to produce a schedule
that executes every Monday and Tuesday, but you do not want it to start until after
the third Wednesday from today. You can do this by specifying 'SCHEDULE MON TUES
AT 6PM STARTING WEDS(3)'.
The word STARTING should separate the two parts of the schedule specification so that
they do not become confused. The time or date to the left of STARTING should be when
you want the Event to execute. The time or date to the right of STARTING should be when
you want the first execution of the Event to occur. Use an actual date or time for
STARTING.A repetition, such as 'EVERY 5 MINUTES' or 'DAILY' is not valid. TODAY
specifies 00.00 on that day. TOMORROW specifies 00.00 on the following day.
WEEKDAYS requests that the scheduled actions occur only on weekdays. A
weekday, of course, is any day from Monday through to Friday.
WEEKENDS specifies that the scheduled actions occur only on Saturday and Sunday.
YEARLY means 'EVERY 1 YEAR', YESTERDAY specifies 00.00 on the previous day.
There are several other options which offer control over data set triggering. You can
specify a count field which requests that a trigger occurs on every nth closure or rename of
a data set. Several data set triggering statements can be specified for any Event, and each
can maintain a separate count. Another option is the restriction to specific data sets created
by a particular job.
The trigger actually occurs at the time the data set is closed. Only non-abend closes are
eligible for data set triggering. A trigger does not take place if a data set is being closed
during the abnormal termination of a task or job step.
Example:
The data set creation trigger can be restricted to data sets created by a particular job. This
is done by using the JOB keyword:-DSTRIG.USER1.DUMP- JOB (USER01-) will request
the triggering of the Event whenever a job with a name beginning 'USER01' creates a data
set with a name beginning with 'USER1.DUMP' If the job 'USER02' creates a data set
'USER1.DUMPA', the trigger will not take place because the job name mismatches. (More
examples are shown in the 'COMMANDS' section of the tutorial.)
The DSTRIG statement should be entered in an Event definition. It will be ignored outside
of an Event definition.
SCHEDULE EXAMPLES
Any of the following statements can be entered to request a date of 17th March 1996.
17th march 96
17mar96
mar1796
mar171996
1996 march 17th
1996 mar17
To specify 6.50pm EST on 17th March 1996, any of the following formats are fine,
assuming that your current time zone is Eastern Standard Time.
18.50 17mar96
6.50PM 17TH MAR 1996
11.50 pm gmt on mar 17 1996
17th march 1996 17.50 cst
Note that with the last specification, an actual start time is not necessary. The next hour
mark would be used. If a starting time was not entered for the first two examples, the
omission of the word round would cause the base time to be the time at which the request
was entered.
For this example, suppose that you wanted to schedule an Event to occur at 15 minutes to
the hour, every hour, but only on weekdays. Specify 00.45 every hour weekdays OR
00.45 every 60 minutes anyday except sat sun OR hourly round less 15 minutes mon tue
wed thur fri OR every 1 hour round except weekends less 15 minutes
Note that when using less 15 minutes, activity would be scheduled at 23.45 on Sunday,
even though weekends are excluded. This is because the base time of 00.00 on Monday
would be used. When you subtract 15 minutes from 00.00, you get 23.45 on the previous
day.
The Monday before Christmas every year could be selected either of the following ways:
mon 25th december yearly less 1 week 25dec every year less7days monday
There is no specific phrase which directly generates the last day of each month, but you
can easily do it by using the LESS phrase.
1st monthly less 1 day
This next example would produce the last Monday of each month:
1st monday monthly less seven days.
The examples included in the following pages will give you an idea of how to schedule
Events using the various schedule qualifiers which are provided. You can work through
the examples in sequence.
Any of the following statements can be entered to request a date of 17th March 1996.
17th march 96 or 17mar96 or mar1796 or mar171996 or 1996 march 17th or 1996
mar17
To specify 6.50pm EST on 17th March 1996, any of the following formats are fine,
assuming that your current time zone is Eastern Standard Time. 18.50 17mar96, 6.50PM
17TH MAR 1996, 11.50 pm gmt on mar 17 1996, 17th march 1996 17.50 cst
Now assume that you want to schedule something on the first Monday of each month,
starting in January 1996.
monday(1) monthly jan 96 OR monday(1) monthly starting 1st jan 1996
Note that with the last specification, an actual start time is not necessary. The next hour
mark would be used. If a starting time was not entered for the first two examples, the
omission of the word round would cause the base time to be the time at which the request
was entered.
LIST
List one or more Events
The LIST subcommand allows you to list one or more Event names or definitions. You
can work through the following topics in sequence or select them by number.
1 - parameters
2 - general information
3 - example
Default parameters are marked by an asterisk (*) eventid specifies the name of an Event to
be displayed.
ALL requests that all available information on the Event(s) is displayed. If this
parameter is omitted, the display is limited to the next execution time. The information
displayed with the ALL option is enough to redefine the Event in its entirety.
dsname specifies the name of a data set to receive the output. The record format of the
data set will be preserved. The product can write fixed, variable or undefined records,
blocked or unblocked. This option is useful if you want to change an Event definition.
The product writes the definitions into a data set, which you can then modify with an editor.
Definitions are reloaded by using the LOAD subcommand.
groupprefix is the current group prefix. This is the default value. Levelname specifies a
generic level of the Events to be displayed. You can enter up to 24 characters in the level
name. All Events whose names begin with the specified string will be displayed.
The level name can contain asterisks and a hyphen anywhere but in the prefix.
SYSTEM requests that the ID of the system which is to execute the Event is included on
the display. TIMESEQ requests that the Event names are to be displayed in execution
time sequence order, rather than alphanumeric collating sequence. The level name can
contain one or more asterisks and a hyphen.
An asterisk indicates that any character in the asterisk location will act as a match. A
hyphen indicates that any character in that or subsequent character positions will be
considered a match.
If the level name contains a period, the part to the left of the period will specify the prefix
(group or userid). The part to the right of the period will specify the descriptive name. If a
prefix name is specified in the level name, it cannot contain asterisks or a hyphen. If the
level name does not contain a period, it is assumed to be a prefix if:
1. it contains eight characters or less and
2. it does not contain any asterisks or a hyphen.
Otherwise it is assumed to be a descriptive name.
Several formats of level name can be used.
XXX- All entries in the current group whose names begin with XXX
XYZ All entries in group XYZ.
XYZ.**A- All entries in group XYZ whose names have the letter A in character position
three.
To display the names and next executions times of all Events defined under the current
group prefix: ESP --> LIST
To display the complete definitions of all Events defined to the group PRODGRP and to
write the results to a data set called 'ESP.EVENTS', enter the following:
ESP --> L lev(prodgrp) all print('ESP.events')
To display the names of all Events beginning with 'BKUP' defined to the group USER1,
specify the following: ESP --> LIST lev(user1.bkup-)
ALTEVENT Parameters
ALTEVENT Parameters
eventid is an Event identifier. It may contain asterisks and hyphens when a group of
events are to be altered at one time.
classname specifies a new schedule class, up to eight alphanumeric characters, the first of
which is alphabetic. cal1 specifies a calendar name, of up to eight characters, the first of
which is alphabetic. cal2 specifies a calendar name, of up to eight characters, the first
of which is alphabetic.
evdsid specifies the ID of an Event data set. This parameter is restricted to users with the
SPECIAL attribute and is required if the Event prefix contains an asterisk or hyphen.
The ALTEVENT command can be used to change certain attributes of one or more Events.
When the name contains asterisks or a hyphen, all matching entries will be altered. If you
are unsure of which Events a particular command will affect, use a LIST command to test
the specified mask.
You can use the oldsys parameter to change Events queued to a specific system or systems.
You can use ALTEVENT to add or change SYMLIB entries in already existing events. If
you use ALTEVENT to alter the system ID, the schedule will only be altered at the next
schedule scan. If the Event is already scheduled on another system, it will execute on that
system. When the next day's schedule is built, the new system ID will be taken into account.
In this first example, ALTEVENT is being used to alter all Events in the group
'MYGROUP' currently queued to systems beginning tes to execute on the system PROD.
ESP --> ALTEVENT mygroup.-sys(prod tes-)
To use the subcommand to add or change SYMLIB entries in existing Events: ESP
ALTEVENT mygroup.- symlib(syssym1,mysym)
If you want to change the second or third symlib without affecting an intervening one,
specify an asterisk in the place of the unaffected symlib. This next example would add or
change the third symlib entry for all Events in group PROD. If any of the Events affected
have two or less symlibs, null entries will be generated in the intervening gaps.
ESP --> ALTEVENT prod.- sym(* * prodsyms)
EVENT: Start Event definition. The EVENT subcommand starts an Event definition.
You can work through the parameters available with the EVENT subcommand by pressing
the ENTER button.
HOLD: Hold Event processing. When it is used outside of an Event definition, the HOLD
subcommand postpones the execution of an Event until you release it. You can work
through the following topics in sequence or select them by number.
1 - parameters
2 - general information
3 - example
LIST: List one or more Events. The LIST subcommand allows you to list one or more
Event names or definitions. You can work through the following topics in sequence or
select them by number.
1 - parameters
2 - general information
3 - example
RELEASE: Release an Event for processing
The RELEASE subcommand decrements the hold count associated with an Event. When
the hold count reaches zero, the Event will be eligible for execution. You can work through
the following topics in sequence or select them by number.
1 - parameters
2 - general information
3 - example
RELEASE Parameters
SUBCOMMAND NAME: RELEASE
REQUIRED PARAMETERS: eventid
OPTIONAL PARAMETERS: NONE
eventid is the name of an Event to be released.