ESP - Enterprise System Platform



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)

EVENTSET(evdsid)

SYMLIB(sym1)

SYSTEM(sysid)

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.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download