Sei sulla pagina 1di 12

ESP - Enterprise System Platform

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.

1 How a schedule is defined


2 The elements of a schedule specification
3 Schedule qualifiers
4 Data set triggering
5 Schedule examples

HOW A SCHEDULE IS DEFINED

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 ELEMENTS OF A SCHEDULE SPECIFICATION

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.

1. Days of the week 5. Days of months


2. Month names 6. Relative days
3. Time zones 7. Julian date
4. Times of day

Days of the week

Naturally, SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY and


SATURDAY are recognized as days of the week. You can also use the plural forms, such
as THURSDAYS and MONDAYS. If you specify a day of the week and a date, and the
two do not match, the resulting schedule adjusts automatically. You get the first specified
day of the week on or after the date you requested. For example, 26th October
1995 falls on a Saturday. If you mistakenly specified SUN OCT 26TH, you would
actually get SUN OCT 27TH. You can specify multiple days of the week too.
For example, TUE THUR
25TH DEC 1995 would result in the first Tuesday or Thursday after December 25th.

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

You can set up a schedule using any time zone:

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.

If a number is followed by 'AM' or 'PM' or a time zone name, it is assumed to be a time


specification unless an explicit time specification has already been detected.
For example: '3 AM' &/ '6 PM' &/ '1300 GMT'.

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:

JUN3 June 3rd


22OCT October 22nd
DEC2585 December 25th 1995
6NOV1985 November 6th 1995

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).

The two formats are yy.ddd and yyyy.ddd.

For example: 95.300 Sunday 27th October 1995


1996.001 Wednesday 1st January 1996

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 HOURLY MONTHLY ROUND WEEKDAYS


DAILY LESS n UNITS NOW STARTING WEEKENDS
EVERY n UNITS MIDDAY OVERDUE n TODAY YEARLY
EXCEPT MIDNIGHT PLUS n UNITS TOMORROW YESTERDAY

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.

For example, 'ANYDAY EXCEPT SAT, SUN' is equivalent to 'WEEKDAYS';


WEEKDAYS EXC WED' would limit activity to Monday, Tuesday, Thursday and
Friday.

HOURLY means 'EVERY 1 HOUR', LESS n UNITS specifies a value to be subtracted


from a base time to produce an execution time. The PLUS n UNITS phrase works in a
similar way. MIDDAY means 12.00 noon. MIDDAY means 12.00 noon. MIDNIGHT
this means 24.00, midnight. 24.00 is normally recognized as being the same as 00.00. So
if you specify 'MONDAY AT 24.00', it will be stored as '00.00 TUESDAY'. However, by
specifying 'MIDNIGHT' rather than '24.00', the time is associated with the previous day.
That is, 'MIDNIGHT MONDAY' is considered as being the end of Monday and not the
start of Tuesday. This can be important when you specify 'MIDNIGHT WEEKDAYS'
which is different from '24.00 WEEKDAYS'. The former translates to one minute after
23.59 on Monday, Tuesday, Wednesday, Thursday and Friday while the latter corresponds
to 00.00 on the same days. MONTHLY is a more concise way of saying 'EVERY 1
MONTH'. NOW means at the moment you specify the schedule. This is useful when
you need up-to-the-minute information when obtaining a report,
For example. You could request a report from any time in the past OVERDUE(n)
specifies the number of overdue occurrences of an activity to be initiated. For example,
imagine that you want something to be started at 6pm every day. If the system happens
to go down at 5.45pm and is not brought up again until 6.30pm, the activity would be
considered to be overdue.

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.
DATA SET TRIGGERING

Rather than setting up a specific schedule in which you state a time and date, you can
request that an Event is triggered on the creation or closure of a data set. To do this, you
use the DSTRIG subcommand when you are defining an Event (see the tutorial section
called 'COMMANDS'). The data set triggering facility can optionally detect data set
renames.

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
To get the fifth Monday after October 1st 1995, specify:
monday(5) oct 1st 1995 OR monday oct 1st 1995 plus 4 weeks.

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

To schedule an Event at 15 minutes to the hour, every hour:


00.45 every hour OR 00.45 every 60 minutes OR hourly round less 15
minutes.

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

To get the fifth Monday after October 1st 1995, specify:


monday(5) oct 1st 1995 OR monday oct 1st 1995 plus 4 weeks.

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

To schedule an Event at 15 minutes to the hour, every hour:


00.45 every hour OR 00.45 every 60 minutes OR hourly round less 15 minutes.

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

LIST Parameters: ABBREVIATION: L

REQUIRED PARAMETERS: EVENT(eventid) | -


|
OPTIONAL PARAMETERS: ALL | LEVEL(groupprefix*/levelname)
PRINT(dsname) | ALL
| SYSTEM
| TIMESEQ
| PRINT(dsname)

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-)

EVENT CONTROL SUBCOMMANDS


These subcommands provide you with control over an Event when you have already
defined it. They are used outside an Event definition. A full description of each
subcommand is provided as well as examples to give you an idea of how you might use
the subcommand.

In the subcommand parameters


- the parameters which are required are shown highlighted
- the optional parameters are shown unhighlighted
- the default values are marked with an asterisk
- if there is more than one parameter and a vertical bar appears between any of
them, you can only use one of the options, not all of them.

To view a subcommand description, select it by name.

ALTEVENT HOLD RELEASE TRIGGER


DELETE LIST RESUME
EVENT LOAD SUSPEND

ALTEVENT: Alter attributes of an Event

The ALTEVENT subcommand can be used to alter certain characteristics of an Event.


You can work through the following topics in sequence or select them by number.
1 - parameters
2 - general information
3 - example

ALTEVENT Parameters

SUBCOMMAND NAME: ALTEVENT


REQUIRED PARAMETERS: eventid
OPTIONAL PARAMETERS: CLASS(classname)
CALENDAR(cal1<,cal2>)
EVENTSET(evdsid)
SYMLIB(sym1<,sym2<,sym3>>)
SYSTEM(sysid<,oldsys>)

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.

sym1-sym3 specifies one, two or three replacement symbol library names.


An asterisk is permitted instead of a name.

sysid specifies the system ID of a subsystem.

oldsys is a system ID. It may contain asterisks and a hyphen.


It limits changes to Events to be executed on the specified
system ID.

ALTEVENT General Information:

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.

RELEASE General information:


The operand field should contain the name of an Event. The specified Event will have
its hold count decremented immediately. See the subcommand 'HOLD' for an explanation
of the difference between the held and suspended states. eventid is a valid Event name.

Potrebbero piacerti anche