Zeke User Guide 6.1
Zeke User Guide 6.1
User’s Guide
Version 6.1
Publication Number: AZM0200-61
Publication Date: March 2014
The information contained herein is the confidential and proprietary information of Allen Systems Group, Inc. Unauthorized use of this information and disclosure to third parties
is expressly prohibited. This technical publication may not be reproduced in whole or in part, by any means, without the express written consent of Allen Systems Group, Inc.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix
About this Publication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix
E-mail User Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi
Publication Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Worldwide Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii
Intelligent Support Portal (ISP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii
Product Support Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv
ASG Documentation/Product Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv
i
ASG-Zeke Scheduling for z/OS User’s Guide
ZEKESET Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
ZEKEXUTL Import/Export Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Zeke Interfaces to other ASG Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
‘Z’ Products. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Cross-platform Schedule Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
JCL Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Workload Analysis and Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
ASG-Automation Center (Problem Tracking Support) . . . . . . . . . . . . . . . . . . . . . . . . . 23
ASG-Cortex-Pdb Plug to Zeke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Chapter 3: Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Calendar Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Accessing the Calendar Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Standard Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Special Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
User Accounting Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Calendar Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Maintaining Scratch Pad or Note Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Maintaining Text Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Chapter 4: Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Event Master Records (EMRs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Event Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Accessing an EMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Generic Selection Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
EMR Primary Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
ii
Contents
Adding an Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Updating an Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Using Event Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Copying an Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Job Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Defining a Job Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Defining an Externally Submitted Job (JESQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Processing Remote Work Requests from Zena. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Routing a Job to Another System or Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Downloading a Job to Zeke Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Retrieving JCL from the Zeke Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Message Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Command Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
REXX Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Work Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Defining a Work Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Using Variables in a Work Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Completing a Work Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Scheduling and Dispatching Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Schedule Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
OCCURS Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
WHEN Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Multiple Event Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Recurring and Permanent Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Milestone Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Scheduling Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Condition Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Auto Replies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Defining Auto Replies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Managing Auto Replies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Event Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Accessing Event Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Maintaining Scratch Pad or Note Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Maintaining Text Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Maintaining Dataset Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Event Activity Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Viewing Event Accounting Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Maintaining Job Duration Statistics, Alerts, and Failures. . . . . . . . . . . . . . . . . . . . . . . 175
iii
ASG-Zeke Scheduling for z/OS User’s Guide
iv
Contents
vi
Contents
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
vii
ASG-Zeke Scheduling for z/OS User’s Guide
viii
Preface
This ASG-Zeke Scheduling for z/OS User’s Guide explains the procedures for using
ASG-Zeke Scheduling (herein called Zeke) for enterprise-wide workload management.
This guide assumes that the appropriate components have been installed at your site.
ix
ASG-Zeke Scheduling for z/OS User’s Guide
To subscribe to Autoops
After your request is received, you will receive an e-mail confirming your membership.
As a member, you will receive a copy of all new messages sent by other members of the
group. An archive of past messages is also available on the Autoops Info Page.
x
Preface
Related Publications
The documentation library for Zeke consists of these publications (where nn represents
the product version number):
• ASG-Zeke Scheduling for z/OS Enhancement Summary (AZM1000-nn) describes
new Zeke features, updated functions, and performance improvements.
• ASG-Zeke Scheduling for z/OS User’s Guide (AZM0200-nn) explains the
procedures for using Zeke for enterprise scheduling.
• ASG-Zeke Scheduling for z/OS Installation Guide (AZM0300-nn) defines Zeke
system requirements, provides instructions for installing Zeke, and explains the
optional features you can activate after installing Zeke.
• ASG-Zeke Scheduling for z/OS Reference Guide (AZM0400-nn) provides a
reference for using Zeke batch programs and operator commands, and for
generating reports.
• ASG-Zeke Scheduling Messages and Codes Guide (AZM1200-nn) lists the Zeke
messages, describes their meanings, causes, and resolutions, and provides return
code explanations.
• ASG-OASIS for z/OS Enhancement Summary (AZO0100-nn) describes new
OASIS features, updated functions, and performance improvements.
• ASG-OASIS for z/OS Installation Guide (AZO0300-nn) provides information on
installing ASG-OASIS (herein called OASIS), the framework for your ASG
enterprise workload management (‘Z’) products.
• ASG-OASIS for z/OS Reference Guide (AZO0400-nn) provides information on
OASIS commands, options, and other functions.
• ASG-OASIS Messages and Codes Guide (AZO1200-nn) lists and explains OASIS
messages. It also provides return code explanations.
Note:
To obtain a specific version of a publication, contact ASG Customer Support.
xi
ASG-Zeke Scheduling for z/OS User’s Guide
Publication Conventions
ASG uses these conventions in technical publications:
Convention Usage
Capitalization For system element names, this varies according to the product
interface and its operating environment.
Mainframe file names use uppercase, for example:
Allocate a JSOPTEM member in the JLRCL library.
Windows file names use mixed case, for example:
Create a text file named SECLIST.txt in the
C:\Program Files\ASG\config directory.
UNIX file names use mixed case, for example:
Edit the databaseID.ACC file in the /database directory.
Typical product and operating system elements include:
• Directory, path, file, dataset, member, database, program,
command, and parameter names.
• Window, field, field group, check box, button, panel (or screen),
and option labels.
• Names of keys. A plus sign (+) is inserted for key combinations
(e.g., Alt+Tab).
lowercase italic Information that you provide according to your particular situation.
monospace For example, you would replace filename with the actual name of
the file.
Monospace Characters you must type exactly as they are shown (e.g., code, JCL,
file listings, or command/statement syntax).
Also used for denoting brief examples in a paragraph.
xii
Preface
Convention Usage
Vertical separator bar ( | ) Indicates options available with the default value underlined
with underline (e.g., Y|N).
ASG Third-party Support. ASG provides software products that run in a number of
third-party vendor environments. Support for all non ASG products is the responsibility
of the respective vendor. In the event a vendor discontinues support for a hardware and/or
software product, ASG cannot be held responsible for problems arising from the use of
that unsupported version.
Customer ID = NNNNNNNNN
Password = XXXXXXXXXX
where:
If you do not have your logon information, contact your local support center.
xiii
ASG-Zeke Scheduling for z/OS User’s Guide
This table outlines the support response times you can expect:
Expected Support
Severity Meaning Response Time
Once programming support for a product release is withdrawn, ASG will no longer
supply new fixes for problems nor accept enhancement requests for that release. When a
vendor announces the end of support for system software or a hardware configuration on
which ASG products rely, ASG will make a similar announcement regarding the support
plans for its products. ASG’s support for problems affected by system software release
levels will terminate when the vendor no longer supports their hardware or software.
Announcements regarding support plans for various products can be found on ASG’s
Web site.
Include your name, company, work phone, e-mail ID, and the name of the ASG product
you are using. For documentation suggestions, include the publication number located on
the publication’s front cover.
xiv
Chapter 1: Introducing Zeke
1
This chapter provides an overview of Zeke’s features and contains these topics:
Topic Page
Overview 2
Zeke Processing (Multisystem Support) 2
Online Facilities 3
Event Management 3
Event Terminology 4
Event Scheduling 8
Event Dispatching 9
Event Activity Accounting 12
Schedule Monitoring and Intervention 12
Schedule View 12
Operator Commands (ZCOM Option) 13
PathFinder 14
Job Restart/Rerun 14
Web Services 14
Workload Management 14
Configuration and Maintenance 15
Generation Options 15
Database Maintenance 16
Security 16
Batch Utilities 17
ZEKE Batch Utility 17
Report Writer 18
Auditing 18
ZEKESET Utility 19
ZEKEXUTL Import/Export Utility 19
Zeke Interfaces to other ASG Products 20
‘Z’ Products 20
Cross-platform Schedule Management 20
JCL Validation 22
Workload Analysis and Planning 22
ASG-Automation Center (Problem Tracking Support) 23
ASG-Cortex-Pdb Plug to Zeke 23
1
ASG-Zeke Scheduling for z/OS User’s Guide
Overview
You use Zeke to define and maintain the database of events (i.e., computer processes)
that run in your data center.
Zeke is supported on z/OS and VSE operating systems and extends its functions to many
other distributed platforms.
Database Sharing
Zeke can schedule up to 24 computer systems from a single Zeke database (any
combination of VSE, CMS, and z/OS systems can share a database). This capability
enables multiple operating systems to communicate about events occurring on one
system that might affect events on other systems.
All Zeke systems that share the same database register at startup and check out on
termination. When a system becomes active again, recovery is automatic.
See the ASG-Zeke Scheduling for z/OS Installation Guide for more information.
PolyZeke
OASIS enables multiple copies or versions of Zeke to operate on a single z/OS operating
system. PolyZeke facilitates testing a new release on a single CPU or supporting multiple
users with separate Zeke databases.
Note:
Although multiple Zekes (at the same release level) can reference the same database,
ASG strongly recommends that multiple Zekes running on the same system each have a
separate database.
2
1 Introducing Zeke
With a second subsystem, you can test a new PTF or release level on the same CPU
during normal working hours without affecting the production environment and without
terminating other applications. The second subsystem enables the same applications to
access more than one database.
By providing users with a separate Zeke database to decentralize Zeke, you can prevent
users from accessing, or possibly corrupting, other production databases.
See the ASG-Zeke Scheduling for z/OS Installation Guide for more information.
Online Facilities
Zeke’s online facility is a full-screen, menu-driven system that makes schedule
management easy. The Zeke online facility runs under these environments:
• CICS
• IDMS
• CMS
• TSO
• ROSCOE
• ISPF
Zeke provides full security for its online facility and allows authorized only users to
access the scheduling database. You can set up different levels of access for each
authorized operator. See “Security” on page 16 for more information.
Event Management
You can define events to the Zeke database through the Zeke online system or using the
ZEKE batch utility program. The database retains this information about each event:
• Detailed scheduling information (i.e., OCCURS clause)
• Prerequisite conditions (i.e., schedule time and WHEN conditions)
• Resource requirements (i.e., number of tape drives and, initiator class)
This information ensures that Zeke schedules the event properly and does not dispatch the
event until the prerequisites have occurred and the required resources are available.
Zeke provides a wide range of options for defining events and controlling how they are
managed and processed.
3
ASG-Zeke Scheduling for z/OS User’s Guide
Event Terminology
This section provides an overview of some of the key concepts related to Zeke events.
Event Types
These are the Zeke event types:
Type Description
WORK Work center (i.e., an offline task that triggers other system-related events)
4
1 Introducing Zeke
A milestone event is a significant event in a job flow (in which events have
predecessor/successor relationships) that must process on time to avoid a significant
delay in the completion of the entire flow. Events flagged as milestones are not processed
any differently than other events; this flag is simply a way to easily identify events that
you consider to be milestones in a job flow.
See “Recurring and Permanent Events” on page 145 and “Milestone Events” on page 150
for more information.
Critical Path
Milestone events are an essential element in the concept of a critical path. The critical
path is the sequence of predecessor/successor events that will take the longest to
complete. The critical path represents the minimum amount of time to complete the event
flow from the event with the earliest start through the event that finishes last.
The critical path could change from time to time as events are completed ahead of or
behind schedule. Typically, delays along the critical path imply that additional time is
required to complete the event flow. This information helps you monitor the completion
of the current schedule to ensure there is no conflict with the start of the next schedule.
Nonexecutable Events
You can define an event as nonexecutable, simply to use it as a predecessor to other
events. Zeke schedules nonexecutable events just like any other event, but never submits
the event to JES for JCL execution. After “dispatching” the event, Zeke automatically
updates its status to Success and triggers any dependent events.
5
ASG-Zeke Scheduling for z/OS User’s Guide
From the EMR or Schedule View, or using a Zeke operator command, you can flag an
event in an intricate event flow as nonexecutable without having to change the event
flow. This action helps to eliminate the need to delete an event and change all of its
successors’ prerequisites.
Zeke also can schedule an individual event directly to a Zeke Agent system running on
another platform. Zeke Agent can receive, track, schedule, execute, and reroute a
scheduled job from Zeke (or another source) to another platform in your enterprise, as
necessary.
On-Request Events
You can define on-request events in the Zeke database, which enables you to add them to
the schedule (as needed) using an operator command. Zeke dispatches these events as if
they were scheduled normally (including checking prerequisites and resource
requirements).
6
1 Introducing Zeke
JCL Sources
Zeke provides simultaneous support for multiple JCL libraries. Zeke can retrieve JCL
from any of these sources:
• Bim-Edit
• CA Driver
• CA Librarian
• CA Panvalet
• CA Vollie
• Condor
• JCLMAN
• ICCF
• OWL
• VM/CMS file
• VSE/POWER SLI
• Zeke JCL
Event Documentation
Zeke enables you to provide full documentation of an event through these facilities:
• Text facility (which retains a sizeable amount of text)
• Scratch pad and note facilities (which provide an easy method for leaving short
notes for an operator)
• Dataset facility (which displays the volume serial numbers and datasets required to
run a job)
Work Centers
Zeke enables you to define associated offline tasks, called work centers, and schedule
their completion by relating them to online tasks and integrating them with processes
occurring throughout the Zeke system.
When you create a work center, you associate it with a user ID, which specifies the
operator responsible for completing or validating the offline task. You can issue a Zeke
operator command or run a batch report to list the scheduled work centers by user ID.
When an operator flags the event as completed, Zeke removes it from the display, sets
any variables (as necessary), and triggers any dependent events.
7
ASG-Zeke Scheduling for z/OS User’s Guide
Event Scheduling
Zeke’s scheduling function uses the EMRs to create a processing schedule for each Zeke
system. The SCHEDULE function, which you typically run at the start of each workday,
removes the previous day’s completed events and adds the current day’s events. Zeke
adds an event to the schedule if the scheduling criteria are met or when it receives an
operator request.
Calendars
Calendars enable you to customize your processing schedule. You simply set up one or
two standard calendars to distinguish among workdays, weekends, and holidays.
Typically, one standard calendar is all you need for most events; however, you also can
create user accounting calendars to tie events to the periods of your accounting year and
special calendars for those events with random scheduling criteria.
Schedule Time
Schedule time is an optional dispatching prerequisite that must be met before a scheduled
event can be dispatched. You specify schedule time options in the EMR (see “Time
Requirements” on page 9).
When the SCHEDULE function runs, it selects every event within 48 hours to be part of
the day’s schedule. For example, if the schedule runs on Monday at 08:00, Zeke selects
each event that has an OCCURS clause that matches Monday and a schedule time
between 00:00 and 47:59.
Zeke nevers dispatches an event with a schedule time of 48:00 because 47:59 is the
dispatching cutoff time. You can use a schedule time of 48:00 for events that you want to
place in the schedule, but do not want to dispatch except by operator command.
See “Logical Day (48-hour Clock)” on page 184 for more information.
8
1 Introducing Zeke
OCCURS Clauses
Zeke determines when to add an event to the schedule based on the event’s OCCURS
clause. The OCCURS clause contains keywords (e.g., DAILY, WORKDAYS,
MONDAY, JANUARY, WEEKENDS, and HOLIDAY) that indicate when to schedule
the event.
Event Dispatching
Zeke monitors system activities to detect actions that will trigger an event. When an
event’s scheduled time is reached and its prerequisites have occurred, Zeke places the
event into the dispatch queue.
Zeke dispatches the event when an initiator is available, resources are available, the event
and system are not on hold, and any optional dispatch requirements are met (e.g., an
operator approval).
Time Requirements
As an optional dispatching prerequisite, Zeke enables you to place restrictions on the time
of day that Zeke can execute an event. You can specify any of these schedule time
requirements that must be met before Zeke dispatches an event:
• Earliest time that Zeke can dispatch the event (i.e., early time)
• Latest time that Zeke can dispatch the event (i.e., not after time)
• Latest time by which the event must be completed (i.e., must end time)
• Time at which Zeke considers the event late (based on its start time) (i.e., late start
time)
• Time at which Zeke considers the event late (based on its end time) (i.e., late end
time)
If the time the event is dispatched does not matter, you do not need to use these options.
9
ASG-Zeke Scheduling for z/OS User’s Guide
WHEN Conditions
Similar to an OCCURS clause, a WHEN condition is a statement containing keywords
that indicate prerequisites that Zeke must validate before dispatching a particular event.
Zeke can make dispatching of an event contingent on any combination of these
circumstances:
• Normal or abnormal end for these occurrences:
— A job
— A job step
— A program
— An event
— A group of events
• Beginning of a job or program
• Close of an output dataset
• Current execution of a job or program
• Availability of variables or resources
Extended Dependencies
Two WHEN conditions, XEOJ and XEOE, provide the ability to trigger jobs across
multiple schedules. For example:
You can use the XEOJ keyword to locate JOB_B in the Zeke database and
determine whether it has run since the last time JOB_A ran.
Resource Checking
Zeke checks resource requirements and availability before dispatching an event.
You define physical resources (e.g., number of tape drives and initiator class) in the
EMR. You define logical resources in the Zeke database.
10
1 Introducing Zeke
Zeke enables you to specify the days and times each initiator is available for processing
and then dynamically selects the systems and initiators to use. Zeke also compares
resource names across systems to prevent an excessive number of events from using the
same resource.
As required, Zeke also ensures that the correct number of tape drives are available before
dispatching an event.
Variables
Zeke automates variable calculation and substitution. You can use variables to perform or
enable a variety of specialized operations automatically:
• Controlling jobstream flows (i.e., bypassing segments)
• Triggering other events
• Preventing other events from occurring
• Documenting cancellation reasons
• Substituting values in z/OS and JES JCL statements at execution time
• Automating JCL modifications
• Triggering event scheduling and dispatching
• Responding to console data
You can use OASIS variables in the same areas as Zeke variables. Because they reside in
an OASIS database on DASD, OASIS variables are retained across system outages and
IPLs. Because the OASIS database is accessible to all of your ‘Z’ products that use the
same subsystem, you can use OASIS variables to communicate information between
your ‘Z’ products. OASIS has its own online facility for maintaining variables. See the
ASG-OASIS for z/OS Reference Guide for more information.
11
ASG-Zeke Scheduling for z/OS User’s Guide
Auto Replies
Automatic replies (i.e., auto replies) enable you to predefine responses and then respond
automatically to outstanding messages from your Zeke events that have static or
predictable responses, or job events that require intervention. When a message is issued,
Zeke responds to the console read with the predefined reply (substituting any variables
before the reply is issued).
Schedule View
Schedule View, available only through ISPF, displays all relevant information for the
currently scheduled events on a single screen and highlights exceptions automatically.
From this display, you can monitor and make changes using simple line commands. (You
also can issue Zeke operator commands from Schedule View.)
You can choose color schemes for your displays, select the screen update interval, and
determine your own field column layout, sort sequences and selection criteria. Changes to
display characteristics are valid for the current user and are saved in the user’s ISPF
profile. Each user can set up Schedule View according to their preferences.
The ZOOM feature enables you to view or edit the information in the SQR on one screen.
12
1 Introducing Zeke
Note:
Any changes you make to a SQR are temporary and only for the current schedule run (no
changes are made to the EMR).
For jobs, you can display messages from a job’s JOBMSG and SYSMSG files to aid in
problem resolution and speed the restart process. Schedule View also enables authorized
users to access to a copy of the executable JCL for one-time overrides (to update
parameters and correct abends); Zeke attaches the updated copy to the event’s schedule
entry for subsequent runs.
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on using
the ZEKE batch utility.
13
ASG-Zeke Scheduling for z/OS User’s Guide
PathFinder
PathFinder shows all predecessor and successor relationships for any given event. This
display is accessed through Schedule View (available through ISPF only) or by issuing a
Zeke operator command. You can analyze at a glance what needs to occur before a job
can run and what will happen after it runs. Additionally, PathFinder can help you uncover
predecessor loop conditions.
Job Restart/Rerun
You can specify the necessary restart parameters (including what type of restart should be
performed after the restart package's database is updated).
You can secure Zeke access from a Web browser (i.e,. through SAF) or allow security to
be controlled based only on the default operator ID.
See Chapter 10, “Zeke Web Services,” on page 421 for more information.
Workload Management
Whether you have one system, or multiple systems worldwide, Zeke optimizes your
workload by providing workload balancing and efficiency.
Zeke provides effective real-time, logical and physical resource management and control
(see “Resource Checking” on page 10).
Logical Pooling. Multiple CPUs (real and virtual) can share a single Zeke database.
Each event is owned by one of the systems sharing the database. Sometimes an event is
not limited to just one system. For those events, you can define a group of systems,
known as a pool. Zeke selects the system to be used for each event based on the system or
pool defined for the event and also selects the initiator within that system.
14
1 Introducing Zeke
Continuous Tracking. Zeke can track certain relevant system and event activity, even
during periods when both Zeke and the OASIS subsystem have been terminated (e.g., to
apply maintenance). These are the types of activity that Zeke tracks in recording mode:
• Starting of jobs, job steps, and programs
• Ending of jobs, job steps, and programs
• Datasets that are closed
When it restarts, Zeke uses the recorded activities to update the schedule, as appropriate
(e.g., Zeke satisfies triggers for jobs that completed while Zeke and/or OASIS were
inactive).
See “Forecasting and Simulating the Schedule” on page 189 for more information.
Generation Options
Generation options enable you to configure the operating criteria for your environment.
No two data centers are exactly the same, and, typically, no two systems are identical
within an environment. Zeke enables you to configure separate systems with different
generation options for each one.
15
ASG-Zeke Scheduling for z/OS User’s Guide
See the ASG-Zeke Scheduling for z/OS Reference Guide for details on using the ZEKE
batch utility for maintaining GENOPTs.
Database Maintenance
Database maintenance includes these tasks:
• Allocating and cataloging datasets.
• Backing up the database.
Note:
ASG recommends you use the BACKUP command of the ZEKE utility program to
back up your database at least daily.
For an existing database, you can generate a database status report that provides details
about the database (e.g., its size and event capacity, and the dates it was created, last
backed up, and last restored).
See the ASG-Zeke Scheduling for z/OS Reference Guide for details on using the ZEKE
batch utility for performing database maintenance tasks.
Disaster Recovery
As part of a disaster recovery plan, electronic vaulting provides the ability to allocate a
secondary DASD unit and maintain a copy of the Zeke database that is no more than one
I/O behind the primary database. When Zeke writes a record to the primary database, the
electronic vaulting option writes a duplicate record to the secondary vault dataset.
Security
You can define Zeke security using its internal security function or through the OASIS
External Security Interface (ESI). Zeke’s versatility enables you to control access to Zeke
objects and functions from another vendor’s security product, or your own, as long as the
product uses the System Authorization Facility (SAF) interface. You even can use a
16
1 Introducing Zeke
combination of internal and external security packages. ASG recommends that you
understand Zeke internal and external security features completely before implementing
either (or both).
Zeke supports SAF security through the OASIS/External Security Interface (ESI). ESI
provides the ability to use a third-party security product (e.g., RACF or CA-ACF2) to
control access to Zeke or other installed OASIS-supported ‘Z’ products.
See Chapter 9, “Security,” on page 381 for instructions on implementing Zeke security.
See the ASG-OASIS for z/OS Reference Guide for more information on ESI.
Batch Utilities
This section describes the Zeke batch utility programs.
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on using
the ZEKE batch utility.
17
ASG-Zeke Scheduling for z/OS User’s Guide
Report Writer
The Report Writer facility enables you to create and customize your own reports based on
information extracted from the Zeke database, as well as generate standard reports. These
are the types of reports you can produce:
• Event (EMR) listings
• Scheduled event (SQR) listings
• Variable listings
• Calendar listings
• GENOPT listings (including option values)
• Security class listings
• Operator ID listings
• Resource listings
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on using
Report Writer.
Auditing
Zeke tracks database activity and logs changes in an audit log (which can be a data space
log). You define the actions be logged through the Zeke generation options.
These are the types of actions that you can have audited and logged by the AUDIT utility:
• Issued console commands.
• Event scheduling and dispatching activities, event flow, and status changes.
• Requested, acquired, and released logical resources.
• Activated/deactivated EMRs and updated EMRs.
• Updates others types of database records (e.g., calendars, GENOPTs, resources,
systems, pools, security definitions, etc.)
• Zeke variables updates, and variable values set through a work center.
• Users that log on and off through any Zeke online facility or from OpsCentral.
You can archive the audit records and generate reports from active or backup files.
See “Audit Options” on page 306 for more information on setting audit options.
See the ASG-OASIS for z/OS Reference Guide for details on using the AUDIT utility.
18
1 Introducing Zeke
ZEKESET Utility
You can control jobstream flow by using the ZEKESET utility to perform these tasks:
• Set variables
• Set the step condition code
• Set a user abend code
• Execute Zeke operator commands
• Execute z/OS commands, JES commands, or VM commands
The ZEKESET batch utility enables extensive date manipulation and calculation using
Zeke variables, which provides the ability to create any desired format based on dates.
When used together with variable substitution, this utility can automatically create
program date cards.
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on using
the ZEKE batch utility.
Filtering control statements enable you to select which records to import or export.
Change control statements enable you to change fields within the records being imported
or exported.
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on using
the ZEKE batch utility.
19
ASG-Zeke Scheduling for z/OS User’s Guide
‘Z’ Products
These are the OASIS-supported, enterprise workload management, or ‘Z’ products.
Zeke Agent
Zeke Agent provides a mainframe-centric approach to enterprise scheduling and enables
cross-platform schedule downloading.
You can download a subset of scheduled jobs in the Zeke schedule (across platforms) to
Zeke Agent, which then dispatches and tracks the SQRs in the same manner as Zeke.
Zeke Agent satisfies the time and WHEN conditions for the downloaded jobs and
20
1 Introducing Zeke
dispatches the jobs when those conditions are met. The downloaded schedule can run
stand-alone on Zeke Agent (even when the OASIS/DMS connection to Zeke is
interrupted) as long as Zeke Agent can satisfy the predecessors for the SQR locally.
Zeke also can schedule and dispatch specified job events to be sent one at a time to a Zeke
Agent running on another platform. Zeke Agent can receive, execute, track, and even
reroute the jobs from Zeke (or another source) to another system, as necessary.
Note:
See Appendix A, “Zeke “Agentless”,” on page 451 for details on how to run Zeke jobs on
other platforms without implementing DMS or a Zeke Agent on the target system.
ASG-Zena
Zeke works with ASG-Zena (herein called Zena), the distributed workload management
and process automation solution, in a number of ways. For example:
• Through the separately-licensed ASG-Enterprise Automation Services, Zeke
operates as a remote agent for processing Zena work requests on the mainframe.
Zeke can process a z/OS job task defined and sent from Zena (along with any
triggers) and return status information back to the remote Zena server. See
“Processing Remote Work Requests from Zena” on page 75 for details.
• Zeke can utilize Zena agents to run system commands on behalf of Zeke through
ASG-Zena Bridge.
• Zeke can communicate with Zena via Zeke Agent for Windows. Zeke uses Zeke
Agent to communicate any cross-platform job dependencies to Zena. A Zeke job
can have a WHEN condition that is based on the status of a Zena task or process.
Likewise, Zeke jobs can be used to trigger tasks scheduled on Zena. Refer to your
Zeke Agent and Zena documentation for more information on how these types of
cross-platform job dependencies are defined and satisfied.
ASG-OpsCentral
ASG-OpsCentral (herein called OpsCentral) enables centralized management of
enterprise scheduling workloads from a client workstation. The ASG-Zeke Scheduling
Plug-ins for OpsCentral maintain communication between your Zekes and OpsCentral
and enable Zeke functions to be available under the OpsCentral client console.
21
ASG-Zeke Scheduling for z/OS User’s Guide
JCL Validation
Zeke provides several ways to scan the JCL associated with your jobs events for
accuracy. These ASG products provide JCL validation services:
ASG-JCLPREP
ASG-JCLPREP (herein called JCLPREP) interfaces with Zeke through the Schedule
View line command JPREP. JCLPREP also can be invoked while editing the event JCL
from the Schedule View ZOOM display by issuing the JCLPREP edit macro FPREP.
ASG-JOB/SCAN
ASG-JOB/SCAN is a JCL validation and standards enforcement tool that helps single
LPAR data centers (with COBOL or Assembler expertise for JCL standards programs)
operate an error-free production JCL environment. Maintaining JCL through its lifecycle
is vital to any IT operation, but especially when running mission-critical applications
driven by JCL on z/OS. Using ASG-JOB/SCAN, you can eliminate costly reruns, meet
service level agreements, automatically enforce site standards, reduce backlog at
production turnover, and improve the overall JCL maintenance cycle.
Zeke interfaces with ASG-JOB/SCAN using the Schedule View line command JSCAN.
ASG-PRO/JCL
ASG-PRO/JCL is an advanced JCL validation and standards enforcement tool that helps
multiple LPAR data centers (with REXX expertise for JCL standards programs) achieve
and operate an error-free, standardized, and optimized production JCL environment.
ASG-Workload Analyzer
ASG-Workload Analyzer is a PC-based analysis tool that tracks and analyzes batch
processing performance, detects problem areas, and presents an analysis of processing in
a graphic format that is easy to understand. Workload Analyzer reduces the need for
time-consuming data analysis. Specifically, it displays executed jobs and identifies where
jobs were abended or where time was lost. It graphically captures job runtime data from
SMF, thereby expediting analysis of processing trends, resolving bottlenecks, and
improving operational productivity in a z/OS environment.
22
1 Introducing Zeke
ASG-Workload Planner
ASG-Workload Planner helps you to better understand complex schedules from a variety
of mainframe scheduling systems. Workload Planner extracts information from a
scheduling system database and translates it into interactive, comprehensive or
specialized graphic flowcharts of your workflow, including ones that predict the
performance of schedule processing.
For Automation Center, when an event ends abnormally, the exit calls Automation Center
and issues an open command consisting of the command ZEKJOB followed by the
jobname and the event number. You can set up the exit to assign tickets to different
people or groups based on jobnames.
23
ASG-Zeke Scheduling for z/OS User’s Guide
24
Chapter 2: Starting Zeke and Using the
2 Online Facility
This chapter explains how to start and terminate Zeke and OASIS. It also describes the
ISPF interface to Zeke and explains how to access and exit the Zeke online system. This
chapter contains these topics:
Topic Page
Starting Zeke 26
Restarting Zeke 26
Starting OASIS Only 27
Starting Multiple Tasks 28
Terminating OASIS 28
Terminating Zeke 29
Using the ISPF Interface 30
ISPF Features 30
General Screen Information 31
Logging On and Off 31
Changing the ISPF Color Scheme 34
Starting the Zeke Online Facility under TSO 36
25
ASG-Zeke Scheduling for z/OS User’s Guide
Starting Zeke
You use the SSS4001 program to initialize Zeke. If the specified OASIS subsystem is not
initialized already, then SSS4001 initializes it first. Generally, you set Zeke to be
initialized automatically after an IPL, so that Zeke is always active.
//*
//Z610A PROC OASIS=(00,L),ZK=(??,L),R=0M,S=SSSI,XP=OASISSTC
//ZEKE EXEC PGM=SSS4001,REGION=&R,TIME=1440,
// PARM=('ZEKE=&ZK',
// 'OASIS=&OASIS','SUBSYS=&S','XPROC=&XP',END)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSMDUMP DD DISP=MOD,DSN=*SYSMDUMP*
//ZEKERDR DD SYSOUT=(A,INTRDR)
//ZEKECAT DD DISP=SHR,DSN=*ZEKECAT*
//PARMLIB DD DISP=SHR,DSN=*PARMLIB*
//*
//STDERR DD SYSOUT=*
//STDOUT DD SYSOUT=*
//**ZEKEVLT DD DISP=SHR,DSN=*ZEKEVLT* IF SELECTED
//**ZEKEAD1 DD DISP=SHR,DSN=*ZEKEAD1* IF SELECTED
//**ZEKEAD2 DD DISP=SHR,DSN=*ZEKEAD2* IF SELECTED
//STEPLIB DD DISP=SHR,DSN=*ZPFX*.SZEKLMD0
// DD DISP=SHR,DSN=*OPFX*.SALTLMD0
//*
...
See the ASG-Zeke for z/OS Installation Guide for detailed instructions on setting up the
Zeke started task procedure, and initializing the Zeke started task automatically.
Restarting Zeke
Because it runs as a started task in the operating system; Zeke must be restarted after each
IPL or after an upgrade. Zeke is initialized for processing and stays active until the started
task is terminated.
If Zeke is terminated with the ZKILL command or the MVS command STOP (i.e.,
P stcname), you can enter this command from the operator console to restart Zeke:
26
2 Starting Zeke and Using the Online Facility
START stcname
where stcname is the name of the Zeke started task procedure. For example:
START ZEKE610
Or
Issue an MVS system MODIFY command to the address space using this syntax:
F procname,STPROD ZEKE
The Zeke address space locates its schedule tables and determines whether to perform a
WARM or COLD start.
If multiple OASIS-supported ‘Z’ products are active in a single address space and you
terminate Zeke using the ZKILL command (WARM or COLD), or using the MVS
system command STOP, then you can execute the same Zeke procedure that you used to
initialize that address space.
START oasisstc,S=subsys,OASIS='(aa,bb)'
where:
oasisstc is the name of the OASIS started task procedure.
Note:
If the start-up procedure provides values for the S and OASIS symbolic parameters,
you can omit those parameters from the START command.
27
ASG-Zeke Scheduling for z/OS User’s Guide
This is an example of a typical OASIS startup and the messages issued in response to the
command:
S OASISSTC,S=SSSI,OASIS='(00,N)'
$HASP100 OASISSTC ON STCINRDR
$HASP373 OASISSTC STARTED
IEF403I OASISSTC - STARTED - TIME=14.39.30
X00032I EXECPARM OASIS=(00,N),SUBSYS=SSSI
X00353I Program SSS2SV2 installed as SVC 245
X00000I SET UP COMMAND PREFIX LENGTH
X00008I SSSI Host System Interface initialized CPU=1B02095570600000 ID=A Name=A
X00025I OASIS/HSI X310A000 z/OS 1.10 JES2
X00903I OASIS command processor enabled
Terminating OASIS
Do not terminate OASIS if any other OASIS-supported ‘Z’ products are running in the
same OASIS subsystem. You must terminate all products in the subsystem before you
terminate OASIS.
28
2 Starting Zeke and Using the Online Facility
Terminating Zeke
If multiple OASIS-supported ‘Z’ products are active in the address space, you can use the
MVS system command STOP to terminate all active products along with the started task.
When you terminate the last (or only) active product in the address space, the started task
is terminated automatically.
Using the STOP command, specify the name of the started task procedure. For
example, issue this command to terminate a Zeke started task:
STOP ZEKE
Note:
The STOP command is the equivalent of the ZKILL COLD command.
The ZKILL command terminates Zeke only; any other products in the address space
remain active. ZKILL releases Zeke-owned storage and system resources and terminates
its subtasks. The COLD, WARM, and TRACK parameters dictate how the ZKILL is
processed.
Issue one of these ZKILL commands to terminate Zeke (depending on the desired
result):
Command Result
ZKILL COLD Terminate all Zeke processing and release all Zeke program and table
storage. Any other products in the same address space remain active.
ZKILL WARM Terminate Zeke dispatching only. Zeke continues to perform all event
tracking, triggering, and updates. Any other products in the same
address space remain active.
Note:
If Zeke is cancelled during a COLD start (before the schedule has
been loaded for the first time or while a schedule reload is in
progress), then the schedule is freed and Zeke is terminated
completely.
ZKILL TRACK Terminate Zeke in the same manner as ZKILL COLD, but keep the
SMF exits for Zeke active, and place Zeke in SMF recording mode.
ISPF Features
This section describes the key features of the ISPF online facility.
Online Help
The online facility includes a tutorial and help system.
To access help
Primary Commands
Primary commands (e.g., ADD, DELETE, BROWSE, and EDIT) are available on most
screens. Enter these commands on the Command or Option line to change the mode for
the current screen or to switch to another screen.
Any screens that enable editing also support all standard ISPF editing commands (e.g.,
SAVE, EDIT, CANCEL, and END).
Note:
A few commands (e.g., CANCEL, COPY, and EDIT) have the same name in ISPF as in
Zeke. When you issue these commands in Zeke, they are processed as Zeke commands
(not ISPF commands). To use the ISPF command in Zeke when there is a Zeke command
by the same name, you must issue it as part of the ISPF EDIT command BUILTIN (e.g.,
BUILTIN CANCEL). Otherwise, the system assumes you are issuing a Zeke command.
See your ISPF documentation for more information on the BUILTIN command.
OVAR
Although it is not listed on the screen with the primary commands, the OVAR primary
command is available from the Command line of any screen. This command enables you
to access the OASIS Variable Maintenance screen where you can add, browse, edit, or
delete OASIS variables. See the ASG-OASIS for z/OS Reference Guide for details.
30
2 Starting Zeke and Using the Online Facility
ZCOM Command
Although it is not listed on the screen with the primary commands, the ZCOM primary
command is available from the Command line of any screen. This command enables you
to access the Zeke command shell where you can issue any Zeke operator command. See
“Issuing Zeke Commands outside of ZCOM” on page 247 for more information.
Line Commands
Line commands (e.g., I for Insert, R for Repeat, and D for Delete) are listed under the
Line Commands heading on applicable screens. You enter line commands in the Sel field
to the left of the corresponding item.
Zeke screens that support line commands also support all standard ISPF editing
commands (e.g., C for Copy, CC for Copy Block, and TF for Text Flow).
Note:
All remaining online procedures in this publication start from the Zeke Primary Menu.
31
ASG-Zeke Scheduling for z/OS User’s Guide
2 Type ASG in the Option field and press Enter. The ASG Product Menu is displayed:
32
2 Starting Zeke and Using the Online Facility
3 Type 5 in the SELECTION field and press Enter. The ASG Product Selection
Menu is displayed:
Copyright (C) 2013 Allen Systems Group, Inc. All rights reserved.
5 Type the subsystem name in the OASIS Subsystem field. The default subsystem is
SSSI.
Press Enter. The ASG-Zeke Primary Menu is displayed:
Copyright (C) 2013 Allen Systems Group, Inc. All rights reserved.
6 From this menu, type the option number on the Option line and press Enter to select
the corresponding online function.
33
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
If you have Zack (or the Zeke Automation Option) installed, the Automation—
Fastpath Tables Maintenance option enables you to manage Fastpath and Autoreply
tables in Zack (directly from Zeke). If Zack is active, the option activates the Zack
Fastpath Table Maintenance function and displays a directory listing of table
names, types (i.e., message, reply, dataset), and statistics, where you can add,
browse, copy, delete, or edit a specific table. See the ASG-Zack publication library
for more information.
From the ASG-Zeke Primary Menu, type X on the Option line and press Enter.
The ISPF Primary Option Menu is displayed:
Copyright (C) 2013 Allen Systems Group, Inc. All rights reserved.
34
2 Starting Zeke and Using the Online Facility
1 From the Zeke Primary Menu, enter option C.1 and press Enter. The User Color
Select Screen is displayed:
2 Consider the types of data you want to change. This table provides is a description
of each type:
Field and Column Labels that identify the fields. Field names and column headings
Heading are treated the same (whether the fields are arranged in a column
or placed next to the field name that applies to them).
Normal Output Data Displayed information that has been entered previously, or has
been calculated by the system.
Accented Output Text Displayed information that has been entered previously, or has
been calculated by the system (and has been highlighted for
emphasis).
35
ASG-Zeke Scheduling for z/OS User’s Guide
Accented Input Data Fields available for entry (and highlighted for emphasis).
3 In the Color field, enter the first letter of the color you want to use.
4 In the Hilite field, enter the first letter of the attribute you want to use.
1 Issue the command ZEKEOL (or its alias ZOL) from any full screen terminal.
Note:
The ZEKEOL command is not supported as a called program from TSO.
If you are running multiple versions of Zeke, you must include the subsystem:
Note:
If you use the default subsystem (SSSI), including the subsystem name in the
command is optional.
36
Chapter 3: Calendars
3
When it creates a schedule of events, Zeke uses calendars to distinguish a workday, from
a weekend day, from a holiday. This distinction is important because it determines the
meaning of some of the OCCURS keywords. For example, if you define your workdays
as Monday through Friday, then the OCCURS keyword WORKDAYS means to schedule
the event on Monday through Friday. However, if you define your workdays as Monday
through Saturday, the OCCURS keyword WORKDAYS means to schedule the event on
Monday through Saturday.
Topic Page
Calendar Types 37
Accessing the Calendar Facility 38
Standard Calendars 40
Special Calendars 41
User Accounting Calendars 42
Calendar Documentation 45
Maintaining Scratch Pad or Note Documentation 46
Maintaining Text Documentation 47
Calendar Types
These are the calendar types:
Calendar Description
Special Defines the exact days an event is to run. You would use a special calendar
only when events have run dates that are random.
User accounting Defines normal workdays and holidays, and establishes accounting periods.
37
ASG-Zeke Scheduling for z/OS User’s Guide
Most companies only need one or two Zeke calendars to meet all of their scheduling
needs; however, you can define as many calendars as necessary. Zeke provides for an
unlimited number of calendars to be defined. Each calendar must have a unique ID.
Note:
If you define a calendar for a specific year to begin processing on the first day or week of
the year, you also must set up a calendar for the previous year for Zeke to reference when
determining the previous workday. This also is true for calendar processing on the last
day or week of the year. You must set up a calendar for the next year that Zeke can use
for reference.
1 From the Zeke Primary Menu, enter option 3. Press Enter. The Calendar Selection
Criteria screen is displayed:
Calendar ID =>
Calendar Type => STD- Standard SPC- Special USR- User
Date Range => - (MM/DD/YYYY) or (DD/MM/YYYY)
38
3 Calendars
3 Perform the steps in the Action column (depending on the desired result).
Note:
For standard and special calendars, you can enter **** to indicate
a generic year. User accounting calendars require a specific year.
Update an existing Move the cursor to the unlabeled selection field to the left of the
calendar calendar you want to update and enter E.
Delete an existing Move the cursor to the unlabeled selection field to the left of the
calendar calendar you want to delete and enter D. A pop-up panel prompts
you to confirm the delete request. If the calendar currently is
specified in any EMR definitions, a warning message is displayed.
To confirm the deletion, press Enter; otherwise, you can cancel the
deletion in order to review and make any necessary changes to the
EMRs that would be affected by the deletion of the calendar.
Before deleting a calendar, you can search the Zeke database using
the Calendar filter on the Event Master Selection Criteria screen to
find events that reference the calendar. See “Accessing an EMR”
on page 52.
This procedure is complete.
4 Press Enter. The Calendar Maintenance Functions screen for the appropriate type of
calendar is displayed.
39
ASG-Zeke Scheduling for z/OS User’s Guide
Standard Calendars
Standard calendars define the normal workdays and holidays and indicate the first month
of the fiscal year for your company. Most events are associated with a standard calendar.
Zeke’s default calendar A is a standard calendar that can be updated to accommodate
your normal schedule. You can define as many standard calendars as necessary, each
with different workdays and holidays.
In this example, an event defined with the OCCURS clause WORKDAYS using calendar
A is scheduled five times per week, and an event using calendar B is scheduled six times
per week. Also, calendar A adjusts the scheduling of an event in case of a holiday, while
calendar B does not recognize any holidays.
Holidays None
40
3 Calendars
2 Update the Work Days fields if your workdays are different from the default days.
The default workdays are Monday through Friday, and weekends are Saturday and
Sunday. There are no default holidays. For each day of the week, enter YES if it is
a workday; enter NO if it is not a workday.
3 Update the Holidays fields with the date of each holiday your company observes.
You can enter up to 30 holidays on one calendar, so a single calendar can span
several years.
Special Calendars
You can use a special calendar for events that have random scheduling dates for which no
other calendar type or OCCURS clause can pinpoint the correct schedule dates. First, you
must associate the event with a standard or user accounting calendar. If you need to
consider an additional, special calendar to establish the correct run dates, then you specify
the special calendar in the OCCURS clause for the event.
Note:
A special calendar is the only calendar type that you can use in an OCCURS clause.
For example, this OCCURS clause schedules an event on every selected date on the
special calendar:
You can use one special calendar for several events, then use keywords to specify dates in
the OCCURS clause. For example, this OCCURS clause schedules an event on selected
dates that fall on Monday:
41
ASG-Zeke Scheduling for z/OS User’s Guide
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
January . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
February . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
March . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
April . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
May . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
June . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
July . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
August . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
September . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
October . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
November . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
December * * * * * * * * * * * * * . . . . . . . . . . . . . . . . . .
2 Enter an asterisk (*) or slash (/) for the days you want the job to be scheduled. The
days are listed across the screen and the months are listed down the left column to
create a matrix of dates.
To deselect a date, replace the asterisk or slash with a period (.) or blank.
You associate an event with a user accounting calendar using the Cal field in the EMR,
like you do for a standard calendar. When you specify a user accounting calendar, the
keywords refer to periods instead of months. In an OCCURS clause, you must use the
keyword PERIODS instead of MONTHS for events that will use a user accounting
calendar.
42
3 Calendars
For example, this OCCURs clause selects the last Monday in period 2:
Primary Commands: ADD BROWSE CANCEL COPY DELETE DOCUMENT EDIT PERIODS
Calendar ID==> ACCTG1 Year==> 2013 Type==> USR
The default workdays are Monday through Friday and weekends are Saturday and
Sunday. There are no default holidays.
2 Update the Work Days portion of the screen, if your workdays are different from the
default days. Use the Tab key to access each of the workday fields. For each day of
the week, enter YES if it is a workday; enter NO if it is not a workday.
3 To update the Holidays portion of the screen, specify the date (using the format
MM/DD/YYYY) of each holiday your company observes. From the Monday field,
use the Tab key to access each holiday date field. You can enter up to 30 holidays on
one calendar.
4 If you are adding a new calendar, specify the date the calendar becomes effective in
the Calendar Start Date field and the date it is no longer effective in the Calendar
Expire Date field and press Enter.
Note:
Set the Calendar Expire Date for six days after the desired expiration date to ensure
proper calculation of OCCURS hits.
43
ASG-Zeke Scheduling for z/OS User’s Guide
5 If you are updating an existing calendar, enter PERIODS on the Command line,
and press Enter.
Enter number of days (01-90) in each period and number of slack days (00-40)
6 Specify the number of days (up to 90) in each period. You can enter up to 24 periods;
however, only one period is required.
For a standard 4-4-5 fiscal year calendar, enter 35 for Periods 03, 06, 09, and 12.
For the remaining periods up to Period 11, enter 28. This assigns 28 days to the first
two periods of each quarter and 35 to the last period of each quarter, and is useful if
your company uses this accounting scheme.
7 If there are extra days between the end of this fiscal year and the start of the next one,
enter that number in the Number of Slack Days field. If slack days are needed and
are not entered, an error occurs when the SCHEDULE function is run.
44
3 Calendars
Calendar Documentation
The Calendar facility enables you to store and maintain calendar-related documentation.
There are three types of calendar documentation that can be stored.
Type Description
Scratch Scratch pad and note documentation each enable you to store up to ten lines
of information for a calendar. These documentation areas are like sticky notes
Note
and are used to pass notes from shift to shift, or from one department to
another. They also can be used for “quick reference” information. The
operator should always review scratch pad or note pad information before an
event runs.
1 From the Zeke Primary Menu, enter 3 and press Enter.Access the Calendar
Maintenance Functions screen as instructed in “Accessing the Calendar Facility” on
page 38.
2 Enter DOCUMENT on the Command line and press Enter. The Documentation
Segments screen is displayed. If an asterisk (*) is displayed to the left of the
documentation type, that type of documentation exists for the calendar.
Calid: A
Year: **** Type: STD Sdate: Edate:
3 Enter one of these codes on the Command line to select the type of documentation
you want to add or update:
Access scratch pad Enter 1 and press Enter. Go to “Maintaining Scratch Pad or
documentation Note Documentation” on page 46.
45
ASG-Zeke Scheduling for z/OS User’s Guide
2 When adding or updating scratch pad or note information, enter text information in
the lined area. You can enter up to 60 characters per line, and up to ten lines of text.
46
3 Calendars
2 Enter text to the right of the column placeholder field. You can enter up to 80
characters per line, and up to several hundred lines of text.
47
ASG-Zeke Scheduling for z/OS User’s Guide
48
Chapter 4: Events
4
An event is a unit of work (e.g., a batch process, program, command, message, etc.)
defined to Zeke and scheduled to occur under a particular set of circumstances. You
create an event master record (EMR) in the Zeke database that defines information for the
event. The EMR includes the date and time to schedule the event, prerequisite conditions
for dispatch, and resource requirements.
Topic Page
49
ASG-Zeke Scheduling for z/OS User’s Guide
Topic Page
50
4 Events
This chapter describes the procedures as you would perform them using the online
facility. For information on performing the same general procedures using the ZEKE
batch utility program, see the ASG-Zeke Scheduling for z/OS Reference Guide.
Event Types
These are the Zeke event types:
Type Description
51
ASG-Zeke Scheduling for z/OS User’s Guide
Accessing an EMR
You use the Event Master Record Definition screens to define or update an event
definition for any type of event. The event definition includes the event’s scheduling and
dispatching criteria, documentation, JCL, auto replies, resources, and condition codes.
1 From the Zeke Primary Menu, enter option 1. The Event Master Selection Criteria
screen is displayed:
Event ===>
2 Optional. To a list of existing templates for a specific event type, perform these steps:
52
4 Events
An asterisk (*) in any column on the right side of the screen indicates that a record
of that type exists for the corresponding event (e.g., an asterisk in the Cond Codes
column indicates that condition code information exists for the event).
• User ID
Note:
Although a user ID value in an event definition must be specified in the correct
case, the user ID value you specify as selection criteria performs a case-insensitive
comparison.
53
ASG-Zeke Scheduling for z/OS User’s Guide
You can use an asterisk (*) as a wildcard for any number of characters. A wildcard
functions in these ways:
• An asterisk at the end of an operand string (e.g., ABC*) selects any name (of any
valid length) that begins with the specified characters.
• An asterisk at the beginning of an operand string (e.g., *ABC) selects any name (of
any valid length) that ends with the specified characters.
• An asterisk in the middle of an operand string performs a wildcard search for any
name matching the specified beginning and ending characters (plus any characters
in between).
You can use a question mark (?) as a placeholder to match any single character.
Note:
Uppercase characters indicate the command’s minimum abbreviation.
Command Action
COPY Copy the basic identifying information and OCCURS/WHEN information from
an existing event definition to create a new event. (Zeke generates the new event
number.)
COPYAll Copy all associated event information from an existing event definition to create
a new event. (Zeke generates the new event number.)
DEACt Deactivate an event, so that Zeke does not include it in the schedule.
54
4 Events
Command Action
DELete Delete an event definition from the Zeke database. (Zeke requires you to
confirm the action.)
Note:
You can delete an event definition only if there are no existing schedule queue
records (SQRs) already in the schedule based on the event definition.
(Otherwise, you must delete the existing SQRs first.)
Note:
The DSPIndex generation option must be set to Y to enable the PATH
command (see “Building EDB Indexes” on page 321).
LEVel Specifies the level of depth to display for the path. The valid
values range from 1 through 999, or you can enter an asterisk
(*) to display all levels. The default value is 1.
OCCDate Specifies the Julian date for Zeke to use to resolve the OCCURS
clause. The default value is the current date.
55
ASG-Zeke Scheduling for z/OS User’s Guide
Command Action
PATHADD Invoke the Schedule View Add-by-Path wizard, which enables you to list
predecessors and successors for an event and then schedule events from the list.
Zeke auto-fills the event, depth level, OCCURS date, version, and path type.
Note:
The DSPIndex generation option must be set to Y to enable the PATHADD
command (see “Building EDB Indexes” on page 321).
LEVel Specifies the level of depth to display for the path. The valid
values range from 1 through 999, or you can enter an asterisk
(*) to display all levels. The default value is 1.
OCCDate Specifies the Julian date for Zeke to use to resolve the OCCURS
clause. The default value is the current date.
Note:
The DSPIndex generation option must be set to Y to enable the PRED
command (see “Building EDB Indexes” on page 321).
LEVel Specifies the level of depth to display for the path. The valid
values range from 1 through 999, or you can enter an asterisk
(*) to display all levels. The default value is 1.
OCCDate Specifies the Julian date for Zeke to use to resolve the OCCURS
clause. The default value is the current date.
VERsion Specifies the version of the event for which to display predecessor
information. For example:
PRED VER 3
The default value is 0 (if the Verload generation option is set to
0). Otherwise, the default value is 1.
56
4 Events
Command Action
PREDADD Invoke the Schedule View Add-by-Path wizard, which enables you to list
predecessors for an event and then schedule events from the list. Zeke auto-fills
the event, depth level, OCCURS date, version, and path type.
Note:
The DSPIndex generation option must be set to Y to use the PREDADD
command (see “Building EDB Indexes” on page 321).
LEVel Specifies the level of depth to display for the path. The valid
values range from 1 through 999, or you can enter an asterisk
(*) to display all levels. The default value is 1.
OCCDate Specifies the Julian date for Zeke to use to resolve the OCCURS
clause. The default value is the current date.
VERsion Specifies the version of the event for which to view predecessor
information.
PREDADD LEV 3
The default value is 0 (if the Verload generation option is set to
0). Otherwise, the default value is 1.
RESTart Request the restart facility (e.g., Zebb) for the job event.
Note:
The DSPIndex generation option must be set to Y to use the SUCC command
(see “Building EDB Indexes” on page 321).
LEVEL Specifies the level of depth to display for the path. The valid
values range from 1 through 999, or you can enter an asterisk
(*) to display all levels. The default value is 1.
OCCDATE Specifies the Julian date for Zeke to use to resolve the OCCURS
clause. The default value is the current date.
57
ASG-Zeke Scheduling for z/OS User’s Guide
Command Action
VERSION Specifies the version of the event for which to view successor
information.
SUCC VER 3
The default value is 0 (if the Verload generation option is set to
0). Otherwise, the default value is 1.
SUCCADD Invoke the Schedule View Add-by-Path wizard, which enables you to list
successors for an event and then schedule events from the list. Zeke auto-fills
the event, depth level, OCCURS date, version, and path type.
Note:
The DSPIndex generation option must be set to Y to use the SUCCADD
command (see “Building EDB Indexes” on page 321).
LEVEL Specifies the level of depth to display for the path. The valid
values range from 1 through 999, or you can enter an asterisk
(*) to display all levels. The default value is 1.
OCCDATE Specifies the Julian date for Zeke to use to resolve the OCCURS
clause. The default value is the current date.
VERSION Specifies the version of the event for which to view successor
information.
SUCCADD LEV 3
The default value is 0 (if the Verload generation option is set to
0. Otherwise, the default value is 1).
WHEN Maintain the WHEN conditions (i.e., prerequisites or dependencies) for the
event (or for a particular version of the event).
58
4 Events
Adding an Event
This section describes the general procedure for adding a new event to the Zeke database
and then directs you to the appropriate procedure for defining the specific event type.
1 From the Zeke Primary Menu, enter option 1. The Event Master Selection Criteria
screen is displayed.
2 Enter ADD on the Command line, and press Enter. The Add Event Record Function
screen is displayed:
3 In the Option field, specify the option number for the type of event that you want to
define.
Or
If you want to create the event using a template, skip to “Creating an Event From a
Template” on page 63.
5 Press Enter. The Event Master Definition screen for the selected event type is
displayed in Add mode.
Depending on the type of event that you want to add, see the appropriate procedure:
• For job events, see “Job Events” on page 67.
• For message events, see “Message Events” on page 84.
• For command events, see “Command Events” on page 87.
• For work center events, see “Work Centers” on page 96.
• For REXX events, see “REXX Events” on page 92.
59
ASG-Zeke Scheduling for z/OS User’s Guide
Updating an Event
This section describes the general procedure for updating an existing event in the Zeke
database and then directs you to the appropriate procedure for updating specific event
types or event attributes.
1 From the Zeke Primary Menu, enter option 1. The Event Master Selection Criteria
screen is displayed.
2 Perform the steps in the Action column (depending on the desired result):
Update an existing event 1 Enter any character in the appropriate Event Types
(without the event number) field.
2 Enter any additional information about the event in the
Selection Field Masks fields.
3 Press Enter. The Event Master Directory displays
events that match the selection criteria.
Continue to step 3 on page 61.
Update event documentation, 1 Enter any character in the appropriate Event Types
JCL, auto replies, resources, field.
condition codes, or
2 Enter any additional information about the event in the
dependencies
Selection Field Masks fields.
3 Press Enter. The Event Master Directory displays
events that match the selection criteria.
Continue to step 3 on page 61.
60
4 Events
3 Perform the steps in the Action column (depending on the desired result):
Update the EMR Enter E to the left of the event that you want to
update, and press Enter. The Event Master Definition
screen for the selected event is displayed in Edit mode.
Perform the appropriate update procedure for the event
type you are updating:
• See “Job Events” on page 67.
• See “Message Events” on page 84.
• See “Command Events” on page 87.
• See “REXX Events” on page 92.
• See “Work Centers” on page 96.
Delete the EMR 1 Enter D to the left of the event that you want to
update, and press Enter. The Event Master
Definition screen for the selected event is displayed
in Delete mode.
2 Press Enter again to confirm.
This procedure is complete.
Update event documentation Enter E1 to the left of the event that you want to
update, and press Enter. Continue to “Accessing Event
Documentation” on page 166.
Update online event JCL Enter E2 to the left of the event that you want to
update, and press Enter. Continue to “Overriding JCL”
on page 232.
Update event auto reply segments Enter E3 to the left of the event that you want to
update, and press Enter. Continue to “Defining Auto
Replies” on page 162.
Update event logical resources Enter E4 to the left of the event that you want to
update, and press Enter. Continue to “Assigning
Resources to an Event” on page 283.
Update event condition codes Enter E5 to the left of the event that you want to
update, and press Enter. Continue to “Condition
Codes” on page 155.
Update the OCCURS clause for Enter E6 to the left of the event that you want to
an event update, and press Enter. Continue to “Defining an
OCCURS Clause” on page 124.
61
ASG-Zeke Scheduling for z/OS User’s Guide
Update the WHEN conditions for Enter E7 to the left of the event that you want to
an event update, and press Enter. Continue to “Defining a
WHEN Condition” on page 141.
To create new events from a template, you must use a template of the same event type
(e.g., a job event). You can create an unlimited number of templates for each event type.
1 Access the Event Master Definition screen for the type of event that you want to
create, as described in “Accessing an EMR” on page 52:
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: Y Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: ABC Usrid: ASGTEST DRL: 2
System: SYS1 Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
62
4 Events
2 In the Event Name field, enter a name for the template (which is used for selecting
the template to create a new event).
3 Enter Y in the Template field to indicate that this event is a template and can be used
as a model for creating new events of this type.
4 Complete the fields that you want to have common values that are defined by default
for all events that you create using the template. See these procedures for more
information on the fields you can define for each event type:
• See “Job Events” on page 67.
• See “Message Events” on page 84.
• See “Command Events” on page 87.
• See “REXX Events” on page 92.
• See “Work Centers” on page 96.
5 Press Enter to save the event template; Zeke assigns it a unique event number.
6 Optional. ASG recommends that you deactivate the event template by issuing the
DEACT primary command.
Note:
Although it is not necessary to deactivate a template (because templates cannot be
scheduled), ASG recommends that you perform this step so that you cannot
schedule a new event that has been created from a template until you activate the
event.
7 If you want each new event created from this template to share the same OCCURS
clause, perform the procedure, “Defining an OCCURS Clause” on page 124.
8 If you want each new event created from this template to share the same WHEN
conditions, perform the procedure, “Defining a WHEN Condition” on page 141.
See “Defining an Event Template” on page 62 for details on defining event templates.
63
ASG-Zeke Scheduling for z/OS User’s Guide
1 Access the Add Event Record Function screen, as described in “Accessing an EMR”
on page 52 for details:
2 In the Use Template field, enter Y to indicate that you want to create the new event
from an existing template.
3 In the Template field for event type, specify the event name of the event template
that you want to use to create events of that type.
4 On the Option line, enter the option for the type of event that you want to define.
To view a list of existing templates for a specific event type, access the Event
Master Selection Criteria screen (see “Accessing an EMR” on page 52), and enter
Y in the Template field next to the event type.
Note:
If you have multiple templates defined with the same event name and type, Zeke
uses the template with the lowest event number. For example, if you have a job
event template named JOBTEMPLATE that is assigned event number 12, and
another job event template named JOBTEMPLATE this is assigned event number
34, Zeke uses the template with the event number 12.
64
4 Events
The Event Master Definition screen for the selected event type is displayed in
Update mode (this example illustrates a job event):
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
All of the information in the template definition is copied to the new event (except
that Zeke resets the Template field in the new event to N).
5 Update the event definition, as necessary. ASG recommends that you change the
event name to a new name (to make it easier to distinguish between the template and
the events you create from the template).
6 Press Enter to save the event; Zeke assigns it a unique event number.
7 Optional. If the event template was deactivated, activate the event by issuing the
REACT primary command. Activating the event enables it to be scheduled.
Copying an Event
If you want to define an event that is similar to an existing event, you can create the new
event from a copy of the existing event.
65
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
If you plan to create numerous, similar events, ASG recommends that you create and use
an event template. See “Creating an Event From a Template” on page 63 for details.
1 Access the Event Master Definition screen (see “Accessing an EMR” on page 52)
for the event that you want to copy:
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
2 To copy only the basic EMR (as displayed on this screen), OCCURS clause (i.e.,
scheduling criteria), and WHEN conditions (i.e., dispatching prerequisites), enter
COPY on the Command line.
Or
where xxxxxx is the original event number, and yyyyyy is the new event
number. Make note of the new event number.
Caution! After the copy is completed, Zeke continues to display the original event (that
was used to create the new event). To avoid inadvertently changing the original
event, access the newly created event before you attempt to make any changes.
66
4 Events
b Press F2.
Note:
Zeke automatically deactivates the new event.
f Enter E in the selection field to the left of the event number, and press Enter.
The Event Master Definition screen is redisplayed in Edit mode for the new
event.
g Edit the event information (as necessary), and press Enter to save the changes.
Note:
If you used this procedure to copy a template, Zeke resets the Template field to N. If
you want the new event to be a template, set this field to Y.
Job Events
A job event is the most commonly used event type, and executes a specified jobstream.
This section describes how to define a Zeke job event.
This section also describes these additional scenarios under which Zeke can send jobs to
other systems while continuing to manage and track them, as well as control the
dispatching and tracking of remote jobs received from other systems:
• You can define job events in Zeke that will originate from an external source, and
Zeke dispatches and tracks the event just like any other Zeke event. See “Defining
an Externally Submitted Job (JESQ)” on page 72.
• Zeke can act as an agent for Zena through EA Services. See “Processing Remote
Work Requests from Zena” on page 75.
• Zeke can route an individual job event (or send its JCL) to a Zeke Agent on another
platform for execution and tracking (or simply to another system for execution).
See “Routing a Job to Another System or Platform” on page 77.
67
ASG-Zeke Scheduling for z/OS User’s Guide
• You can download a subset of scheduled jobs in the Zeke schedule to Zeke Agent
on UNIX, where Zeke Agent dispatches and tracks the jobs in the same manner as
Zeke. See “Downloading a Job to Zeke Agent” on page 81.
1 Access the Event Master Definition screen for job events, as described in “Accessing
an EMR” on page 52.
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
Field Description
Template Y | N. Indicate whether you are defining a message event template. See
“Defining an Event Template” on page 62 for more information.
Event Name Specify the name of the job event. The event name is displayed on Zeke
online screens and reports, and can be used as selection criteria. The event
name also can be specified in end-of-event (EOE), abnormal-end-of-event
(AEOE) and end-of-group (EOG and AEOG) WHEN conditions.
68
4 Events
Field Description
Usrid Specify the user ID (up to eight characters long) for the user authorized to
access the job event.
Because Zeke supports mixed-case user IDs, be sure to specify the desired
user ID in the correct case (i.e., upper, lower, or mixed).
Note:
This user ID is for Zeke internal security only.
System Specify the system or pool that owns the job event (which can be associated
with only one system). You can specify *ANY to indicate a pool that
includes all Zekes in the Zekeplex.
Note:
This is the Zeke system or pool that will dispatch the event, and not
necessarily the Zeke system where the EMR was defined.
Verload Specify the number of versions of this job event that Zeke loads during
schedule build. The valid values range from 0 through 32767. The default
value is 0.
For example, if Verload is set to 3, Zeke adds EMRs to the schedule for
three versions of the event during schedule build (i.e., versions 1, 2, and 3).
If Verload is set to 0, then only one version of the event (version zero) can
be in the schedule at a time.
If Verload is set to 1, Zeke loads only one version during the schedule
build, but you can use the ZADD operator command to add multiple
versions (up to 32,767) to the schedule after the schedule load.
Note:
ASG recommends that you run no more than 1,000 versions of a single
event.
See “Multiple Event Versions” on page 142 for details on multiple event
versions.
Note:
The SKIP(OFF) attribute is applied to the end of the Target field (the
previous field on the EMR), to prevent you from overtyping data intended
for the Target field so that it overflows into the Verload field. Stray
characters in the Verload field could result in an excessive number of
events being scheduled unintentionally during the next schedule build.
69
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Sched Specify the normal schedule time for the event. The default value is 00:00
(i.e., the event is dispatched according to WHEN conditions instead of by
time).
See “Schedule Time” on page 107 for a detailed explanation of schedule
time.
Control Specify the code that indicates whether the Zeke dispatches and tracks the
job event as a Zeke-controlled event.
Note:
Zeke does not support multiple jobs as a single event. You must define
each job as a separate event. Zeke considers any additional jobs in the
same event as nonZeke jobs.
Note:
To remove an event from an intricate event flow, you can mark the
event as nonexecutable as an alternative to changing the event flow
(which typically requires you to delete the event and then modify
the WHEN conditions for all of the deleted event’s successors).
Tapes Specify the number of physical tape drives that the job event requires. Zeke
dispatches the event when the specified number of drives are available. If it
becomes time to dispatch the event, and the required drives are not free,
Zeke indicates that the event is waiting on drives.
70
4 Events
Field Description
You can enable Zeke to calculate this value automatically through the
Calctap generation option (see “Tape Options” on page 318), or you can
enter a value. The valid values range from 0 through 255. The default
value is 0.
Note:
If you keep the default value (zero), but tapes are required, then operator
intervention might be necessary the first time the event runs under Zeke’s
control.
Note:
If Calctap is set to Y, and you manually override the Zeke-calculated
value, then Zeke does not calculate the tape value again until you reset the
Tapes value to 0. To reset the tape value, enter three blank spaces in the
Tapes field.
Secgroup Valid for z/OS job events only. Specify the security group (up to eight
characters long).
If the SecULock generation option is enabled, you cannot update this field.
If the SecUInit generation option is enabled, Zeke automatically populates
this field. (This overrides any entered value or value obtained from an event
template.)
If the RepJGrp generation option is enabled, Zeke replaces the
GROUP= keyword parameter on the JOB card with this value when the
job is submitted.
For more information on these generation options, see the ASG-Zeke
Scheduling for z/OS Reference Guide.
Job Specify the name of the job event in the JCL. The jobname displays on Zeke
online screens and messages, and is used by Zeke to track the event during
execution. This value must match the jobname on the job card for accurate
tracking.
71
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Class Specify up to six job classes for the job event. Before dispatching the event,
Zeke selects an initiator according to the defined classes. This field is valid
only if the generation option DispSel is set to Y (i.e., the default).
If you do not specify a class, then Zeke uses the value of the DefDspCl
generation option.
If no value is defined for the DefDspCl generation option, then Zeke selects
any free, defined initiator. See “Defining Initiators to Zeke” on page 271.
3 Complete these fields (as applicable), which enable you to group events for selection
for scheduling or reporting:
Field Description
App Specify the code (up to eight characters long) to identify the application ID
associated with the job event.
Grp Specify the code (up to three characters long) to identify the group ID
associated with the job event. This field is a subset of the application ID.
4 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns the event a unique, event number.
5 Perform the procedure “Defining an OCCURS Clause” on page 124 to specify when
Zeke schedules the job event.
6 Perform the procedure “Defining a WHEN Condition” on page 141 to specify any
prerequisites that must occur before Zeke dispatches the job event.
72
4 Events
1 Access the Event Master Definition screen for a job event, as described in
“Accessing an EMR” on page 52.
3 If you specify MVS in the Platform field, then the JESQ field is displayed in the
JCL—> section. The Target field is automatically set to *LOCAL.
In the JESQ field, specify the codes that indicates how Zeke processes the
externally submitted job event. These are the valid values:
Code Description
Y Indicates that Zeke must create the event’s SQR in the normal way (i.e., as
added by the SCHEDULE function, or through the ZADD operator command).
If JESQ is set to Y, the job event does not have a JES job ID at dispatch time.
D Indicates that Zeke dynamically creates a new SQR for a matching job that
enters the JES queue (if an unassigned SQR does not already exist).
Note:
If JESQ is set to D, you still can add the job event to the schedule using the
SCHEDULE function or the ZADD operator command.
When Zeke dynamically creates an SQR, the job ID of the JES queue job is
placed in the SQR at that time, and the SQR is assigned to the JES queue job
(and is the only SQR used to dispatch the job).
If JESQ is set to D, the Verload field in the SQR is automatically set to 1, so
that Zeke can dynamically create multiple SQRs for the same schedule date.
The Retain field is set to Y, and the Times field is set to 001.
Caution! You cannot change an existing SQR’s JCL source to or from JESQ.
If you change an EMR’s JCL source from JESQ to a different JCL source while
an existing associated SQR has JESQ as the JCL source, the SQR does not
dispatch or track the JESQ job.
73
ASG-Zeke Scheduling for z/OS User’s Guide
Caution! If more than one EMR has JESQ specified as the JCL source, and a jobname
that matches the JES job card, Zeke pairs the JES job with the first matching
EMR located (which is not necessarily the one with the lowest event number).
Also, if the first matching EMR is deactivated, Zeke stops searching, and does
not add an SQR. For these reasons, ASG recommends that you do not define
more than one EMR with the JCL source JESQ and the same jobname;
otherwise, the results are unpredictable.
For triggering purposes, an event defined with JESQ=D ignores version numbers; the
event triggers, and is triggered by, another event (regardless of that event’s version
number).
If you have an EMR defined with JESQ=D, and the job abends, you must refresh the
SQR that is in a failed status before resubmitting the job to the JES queue. Otherwise,
Zeke dynamically adds a new SQR when the job is resubmitted.
Held Jobs
A job can be submitted to the JES queue on hold (or not on hold). If the job is not on hold,
Zeke places it on hold, and re-queues the job to the JES job queue (where it can be
controlled by the JESQ event). Zeke dispatches a held job by releasing it from the JES
queue.
If the JES queue contains a held job with a matching jobname, Zeke releases it. If there
are multiple matching jobs, Zeke dispatches the job with the lowest JES job ID. If there is
no matching held job, the event remains in the dispatch queue until a matching job arrives
(or until the event is removed from the dispatch queue). In this state, Zeke assigns the
event the event reason code JESQ Held Job Wait in Schedule View (ISPF only) and
in ZD WAIT operator command output.
If a dynamically created SQR is deleted before it dispatches and releases the held job, the
held job is orphaned. In this case, you must manually release the held job. Zeke then
places the job on hold, re-queues it, and dynamically creates a new SQR for it.
Note:
You can use the ZPLEX DISPLAY operator command to display the held jobs in the JES
queue (and whether they have been assigned to an SQR).
74
4 Events
The JES queue is scanned every 30 seconds for new held jobs, so it could take up to 30
seconds for Zeke to dispatch or dynamically create a new SQR for a new JES queue job.
EA Services is enabled through the Zeke server (which runs in the Zeke started task). In a
Zekeplex, all Zekes operate as agents for Zena, and every Zeke started task in the
Zekeplex must be configured to run the Zeke server as a remote agent. By default, any
Zeke server in the Zekeplex can receive the remote task (unless the remote task specifies
a system or pool ID).
The available Zeke system receives the remote work request originating from a Zena
server (via TCP/IP), stores it in the Zeke database as a dynamically-created event,
executes the job, and returns status information (that also references the resulting
SYSOUT) to the originating Zena system.
75
ASG-Zeke Scheduling for z/OS User’s Guide
Along with the basic job definition, Zeke receives, stores and processes these types of
event attributes and information for a task (as defined on the originating Zena system):
• Job and step level condition codes
• Auto replies
• Variables. Zeke performs variable substitution in this order (if multiple variables
exist with the same name):
— Event-level variables
— Originator variables
— Zeke variables
• JCL source, which can be a JCL stream; or a Librarian, Panvalet, or PDS/PDSE
ddname (which can supplied through a Zeke variable).
• REXX execs. A remote task can be used to run a REXX exec, which is
accomplished through the OASIS REXX services batch program SSS2REXX. See
the ASG-OASIS for z/OS Reference Guide for more information.
• Job card overrides (e.g., job priority, job class, security group, WLM scheduling
environment, etc.)
• Triggers. Zeke returns status information to the originating system for these types
of remote triggers:
— Dataset close (DSN)
— BOJ, EOJ, AEOJ
— BOP, EOP, AEOP
— EOS, and AEOS
— BOE, EOE, AEOE
Zeke dispatches and tracks a remote task according to its time, dispatching and resource
requirements, just like any other Zeke event. If you use Zebb, the remote task can also be
designated for Zebb restart when necessary.
See the ASG-Zeke Scheduling for z/OS Installation Guide for the requirements and
instructions for enabling EA Services and configuring the Zeke server.
76
4 Events
Zeke provides support for these functions during remote job dispatching:
• Condition codes processing (described in “Condition Codes” on page 155), except
if *Rmtlim is specified in step 4 on page 78.
• Logical resources usage (see “Logical Resources” on page 280).
• Triggering (see “WHEN Conditions” on page 126) based on all trigger types except
dataset name and variable name.
• Update of accounting information in the EMR (see “Event Activity Accounting” on
page 173).
Note:
Zeke does not support auto replies for remote jobs and NOTDURING conditions that
reference remote jobs.
To route a job to another system or platform, you specify the target and platform
information in the EMR.
1 Ensure that the Posid and Netregid generation options for your system are set
appropriately, with Posid set to Y, and a valid, nonblank Netregid. (Generally, your
system programmer defines these options. See “Job Networking Options” on
page 328.)
77
ASG-Zeke Scheduling for z/OS User’s Guide
2 Access the Event Master Definition screen for a job event, as described in
“Accessing an EMR” on page 52:
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
Note:
If the remote system is secured, the Usrid field must specify a valid user ID on the
remote system.
Field Description
Target Valid for job events only. Specify the job routing option.
Note:
Although the Target field appears in the EMR screen for all event types, it
currently applies to job events only, and defaults to *LOCAL for all other
event types.
Note:
This is the only type of remote processing where the
dispatching and execution platform can be different
from each other.
78
4 Events
Field Description
Note:
If the remote system is a Zeke Agent defined as a
download agent, then the SQRs that specify this system
are downloaded via OASIS/DMS and then executed and
tracked on the remote system. See “Downloading a Job
to Zeke Agent” on page 81 for more information.
Note:
This type of remote job cannot be cancelled due to
condition code processing.
79
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Note:
The values *REMOTE, *RMTFUL, and *RMTLIM can be used only when
Zeke routes the job to a remote system on the same platform as the
dispatching system. If you want to route a job from a z/OS system to a
system on VSE, AIX, or AS/400, you must specify netregid as the target.
If you want to route a job to the same platform (e.g., from one VSE system
to another), you can specify either netregid or *REMOTE as the target.
Note:
The SKIP(OFF) attribute is applied to the end of the Target field (the
previous field on the EMR), to prevent a user from overtyping data intended
for the Target field so that it overflows into the Verload field. Stray
characters in the Verload field could result in an excessive number of events
being scheduled unintentionally during the next schedule build cycle. This
change requires you to press the Tab key after typing eight characters in the
Target field to move to the Verload field. If you attempt to type beyond the
end of the Target field, your keyboard locks, and you must press Reset and
then the Tab key to continue.
Platform Indicate the operating system on which the event is executed. The default
values is the value of the DefPltfm generation option. These are the valid
values:
AIX (see Note below)
DCOSX (Pyramid)
HPUX (see Note below)
MVS (i.e., z/OS)
OS2
OS400
SUN (see Note below)
TANDEM
UNIX (e.g., AIX, AT&T, HPUX, NCR, SCO, SunOS, Sun Solaris, etc.)
USYS
VMS
VSE
WINDOWS (i.e., all supported versions)
Note:
Although the AIX, HPUX, and SUN platform codes are supported, ASG
recommends that you use the UNIX platform code.
Zeke does not download jobs (to a remote system) that have a platform of
MVS or VSE.
5 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
80
4 Events
7 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
Zeke also can dispatch an individual event directly to a Zeke Agent for execution and
tracking (see “Routing a Job to Another System or Platform” on page 77 for more
information).
1 Ensure that the Posid and Netregid generation options for your system are set
appropriately, with Posid set to Y, and a valid, nonblank Netregid. (Generally, your
system programmer defines these options. See “Job Networking Options” on
page 328.)
81
ASG-Zeke Scheduling for z/OS User’s Guide
2 Access the Event Master Definition screen for a job event, as described in Specify
the information indicated in “Job Events” on page 67.“Accessing an EMR” on
page 52:
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
Note:
If the remote system is secured, the Usrid field must specify a valid user ID on the
remote system.
Field Description
Platform Specify the operating system where the remote Zeke Agent resides. The
default value is the value of the DefPltfm generation option. Enter UNIX.
4 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
6 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
82
4 Events
From Schedule View, you can retrieve both Zeke JCL and other valid JCL source types
(from other JCL library facilities).
See “Overriding JCL” on page 232 for instructions on retrieving and updating JCL.from
Schedule View.
1 Verify that ZEKEJCL is defined as a JCL source type. See “JCL Source Options” on
page 323.
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 60 Desc: TEST JOB ASG
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
83
ASG-Zeke Scheduling for z/OS User’s Guide
3 Enter JCL on the Command line, and press Enter. The JCL screen is displayed. (If
no JCL exists, the screen is displayed in Add mode):
4 From this screen (which is controlled by the ISPF Text Editor), use standard ISPF
commands to add, delete, or edit the JCL.
5 Press F3 to save the changes and return to the Event Master Definition screen.
Message Events
A message event can be any message that you want to be issued to the console. You could
have certain consoles that are set up to receive certain messages. For example, the
console for tape mounting might only receive messages with route code 3, while the
printer console only receives messages with route code 7. All messages and route codes
are logged to the SYSLOG file, regardless of the console that received them.
For example, if you want the tape mount console operator to send a certain tape off site
after a job is completed, you could set up a message event with a route code 3, and this
message:
You also could set up your automation software to intercept the message and issue a
command to eject the tape from the automated tape library.
84
4 Events
1 Access the Event Master Definition screen for message events, as instructed in
“Accessing an EMR” on page 52.
Event===>
Primary Commands: ADD BROWSE COPY COPYALL DEACT DELETE DOC EDIT
OCCURS PATH PRED REACT RESOURCE SUCC WHEN
Template: N Permanent: N Milestone: N
Evt: 482 Desc: OFFSITE CASH RUN TAPE
Type: MSG Desc2: MONTHLY
Event Name: ZECASTPOFF App: Grp: Usrid: DRL:
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart:
Early: Sched: 00:00 Mustend: Notafter: Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: Freqcalc: S Trig: A
Control: Y SchEnv: ASGSCHEDUENVIRON
Route: (3)
Field Description
Template Y | N. Indicate whether you are defining a message event template. See
“Defining an Event Template” on page 62 for more information.
Event Name Specify the name of the message event. The event name is displayed on
Zeke online screens and reports, and can be used as selection criteria. The
event name also can be specified in end-of-event (EOE and AEOE) and
end-of-group (EOG and AEOG) WHEN conditions.
85
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Usrid Specify the user ID (up to eight characters long) for the user authorized to
access the message event.
Because Zeke supports mixed-case user IDs, be sure to specify the desired
user ID in the correct case (i.e., upper, lower, or mixed).
Note:
This user ID is for Zeke internal security only.
System Specify the system or pool that owns the message event (which can be
associated with only one system).
Note:
This is the Zeke system (or pool) that will dispatch the event, and not
necessarily the Zeke system where the EMR was defined.
Verload Specify the number of versions of this event that Zeke loads during
schedule build. The valid values range from 0 through 32767. The default
value is 0.
For example, if Verload is set to 3, Zeke adds EMRs to the schedule for
three versions of the event during schedule build (i.e., versions 1, 2, and 3).
If Verload is set to 0, then only one version of the event (version zero) can
be in the schedule at a time.
If Verload is set to 1, then Zeke loads only one version during the schedule
build, but you can use the ZADD operator command to add multiple
versions (up to 32,767) to the schedule after the schedule load.
Note:
ASG recommends that you run no more than 1,000 versions of a single
event.
See “Multiple Event Versions” on page 142 for details on multiple event
versions.
Note:
The SKIP(OFF) attribute is applied to the end of the Target field (the
previous field on the EMR), to prevent you from overtyping data intended
for the Target field so that it overflows into the Verload field. Stray
characters in the Verload field could result in an excessive number of
events being scheduled unintentionally during the next schedule build.
86
4 Events
Field Description
Sched Specify the normal schedule time for the event. The default value is 00:00
(i.e., the event is dispatched according to WHEN conditions instead of by
time).
See “Schedule Time” on page 107 for a detailed explanation of schedule
time.
Route Specify the user-defined route code that corresponds to the alternate
console route code.
Oper Msg Specify the message text (up to six lines long) to issue to the system
console.
3 Complete these fields (as applicable), which enable you to group events for selection
for scheduling or reporting:
Field Description
App Specify the code (up to eight characters long) to identify the application ID
associated with the message event.
Grp Specify the code (up to three characters long) to identify the group ID
associated with the message event. This field is a subset of the application ID.
4 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
6 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
Command Events
A command event issues specified commands to a specified destination. These are the
types of command events that you can define in Zeke:
Type Description
87
ASG-Zeke Scheduling for z/OS User’s Guide
Type Description
SCOM Any command that can be issued from a console. You can specify an unlimited
number of commands in an SCOM event.
SCOM events are the most versatile command type. You can use SCOM events to issue
any type of console command, and including any of the other command event types (i.e.,
ZCOM, PCOM, and VCOM), which you can use only to issue particular types of
commands.
Zeke makes a security call for each individual command line in an SCOM event. See
“Security Calls” on page 384 for more information.
Zeke performs variable substitution for each individual command line in an SCOM event
(except when a statement appears to set a Zeke variable). For example, Zeke would not
perform variable substitution for this statement:
This procedure describes how to define an SCOM event. You define all of the other
command event types in a similar manner.
88
4 Events
1 Access the Event Master Definition screen for SCOM events, as instructed in
“Accessing an EMR” on page 52:
Event===>
Primary Commands: ADD BACK BROWSE COPY COPYALL DEACT DELETE DOC EDIT NEXT
OCCURS PATH PRED REACT RESOURCE SUCC TOPPAGE WHEN
Template: N Permanent: N Milestone: N
Evt: 458 Desc: RESUB MJP JOBS
Type: SCOM Desc2:
Event Name: LJDSCOM App: Grp: Usrid: DRL:
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 08:30
Early: Sched: 00:00 Mustend: Notafter: Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: Freqcalc: S Trig: A
Control: Y SchEnv: ASGSCHEDUENVIRON
Code => C=Sys Cmd R=Sys Response Z=Zeke Cmd V=VM Cmd P=VSE/POWER Cmd
__ Code: C 001 D T
__ Code: C 002 $DI
__ Code: Z 003 ZINFO
__ Code: Z 001 ZADD EV 27 VER 1 REBUILD
__ Code: Z 002 ZADD EV 28 VER 1 REBUILD
__ Code: Z 003 ZADD EV 28 VER 2 REBUILD
__ Code: Z 004 ZADD EV 29 VER 1 REBUILD
Field Description
Template Y | N. Indicate whether you are defining a message event template. See
“Defining an Event Template” on page 62 for more information.
Event Name Specify the name of the command event. The event name is displayed on
Zeke online screens and reports, and can be used as selection criteria. The
event name also can be specified in end-of-event (EOE and AEOE) and
end-of-group (EOG and AEOG) WHEN conditions.
Usrid Specify the user ID (up to eight characters long) for the user authorized to
access the command event.
Because Zeke supports mixed-case user IDs, be sure to specify the desired
user ID in the correct case (i.e., upper, lower, or mixed).
Note:
This user ID is for Zeke internal security only.
89
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
System Specify the system or pool that owns the command event (which can be
associated with only one system).
Note:
This is the Zeke system (or pool) that will dispatch the event, and not
necessarily the Zeke system where the EMR was defined.
Verload Specify the number of versions of this event that Zeke loads during
schedule build. The valid values range from 0 through 32767. The default
value is 0.
For example, if Verload is set to 3, Zeke adds EMRs to the schedule for
three versions of the event during schedule build (i.e., versions 1, 2, and 3).
If Verload is set to 0, then only one version of the event (version zero) can
be in the schedule at a time.
If Verload is set to 1, then Zeke loads only one version during the schedule
build, but you can use the ZADD operator command to add multiple
versions (up to 32,767) to the schedule after the schedule load.
Note:
ASG recommends that you run no more than 1,000 versions of a single
event.
See “Multiple Event Versions” on page 142 for details on multiple event
versions.
Note:
The SKIP(OFF) attribute is applied to the end of the Target field (the
previous field on the EMR), to prevent you from overtyping data intended
for the Target field so that it overflows into the Verload field. Stray
characters in the Verload field could result in an excessive number of
events being scheduled unintentionally during the next schedule build.
Sched Specify the normal schedule time for the event. The default value is 00:00
(i.e., the event is dispatched according to WHEN conditions instead of by
time).
See “Schedule Time” on page 107 for a detailed explanation of schedule
time.
Code Indicate the type of command. These are the valid values:
C System command
P VSE/POWER command
90
4 Events
Field Description
R System response
V VM command
Z Zeke command
Line 001 Specify up to 60 characters of commands or responses per line. Only the
through line first line is required.
005
To access additional command lines, position the cursor on any SCOM line
(after the first one), and press Enter. The screen is redisplayed with a new
blank line. (Any existing SCOM lines below the cursor are hidden.) Repeat,
as necessary, to add additional lines. (The new lines are added to the EMR,
and the existing lines are redisplayed.)
When you enter multiple Zeke operator commands on the same line, you
must include the command prefix on the first command only. For example,
if your command prefix is ASG, specify multiple commands in an SCOM
event like this:
C 001 ASGZAD EV 12 HOLD ZAD EV 89 HOLD
When you are using variable substitution in an SCOM event, the length of
each line cannot be greater than 60 bytes (including the variable values).
For example, let’s suppose you submit this SEND command from an
SCOM event:
SE ‘THIS IS A TEST TEST TEST TEST TEST.’,USER=($ABCVAR)
Let’s suppose that the value of the variable named $ABCVAR equals
ABCABCABCABCABC. The length of the command in the example is
exactly 60 bytes; however, when Zeke performs variable substitution for
$ABCVAR, the length of the line will exceed 60 characters.
3 Complete these fields (as applicable), which enable you to group events for selection
for scheduling or reporting:
Field Description
App Specify the code (up to eight characters long) to identify the application ID
associated with the command event.
Grp Specify the code (up to three characters long) to identify the group ID associated
with the command event. This field is a subset of the application ID.
4 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
91
ASG-Zeke Scheduling for z/OS User’s Guide
6 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
REXX Events
A REXX event enables you to dispatch and monitor REXX execs.
If you plan to use REXX events, review the chapter on Zeke REXX services in the
ASG-Zeke Scheduling for z/OS Installation Guide and the chapter on OASIS REXX
services for your ‘Z’ products (which discusses OASIS/ECF and the SSS2REXX batch
utility) in the ASG-OASIS for z/OS Reference Guide.
1 Access the Event Master Definition screen for REXX events, as instructed in
“Accessing an EMR” on page 52:
Event===>
Primary Commands: ADD BROWSE COPY COPYALL DEACT DELETE DOC EDIT
OCCURS PATH PRED REACT RESOURCE SUCC WHEN
Template: N Permanent: N Milestone: N
Evt: 458 Desc: RESUB MJP JOBS
Type: REXX Desc2:
Event Name: LJDREXX App: Grp: Usrid: DRL:
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart:
Early: Sched: 00:00 Mustend: Notafter: Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: Freqcalc: S Trig: A
Control: Y SchEnv: ASGSCHEDUENVIRON
Argument:
Field Description
Template Y | N. Indicate whether you are defining a REXX event template. See
“Defining an Event Template” on page 62 for more information.
92
4 Events
Field Description
Event Name Specify the name of the REXX event. The event name is displayed on Zeke
online screens and reports, and can be used as selection criteria. The event
name also can be specified in end-of-event (EOE and AEOE) and
end-of-group (EOG and AEOG) WHEN conditions.
Usrid Specify the user ID (up to eight characters long) for the user authorized to
access the REXX event.
Because Zeke supports mixed-case user IDs, be sure to specify the desired
user ID in the correct case (i.e., upper, lower, or mixed).
Note:
This user ID is for Zeke internal security only.
System Specify the system or pool that owns the REXX event (which can be
associated with only one system).
Note:
This is the Zeke system (or pool) that will dispatch the event, and not
necessarily the Zeke system where the EMR was defined.
Verload Specify the number of versions of this event that Zeke loads during
schedule build. The valid values range from 0 through 32767. The default
value is 0.
For example, if Verload is set to 3, Zeke adds EMRs to the schedule for
three versions of the event during schedule build (i.e., versions 1, 2, and 3).
If Verload is set to 0, then only one version of the event (version zero) can
be in the schedule at a time.
If Verload is set to 1, Zeke loads only one version during the schedule
build, but you can use the ZADD operator command to add multiple
versions (up to 32,767) to the schedule after the schedule load.
Note:
ASG recommends that you run no more than 1,000 versions of a single
event.
93
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
See “Multiple Event Versions” on page 142 for details on multiple event
versions.
Note:
The SKIP(OFF) attribute is applied to the end of the Target field (the
previous field on the EMR), to prevent you from overtyping data intended
for the Target field so that it overflows into the Verload field. Stray
characters in the Verload field could result in an excessive number of
events being scheduled unintentionally during the next schedule build.
Sched Specify the normal schedule time for the event. The default value is 00:00
(i.e., the event is dispatched according to WHEN conditions instead of by
time).
See “Schedule Time” on page 107 for a detailed explanation of schedule
time.
Control Specify the code indicating whether this event is executed and tracked as a
Zeke-controlled event. These are the valid values:
REXX exec Specify the name of the member that contains the REXX exec. The dataset
that contains this member must be defined in the SYSEXEC or SYSPROC
DD concatenation of the OASIS/ECF address space started task.
94
4 Events
Field Description
Note:
Sample member REXSAMP in the Zeke SALTINS0 library contains a
sample REXX program for maintaining control over the event status (i.e.,
EOE or AEOE).
Class Specify the OASIS/ECF exec class associated with the REXX exec. The
valid classes range from A through Z, and from 0 through 9.
Pri Specify the OASIS/ECF exec queue priority. The valid values range from
1 through 9 (where 1 is the highest priority). The default value is 5.
The priority value is used only if there is no free ECF task for the specified
class when Zeke dispatches event. In this case, the request is queued, and
this priority is used to determine which exec for the class executes when a
task is available.
Argument Specify the argument string to pass to the REXX exec when Zeke
dispatches the REXX event. The string’s values can be parsed into local
REXX variables in the exec.
3 Complete these fields (as applicable), which enable you to group events for selection
for scheduling or reporting:
Field Description
App Specify the code (up to eight characters long) to identify the application ID
associated with the REXX event.
Grp Specify the code (up to three characters long) to identify the group ID
associated with the REXX event. This field is a subset of the application ID.
4 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
6 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
95
ASG-Zeke Scheduling for z/OS User’s Guide
Work Centers
Work center events are tasks that require manual operator intervention. For example:
• User input (e.g., dates or check numbers)
• User approval
• Completion of a manual task (e.g., data entry)
Work centers are typically set up by scheduling personnel, and completed by data center
operators. Work centers enable an operator to interact with the schedule directly. You can
add, alter, and control your own events without filling out a form, making a phone call, or
writing a note to an operator or your data center.
While work centers can be predecessors for other events, they do not have their own
WHEN condition. Instead, work centers can have SET clauses, as explained in this
section.
Note:
Zeke Web Services enable you to view and manage work center events through a Web
browser. See “Managing Work Centers through the Web” on page 433 for more
information.
96
4 Events
Event===>
Primary Commands: ADD BROWSE COPY COPYALL DEACT DELETE DOC EDIT
OCCURS PATH PRED REACT RESOURCE SUCC WHEN
Template: N Permanent: N Milestone: N
Evt: 246 Desc: OBTAIN AUTH FOR JOB CASH0200
Type: WORK Desc2:
Event Name: CASH0199 App: Grp: Usrid: EAN DRL:
System: ZEQA Cal: A Retain: N Nwday: B Multhit: N Exp:
Target: *LOCAL Verload: 0 Latestart:
Early: Sched: 00:00 Mustend: Notafter: Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: Freqcalc: S Trig: A
SchEnv: ASGSCHEDUENVIRON
Field Description
Template Y | N. Indicate whether you are defining a message event template. See
“Defining an Event Template” on page 62 for more information.
Event Name Specify the name of the work center event. The event name is
displayed on Zeke online screens and reports, and can be used as
selection criteria. The event name also can be specified in
end-of-event (EOE), abnormal-end-of-event (AEOE) and
end-of-group (EOG and AEOG) WHEN conditions.
97
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Usrid Specify the user ID (up to eight characters long) for the user
authorized to access the work center event.
Because Zeke supports mixed-case user IDs, be sure to specify the
desired user ID in the correct case (i.e., upper, lower, or mixed).
Note:
This user ID is for Zeke internal security only.
System Specify the system or pool that owns the work center event (which can
be associated with only one system).
Note:
This is the Zeke system (or pool) that will dispatch the event, and not
necessarily the Zeke system where the EMR was defined.
Verload Specify the number of versions of this event that Zeke loads during the
schedule build. The valid values range from 0 to 32767. The default
value is 0.
For example, if Verload is set to 3, Zeke adds EMRs to the schedule
for three versions of the event during schedule build (i.e., versions 1,
2, and 3).
If Verload is set to 0, then only one version of the event (version zero)
can be in the schedule at a time.
If Verload is set to 1, Zeke loads only one version during the schedule
build, but you can use the ZADD operator command to add multiple
versions (up to 32,767) to the schedule after the schedule load.
Note:
ASG recommends that you run no more than 1,000 versions of a
single event.
Note:
The SKIP(OFF) attribute is applied to the end of the Target field (the
previous field on the EMR), to prevent you from overtyping data
intended for the Target field so that it overflows into the Verload
field. Stray characters in the Verload field could result in an
excessive number of events being scheduled unintentionally during
the next schedule build.
98
4 Events
Field Description
WorkCtr Line Specify a description of the work center activity. This information
serves as instructions to the work center operator. You can enter up to
six lines of comments. If more lines are needed, you can use the
Documentation facility to add more notes.
3 Complete these fields (as applicable), which enable you to group events for selection
for scheduling or reporting:
Field Description
App Specify the code (up to eight characters long) to identify the
application ID associated with the work center event.
Grp Specify the code (up to three characters long) to identify the group ID
associated with the work center event. This field is a subset of the
application ID.
4 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
5 To set up a SET clause for this work center, enter WHEN on the Command line, and
press Enter. The Event Master Record Function screen is displayed:
A SET clause is used instead of a WHEN condition for work center events.
See "SET Clauses" on page 100 for more information. See “IF Clauses On SET
Statements” on page 378 for information on defining the prerequisites that must
occur before Zeke dispatches the event.
Press Enter to save the changes. The screen is redisplayed in Update mode.
99
ASG-Zeke Scheduling for z/OS User’s Guide
7 Perform the procedure “Defining an OCCURS Clause” on page 124 to specify when
Zeke schedules the event.
8 Be sure the operator has Zeke access. You can set up a user’s Zeke operator ID, so
that when they log on to Zeke, the Work Center Selection Criteria screen is
automatically displayed. See “Defining Operator Records” on page 402 for more
information.
b Associate the user’s operator ID with the class ID and the user ID of the work
center event.
Be sure all operators are aware of their user IDs for their work center events and
how to log on to Zeke.
The next time the SCHEDULE function runs, the work center event is scheduled
(assuming the OCCURS clause is true).
For example, suppose you are waiting for management approval before running a job.
You can set up a work center to be completed when approval is obtained. Let’s say you
set up a variable called $APPROV. Completing the work center sets the variable
$APPROV to the value GO. The work center event would contain the WHEN condition
$APPROV EQ GO. When the work center is completed, $APPROV equals GO and the
dependent job is triggered.
SET Clauses
Zeke or OASIS variables can be set to a specified value when a work center is completed.
The SET clause defines how a variable value is set when a work center is completed. The
format of the SET clause is similar to a WHEN condition that uses the VAR keyword,
except that only an EQUAL condition can be specified. For example:
100
4 Events
Keywords
VAR XVAR Variable is automatically set to the specified value when the work center
is completed. The operator cannot change the value.
(VAR $JOB1 EQ 45)
When the operator completes this work center, the $JOB1 variable is
automatically set to 45.
?VAR ?XVAR Variable value can be entered by the operator before completion of the
work center; if desired (the operator is not required to change the value).
Note:
If OASIS variables are secured by SAF (through OASIS/ESI), the
operator must have ALTER authority to OASIS variable value records
to be able to set a variable value. See the ASG-OASIS for z/OS Reference
Guide for more information on OASIS variables security.
Example:
(?XVAR DATE EQ 'MM/DD/YYYY')
In this example, 'MM/DD/YYYY' is the default value and is retained
unless the operator enters a new value.
When the operator completes this work center, the next Work Center
Control Functions screen is displayed and prompts the operator to specify
the current date.
When using OASIS variables in a SET clause, do not enclose the variable name in the substitution
prefix/suffix (the $( ), or additional prefix/suffix defined for your system).
OASIS variables qualified by jobname cannot be used in work centers. (See the ASG-OASIS for
z/OS Reference Guide for detailed information about OASIS variables and qualifiers.)
Keywords can be mixed in the same SET clause. For example:
(?VAR $TEST03 AND XVAR TEST02 EQ 'YES')
When this work center is flagged as complete, the operator is prompted to specify the value for
$TEST03 and Zeke automatically sets the OASIS variable TEST02 to YES.
101
ASG-Zeke Scheduling for z/OS User’s Guide
1 Depending on how your operator ID is set up, the Work Center Selection Criteria
screen might automatically display when you log on to Zeke. Go to step 3.
2 If the Work Center Selection Criteria Screen does not automatically display when
you log on to Zeke, then from the Zeke Primary Menu, enter option 5. The Work
Center Selection Criteria screen displays, and enables you to display a directory of
work center events:
3 Enter one of the menu options on the Option line (depending on whether you want
to see completed work centers only, uncompleted work centers, or both).
4 Optional. Complete these fields (as applicable) to select the work centers that you
want to display:
Note:
You can use wildcards and placeholders (see “Generic Selection Criteria” on
page 53). You also can leave a field blank, or enter an asterisk (*) to omit the field
from the selection criteria.
Field Description
UserID Specify selection criteria to specify the group of user IDs to select.
Because Zeke supports mixed-case user IDs, be sure to specify the
search criteria in the correct case (i.e., upper, lower, or mixed).
102
4 Events
Field Description
System Specify the system or pool that owns the work center (which can be
associated with only one system).
6 Perform the steps in the Action column (depending on the desired result):
Complete the event Enter C to the left of the Event field. If SET=N, Zeke
updates the event status to Done.
If SET=Y, the Work Center Function screen is displayed,
and prompts you to verify the variable value or enter a new
value.
Go to step 8.
Disable the event Enter A to the left of the Event field, if the event is not
considered part of the schedule. Zeke updates the event
status to Disabled.
Enable the disabled event Enter N to the left of the Event field. Zeke updates the
event status to Enabled.
Refresh the event Enter R to the left of the Event field. Zeke updates the
status of a completed event to Not Done.
103
ASG-Zeke Scheduling for z/OS User’s Guide
Display the Work Center Enter O to the left of the Event field. See “Accessing Event
Doc. Segments Screen Documentation” on page 166.
Note:
You can press Enter to display additional SET statements when there are multiple
variables.
104
4 Events
7 Press Enter. The Work Center Control Function screen is displayed in Update mode:
Depress the enter key to accept the new value, or depress PF3 to
maintain the current value.
Data-Name: $PAYCHECK
Curr Value: 1001
New Value: 'NNNN'
Force upper: Y
8 To use the current value and complete the work center, press F3.
Or
To change the value and complete the work center, enter a new value in the New
Value field. The variable value can be numeric or any alphanumeric combination
(up to 64 characters long).
9 In the Force Upper field, specify whether the Current Value includes alpha
characters. These are the valid values:
Code Meaning
N Indicates to keeps the case of the Current Value exactly as entered. Use this
code if you need to allow mixed-case values for variable substitution.
Note:
If the Current Value is numeric only, Zeke ignores the Force Upper option.
105
ASG-Zeke Scheduling for z/OS User’s Guide
10 Press Enter. A verification screen is displayed after all the variables are set:
11 Perform the steps in the Action column (depending on the desired result):
Confirm that the values are correct, Enter COMPLETE on the Command line, and
and complete the work center. press Enter.
The Work Center Directory is displayed. Zeke
updates the event status to Done.
Do not set the values, or do not Enter CANCEL on the Command line, and press
complete the work center. Enter.
The Work Center Directory is displayed. The
event status is unchanged.
106
4 Events
Schedule Time
Schedule time is an optional dispatching prerequisite that must be met before Zeke can
dispatch an event. The schedule time fields are: Sched, Early, Latestart, Lateend,
Mustend, and Notafter. If the precise time that Zeke dispatches the event is not important,
then you can leave these fields blank (i.e., 00:00). However, if Zeke must dispatch the
event by a certain time, or cannot dispatch the event after a certain time, or if the event
must finish by a certain time, you use the schedule times fields to place restrictions on the
time.
Note:
For an explanation of Zeke’s 48-hour clock (known as DaySpan), which lets you
schedule according to a logical day, see “Logical Day (48-hour Clock)” on page 184.
107
ASG-Zeke Scheduling for z/OS User’s Guide
Use this table to help you to determine how to define the schedule time fields to meet
your scheduling requirements for an event:
Schedule the event at a In the Sched field, specify the normal schedule time for the event.
specific time
If you specify a time value greater than 24:00, Zeke processes the
event the next day. The default value is 00:00 (which indicates
that Zeke schedules the event according to WHEN conditions
instead of by time).
Set the earliest time Zeke In the Early field, specify the earliest time that Zeke can dispatch the
can dispatch an event event. Zeke dispatches the event at its early time as long as the
WHEN conditions are satisfied. When multiple events are eligible to
be dispatched early, Zeke dispatches the events by their schedule
time sequence.
For example, you could set an event to run normally at 12:00 P.M.,
but also enable it to run as early as 11:00 A.M., if an initiator is
available.
Note:
You can use the early time to schedule a group of related events that
normally run together, or are dependent on each other. Specify the
same early time for each of the events, and specify the schedule
time for each event in the required sequence. If the events become
eligible to be dispatched early, then Zeke still processes the events
in the correct sequence. This also makes the SCHEDULE command
output more easy to read.
Set the time the event In the Mustend field, specify the latest time the event can complete
must complete processing processing. Prior to dispatch, Zeke adds the current system time to
the event’s average duration. If the result is greater than the ‘must
end’ time, Zeke issues a console message and removes the event
from the dispatch queue.
For example, let’s suppose the Mustend value is 14:00, the system
time is 13:00, and the average duration of the event is two hours.
Because the event would not complete until 15:00, Zeke does not
dispatch event.
Set the latest time Zeke In the Notafter field, specify the latest time that Zeke can dispatch an
can dispatch an event event. Prior to dispatch, Zeke compares the current system time and
the ‘not after’ time. If the ‘not after’ time is less than the system time,
the event no longer is time-satisfied. Zeke issues a console message,
and removes the event from the dispatch queue.
108
4 Events
Set the time Zeke In the Latestart field, specify the time by which Zeke must dispatch
considers an event as late the event. The valid values range from 00:00 through 47:59.
(based on its start time) The event is flagged as late if the current system time is past the ‘late
start’ time and Zeke has not dispatched the event. (If the ‘late start’
time is reached before Zeke dispatches the event, Zeke issues
message Z0302I. See “Late Dispatch Messages” on page 244 for
more information.)
For example, if an event is scheduled to run at 12:00 P.M. with a
Latestart value of 13:00, Zeke considers the event to be late if it is
not dispatched by 1:00 P.M.
Note:
If the Zeke generation option PriLate is set to Y, Zeke dispatches
late events before other events that are not late (regardless of the
schedule time).
Set the time Zeke In the Lateend field, specify the time by which the event must finish.
considers an event as late The valid values range from 00:00 through 47:59. The event
(based on its end time) is flagged as late if the current time is past the ‘late end’ time and the
event has not completed yet. (If the ‘late end’ time is reached before
the event has completed, Zeke issues message Z0302I. See “Late
Dispatch Messages” on page 244 for more information.)
Zeke predicts whether an event might not be completed before its
‘late end’ time (based on its average duration).
• If an event is projected to finish late, Zeke does not prevent the
event from being dispatched until the event’s ‘must end’ time is
violated.
• If an event is projected to finish late, Zeke does not flag the
event as late until the event’s ‘late end’ time is reached.
109
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
If the Zeke generation option PriLate is set to Y, Zeke dispatches
late events before other events that are not late (regardless of the
schedule time).
OCCURS Clauses
The OCCURS clause specifies the day or days Zeke schedules an event. The
SCHEDULE function of the ZEKE utility program scans the Zeke database, and select
each event to process on the specified schedule date based on its OCCURS clauses.
Zeke schedules an event when the event’s OCCURS clause is true. For example, let’s
suppose you define an event as OCCURS (MONDAY). When the SCHEDULE function is
processed on a Monday, the OCCURS clause is true. On any other day of the week, the
OCCURS clause is false (in this case, Zeke does not schedule the event).
See “OCCURS Keywords” on page 112 for a list and description of all OCCURS clause
keywords.
Enclose the entire clause (excluding the word OCCURS) within parentheses. Any
AND/OR logic and additional keywords are optional.
Examples:
OCCURS (MONDAY)
For events with multiple versions, all versions of the event share the same OCCURS
clause. When appearing on reports and displays, the OCCURS clause appears as
version 0.
110
4 Events
For example, this event is scheduled every Monday and Thursday (the event is defined
with two OCCURS clause phrases joined by OR):
The keyword OR indicates the event is scheduled when either clause is true.
The keyword AND indicates the event is scheduled only when both OCCURS clauses are
true.
Examples:
This event is scheduled only when the current schedule date is Monday, and Thursday:
Because this case is impossible, this OCCURS clause is invalid and Zeke never schedules
the event.
For example, let’s suppose an event is scheduled for any Monday during the first month
of each quarter. The months are January, April, July, and October. You would specify the
OCCURS clause like this:
Zeke resolves the innermost group first. The inner group is true if the current month is
January or April or July or October. During any other month, the inner group is false.
Because the keyword AND joins the two clauses, Zeke schedules the event only if it is a
Monday in one of the named months.
You use additional sets of parentheses only to separate multiple conditions. For example,
Because MONDAY and TUESDAY are not multiple conditions, it is not necessary to
code the clause like this:
111
ASG-Zeke Scheduling for z/OS User’s Guide
OCCURS Keywords
You can use these symbols in an OCCURS clause that includes keywords:
Symbol Description
+ Adds the specified number of days or workdays. You can use this symbol with the
period (.) keyword followed by L, or a value from 1 through 24. For example:
(plus)
OCCURS (MONDAY.L + 3 DAY)
Schedules three days after the last Monday of each month or period.
OCCURS (MONDAY.L + 3 WDAY)
Schedules three workdays after the last Monday of each month or period.
- Subtracts the specified number of days or workdays. You can use this symbol with
the period (.) keyword followed by L, or a value from 1 through 24. For example:
(minus)
OCCURS (TUESDAY.1 - 5 WDAY)
Schedules five workdays before the first Tuesday of each month or period.
OCCURS (EOM-2)
Schedules two days before the last day of each month.
Keyword Description
DAILY Schedules on any day that the SCHEDULE function runs, regardless of
whether the day is a workday, weekend, or holiday.
112
4 Events
Keyword Description
113
ASG-Zeke Scheduling for z/OS User’s Guide
Keyword Description
WEOM-xx Schedules xx working days before last working day of the month.
DAY yy xx Schedules on the specified day of the month if the relationship is true, where:
yy is an operator (LE, LT, GE, GT, NE, EQ) or period (.).
xx is a number ranging from 01 through 31, L, or L–.
For example:
OCCURS (DAY LE 07)
Schedules on any day less than or equal to the seventh day of each
month.
OCCURS (DAY.5)
Schedules on the fifth day of each month.
OCCURS (DAY.L-1)
Schedules on the day before the last day of each month.
WDAY xx yy Schedules on the specified workday of the month if the relationship is true.
yy is an operator (LE, LT, GE, GT, NE, EQ) or period (.).
xx is a number ranging from 01 through 31, L, or L–.
For example:
OCCURS (WDAY EQ 04)
Schedules on the fourth workday of the month.
OCCURS (WDAY.5)
Schedules on the fifth workday of each month.
OCCURS (WDAY.L-1)
Schedules on the workday before the last workday of each month.
JDAY Schedules on the specified day of the current year. JDAY uses the same
format as the keyword DAY, but its period is for the year. JDAY also can be
used to refer to the current Julian day in comparison phrases. For example:
OCCURS (JDAY LE 31)
Schedules on the first 31 days of the year.
OCCURS (JDAY.L)
Schedules on the last day of the year.
114
4 Events
Keyword Description
Note:
You also can use the date format dd/mm/yyyy if your OASISxx options
member specifies the start-up option DATE=DDMM.
MONTH Schedules during the specified month. Use with AND. For example:
OCCURS (MONDAY AND MONTH.11)
Schedules if the day is Monday, and it is the eleventh month of the year.
MONTH.11 is November in a regular calendar, but could be different if
you are using a fiscal or user calendar.
OCCURS (TUESDAY AND MONTH.L)
Schedules if the day is Tuesday, and the month is the last fiscal month.
WEEK Schedules during the specified week in a month or period. Use with AND.
For example:
OCCURS (MONDAY AND WEEK.3)
Schedules if the day is Monday and it is the third week of the month or
period.
FWEEK Schedules during the specified week in the month or period that includes
Monday through Sunday. Use with AND. For example:
OCCURS (TUESDAY AND FWEEK.1)
Schedules if the day is Tuesday and is in the first complete week of the
month or period.
WFWEEK Schedules during the specified full work week in the month or period that
includes all normal workdays in that week. Use with AND. For example:
OCCURS (TUESDAY AND WFWEEK.2)
Schedules if the day is Tuesday and is in the second week of the month
or period that includes all normal workdays.
115
ASG-Zeke Scheduling for z/OS User’s Guide
Keyword Description
USEREXIT Calls a user-written program during OCCURS clause processing. All Zeke
calendar table information is passed to the exit. The USEREXIT keyword
determines whether the event should be scheduled. For example:
OCCURS (USEREXIT TESTOCCUR)
Schedules if the user exit returns a response of true.
See the ASG-Zeke Scheduling for z/OS Installation Guide for more
information on OCCURS clause user exists, and on using this keyword.
EVERY xxx Schedules every xxx days beginning on the specified date. Zeke does not
DAYS schedule the event before the specified date.
BEGINNING
mm/dd/yyyy Note:
You also can use the date format dd/mm/yyyy if your OASISxx options
member specifies the start-up option DATE=DDMM.
EVERY xxx Schedules every xxx workdays before and after the specified date (when
WDAYS FROM scheduling events for the future).
mm/dd/yyyy
Note:
You also can use the date format dd/mm/yyyy if your OASISxx options
member specifies the start-up option DATE=DDMM.
REQUEST Zeke does not add the event to the schedule automatically. You must issue
the ZADD operator command to schedule the event.
REFEVENT Schedules according to the calendar (including nonworking days) and the
eventname/ OCCURS clause of another event. If you update the OCCURS clause or
number calendar for the referenced event, Zeke schedules all events that reference
the event according to the changes.
You can specify the event that you want to reference either by event number
or event name. Because an event name might not be unique in the Zeke
database, Zeke selects the first event that matches the event name for the
reference.
Caution! Event numbers are unique; however, because Zeke assigns the
event numbers automatically (and can reuse event numbers),
ASG recommends that you reference other events by event name
to avoid unintended references.
You can use this keyword in combination with other OCCURS keywords.
For example:
OCCURS (REFEVENT ASGJOB1 + 2 WDAY)
Schedules two workdays after the OCCURS of event ASGJOB1.
116
4 Events
Keyword Description
NOT Schedules if the specified keyword condition is false. This keyword can be
used for a single condition or for a compound condition enclosed in
parentheses. For example:
OCCURS (NOT WORKDAYS)
Schedules on any day that is not defined to Zeke as a workday.
OCCURS (NOT (MON OR TUES))
Schedules on all days except for Mondays and Tuesdays.
OCCURS (WORKDAYS AND NOT MONDAY)
Schedules on any working day that is not a Monday.
BEFORE Schedules on the working day before the normal selection day (if the day is
a holiday or weekend).
AFTER Default. Schedules on the working day after the normal selection day (if the
day is a holiday or weekend).
ON Schedules on the normal selection day even (if normal selection day is a
holiday or weekend).
Note:
You use the keywords BEFORE, AFTER, and ON to schedule an event when it would normally
fall on a holiday or weekend. Place these keywords immediately after another keyword or
compound conditions enclosed in parentheses. If you do not specify BEFORE or ON, Zeke
schedules the event the day after a holiday or weekend (unless the Nwday field in the EMR
specifies differently). See “Scheduling Events on Holidays and Weekends” on page 121.
PERIOD Schedules the event according to the specified period. For example:
OCCURS (MONDAY.L AND PERIOD.3)
Schedules on the last Monday in the third period of the calendar.
Note:
To code an OCCURS clause with a relational reference to a holiday (e.g.,
(HOLIDAYS + 1 DAY)), you must set the Nwday field to O in the EMR,
which indicates to schedule the event on the nonworking day.
117
ASG-Zeke Scheduling for z/OS User’s Guide
Keyword Description
CALENDAR Schedules based on the specified criteria, and according to the specified
special calendar. Use with AND. For example:
OCCURS (CALENDAR TEST1 AND WEDNESDAY)
Schedules only for the Wednesdays that are marked in special calendar
TEST1.
VAR Schedules if the specified Zeke variable is true. Use with AND. For example:
OCCURS (VAR $SUE123 EQ OKAY AND PERIOD.2)
Schedules only if the value for $SUE123 is OKAY, and it is the second
period of the calendar.
OCCURS (DAY.L)
Occurs the last day of each month or period.
118
4 Events
OCCURS (WDAYW.3)
Occurs the third workday of each week.
119
ASG-Zeke Scheduling for z/OS User’s Guide
OCCURS ((DECEMBER AND DAY GE 6 AND DAY LE 27) AND WORKDAYS AND NOT
FRIDAY)
Occurs all workdays, except Fridays, from December 6 through December 27
(inclusive).
120
4 Events
OCCURS (JDAY.60)
Occurs the 60th day of the year, either March 1 of nonleap year, or February 29 in a
leap year.
OCCURS (JDAY.L)
Occurs the last day of the year.
DATE xx mm/dd/yyyy
DAY.
EOM
HOLIDAYS
MONDAY-SUNDAY
DAY EQ xx
EVERY xx DAYS
EOM-xx
121
ASG-Zeke Scheduling for z/OS User’s Guide
HOL/WEEK
WEEKENDS
An event that you define to occur on a particular day of the week, could hit on a
nonworking day. For example:
However, an event that you define to occur according to any of these conditions is not
affected by holidays or weekends because a workday, by definition, cannot be a holiday
or weekend:
OCCURS (WORKDAYS)
OCCURS (WDAY EQ xx)
OCCURS (WDAY.L-xx OR WEOM-xx)
By default, when an event is defined to occur on a nonworking day, Zeke schedules the
event for the next working day. (You can change this behavior for an event using the
Nwday field in the EMR, or globally using the NonWkday generation option.)
For example, let’s suppose that an event is defined to occur on Monday, and Monday is a
holiday. Even if the SCHEDULE function is processed on Monday, Zeke does not
schedule the event because Monday is a holiday. Zeke schedules the event for the
following Tuesday (but still dates the event with Monday’s date), and places it in
Tuesday’s schedule. Zeke dates the event with Monday’s date because there could
already be another scheduled event for Tuesday (e.g., if the event is defined to occur
Monday and Tuesday).
BEFORE HOLIDAYS
BEFORE WEEKENDS
BEFORE HOL/WEEK
You can use these same phrases with the keyword ON (instead of BEFORE) to schedule
the event on the hit date (even if it could be a holiday or weekend). For example:
To schedule the event the prior working day, Friday, use this OCCURS clause:
To schedule the event Mondays (even if Monday is a holiday), use this OCCURS clause:
122
4 Events
To schedule an event for every Saturday (when Saturday is defined as a weekend), use
this OCCURS clause:
You can use the keywords ON, BEFORE, and AFTER outside of parentheses to apply to
all of the keywords that are within parentheses. (This does not apply if there is an
individual holiday or weekend specified.)
For example:
This clause schedules every Monday and Tuesday; however, if Monday is a holiday, it
schedules on the previous workday. If Tuesday is a holiday, it schedules on the next
workday.
This clause schedules every Sunday in August, even if Sunday is defined as a weekend
day:
For global OCCURS clause specifications, you can set the NonWkday generation option
(see “Scheduling Options” on page 331), which specifies the default Nwday value when
you add an EMR.
DAILY Keyword
The DAILY keyword schedules an event on any day that the SCHEDULE function runs,
regardless of whether that day is a workday, weekend, or holiday. The keywords ON,
BEFORE, and AFTER have no effect on the OCCURS clause keyword DAILY.
123
ASG-Zeke Scheduling for z/OS User’s Guide
1 Access the Event Master Definition screen for the desired event, as instructed in
“Accessing an EMR” on page 52:
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 6 Desc: TEST JOB
Type: JOB Desc2:
Event Name: ZEKE60TST6 App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 3 Freq: 00:30 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
2 Enter OCCURS on the Command line, and press Enter. The Event Record Occurs
Clause screen is displayed:
Evt: 000006 Type: JOB Job: TSKKGUT1 Evt Name: ZEKE60TST6 Calid: A
Ver: 00000 Platform: MVS
Occurs: (TUESDAY OR WEDNESDAY OR DAY.11)
124
4 Events
3 In the Occurs field, specify a valid OCCURS clause. You must enclose the OCCURS
clause in parentheses. These are the most common OCCURS keywords:
Keyword Description
REQUEST Default. Zeke does not schedule the event automatically. You must add
the event the schedule through Schedule View or using the ZADD
operator command through the ZCOM option.
See “Using Schedule View” on page 193 or “Using the ZADD Operator
Command” on page 255.
WORKDAYS Zeke schedules the event on workdays (as defined on the calendar
specified for the event).
EOM (End of month) Zeke schedules the event on last day of each month.
See “OCCURS Clauses” on page 110 for a full discussion of OCCURS clauses. See
“OCCURS Keywords” on page 112 for a complete list of valid keywords.
4 Press Enter to save the event with the new OCCURS clause.
5 Enter OCCHIT on the Command line, and press Enter. The OCCURS Hit
Resolution screen is displays the days of the current month:
M O N T U E W E D T H U F R I S A T S U N
1 W 2 W
3 4 * 5 * 6 7 8 W 9 W
10 11 * 12 * 13 14 15 W 16 W
17 18 * 19 * 20 21 22 W 23 W
24 25 * 26 * 27 28 29 W 30 W
31
Ver: 00000
Occurs: (TUESDAY OR WEDNESDAY OR DAY.11)
125
ASG-Zeke Scheduling for z/OS User’s Guide
Zeke uses these codes to indicate the status of each day in the current month:
Code Meaning
W Weekend day
H Holiday
6 Review the results of the OCCURS clause for at least the next 12 months to verify
that the event is hitting the schedule as expected.
Perform the steps in the Action column (depending on the desired result):
View the schedule for Enter NMONTH on the Command line, and press Enter.
the next month
View the schedule for Enter PMONTH on the Command line, and press Enter.
the previous month
View the schedule for Enter NYEAR on the Command line, and press Enter.
the next year
View the schedule for Enter PYEAR on the Command line, and press Enter.
the previous year
View the schedule for Specify the number of the month (e.g., 01 for January, 12 for
a specific month December) in the Month field, and press Enter.
View the schedule for Specify the year in the Year field, and press Enter.
a specific year
WHEN Conditions
You use WHEN conditions to specify the conditions that must occur before Zeke
dispatches a scheduled event. Zeke does not dispatch an event until its WHEN conditions
are satisfied. A WHEN condition, also known as a dependency, can be any of these
actions or conditions:
• Execution of a specific program, system job, or another Zeke event
• Relating a Zeke variable to a certain value
• Any combination of multiple WHEN conditions
126
4 Events
If an event does not have a defined dependency, then Zeke dispatches the event according
to the specified schedule time in the EMR.
Work centers do not have WHEN conditions (see “Work Centers” on page 96).
When it schedules an event version, Zeke searches for a dependency with the same
version number. If one is found, Zeke uses that dependency for the event version. If one
is not found, Zeke uses the default (version 0) dependency (if it exists). If a default
dependency has not been defined for the event, Zeke automatically updates the event
status to WHENOK (i.e., dependencies are satisfied).
Extended Dependencies
The keywords XEOJ (extended end-of-job) and XEOE (extended end-of-event) provide
the ability to trigger job events across multiple schedules. Extended WHEN conditions
can be satisfied by events that have run in the past, but no longer are in the schedule. If a
job is dependent on another event that might have run as part of an earlier schedule, Zeke
uses the XEOJ keyword to locate the triggering event in the Zeke database, and determine
whether it has run since the last time the dependent job ran.
See “WHEN Condition Keywords” on page 136 for details on including the XEOJ and
XEOE keywords in a WHEN condition.
If a job has multiple extended WHEN conditions, all conditions must be satisfied at the
same time for the extended triggering to occur.
At schedule load, Zeke searches the EMRs (using the index, if present) and examines the
first matching jobname. If the last run of the event completed successfully since the last
time the job with the extended dependency ran, the dependency is satisfied and marked
by an asterisk (*) (just like an EOJ or EOE). Otherwise, Zeke considers the dependency
as if it were a regular EOJ or EOE, and waits for the triggering job to complete
127
ASG-Zeke Scheduling for z/OS User’s Guide
In extended dependency triggering, Zeke retains the start date and time, the end date and
time, and the event status in the EMR for the last execution of each event (see “Event
Activity Accounting” on page 173 for details). If the SQR has been requeued, or if Zeke
is not tracking the execution, Zeke retains the information in the SQR for the last
execution instead. If multiple SQRs for an event are executing at the same time,
triggering occurs based on the execution with the latest end date and time.
Note:
Zeke processes extended WHEN conditions in the same manner as if the generation
option TrigJob is set to C, and TrigDt is set to A. This indicates that Zeke (or another
Zeke that shares the database) must have dispatched the triggering event, but the start
date does not have to be the same as the schedule date of the job being triggered.
If the last execution of an event did not complete successfully, the event cannot trigger an
extended dependency. For example, a JCL error is an unsuccessful completion; an EOJ
FORCED status indicates a successful completion. If the execution is unsuccessful, Zeke
still retains the information for that execution in the EMR, but no triggering takes place.
Extended WHEN conditions also can be manually satisfied using the ZALTER
WHENOK operator command.
XEOE Example
Event 2 has an extended dependency (XEOE) on Event 1. When it loads Event 2 into the
schedule, Zeke checks to see whether Event 1 ran since the last time Event 2 ran. If Event
1 last ran successfully a week ago, and Event 2 last ran successfully two weeks ago, then
the XEOE dependency is satisfied, and Zeke dispatches Event 2 (assuming that any
additional dependencies also are satisfied). However, if Event 1 ran two weeks ago, and
Event 2 ran only two days ago, the XEOE is not satisfied, and Zeke treats the dependency
as an EOE instead.
XEOJ Example
The job event named Job B has an extended dependency (XEOJ) on Job A. When Zeke
loads Job B into the schedule, Zeke checks to see whether Job A ran since the last time
Job B ran. If Job A just ended today at 10:30:25 A.M., and Job B is ready to run at
10:30:40 A.M. today (during the same minute), then the XEOJ dependency is satisfied,
and Zeke dispatches Job B (assuming that any additional dependencies also are satisfied).
However, if Job A did not end until 10:30:56 A.M. (also during the same minute), then
the XEOJ is not satisfied, and Zeke treats the dependency as an EOJ instead.
128
4 Events
WEAK Conditions
You can use WEAK conditions in a dependency to create WHEN conditions that refer to
other events that might not be in the schedule. WEAK conditions enable you to specify
that Zeke must respect the condition if the event is in the schedule; otherwise, Zeke
ignores the condition.
For example, let’s suppose that this is a dependency for event 100:
If the job event JOBABC is in the schedule, Zeke does not dispatch event 100 until
JOBABC reaches a successful end-of-job (EOJ) status. Zeke continuously checks the
status of the job event JOBABC until it is dispatched.
Zeke verifies whether a dependency has been met because a weak condition was satisfied
(i.e., the event is not in the schedule), or because the dependency has been satisfied (i.e.,
the job ran).
If the job event JOBABC is not in the schedule, Zeke processes the event according to the
Zeke generation option RemovDq:
• If the Zeke generation option RemovDq is set to Y, Zeke moves event 100 to the
dispatch queue. While event 100 is in the dispatch queue, Zeke still continues to
check the schedule for JOBABC. If JOBABC is added to the schedule (e.g., using
the ZADD operator command), Zeke removes event 100 from the dispatch queue,
and does not queued the event again until JOBABC reaches a successful EOJ. If
JOBABC never is added to the schedule, Zeke dispatches event 100 (which
executes when its resources are available).
• If the RemovDq option is set to N, Zeke does not remove the dependent event from
the dispatch queue (once it has been added).
NOTDURING Conditions
A NOTDURING condition specifies that Zeke cannot dispatch an event while the
specified programs or jobs are running. The event remains eligible for dispatch until the
NOTDURING conditions are satisfied; then, Zeke immediately dispatches the event.
Zeke ensures that events with conflicting NOTDURING clauses are not dispatched at the
same time. For example, if JOB1 has the status Pending, and JOB2 has a NOTDURING
condition for JOB1, Zeke does not dispatch JOB2 (even though JOB1 is not actually
running). You can disable JOB1 to enable Zeke to dispatch JOB2.
Caution! Zeke does not support NOTDURING conditions while in SMF recording mode
(as initiated by the ZKILL TRACK command).
129
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
Resource control is a another effective way that you can ensure that conflicting events do
not run at the same time. See “Defining or Updating a Logical Resource” on page 281 for
more information.
To use XCF to process NOTDURING conditions across a Zekeplex, Zeke does not
consider the DispSel option value. Instead, you must specify the start-up option
PLEXNOTD=YES in your ZEKExx options member (see the ASG-Zeke Scheduling for
z/OS Installation Guide for details). This start-up option enables NOTDURING JOB
processing for both JES2 and JES3 (otherwise, only JES2 supports NOTDURING
dependencies). In addition, you also must specify the start-up option PLEXID=value
in your OASISxx options member for the OASIS subsystem for this Zeke system (see
the ASG-OASIS for z/OS Reference Guide for details).
In a WHEN condition, you must list NOTDURING conditions last (after all other WHEN
conditions). You relate multiple NOTDURING conditions using the AND keyword.
To use * as a wildcard character, you can replace any character with *. For example,
PAY**UPD would select all jobs with PAY in the first three positions, any characters in
the fourth and fifth positions, and UPD in the sixth through eighth positions.
130
4 Events
Because * could indicate a generic name or a wildcard character, Zeke assumes that an
asterisk in the first position indicates a generic name when fewer than eight characters are
entered. For example, to select all jobs with C in the seventh position, you would enter
******C*, instead of ******C. Because all eight characters are specified, Zeke
assumes the first * is a wildcard character.
Note:
An event cannot have a generic NOTDURING with a pattern that matches the jobname
(e.g., a jobname JOBBC3PX and WHEN (NOTDURING JOB *BC3P).
Examples
These are examples of NOTDURING WHEN conditions:
Note:
Zeke honors the NOTDURING PGM condition regardless of the initiator where the
job is running.
Cross-platform Dependencies
Cross-platform scheduling dependencies are prerequisites that are satisfied by a remote
scheduler—either a remote Zeke system or another remote scheduling system (e.g.,
ASG-Zena). Only the WHEN conditions EOJ, AEOJ, and BOJ can be shared with remote
systems.
In this example, Zeke waits on EOJ from JOBB on system SYSB before dispatching the
event. When JOBB is completed (EOJ), SYSB notifies the originating Zeke system that
the dependency is satisfied. Zeke then satisfies the dependency for all events waiting for
EOJ JOBB from SYSB.
131
ASG-Zeke Scheduling for z/OS User’s Guide
With the AT keyword, a jobname can be up to 30 characters long. The AT keyword does
not support the use of the VER keyword. If you specify a version number, Zeke ignores
it.
Zeke honors schedule and run dates when satisfying cross-schedule triggers. If a job that
satisfies a cross-schedule trigger is a Zeke controlled job, the SQR’s schedule date and
run date are sent to the local Zeke with the satisfy notification. If the job that satisfies a
cross-schedule trigger is not a Zeke job, the current date on the system where the job ran
is sent to the local Zeke as the job’s schedule and run dates in the satisfy notification.
When the local Zeke system processes the satisfy notification, the local Zeke applies the
value of TrigDt generation option to the schedule and run dates from the remote system to
decide whether the remote job will satisfy the trigger. If the remote scheduler does not
send the dates in the satisfy notification, the local Zeke system bypasses the TrigDt value
and simply looks for a match on the jobname.
You also can use AT to specify a dependency using the ZALTER operator command. For
example:
• To add a remote dependency with an AND relationship:
ZALTER JOB 1 WHENAND (EOJ JOBC AT SYSB)
• To add a remote dependency with an OR relationship:
ZALTER JOB 1 WHENOR (EOJ JOBC AT SYSB)
• To satisfy a remote dependency:
ZALTER JOB 1 WHENOK (EOJ JOBB AT SYSB)
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on the
ZALTER operator command.
132
4 Events
To use an asterisk as a wildcard character, you replace any character with an asterisk (*).
For example, PAY***UPD selects all events with PAY in the first three positions, any
characters in the fourth through sixth positions, and UPD in the seventh through ninth
positions. If the event name contains spaces, you must specify the name in single quotes.
For example, (EOE '**********').
You can use an asterisk (*) to indicate both a generic name and a wildcard character, so it
is important to understand how Zeke interprets an asterisk. The maximum number of
characters that you can specify in a generic name is 12. If you specify all 12 characters
(with an asterisk in the first position), Zeke assumes the first asterisk is a wildcard. For
example, *KKKKKKKKKKK selects all events with any character in the first position, and
K in the second through twelfth positions. If you specify fewer than 12 characters, Zeke
assumes that an asterisk in the first position indicates a generic name. For example,
*KKKKKKKKKK (one less K than the previous example) selects all events that begin with
ten K’s.
If you want to indicate a generic name, but need to specify 12 characters, you can place
the asterisk in the last position. For example, KKKKKKKKKKK* selects all events
beginning with 11 K’s.
This example shows two WHEN conditions joined with the keyword OR (which
indicates that the event is satisfied when either clause is satisfied):
The keyword AND indicates that the event is satisfied only when both of the WHEN
conditions are satisfied:
For example, an event is satisfied when Job A is completed, and either Program A or
Program B is completed:
The inner group is resolved first. The inner group is satisfied if Program A or Program B
have completed. Because the keyword AND joins the two clauses, the event is only
satisfied if Job A has also completed.
133
ASG-Zeke Scheduling for z/OS User’s Guide
BOJ
EOJ
BOP
EOP
AEOJ
EOS
AEOP WHEN
See the ASG-Zeke Scheduling for z/OS Installation Guide for more information on SMF
requirements, or ask your system programmer whether your installation supports WHEN
conditions that reference started tasks.
For example, Zeke does not dispatch this event until the value of the variable named
$VARNAM1 is YES:
When the variable is set to YES, the dependency is satisfied. The dependency also is
satisfied if the variable is already set to YES when Zeke loads the schedule.
In WHEN conditions, you can use OASIS variables only for substitution in an operand
(e.g., the jobname in a BOJ or EOJ condition, or the expression following EQ in a VAR
condition). OASIS variable substitution is performed using qualifiers from the created
SQR. For example:
Let’s suppose that the value of the OASIS variable CYCLE is 09. When this value is
substituted into the dependency, the jobname becomes PRDAA09.
Zeke does not check WHEN conditions that contain variables for syntax when they are
defined. Syntax checking occurs only after the variable substitution is performed. This is
important in certain situations. For example, if the operand of an EOJ dependency that
contains a variable is longer than eight characters before substitution occurs, this
134
4 Events
normally would be invalid because of length limitations. Because Zeke does not perform
syntax checking until after the substitution, the length is valid as long as the value is no
longer than eight characters after substitution occurs.
These are the valid relational operators that you can use in a Zeke variable:
EQ EQual to
GT Greater Than
LT Less Than
NE Not Equal to
You can use either numeric or character literals; however, numeric values are compared
only to numeric variables, and character values are compared only to character variables.
You must express numeric literals explicitly (no delimiters), and enclose character literals
in special character delimiters (if the character string contains other than alpha/numeric
characters).
For example:
135
ASG-Zeke Scheduling for z/OS User’s Guide
Keyword Description
AT (Target) Specify the Netregid (up to eight characters long) for the remote system
netregid where the cross-platform prerequisite must occur. For example:
WHEN (EOJ JOBA AND EOJ JOBB AT SYSB)
Note:
When you use the AT keyword, you can specify a dependency on a job with a
jobname up to 30 characters long.
Using the AT keyword does not support use of the VER keyword. If a version
number is specified, Zeke ignores it.
DSN (Dataset name) Dataset triggering is based on the close of a z/OS output dataset.
Zeke dispatches the event when a sequential, nonVSAM dataset that matches the
DSN dependency is closed. For example:
WHEN (DSN DATASET.NAME)
WHEN (DSN DATASET.NAME AND EOJ PAYROLL)
Before using DSN for nonVSAM datasets, ensure that the Zeke generation option
IEFU83 is set to Y, and that your system is creating Type 15 SMF records, or that
Connect:Direct (formerly Network Data Mover, or NDM) is installed and active
with the appropriate RUN TASK statement. See the ASG-Zeke Scheduling for
z/OS Installation Guide for more information on using on using Connect:Direct
with Zeke.
A generation data group (GDG) dataset name with the generation number
'G0000V00' is satisfied when any dataset in its GDG index is created and
closed. For example, this condition is satisfied when any generation in the GDG
'A.B' is created and closed:
WHEN (DSN A.B.G0000V00)
Because the IEFBR14 program does not close a dataset, it cannot trigger a DSN
dependency.
Note:
The DsclTrig generation option (see “Dispatching Options” on page 308)
controls the dataset dispositions that qualify as triggers for DSN WHEN
conditions.
136
4 Events
Keyword Description
AEOE (Abnormal end of event) Specify an event of any type (including work centers).
For example:
WHEN (AEOE JOB1)
AEOP (Abnormal end of program) Specify the program name. For example:
WHEN (AEOP PAYROLL)
AEOS (Abnormal end of step) Specify the stepname. For example, if the step that failed
does not execute a procedure:
WHEN (AEOS STEP4..JOBX)
If the step that failed executes a procedure, the procname must be included:
WHEN (AE0S STEP2.PROC3.JOBX)
NOTDURIN (Not during) Specify the program name or jobname. This prevents jobs/programs
G from running at the same time. If you use this keyword, you must specify it as the
last condition in the WHEN condition statement. For example:
WHEN (NOTDURING JOB JOBNAME)
WHEN (EOJ JOB1 NOTDURING JOB PRODCICS)
WHEN (NOTDURING JOB *PAY NOTAF PGM PAY**01A)
See “NOTDURING Conditions” on page 129 for a detailed discussion of
NOTDURING WHEN conditions.
EOG (Successful end of group) Specify the name of the group of events. For example:
WHEN (EOG GRPPAY)
You can use EOG to trigger an event by the completion of multiple events
(including work centers). This dependency is satisfied when all events in the
schedule that match the specified event name are in Done or Disabled status, and
at least one of the matching events is in Done status.
137
ASG-Zeke Scheduling for z/OS User’s Guide
Keyword Description
For example, let’s suppose a master file update is performed after all daily
transactions are received. If the number of daily transaction jobs varies, you
cannot use EOE, because some of the EOE conditions would not be satisfied if
their corresponding jobs were not run on a particular day. With EOG, before
dispatching the event, Zeke ensures that all scheduled events matching the
specified event name are in Done or Disabled status. If no transaction jobs are
complete, the master file update does not run.
For example, let’s suppose that an event with an EOG dependency is scheduled at
18:00. At 10:00, two events that match the EOG are in the schedule; and at 12:00,
these events are completed. This satisfies the EOG, but the dependent event is not
scheduled to run until 18:00. At 14:00, an event that matches the EOG dependency
is added to the schedule. The EOG is no longer satisfied and the newly added event
must be completed or disabled before the event with the EOG dependency can be
dispatched.
Note:
If you specify an EOG dependency in which the dependent event matches the
generic event name specified in the EOG, the dependent event will never be
triggered (because it is dependent on itself as well as other events). For example,
if the WHEN condition specifies EOG *ASG123 and the event name for the
dependent event is ASG12345, all other predecessor events might be completed,
but the successor will never be triggered.
EOE (Successful end of event) Specify the name of an event of any type. Do not specify
the event number.
This dependency is satisfied when an event in the schedule that matches the
specified event name has reached a EOE or Disabled status.
For example:
WHEN (EOE JOB1)
WHEN (EOE 'JOB TWO')
WHEN (EOE PAYROLL)
WHEN (EOE 'JOB PAYROLL')
EOP (Successful end of program) Specify the program name. For example:
WHEN (EOP PROGRAM.JOB)
WHEN (EOP PGMNAME1 OR EOP PGMNAME2)
138
4 Events
Keyword Description
EOS (Successful end of step) Specify the stepname (i.e., the job step that calls the
cataloged procedure) or the procstep name.
For example, when executing a procedure:
WHEN (EOS STEPNAME.PROCSTEP.JOBNAME)
For example, when not executing a procedure:
WHEN (EOS STEPNAME..JOBNAME)
VAR (Variable) Specify a variable value. Zeke dispatches the event only when the
variable is equal to the specified value. For example:
WHEN (VAR $ABC EQ YES)
See “Using Zeke Variables as WHEN Conditions” on page 134 for a detailed
explanation on using variables in WHEN conditions.
VER (Version) Specify the event version. Zeke dispatches the event only at the end of
the specified event version. If you omit this keyword, the default is the same SQR
version. For example, if JOBB version 3 is waiting on EOJ for JOBA, but no
version is specified, JOBB waits on EOJ for JOBA as a version 3 SQR. For
example:
WHEN (EOE JOB4 VER 88)
WHEN (EOJ JOBC AND EOJ JOBC VER 2)
You can use the VER condition for any EOE, EOJ, EOP, EOS, or EOG condition
(including their WEAK counterparts); however, it affects only the SQR that
generates the trigger (i.e., not the job, program, or step).
You can specify an asterisk (*) in the VER condition to trigger from any SQR
version. For example, this event is triggered from the next EOE for EVTB:
WHEN (EOE EVTB VER *)
Note:
Zeke does not support use of the VER keyword for these WHEN conditions—
DSN, VAR, ?VAR, XEOJ, and XEOE.
139
ASG-Zeke Scheduling for z/OS User’s Guide
Keyword Description
WEOG (Weak end of group) Specify the group name. For example:
WHEN (WEOG GRPA)
You can use WEOG to trigger an event by the completion of an event group
(which could include work centers). This dependency is satisfied when all events
in the schedule that match the specified group name are in EOE or Disabled status,
and at least of the matching events must be in EOE status.
A WEOG condition can be satisfied even if there are no matching events in the
schedule.
See “WEAK Conditions” on page 129 for more information.
WEOE (Weak end of event) Specify the event name; do not specify the event number. For
example:
WHEN (WEOE WC_ABC)
You can use WEOE to trigger an event by the completion of another event
(including work centers).
A WEOE condition can be satisfied even if there are no matching events in the
schedule.
See “WEAK Conditions” on page 129 for more information.
XEOE (Extended end of event) Specify the event name; do not specify the event number.
An XEOE is satisfied when an event (including work centers) in the schedule that
matches the specified event name has reached an EOE or Disabled status since the
last time this event ran. For example, if this dependency is defined for JOBC, then
XEOE is satisfied if job ABC has run to EOE or Disabled status since the last time
JOBC ran:
WHEN (XEOE ABC)
Note:
Zeke does not support the use of the VER keyword with the XEOE keyword.
140
4 Events
Keyword Description
Note:
Zeke does not support use of the VER keyword with XEOJ. If you specify a
version number, Zeke ignores it and the job is triggered by any version of the
specified job.
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 6 Desc: TEST JOB
Type: JOB Desc2:
Event Name: ZEKE60TST6 App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 00:30 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
141
ASG-Zeke Scheduling for z/OS User’s Guide
2 Enter WHEN # (where # is the version) on the Command line, and press Enter. If
you do not enter a version number, it defaults to the first version.
Evt: 000006 Type: JOB Job: TSKKGUT1 Evt Name: ZEKE60TST6 Calid: A
Ver: 00000 Info: Platform: MVS
****** ***************************** Top of Data ***************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG> your edit profile using the command RECOVERY ON.
000001 (EOE ZEKE60TST5 AND EOE ZEKE60TST4 AND EOE ZEKE60TST1 AND EOE ZEKE60TST2
000002 AND EOE ZEKE60TST3)
****** **************************** Bottom of Data *************************
3 Use the standard ISPF commands to edit the bottom part of the Event Master Record
Function screen. Enter a valid dependency for this version of the event.
The most common WHEN keyword is EOJ jobname which dispatches the
event at the successful end of the specified job. You can combine several WHEN
conditions with the use of the keywords AND and OR. For example:
See “WHEN Condition Keywords” on page 136 for a complete list of valid
keywords.
4 Press Enter. The event version is updated with the WHEN condition.
5 To define a dependency for another version of the event, enter ADD # (where # is
the version number) on the Command line. Repeat steps 3 and 4.
You can issue to COPY command to use the same dependency for multiple versions
of an event. For example, to copy the dependency from version 7 to version 8,
display the Event Master Record Function screen for version 7. Enter COPY 8 on
the Command line. The dependency is copied to version 8, and the screen is
displayed in Edit mode for version 8. If you do not specify a version number to
copy to, Zeke selects one for you.
Each version of an event operates independently of all other versions of the same event.
For example, you can add a JCL override for one version without affecting other versions
of the same event.
142
4 Events
Each version of an event shares the same OCCURS clause, but can have different WHEN
conditions. You can issue Zeke operator commands that select events by version number
for processing. You also can define WHEN conditions to trigger based on version
numbers.
Multiple versions of the same event all have the same jobname; therefore, they cannot
execute concurrently due to JES limitations. (Zeke provides a user exit, ZEKE02OX, to
enable you to change the jobnames while the events are added to the schedule. See the
ASG-Zeke Scheduling for z/OS Installation Guide for more information on ZEKE02OX.)
You use the Verload field on the Event Master Definition screen to define the number of
versions for an event. Then, you can define WHEN conditions based on a specific version
number of the event.
For an event that originates from Zena and is processed through EA Services (see
“Processing Remote Work Requests from Zena” on page 75), the version number is used
as a JCL filter ID, which is used to customize the JCL at dispatch time.
1 Access the Event Master Definition screen for the event, as instructed in “Accessing
an EMR” on page 52:
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 32 Desc: TEST JOB
Type: JOB Desc2:
Event Name: TESTADDNM App: Grp: Usrid: DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 4 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 00:30 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
143
ASG-Zeke Scheduling for z/OS User’s Guide
If there are WHEN conditions defined for the event, the WHEN/SET Clause
Directory screen is displayed:
All the WHEN conditions that have been defined for the event are listed, with their
corresponding version numbers.
If a dependency is longer than the width of the screen (indicated by a '>' symbol in
the More column), you must access the Event Master Record Function screen to
view the remainder of the statement. To do so, use the Browse line command as
described in the next step.
3 Perform the steps in the Action column (depending on the desired result):
Add a dependency for a Enter ADD ver# on the Command line (where ver# is the
new version number number of the version you are adding). For example, ADD 5.
Press Enter.
The Event Master Record Function screen is displayed in Add
mode. See “Defining a WHEN Condition” on page 141 for
further instructions.
Browse the WHEN Enter B to the left of the dependency that you want to
conditions for a particular browse. Press Enter.
version of the event
The Event Master Record Function screen is displayed in
Browse mode.
Delete the WHEN Enter D to the left of the dependency that you want to delete.
conditions for a particular
The Event Master Record Function screen is displayed and
version of the event
you are asked to confirm the deletion. Enter DELETE on the
Command line, and press Enter to confirm, or press F3 to
cancel.
Or
144
4 Events
Edit the WHEN conditions Enter E to the left of the dependency that you want to edit.
for a particular version of
The Event Master Record Function screen is displayed in Edit
the event
mode.
When finished editing the dependency, press Enter to save
your changes.
Recurring Events
A recurring event occurs more than once in a single schedule period. For example, a
message that is issued to the operator every hour is a recurring event. You define the
frequency or time interval and the number of occurrences. You can use a recurring event
to trigger other events each time it runs, or only on the first or last occurrence.
WHEN Conditions
Zeke resets a recurring event’s WHEN conditions at dispatch time, not at completion
time. The event’s WHEN conditions can be satisfied even while the event is running.
145
ASG-Zeke Scheduling for z/OS User’s Guide
Permanent Events
Zeke never removes a permanent event from the schedule, so the event always is
available to respond to triggers (even during schedule load processing). A permanent
event can run an unlimited number of times. You activate a permanent event by adding it
to the schedule with the ZADD operator command. The event occurs across every
schedule period until you remove it using the ZDELETE operator command.
Zeke processes permanent events in the same manner as recurring events, with these
exceptions:
• Zeke forces the OCCURS clause to REQUEST.
• Zeke ignores nonworking day options in the calendar.
• Only one version can be active (the Verload field is set to 0).
• The event can be triggered by any date. The values of the Zeke generation options
TrigDt, DsnTrig, and RemTrig are treated as “any” (i.e., A or TA).
• Zeke ignores any Multhit generation options.
Schedule Time
Zeke uses only the schedule time (Sched) to time-satisfy a permanent event, and ignores
any other time specifications (e.g., early time).
Each time Zeke executes (and then reschedules) a permanent event, the run date
increments, so that the schedule time stays under 24:00. (Normally, when the schedule
time passes 24:00, the run date increments and the schedule time is reduced by 24 hours.)
You can set the schedule time, or any other time that increments at rescheduling (e.g.,
Late, Mustend, or Notafter), above 24:00 in the EMR for a permanent event. The first
time Zeke reschedules the event, the run date increments so that the updated schedule
time is below 24:00.
When Zeke reschedules a permanent event (with the Freqcalc value set to S) that has a
run date in the past (e.g., after a database restore), the event’s run date and schedule time
are still likely to be in the past. So, Zeke immediately considers the event to be
time-satisfied (TIMEOK), instead of waiting. Zeke immediately considers the event to be
time-satisfied every time the event is rescheduled, until its run date and schedule time
catch up to the system date and time.
146
4 Events
When a permanent event (with the Freqcalc value set to S) has a run date in the future, is
forced to run, and then is rescheduled, the event’s updated run date and schedule time
remain in the future. The event becomes time-satisfied when the system date and time
reach the event’s updated run date and schedule time.
When Zeke reschedules a permanent event (with the Freqcalc value set to C) that has a
run date in the past, the event’s run date and schedule time are updated to the current
system date and time (added to the event’s frequency). So, Zeke now waits until the
frequency interval is past before considering the event to be time-satisfied again.
When a permanent event (with the Freqcalc value set to C) has a run date in the future, is
forced to run, and then is rescheduled, the event’s run date and schedule time are reset to
the current date and time (added to the event’s frequency). The event becomes
time-satisfied again when its frequency has expired, instead of waiting for its future run
date (which is reset to today’s date).
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 3 Freq: 00:30 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
147
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Permanent Y | N. Indicates whether to retain the event in the schedule permanently (i.e.,
indefinitely). These are the valid values:
N Default. Zeke processes the event for each schedule run according
to the OCCURS clause.
Y The event must be added to the schedule using the ZADD operator
command. After you add the event, it remains in the schedule
(across schedule runs) until you delete the event using the
ZDELETE operator command.
Times Specify the number of times Zeke dispatches the event per schedule run.
For a recurring event, the valid values range from 2 through 9999.
For a permanent event, you do not specify a Times value; Zeke considers the
number of times to be unlimited. Zeke automatically sets the value to 000.
If you later update a permanent event to remove the permanent specification,
Zeke automatically sets the Times value to 1.
Freq Specify the amount of time Zeke waits before dispatching a recurring event
again. To determine the next dispatch time, Zeke adds the Freq value to the
current system time or current schedule time (depending on the Freqcalc
value).
Note:
ASG recommends that you specify a Freq time and/or a WHEN condition for
permanent and recurring events.
If you set the Freq value to 00:00, Zeke immediately considers the recurring
or permanent event to be time-satisfied after each completion. When the
WHEN condition (if one exists) becomes satisfied, Zeke dispatches the event.
Note:
For a permanent event, Zeke sets the run date to the current system date
when the next schedule time passes 24:00.
148
4 Events
Field Description
Freqcalc Indicate how to calculate the next dispatch time for the recurring or permanent
event. These are the valid values:
S Zeke schedules the event by its start time, regardless of the time the
event actually runs. If the event becomes delayed for any reason,
Zeke dispatches any missed runs immediately.
Trig Indicate how the recurring event satisfies WHEN conditions (i.e., serves as a
trigger) for other events.
Note:
This field is valid for recurring events only; permanent events trigger other
events on all occurrences.
A Default. The recurring event triggers other events each time it runs.
F The recurring event trigger other events only the first time it runs.
L The recurring event triggers other events only the last time it runs.
For example, let’s suppose that for a recurring event, you specify these values:
Times 24
Trig F
Start 8:00
time
149
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
3 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
5 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
Milestone Events
A milestone event is a significant event in an event flow (that includes
predecessor/successor relationships) that must process on time to avoid a significant
delay in the completion of the entire flow.
Events flagged as milestones are not processed any differently from other events—the
milestone flag simply makes these events more easy to identify in the event flow.
In Schedule View (ISPF only), milestone events are indicated by an asterisk (*) in the
Milestone column.
In OpsCentral, you can filter events that have been flagged as milestone events. You also
can view (graphically) the positions of milestone events in the event flow.
150
4 Events
Status Description
Normal Indicates whether Zeke expects the milestone event to process normally in the
(green) event flow.
Met Indicates whether the milestone was met successfully (i.e., the event completed
(blue) successfully within all of its time constraints).
Missed Indicates whether the milestone event has failed or violated a time constraint
(red) (according to its ‘late start’, ‘late end’, ‘not after’, or ‘must end’ times).
At-risk Indicates whether the milestone event is at risk because of a problem with a
(yellow) predecessor (or other projected time violation).
You can define the criteria that puts a milestone event at risk through this variable
in the ZENVIRN file:
ZEKE_SERVER_MILESTONE_AT_RISK
(See the ASG-Zeke Scheduling for z/OS Installation Guide for details.)
This is an example of an alert that would be issued to OpsCentral if a milestone
were at risk because of a failed predecessor:
Milestone event 000060 2011134 ver 00001 JOBKAC is at risk due
to predecessor events:
Event 000083 2011134 ver 00001: Failed
Critical Path
Milestone events are an essential element in the concept of a critical path. The critical
path is the sequence of predecessor/successor events that will take the longest to
complete. The critical path represents the minimum amount of time to complete the event
flow from the event with the earliest start through the event that finishes last.
The critical path could change from time to time as events are completed ahead of or
behind schedule. Typically, delays along the critical path imply that additional time is
required to complete the event flow. This helps you monitor the completion of the current
schedule to ensure that there is no conflict with the start of the next schedule.
151
ASG-Zeke Scheduling for z/OS User’s Guide
1 Access the Event Master Definition screen for a job event, as described in
“Accessing an EMR” on page 52.
2 In the Milestone field, indicate whether the event is a milestone event. This
designation is valid for any type of event. These are the valid values:
Code Meaning
Y Designate the event as a milestone, which Zeke flags in Schedule View and
OpsCentral.
3 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
5 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
Note:
You also can flag an event as a milestone using the EVENT function of the ZEKE utility
program. See the ASG-Zeke Scheduling for z/OS Reference Guide for details.
152
4 Events
Scheduling Environments
Zeke supports IBM Workload Manager (WLM) scheduling environments for dispatching
all event types.
A scheduling environment defines the conditions for when an event can (or cannot) be
dispatched, and is a collection of resources and their required states. When all resources
for a system match an environment’s defined requirements, the environment becomes
active. Events can be scheduled to the system because it satisfies all of the required
resource states listed in the scheduling environment. (For more information on defining
scheduling environments, see your IBM documentation, MVS Planning: Workload
Management.)
You also can define Zeke as a resource in a WLM scheduling environment. This resource
is used to indicate whether Zeke is active (on) or inactive (off) on a system to ensure
Zeke-submitted jobs run only on MVS systems where Zeke is running. See the ASG-Zeke
Scheduling for z/OS Installation Guide for instructions on how to define Zeke as a WLM
resource.
The Zeke generation option ChkSEnv (see “Dispatching Options” on page 308)
determines whether Zeke performs scheduling environment checking. If the ChkSEnv
option is set to Y, Zeke checks the EMR for each event to be scheduled for the value of
the SchEnv field, which indicates the name of the requested scheduling environment.
Based on the SchEnv value, Zeke dispatches the event according to these rules:
• For job events targeted for the current system, and all other event types, Zeke
dispatches the event when the scheduling environment is active.
• For job events targeted for a pool, Zeke dispatches the event if the scheduling
environment is active on any system in the pool.
• For job events targeted for a remote system, Zeke does not check for the scheduling
environment.
Generally, you specify or change the scheduling environment for an event in the EMR.
You also can modify the scheduling environment in these ways:
• By changing the Scheduling Environment value in Schedule View (ISPF only). See
“Using Schedule View” on page 193.
• By executing the EVENT ADD/UPDATE batch utility and including the SCHENV
parameter. See the ASG-Zeke Scheduling for z/OS Reference Guide for more
information.
• By issuing the ZALTER operator command and including the NEWSCHENV
keyword. See the ASG-Zeke Scheduling for z/OS Reference Guide) for more
information.
153
ASG-Zeke Scheduling for z/OS User’s Guide
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 163 Desc: SPECIAL RJE JOB FOR ABC
Type: JOB Desc2:
Event Name: ZK60RJEABC App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 3 Freq: 00:30 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
2 In the SchEnv field, specify the name of the WLM scheduling environment (up to 16
characters long).
Note:
Zeke does not validate this name; an invalid name will cause JES to fail the job.
If you specify a scheduling environment, Zeke schedules the event and the event
waits in the dispatch queue until the scheduling environment becomes active (i.e.,
until the resource states defined in the scheduling environment are matched).
Note:
For a job event, you can insert this value in the JCL before the job is submitted to
JES. See “JOB Card Override” on page 326 for more information.
3 Press Enter to save the changes. The screen is redisplayed in Update mode. If you
are adding the event, Zeke assigns a unique event number.
5 Perform the procedure, “Defining a WHEN Condition” on page 141, to specify any
prerequisites that must occur before Zeke dispatches the event.
154
4 Events
Condition Codes
This section explains how to add, update or delete condition codes for an event.
You use condition code validation for these purposes:
• Flag a job as abended based on end-of-job (EOJ) or end-of-step (EOS) condition
codes
• Cancel a job based on EOS condition codes
• Define an acceptable range of condition codes based on EOS
• Define EOJ and EOS condition code checking for an event
• Maintain the maximum condition code at EOJ
Zeke does not consider a condition code to be an abend, unless the operating system
considers it an abend (or unless you manually define it as an abend).
You can define the condition code at the step level or job level. Step-level and EOJ
checking are processed independently. This is useful if there is a maximum condition
code that is valid for the entire job, and in addition, a specific condition code on a specific
step requires an immediate cancellation.
Note:
The MaxCC generation option enables you to specify a default maximum job condition
code for job events that do not have condition codes specified.
Zeke checks any specified step names first; then, after the job is completed, Zeke checks
the maximum condition code for the job.
For every step specified, Zeke searches for the first match on STEP NAME, PROC
STEP, OPERATOR, and RANGE. If a match is found, Zeke performs the specified
action and the search ends. If there is no match, no action is taken.
If an end-of-job condition is specified (i.e., EOJ CC), then that condition is compared at
the end of the job to the maximum condition code from any step in that job. A condition
code value that is acceptable at the step level can be designated as AEOJ at the job level.
Note:
If you have Zebb installed, condition code checking should be performed in Zeke.
1 Access the Event Master Definition screen for the event, as instructed in “Accessing
an EMR” on page 52.
155
ASG-Zeke Scheduling for z/OS User’s Guide
2 From the Event Master Definition, enter CCODE on the Command line, and press
Enter. The Condition Code Validation screen is displayed:
Operators: EQ NE LE LT GE GT RA =Range
Actions: F = Fail, C = Cancel, O = Ok
3 Perform the steps in the Action column (depending upon the desired result):
Delete a single condition Enter D to the left of the condition code that you want to
code delete, and press Enter.
Insert a new line Enter I to the left of the line after which you want to insert
a new line, and press Enter.
Note:
You cannot insert lines before the line EOJ CC.
Repeat this line Enter R to the left of the line that you want to repeat, and
press Enter.
Field Description
Stepname Specify the JCL step name. If the step is in a procedure, specify the step
name that executes the procedure. If the stepname is nulls or blanks,
specify the procstep name.
156
4 Events
Field Description
Always list the most specific steps first, and the most generic steps last.
For example, list STEP3 before ********. See “Sample Condition
Code Entries” on page 158 for detailed examples.
Procstep Specify the stepname within the procedure. If the JCL stepname was
nulls, and you entered the procstep name in the Stepname field, leave
this field blank.
Operator Indicate when to perform a specified action. These are the valid codes:
Low If Operator is RA, specify the lowest code in the range to compare.
High If Operator is RA, specify the highest code in the range to compare.
Action Indicates the action to take when the condition code meets the specified
criteria. These are the valid codes:
157
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
O Continue processing.
5 On the EOJ CC line, specify condition codes to compare at the end of the job:
a Complete the Operator, Low, and High fields just as you would for step-level
checking.
b In the Action field, enter F. This is the only valid action for the job level.
Checking is done at end-of-job for the maximum condition code from any step
in this job. This checking is done independently of any specified step-level
checking.
Operators: EQ NE LE LT GE GT RA =Range
Actions: F = Fail, C = Cancel, O = Ok
158
4 Events
In this example, EOJ CC takes priority because it is encountered first in the list. The
conditions for STEP3 and STEP5 are ignored, and the job is marked AEOJ, even if
STEP3 receives a condition code 4 or if STEP5 receives a condition code 8:
Operators: EQ NE LE LT GE GT RA =Range
Actions: F = Fail, C = Cancel, O = Ok
If you want to use the previous example as a model, but you want the conditions for
STEP3 and STEP5 to be checked, define the condition codes as shown in this example:
Operators: EQ NE LE LT GE GT RA =Range
Actions: F = Fail, C = Cancel, O = Ok
159
ASG-Zeke Scheduling for z/OS User’s Guide
Operators: EQ NE LE LT GE GT RA =Range
Actions: F = Fail, C = Cancel, O = Ok
In this case, the job is not marked AEOJ if STEP3 PSTEP3 receives a condition code 4,
or if STEP5 receives a condition code less than or equal to 8. Otherwise, if any other
step/program receives a condition code greater than zero, the job is marked AEOJ.
(Consequently, if any program within STEP3 other than PSTEP3 receives a condition
code 4, the job is marked AEOJ.)
If the JCL step name is nulls, and the procedure MYPROC contains the step MYSTEP,
define the condition codes like this:
Operators: EQ NE LE LT GE GT RA =Range
Actions: F = Fail, C = Cancel, O = Ok
160
4 Events
Auto Replies
Zeke enables you to respond automatically to outstanding replies (WTORs) from your
Zeke-controlled jobs that have static or predictable responses. Replies also can use Zeke
or OASIS variables to substitute all or part of the reply text. They can be limited by date,
step, and program. Up to 999 replies can be defined for a single job. For example, replies
can be triggered by any portion of the text of the message, message ID, or unique text
string. Replies can even be triggered by suppressed messages. Each reply is called an
element.
Note:
Auto replies are not supported in remote jobs. If a remote job containing an auto reply is
dispatched, it must be replied to manually on the remote system.
Generation
Option Description
The way these global functions are set for your system will determine your need to use
the automatic reply operator commands to manually enable or disable exceptions to the
global generation options for automatic replies.
Caution! The defaults for Aur, Aurintv, and Aurmsg should already be activated before
using automatic replies. See “Auto Reply Options” on page 318, for additional
information.
In addition, you can use the ZDISPLAY, ZENABLE, and ZDISABLE operator
commands to maintain existing automatic replies. These operator commands are used
when you want to manually display, enable, or disable an automatic reply.
For example, the Aur option on system A is set to Yes. This function globally enables
automatic responses on system A. However, you do not want Job XYZ on system A to
automatically reply to messages. To deactivate the automatic reply elements for Job
XYZ, issue the ZDISABLE operator command.
161
ASG-Zeke Scheduling for z/OS User’s Guide
The Auto Reply Summary screen provides a list of all auto reply elements that have
been defined for the event.
4 Perform the steps in the Action column (depending on the desired result):
Add an auto reply element Enter ADD on the Command line, and press Enter.
Delete all auto reply 1 Enter DELALL on the Command line, and press Enter.
elements
2 Press Enter again to confirm.
162
4 Events
Browse the auto reply Enter B to the left of the NUM field, and press Enter.
detail
Edit the auto reply element Enter E to the left of the NUM field, and press Enter.
Delete the specific Enter D to the left of the NUM field, and press Enter.
auto reply element
Press Enter again to confirm.
Desc: EKGSTRT1
Desc2:
Reply: GO
The Automatic Reply Element Number is the Zeke-assigned number that identifies
the reply element. When there are multiple replies to the same message text, Zeke
issues the elements in sequence starting with the lowest number and flags the
element as used. If the message is issued more times than there are replies, the last
used element is repeated. If a message is defined with only one reply, Zeke issues
that reply as many times as needed.
Field Description
Msg Text Required. Specify the message text (up to 60 characters long) for
which Zeke will search. When it finds a match, Zeke issues the
appropriate auto reply.
You do not have to specify the whole message, but just enough to
make a unique match. The message ID usually is a unique identifier.
163
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Reply Required. Specify the reply (up to 60 characters long) that Zeke
issues in response to the message found. For example:
Effective as of Optional. Specify the date (MM/DD/YYYY) that the reply becomes
effective.
Effective until Optional. Specify the date (MM/DD/YYYY) that the reply expires.
Job step name Optional. Specify the MVS job stepname (up to eight characters
long) that issues the message text. The auto reply is valid only if this
job step issues the message.
Program (Exec) Optional. Specify the program name (up to eight characters long)
that issues the message text. The auto reply is valid only if this
program issues the message.
Issue the ZDISPLAY operator command, and include the JOBNAME and REPLY
parameters. For example, to display messages and replies for jobname TESTXYZ,
issue this command:
164
4 Events
A disabled event that was scheduled for a prior day will most likely have been dropped by
the current day's first schedule update.
Issue the ZENABLE operator command, and include the REPLY and EVENT
parameters. For example, to enable previously disabled auto replies for event 55,
issue this command:
ZENABLE EV 55 REP
Issue the ZDISABLE operator command, and include the REPLY and EVENT
parameters. For example, to disable the auto reply for event 77, issue this command:
ZDISABLE REP EV 77
165
ASG-Zeke Scheduling for z/OS User’s Guide
Event Documentation
You can use event documentation to store useful information about an event. These are
the areas where you can store event documentation:
1 From the Zeke Primary Menu, enter option 7. The Documentation Selection Criteria
screen is displayed.
2 Perform the steps in the Action column (depending on the desired result):
Update documentation 1 Enter any character next to the appropriate event type under
for which you do not Event Types and any information you know for any of the
know the event number Selection Field Masks fields.
2 Press Enter.
166
4 Events
1 2 3 4
Event -Event Name- Jobname Type Scratch Text Tape Note
000001 ZEKE60TST1 MSG * * * *
000002 ZEKE60TST2 MSG
000003 ZEKE60TST3 MSG * * *
000004 ZEKE60TST4 MSG
000005 ZEKE60TST5 MSG
000006 KTEST1 TSKKGUT1 JOB
000007 KTEST2 TSKKGUT2 JOB *
000008 KTEST3 TSKKGUT3 JOB
000009 KTEST4 TSKKGUT4 JOB
000010 KTEST5 TSKKGUT5 JOB * * * *
000011 ZEKE60CC SPTEXD11 JOB
000012 ZEKE60CC SPTEXD12 JOB
000013 WORK * * * *
000014 VCOM
000015 ZCOM
000016 SCOM
An asterisk (*) indicates the types of documentation that exist for the event.
3 Perform the steps in the Action column (depending on the desired result):
Edit scratch pad Enter E1 to the left of the Event field, and press Enter.
documentation for the event
Go to “Maintaining Scratch Pad or Note Documentation”
on page 169.
Edit text documentation for Enter E2 to the left of the Event field, and press Enter.
the event
Go to “Maintaining Text Documentation” on page 170.
Edit dataset documentation Enter E3 to the left of the Event field, and press Enter.
for the event
Go to “Maintaining Dataset Documentation” on page 171.
Edit note documentation for Enter E4 to the left of the Event field, and press Enter.
the event
Go to “Maintaining Scratch Pad or Note Documentation”
on page 169.
167
ASG-Zeke Scheduling for z/OS User’s Guide
Delete the specified Enter Dn to the left of the Event field, and press Enter
documentation for the event (where n indicates the documentation type). These are the
valid values:
1 Scratch Pad
2 Text
4 Note Pad
The asterisk (*) indicating that documentation for the
event exists is deleted, and the message:
DOCUMENT RECORD DELETED is displayed.
Event: 000031
Jobname: A2345678 Event Name: TESTNAME System: A Appl:
An asterisk (*) indicates the types of documentation that exist for the event.
4 Enter one of these codes on the Command line to select the type of documentation
to work with:
168
4 Events
These areas also can be used for “quick reference” information. Besides being displayed
online and on Zeke reports, you can display this data for events in the current schedule
through Schedule View (ISPF only), and even directly at the system console by issuing
one of these commands:
Or
Note:
Although there are separate documentation areas for scratch pad and note information,
the screen layouts, number of lines of text, and fields displayed are identical. This section
explains how to maintain both areas.
169
ASG-Zeke Scheduling for z/OS User’s Guide
2 When adding or updating scratch pad or note information, enter text information in
the Line area. You can enter up to 60 characters per line, and up to 10 lines of text.
You can maintain text documentation through the Event, Schedule View (ISPF only), and
Documentation options. Through the Work Center option, you can only browse text
documentation.
170
4 Events
2 Enter the text to the right of the column placeholder field. You can enter up to 80
characters per line, and up to several hundred lines of text. Use standard ISPF editing
commands to edit the text.
1 Access the Data Set Name List screen, as instructed in “Accessing Event
Documentation” on page 166.
171
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
I/O Specify the dataset type. These are the valid values:
O Output dataset
T/D Specify the dataset media type. These are the valid values:
T Default. Tape.
D Disk
Ver Specify the dataset version number. The valid values are 001 for the
current dataset, 002 for the next most recent dataset, etc. The default
value is 001.
This field is a required field for input datasets; otherwise, you can leave
this field blank.
3 Perform the steps in the Action column (depending on the desired result):
Delete a line Enter D to the left of the I/O field, and press Enter.
Insert a new line after this line Enter I to the left of the I/O field, and press Enter.
Repeat this line Enter R to the left of the I/O field, and press Enter.
172
4 Events
Event===>
Primary Commands: ACCT ADD AUTORPLY BROWSE CCODE COPY COPYALL DEACT DELETE DOC
EDIT JCL OCCURS PATH PRED REACT RESOURCE RESTART SUCC WHEN
Template: N Permanent: N Milestone: N Platform: MVS
Evt: 333 Desc: TEST JOB KMC
Type: JOB Desc2:
Event Name: ZEKEKMCASG App: B2345678 Grp: G23 Usrid: EANTEST DRL: 2
System: ZEQA Cal: A Retain: Y Nwday: A Multhit: Y Exp:
Target: *LOCAL Verload: 0 Latestart: 13:00
Early: 11:00 Sched: 10:00 Mustend: 14:00 Notafter: 12:00 Lateend: 00:00
Dprty: 50 Operok: N Times: 1 Freq: 01:01 Freqcalc: S Trig: A
Control: Y Tapes: 0 Avgdur: 00:00:00 SecGroup:
SchEnv: ASGSCHEDUENVIRON
173
ASG-Zeke Scheduling for z/OS User’s Guide
2 Enter ACC on the Command line, and press Enter. The Event Master Record
Accounting screen is displayed:
Evt: 000333 Type: JOB Job: MBCBR14 Ename: ZEKEKMCASG System: ZEQA
Note:
You also can access this screen from the OCCURS screen in the EMR.
174
4 Events
Note:
Zeke evaluates and expresses most time values in hours and minutes only; however,
because they affect whether (and when) any dependent events are triggered, Zeke
evaluates and expresses dispatch and end times in hours, minutes, and seconds.
This is especially important for certain extended dependencies. For example, let’s
suppose that Job B has an extended dependency on Job A. When Zeke loads Job B
into the schedule, Zeke checks whether Job A ran since the last time Job B ran. If
Job A just ended today at 10:30:25 A.M., and Job B is otherwise ready to run at
10:30:40 A.M. today (during the same minute), then the XEOJ dependency would
be satisfied. If Job A did not end until 10:30:56 A.M. (during the same minute), the
XEOJ would not be satisfied and the dependency is treated as an EOJ.
175
ASG-Zeke Scheduling for z/OS User’s Guide
Average Duration
Zeke calculates the average duration by adding the current duration to the last 10
execution times, then dividing by 11. If the job has not been dispatched 10 times yet, the
sum is divided by the number of times dispatched. (If a job abends, Zeke does not include
it in the average duration calculation.)
In addition to calculating the Avgdur value, Zeke uses the last 10 runs of a job to
calculate the standard deviation, which is a measure of the spread of a series of run
durations around the average duration. If a job’s durations are tightly clustered around the
average duration, the standard deviation is small; if a job’s durations vary widely, the
standard deviation is large. If you want to enable duration alerts and/or failures, you must
tell Zeke the amount of deviation that should trigger an alert or failure. This is specified
using the Alert Tolerance field.
Alert Tolerance
Alert Tolerance is a value ranging from 0 through 100 that Zeke uses to calculate the
acceptable range of durations for a job:
• An Alert Tolerance value of 0 indicates that there is no tolerance for deviation from
the average duration. Zeke considers any job that runs longer or shorter than the
average duration to have run too long or too short. Because this setting is likely to
generate many alerts/failures, ASG does not recommended it.
• An Alert Tolerance value of 100 enables a job deviate from the Avgdur value up to
three times the standard deviation. This setting is likely to generate very few alerts.
• An Alert Tolerance value of 33 enables a job to deviate from the Avgdur value
approximately equal to the standard deviation.
• The default Alert Tolerance value is 50.
When you specify an Alert Tolerance value, Zeke uses the Avgdur, the standard
deviation, and the Alert Tolerance to calculate the acceptable range of durations for the
job (which are reflected in the Normal Range field). You can experiment with different
values in the Alert Tolerance field to see how the Normal Range is affected. You also can
modify the Normal Range values directly.
In general, the smaller the Alert Tolerance value, the more likely it is that the job will
generate a duration alert. ASG recommends that you set this number high enough to
avoid frequent alerts—set a low tolerance for critical events, and a high tolerance for
noncritical events with a duration that is unpredictable or inconsistent.
Because the Alert Tolerance, Normal Range, and Avgdur fields are interdependent, if you
attempt to modify more than one field at once, Zeke honors or ignores the changes based
on this priority order—Alert Tolerance, then Normal Range (high), then Normal Range
(low), then Avgdur. For example, if you change all of these fields, Zeke accepts only the
change made to Alert Tolerance and then automatically calculates the Normal Range
176
4 Events
values. If you change only the Normal Range low value, Zeke calculates the Normal
Range high value and the Alert Tolerance. If you change only the Normal Range high
value, Zeke calculates the Normal Range low value and the Alert Tolerance.
Note:
If you update the Avgdur field, Zeke automatically resets the Job ran xx Times value to
1, and resets the standard deviation to 25 percent of the average duration.
Note:
Enabling duration failures does not cause jobs to be cancelled. When a job ends, if its
duration fell outside the Normal Range, Zeke marks the job as failed, and issues message
Z8T02I. If a job abended or failed due to a condition code record, Zeke does not mark the
job as failed (due to its duration). Zeke marks a job as failed only due to its duration if it
otherwise would have been marked successful. Zeke marks these jobs as failed to prevent
them from triggering successor jobs.
Because Zeke needs sufficient history data to determine a job’s normal duration range,
you must specify the minimum number of times a job must run before it is eligible to
trigger alerts or be failed for running outside its normal range. This is done through the
DurCount generation option (see page 178).
If a job has not run enough times to satisfy the Durcount generation option, you can
increase the Job ran xxx Times value to start generating duration alerts/failures sooner.
Keep in mind that the average duration and normal range calculated from only a few runs
might not be truly representative of the job’s normal duration, and so the alerts/failures
generated might not be appropriate.
When a job runs too short or too long, Zeke provides these indications:
• If duration alerts are enabled, Zeke issues message Z0319W to alert that the event is
running long, ran long and completed, or ran short and completed.
• In Schedule View (ISPF only), Zeke highlights the event status if the job is running
longer than its Normal Range.
• On the Schedule View WHY screen, the reason code Event ran long/short
indicates that the event has completed, but its duration was longer than or shorter
than the acceptable range of duration times (i.e., Normal Range). The reason code
Event is running long indicates that the event is active, and is running
longer than the acceptable range of duration times (i.e., Normal Range).
177
ASG-Zeke Scheduling for z/OS User’s Guide
• If duration failures are enabled for the event, Zeke issues message Z8T02I to alert
that the event failed because it ran outside of its acceptable range of durations.
• If duration failures are enabled for the event, Zeke assigns the Fail Job Ran
Long status when the event is completed. This indicates that the event failed
because it ran longer than its acceptable range of duration times (i.e., Normal
Range).
• If duration failures are enabled for the event, Zeke assigns the Fail Job Ran
Short status when the event is completed. This indicates that the event failed
because it ran shorter than its acceptable range of duration times (i.e., Normal
Range).
• If duration failures are enabled for the event, the Status field on the Event Master
Record Accounting screen indicates FAIL LONG for jobs that were marked as
failed because the duration was too long, and FAIL SHORT for jobs marked as
failed because the duration was too short.
• If enabled, alerts are also generated in OpsCentral. (OpsCentral alerts are only
generated on z/OS systems that have the Zeke server enabled and active.)
Note:
If duration alerts are enabled, each Zeke system in a sysplex issues the alert.
Option Description
DurAlert Indicates whether Zeke issues a console message (Z0319W) and OpsCentral
alerts if a job runs longer or shorter than the acceptable range of duration
times.
Note:
You can override this option for a specific event using the Enable Duration
Alerts field in the EMR.
DurCount Specifies the minimum number of times a job must run before Zeke performs
either of these actions:
• Uses the event’s duration history to generate duration alerts.
• Fails a job that runs longer or shorter than the acceptable range of
duration times (the jobs fails only if the DurFail generation option is set
to Y, or if the Fail field in the EMR is enabled).
178
4 Events
Option Description
The default value is 10. Be sure not to specify a value that is too small, so
that Zeke has sufficient history data to determine the job’s normal duration
range.
DurFail Indicates whether Zeke fails jobs that run longer or shorter than the
acceptable range of duration times. Zeke marks these jobs as failed to
prevent them from triggering successor jobs.
Note:
This option does not cause a job to be cancelled. When a job ends, if its
duration fell outside the Normal Range, Zeke marks the job as failed and
issues message Z8T02I. If a job abended or failed due to a condition code
record, Zeke does not fail the job (due to its duration). Zeke fails a job due
to its duration only if it otherwise would have been marked successful.
Note:
You can override this option for a specific event using the Fail if short or
long field in the EMR.
See “Accessing the Zeke Generation Options” on page 291 for details on how to set these
options.
Note:
You also can enable or disable duration alerts and/or failures globally for all events using
the generation options described in, “Global Duration Alert/Failure Options” on
page 178. You use the procedure is this section to override the generation options for
selected events.
179
ASG-Zeke Scheduling for z/OS User’s Guide
1 Access the Event Master Record Accounting screen, as described in “Viewing Event
Accounting Information” on page 173:
Evt: 000333 Type: JOB Job: MBCBR14 Ename: ZEKEKMCASG System: ZEQA
2 If the DurAlert generation option is set to Y, and you want to turn alerts off for an
event, enter N in the Enable Duration Alerts field.
Or
If the DurAlert generation option is set to N, and you want to turn alerts on for an
event, enter Y in the Enable Duration Alerts field.
3 If the DurFail generation option is set to Y, and you want to turn the failure option
off for an event, enter N in the Fail if short or long field.
Or
If the DurFail generation option is set to N, and you want to turn the failure option
on for an event, enter Y in the Fail if short or long field.
4 Optional. You can alter the Alert Tolerance, Normal Range, and/or Avgdur values.
See “Calculations Done by Zeke” on page 175 for details about how Zeke calculates
these values, and how they interact with each other.
180
4 Events
Note:
If the job has not run enough times to satisfy the DurCount generation option, and
you want to start generating duration alerts/failures sooner, you can increase the
Job ran xxx Times value to match the DurCount value. Keep in mind that Avgdur
and Normal Range values that have been calculated from only a few runs might not
be truly representative of the job’s normal duration, and so the generated
alerts/failures might not be appropriate.
Note:
See “Duration Alerts and Failures” on page 177 for more information on these options.
Zeke does not issue duration alerts for downloaded jobs; however, you can activate the
Fail if job runs short or long option for downloaded jobs.
181
ASG-Zeke Scheduling for z/OS User’s Guide
182
Chapter 5: Creating and Monitoring the
5 Schedule
The main purpose of Zeke is to ensure that your jobs are dispatched in the most efficient
and timely order possible. To accomplish this, Zeke enables you to create a schedule of
events using the SCHEDULE function.
Along with creating a daily schedule of actual events, Zeke also provides ways to forecast
a schedule for a future date and to simulate the run of a schedule complete with initiators,
tape drives, and any defined logical resources.
You can monitor the progress of your scheduled events, as well as intervene, through the
ISPF online facility, Schedule View.
Topic Page
183
ASG-Zeke Scheduling for z/OS User’s Guide
Topic Page
This example is based on a three-shift day. According to the typical 12-hour clock, shift 1
starts at 8:00 AM, shift 2 starts at 3:00 PM, and shift 3 starts at 11:00 PM. Shift 3 ends the
next morning at 8:00 AM.
In the example, using a logical day, shift 1 starts at 08:00, shift 2 at 15:00, and shift 3 at
23:00. You will notice that the end time for shift 3 is 32:00 as compared to 8:00 A.M. on
the normal 12-hour clock. This indicates that the entire 8-hour period of shift 3 is
considered to be part of the same logical workday as shifts 1 and 2.
184
5 Creating and Monitoring the Schedule
When the SCHEDULE function runs, it selects every event within 48 hours to be part of
the day’s schedule. For example, if the schedule runs on Monday at 08:00, events are
selected if their OCCURS clauses match MONDAY and the schedule time is between
00:00 and 47:59.
Note:
Zeke never dispatches an event with a schedule time of 48:00 because 47:59 is the cutoff
time for dispatching. Use a schedule time of 48:00 for events that you want to place in the
schedule, but do not want to dispatch except by operator command.
Zeke processes an event that is defined as OCCURS(MONDAY) at 27:00 at the same time
as an event that is defined as OCCURS(TUESDAY) at 3:00 A.M. The difference is that
the first event is included in Monday’s schedule run, and is considered Monday’s event,
while the second event is included in Tuesday’s run:
When you execute the SCHEDULE function, Zeke performs these actions:
• Deletes completed jobs and retains uncompleted events from the previous day’s
schedule.
• Analyzes each event defined in the Zeke database and determines whether the event
is scheduled to occur during the upcoming schedule period.
• Immediately marks events that have no dispatch time (and are not scheduled for a
future date) as time-satisfied.
185
ASG-Zeke Scheduling for z/OS User’s Guide
• Analyzes each scheduled event and determines whether the event needs to be
downloaded to a remote Zeke Agent system for processing.
Note:
When a schedule is created that contains job events that are specified to be
downloaded to a remote Zeke Agent, Zeke compares the subset of the schedule to
be downloaded with any existing schedules on the Zeke Agent target before
downloading the events.
Note:
Zeke does not dispatch any newly-scheduled events until the entire schedule is loaded.
Zeke provides the ZEKE02MX user exit, which enables you to change various fields in
the SQRs during the schedule build. See the ASG-Zeke Scheduling for z/OS Installation
Guide for more information.
Generally, ASG recommends that you set up Zeke to create the schedule automatically
(see “Creating the Schedule Automatically” on page 188).
1 Run a job using the SCHEDULE control statement to create the schedule at least
once a day:
//ZEKESCHD JOB
//SCHED EXEC ZEKEUTL,PARM=’SUBSYS=ZDEV’
//SYSIN DD*
SCHEDULE TODAY ACTIVATE DATASPACE
/*
Note:
See the ASG-Zeke Scheduling for z/OS Reference Guide for the additional
parameters you can use with the SCHEDULE function.
2 Ensure that the schedule load is complete before you execute any other batch
schedule runs.
186
5 Creating and Monitoring the Schedule
The schedule load is complete when this message appears on the console:
Note:
In a Zekeplex (where multiple systems share a database), each Zeke system runs its
schedule table load simultaneously with the schedule creation process by the
SCHEDULE function. Each Zeke system’s schedule is updated (through
communication records) as the SQRs are updated in the Zeke database.
After the SCHEDULE function is complete, one Zeke system satisfies weak, EOG,
extended, and variable WHEN conditions, and then the schedule load becomes
complete on all systems. Zeke does not perform a separate schedule load process
(and creation) for each system that shares the database.
Or
The Zeke generation option MultSys is set to N.
• The SCHEDULE function keyword DATASPACE is specified (or is the
default).
3 Optional. You can use the REPORT parameter with subparameters to produce
specific scheduling reports. If you do not specify the REPORT parameter, then all
the scheduling reports are produced. See the ASG-Zeke Scheduling for z/OS
Reference Guide for more information on generating scheduling reports using
Report Writer.
4 Optional. You can use the OVERRIDE parameter to include and exclude various
events, regardless of their OCCURS clauses. See the ASG-Zeke Scheduling for z/OS
Reference Guide for more information on selecting events using the OVERRIDE
parameter.
187
ASG-Zeke Scheduling for z/OS User’s Guide
5 Optional. You can specify the use of a by the SCHEDULE function when
processing SQRs. If you use the DATASPACE option, a temporary is created when
the SCHEDULE function starts, and again before any schedule reports are
generated. See the ASG-Zeke Scheduling for z/OS Reference Guide for more
information.
Note:
When necessary, you can use the SCHEDULE function to create the schedule manually
(see “Creating the Schedule Manually” on page 186).
On the EMR, specify the start time plus 24 hours. For example, if you want the
schedule to be created every day at 8:00 A.M., enter a start time of 32:00.
2 Specify the appropriate JCL source to include the JCL, as described in “Creating the
Schedule Manually” on page 186.
3 Add the OCCURS clause DAILY, so that the job that creates the schedule will run
each day. See “Defining an OCCURS Clause” on page 124.
4 This step only has to be performed the first time. Use the ZADD operator command
to add the job event with yesterday’s Julian date. For example, if the event number
is 100 and today’s date is December 30, 2013, issue this command:
ZADD EV 100 DATE 2013363 RDATE 2013363
The schedule job is placed in the queue with yesterday’s date specified as the
schedule date and run date. When the start time is reached, the schedule load runs,
and then loads itself into the queue for the next day.
188
5 Creating and Monitoring the Schedule
Zeke first sends a message to the specified Zeke Agent to determine whether to download
the set of events that have been identified for downloading. Zeke generates and uses a
unique schedule number to track and synchronize each schedule downloaded to Zeke
Agent. If a newly generated schedule number differs from the number of the schedule
that currently is downloaded and processing on Zeke Agent, then Zeke downloads the
new schedule to Zeke Agent. If the new schedule number matches the number of the
current Zeke Agent schedule, then Zeke does not download the schedule.
While the SQRs are being downloaded, each event’s download status is reported back to
Zeke.
If Zeke is unable to download an SQR to its Zeke Agent target, the event is tracked and
updated like any other event until it is ready to dispatch. Then, instead of dispatching the
event, Zeke places the event on download hold. Later, when Zeke resumes
communication with Zeke Agent, Zeke downloads the event and releases it from hold.
See "Downloading a Job to Zeke Agent" on page 81 and “Defining Schedule Download
Agents” on page 338 for more information on how events are downloaded from Zeke to
Zeke Agent.
Method Description
OCCURS hit resolution Enables you to display a calendar showing the days the event will be
scheduled. See “Defining an OCCURS Clause” on page 124 for more
information.
Schedule forecast Creates a schedule for a future date, which enables you to forecast the
schedule and make any necessary changes.
189
ASG-Zeke Scheduling for z/OS User’s Guide
Method Description
Schedule simulation Enables you to specify the date, time, system, and resources for an
event in the simulation JCL, and then run a schedule simulation.
1 Run a job using the SCHEDULE control statement of the ZEKE utility program:
• Include the DATE parameter followed by the future date (in MM/DD/YYYY
format) that you want to forecast.
• Do not include the ACTIVATE parameter.
For example:
//ZEKESCHD JOB
//SCHED EXEC ZEKEUTL,PARM=’SUBSYS=ZDEV’
//SYSIN DD*
SCHEDULE DATE 08/23/2013 DATASPACE
/*
For more information on using the ZEKE utility program to forecast the schedule, see the
ASG-Zeke Scheduling for z/OS Reference Guide.
Caution! Do not run a simulation against your production database; this will destroy the
database. Run a simulation only against a database that has been copied for that
purpose. Also, ensure that no other Zeke system is running against the same
database as a simulation.
190
5 Creating and Monitoring the Schedule
You can generate these types of simulation reports (depending on which keyword you
specify):
Keyword Description
Schedule Generate the schedule reports (if a schedule run was requested).
1 Execute the SSS4001 program using the SIMULATE control statement (of the
ZEKE batch utility program) in the SYSIN.
Note:
To simulate schedules accurately, Zeke uses the same programs that process actual
schedules. The program used to invoke simulation, SSS4001, also is used to start
Zeke. When requesting a simulation, you must specify the SIM option in the ZEKE
parameter that specifies the ZEKExx options member; otherwise, Zeke attempts to
process an actual schedule.
2 Specify the date, time, and conditions for the simulated schedule using the
appropriate parameters.
Note:
The attributes STARTDATE, STOPDATE, STARTTIME, and STOPTIME are
specified according to a 24-hour clock; however, Zeke dispatches events scheduled
on a 48-hour clock at the correct time.
191
ASG-Zeke Scheduling for z/OS User’s Guide
4 Execute the SIMULATE COPY function to copy the Zeke database before starting
the simulation. For example:
If you want to run the simulation in a , use DATASPACE as the value for both the
TODD and DATABASEDD parameters. For example:
See the ASG-Zeke Scheduling for z/OS Reference Guide for information about
running a simulation in a .
5 Optional. You can use the REPORT parameter with subparameters to run specific
simulation reports.
To print simulation reports from a previous run without re-running the simulation,
ensure that you save the ZKSMLOG dataset from the previous run. Specify only
REPORT parameters in the SYSIN control statements, and point the ZKSMLOG
DD to the saved log.
For more information on using the ZEKE batch utility to simulate the schedule (including
a complete list of simulation parameters), see the ASG-Zeke Scheduling for z/OS
Reference Guide.
192
5 Creating and Monitoring the Schedule
1 Define the event using the EVENT function of the ZEKE batch utility. See the
ASG-Zeke Scheduling for z/OS Reference Guide for more information (including
valid parameters).
2 Insert the SCHEDADD parameter at the end of the event definition (as shown in this
sample JCL):
//SYSIN DD DATA,DLM=$$
EVENT ADD JCL TESTJOB1 PDS PRODLIB2 MEM TESTJCL2
OCC (MONDAY) SCHEDADD
$$
Note:
Any changes that you make to an SQR are temporary and only are effective for the
current schedule run of the event; no changes are made to the EMR.
193
ASG-Zeke Scheduling for z/OS User’s Guide
Primary Commands
You can issued these primary commands from the Command line in Schedule View:
Command Action
ADD Add events to the schedule through the Add wizard. See “Using the ADD
Function” on page 258 for more information.
AUTO Enable or disable the automatic monitoring function. These are the valid
parameters:
OFF Disable the automatic monitoring function. (You also can press any
key to disable this function.)
Note:
The AUTO command cannot function properly if you are operating in
split-screen mode.
BROWSE View the events in the current schedule. See “Displaying Scheduled Events” on
page 203 for more information.
EDIT Update an existing event in the current schedule. See “Updating a Scheduled
Event” on page 208 for more information.
INT Display the two values that control automatic monitoring mode, where the first
value, rate, is the number of seconds between automatic refreshes, and the
second value, wait. indicates how often Zeke checks for a request to exit
AUTO mode.
To change the timing of screen refreshes, you can enter this command:
INT rate wait
where rate is a range from the wait value to 3660 seconds, and wait is a
value ranging from 1 through 255. The default values of both optional
parameters is 5. Also, the rate value must be a multiple of the wait value;
however, Zeke calculates and adjusts this automatically.
For example, to refresh the screen every 10 seconds, and check for an exit
AUTO mode request every 5 seconds, enter this command:
INT 10 5
194
5 Creating and Monitoring the Schedule
Command Action
SELECT Refresh the screen with any schedule changes. When you include an event
number, then only the specified event is refreshed.
Note:
When the schedule is refreshed, the cursor remains on the same line number;
however, this might not be the same SQR (if the schedule changed during the
refresh).
SORT Rearrange the sequence of the fields on the screen based on the SORT
parameters. This action is effective only for the current session.
Note:
Enter SORT HELP on the command line to display a complete list of SORT
parameters and their abbreviations.
For more information and to change the display order permanently, see “Sorting
Schedule View Information” on page 226.
These additional ISPF primary commands are valid on the Command line in Schedule
View and can be used in navigating the Schedule View display:
Command Action
Note:
The exclude state is reset automatically when the display is refreshed.
RESet Re-display all lines that were previously suppressed using the EXCLUDE
command.
195
ASG-Zeke Scheduling for z/OS User’s Guide
Command Action
Find Find and move the cursor to the beginning of the specified text string. This is
the command format:
FIND string
Search is not case sensitive.
Note:
You must enclose string in single quotes only if it contains embedded
blanks.
You can include one of these optional keywords to control the search
direction:
Note:
The FIND command does not search across columns.
You can include one of these optional keywords to indicate whether to search
only excluded lines or only non-excluded lines; otherwise, all lines are
searched:
RFIND Find and highlight the next occurrence of the text string specified on the
previous FIND string command.
Line Commands
You can enter one or more of these line commands in the Line Cmd field to update a
scheduled event.
You can enter line commands for more than one event, and the commands are stacked in
the order they appear on the screen. Each time you press F3 or Enter, the next command
is executed.
196
5 Creating and Monitoring the Schedule
Command Action
ADDOK Add a NEED OPEROK requirement to the selected event’s WHEN conditions
(without rebuilding the event).
ALTer Make any changes directly to the selected event by typing over the existing
information.
You can apply the same change to any subsequent lines using the equal sign (=)
line command.
DIS Disable the selected event, and remove it from the schedule. To enable the
event, you can use the EN line command.
Note:
The DIS command prevents the event’s WHEN conditions from being
satisfied.
DSN Valid for job events only. Display the Step/DD Level Information screen for the
selected event.
Note:
This function requires Zebb to be active on this Zeke system.
EMR Display the EMR for the selected event. From this display, you also can make
changes to its EMR.
You can use the REB line command to see the changes to the EMR reflected in
Schedule View.
EN Enable the selected disabled event, and re-add the event to the schedule.
FDEL Release the resources for the selected event, and then delete the SQR.
FDONE Force the status of the selected event to DONE (regardless of the status of the
resources).
197
ASG-Zeke Scheduling for z/OS User’s Guide
Command Action
FREB Release the selected event’s resources, and then re-add the event to the schedule.
FREF Release the selected event’s resources, refresh the SQR, and then re-add the
event to the schedule.
JCLR Valid for job events only. Retrieve the actual JCL (from the JCL source) for the
selected event, so that you can view or update it. The JCL must reside on the
same system where you issue the command.
You can issue the ZOOM line command for the same event to display the
Schedule View Record Expand Function screen where you can view, update, or
delete the JCL. See “Accessing an Expanded SQR (Using ZOOM)” on page 222
for more information.
Note:
This command is not supported for SQRs that have JESQ as the JCL source.
JPREP Valid for job events only. Invoke JCLPREP for JCL scanning.
See “Invoking ASG-JCLPREP” on page 237 for more information.
Note:
This command is not supported for SQRs that have JESQ as the JCL source.
LDSN Valid for job events only. Display the List DSN Detail Information screen.
Note:
This function requires Zebb to be active on this Zeke system.
NOTE Display any available note text for the selected event.
198
5 Creating and Monitoring the Schedule
Command Action
PATH Display the Pathfinder screen for the selected event’s predecessors and
successors. Specify the number of levels to display. The valid values range from
1 through 9, or you can enter an asterisk (*) to display all levels. For example,
to display four levels of predecessor and successor information, issue this
command:
PATH4
See “PathFinder” on page 249 for more information.
PRED Display the Pathfinder screen to display the events on which the selected event
or job is dependent.
See “PathFinder” on page 249 for more information.
REB Rebuild the SQR for the selected event, and re-assign its current status.
Note:
Rebuilding an event has the same effect as deleting the event from the
schedule, and re-adding it.
REBH Rebuild the SQR for the selected event, and place the event on hold.
REF Refresh the SQR for the selected event by resetting the event as if it had not yet
run. Zeke places a refreshed event on operator hold automatically.
You must issue the REL line command to release the event to enable Zeke to
dispatch the event.
RESO Display the selected event’s resources, update resource detail, or release a
resource from control by an event or system.
See “Managing Event Resources” on page 221 for more information.
RSTRT Valid for job events only. Display the Job Restart Management screen for the
selected event.
Note:
This function requires Zebb to be active on this Zeke system.
RUN Satisfy all conditions for the selected event, and dispatch the event.
Note:
Zeke ignores any NOTDURING WHEN conditions for the event (until you
rebuild the SQR from the EMR).
199
ASG-Zeke Scheduling for z/OS User’s Guide
Command Action
SCAN Valid for job events only. Scan and validate the selected event’s JCL that is to
be submitted by Zeke.
See “Validating JCL” on page 237 for more information.
Note:
This command is not supported for SQRs that have JESQ as the JCL source.
SUCC Display the Pathfinder screen for events that are dependent on the selected event
or job.
See “PathFinder” on page 249 for more information.
SYSx View the JES2 job output information for the selected event, where x is one
of these codes:
The SYSM, SYSL, and SYSJ commands are valid only if all of these conditions
are met:
• You are running an MVS release that supports IBM’s spool browse facility.
• You are running JES release 4.x or later.
• The job is in the JES spool.
WHEN Display and update the WHEN conditions for the selected event during this
schedule run.
See “Managing WHEN Conditions” on page 217 for more information.
WHY Display the reasons why the selected event is awaiting execution, and update the
WHEN conditions to change the status, if necessary.
See “Displaying or Updating an Event Status” on page 211 for more
information.
WORK Valid for work center events only. Display the Work Center Selection Criteria
menu.
200
5 Creating and Monitoring the Schedule
Command Action
ZEBB Valid for job events only. Display the Job Functions Menu.
Note:
This function requires Zebb to be active on this Zeke system.
ZOom Display the Schedule View Record Expand Function screen for the selected
event.
This ZOOM screen is similar to the EMR screen, except that changes on the
Schedule View Record Expand Function screen are temporary (i.e., only for the
current schedule run).
See “Accessing an Expanded SQR (Using ZOOM)” on page 222 for more
information.
. . . . Create your own CLIST or REXX command that can be executed from
Schedule View.
See “Custom Line Commands” on page 202 for more information.
201
ASG-Zeke Scheduling for z/OS User’s Guide
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 In the Line Cmd field to the left of the selected event, specify the Schedule View line
command or the name of a user-defined CLIST or REXX command, and press Enter.
This example illustrates the parameters that are passed (using the ZUSER sample in
the Zeke SZEKINS0 library):
202
5 Creating and Monitoring the Schedule
1 From the Zeke Primary Menu, enter option 2. The Schedule Information Selection
Criteria screen is displayed:
2 To display all events in the current schedule, enter 1 on the Command line, and
press Enter. Schedule View displays all SQRs in the current schedule.
Or
To display a selection of events, enter selection criteria in any of these fields, and
press Enter:
Field Description
Event Types Specify any character (except a space) next to the event types that you
want to display.
Note:
Schedule View can include multiple event types in the same view; in
this case, any displayed fields that are not relevant for a particular event
type appear blank.
203
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Selection Field Specify any additional information about the events that you want to
Masks select.
You can use wildcard and placeholder characters in your selection
criteria (see “Generic Selection Criteria” on page 53).
These are the available filtering options:
System Selects events defined with the specified Zeke system ID.
Disp class Selects job events with the specified job class.
204
5 Creating and Monitoring the Schedule
Field Description
205
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Event Status For each status, indicate whether that you want to display events with this
status. These are the valid values:
206
5 Creating and Monitoring the Schedule
Field Description
Schedule View displays only the SQRs that match the selection criteria:
From the main Schedule View screen, you can scroll left and right, and up and
down, to display all of the SQR fields (depending on how you set your display
characteristics). Use the normal ISPF scroll commands LEFT and RIGHT to view
additional fields.
207
ASG-Zeke Scheduling for z/OS User’s Guide
If you need to review an entire SQR, and make necessary changes, see “Accessing an
Expanded SQR (Using ZOOM)” on page 222.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 Enter EDIT on the Command line, and press Enter to enable Edit mode.
From the main Schedule View screen, you can scroll left and right, and up and
down, to display all of the SQR fields (depending on how you set your display
characteristics). Use the normal ISPF scroll commands LEFT and RIGHT to view
additional fields.
Note:
Schedule View displays columns of fields that events of all types, you can only
update fields that are valid for the particular event type.
3 Perform the steps in the Action column (depending on the desired result):
Display a list of all valid line Enter ? in any Line Cmd field, and press Enter.
commands
Change the event’s dispatch Type over the value in the Dp field, and press Enter.
priority
Change the time the event is Type over the value in the Start Time field, and press Enter.
scheduled to run A value of 00:00 indicates that Zeke dispatches the event
according to the WHEN conditions.
208
5 Creating and Monitoring the Schedule
Change the Zeke system or Type over the value in the System field, and press Enter.
pool where the job can run
Change the number of times 1 Type over the value in the Cnt field to indicate the
Zeke dispatches an event number of times that you want Zeke to dispatch the
event.
Note:
Increasing the count will cause the event to run the
indicated number of times in this schedule run, but does
not give the SQR all of the characteristics of a recurring
event (which you can specify only in the EMR). Zeke
resets the WHEN conditions for a recurring event at
dispatch time, and a recurring event can become
WHEN-satisfied even while it is active. See “Recurring
and Permanent Events” on page 145 for more information.
Note:
If you do not enter a time in the Freq field, Zeke dispatches
the event as soon as the previous run has completed.
3 Press Enter.
Change the class or class list Valid for job events only. Specify the name of the class in
for the job the Dsptch Class field, and press Enter.
Change the number of Valid for job events only. Specify the number of tape drives
required tape drives in the No. Tap field, and press Enter. The valid values range
from 0 through 255.
Change the amount of Valid for job events only. Specify the amount of storage in
storage required by the event the Virt Mem field, and press Enter.
209
ASG-Zeke Scheduling for z/OS User’s Guide
Change the way Zeke Specify the code indicating the type of job processing to use
submits and executes JCL in the Target field, and press Enter. These are the valid
values:
Change the required Type over the environment name in the Scheduling
scheduling environment Environment field with the name (up to 16 characters long)
of a different scheduling environment, and press Enter.
If you want to remove the requirement and force the job to
run, simply clear the environment name. The event will run
as soon as its other dispatching requirements are met.
Change the target where Type over the value in the Target field, and press Enter.
Zeke downloads the event From the Schedule Information Selection Criteria screen,
enter REB in the Line Cmd field, and press Enter. Zeke
rebuilds the schedule and downloads it to Zeke Agent.
Note:
You can change the Target field only if the event has not
been downloaded yet.
210
5 Creating and Monitoring the Schedule
Repeat the last command 1 Enter any valid line command that already has been
entered executed for an event, followed by =, in the Line Cmd
Field to flag any additional events for the same action.
2 Press Enter.
3 Continue to press Enter to issue the command for each
subsequent, flagged event.
Repeat the last change for 1 Enter ALT in the Line Cmd field for the event that you
subsequent lines want to update.
2 Enter = in the Line Cmd field to flag any subsequent
lines where that you want to apply the same changes.
3 Press Enter.
4 Continue to press Enter to apply the change to each
subsequent, flagged event (until you execute a different
line command).
Note:
If you want Zeke to download an event that has been updated to Zeke Agent, then
you must rebuild the SQR first.
If necessary, you can display more detailed event status information, and update an event
status by satisfying its dispatching requirements and dependencies manually.
Event Statuses
This table describes the event status codes that Zeke displays in Schedule View:
211
ASG-Zeke Scheduling for z/OS User’s Guide
Fail Job Ran Long The event completed, but was marked as failed because it ran
longer than its acceptable range of duration times (i.e., its Normal
Range).
Fail Job Ran Short The event completed, but was marked as failed because it ran
shorter than its acceptable range of duration times (i.e., its Normal
Range).
Queued The event is in the dispatch queue, but is not yet running.
Scheduled The event is scheduled, but has not been dispatched yet.
Success Failed Once The event ended abnormally, was refreshed, and then finished
successfully.
Success Forced Failed Once The event was forced to a successful completion after failing once.
Awaiting Retry Zeke attempted to dispatch the event, but the event failed with a
recoverable error. Zeke will attempt to dispatch the event again.
Class Cap The job event is on hold because the job class maximum capacity
has been reached. Zeke will submit the job event to JES when the
number of jobs of that class falls below the limit.
Comm Record Wait The event currently is under multisystem processing. The event is
available for dispatching after the associated communication record
is processed.
Delayed Dispatch Wait Zeke has delayed event dispatching due to multisystem processing
requirements.
212
5 Creating and Monitoring the Schedule
Note:
An active event that has been disabled using the ZDISABLE
operator command continues to run to completion, but Zeke
ignores it for the purposes of triggering (and no longer tracks it). In
this case, the event appears in Schedule View with this status (even
after it is completed):
ACTIVE DISABLED
DSN Hold There are multiple SQRs in the schedule with the same event
number and the same DSN trigger specified. Because the DsnTrig
generation option is set to NT, Zeke did not trigger any of the events,
and the events are on hold.
Event ran long/short The event completed, but its duration was longer than or shorter than
its acceptable range of duration times (i.e., its Normal Range).
Event is running long The event is active, and is running longer than its acceptable range
of duration times (i.e., its normal range).
Failed Once The event failed, was refreshed, was rerun, and finished
successfully.
Held Class The job event is on hold because an operator hold was placed on the
job class. The job is not be submitted to JES until the operator hold
on the job class is released.
Note:
A held class prevents Zeke from submitting jobs to JES for this job
class. This does not prevent jobs from running in that class if they
are submitted by a source other than Zeke.
Internal Hold The event was placed on hold due to an internal Zeke processing
error.
JESQ Held Job Wait The event is on hold in the dispatch queue until a job is found in the
JES queue with a matching jobname.
213
ASG-Zeke Scheduling for z/OS User’s Guide
Late For an event that has not dispatched, either its ‘late start’ time has
passed or, based on its average duration, the event is projected to run
past its ‘late end’ time.
For a dispatched event, the event did not complete by its ‘late end’
time.
Late End/Must End The ‘late end’ or ‘must end’ time has been reached.
Manual Schedule Wait The event is one of a group of events that were manually scheduled
by a single ZADD command. The event is waiting for the other
events in the group to be added, and for any weak and variable
conditions to be checked.
Multiple Systems This status occurs only in a Zekeplex (where the XCFONLY=YES
start-up option is specified in the ZEKExx options member).
Because event’s specified system ID is a pool, the event can be in
multiple dispatch queues.
You can issue the WHY command to view the wait statuses across
all systems.
Need Tape Drives The required number of tape drives are not available.
Network Time Out OASIS/DMS timed out while waiting for a response.
New DQT Entry The event has been newly added to the dispatch queue.
No local license The event is a local event, but Zeke is not licensed for local event
processing.
No remote license The event is a remote event, and Zeke is not licensed for remote
event processing (through EA Services).
214
5 Creating and Monitoring the Schedule
Notduring Wait The event is waiting for the completion of a program or job that is
specified in the event’s WHEN condition.
OASIS REXX Hold The REXX event (submitted through OASIS/ECF) abended, and the
event is on hold.
Operator Hold The event is on operator hold because a ZHOLD operator command
was issued.
Posid=No/Rem Hold The Posid generation option is set to N, and the Control field on the
EMR is set to Y. Because these settings prevent Zeke from tracking
a remote job event, the event was placed on hold. For Zeke to track
a remote job event, Posid must be set to Y; otherwise, Control must
be set to N, so that Zeke does not attempt to track the remote job
event.
Refresh Hold A ZREFRESH operator command was issued for this event. This
event is refreshed, and is on operator hold.
Security Hold The job is not authorized to run on the platform where it was
submitted. The event is on hold.
SJCL Hold Zeke encountered an error reading the JCL while attempting to
dispatch the event. The event is on hold.
VSE Pool Hold Zeke has attempted to dispatch a pool event on a VSE system when
the DispSel generation option is set to N. The event is on hold.
215
ASG-Zeke Scheduling for z/OS User’s Guide
Unobt. Resource Hold The event is on hold because it needs a resource that is unobtainable
for one of these reasons:
• Resource is not defined in the Zeke database.
• Resource is unavailable on the designated system.
• Event requires a larger share count than is defined for the
resource.
Wait Sched Load There is a new SQR entry being added to the schedule by the current
schedule load. The SQR is available for dispatching when the
schedule load is complete.
Weak Resolution Wait The event has been updated by a communications record, but its
weak and variable conditions have not been checked yet.
1 Access Schedule View, and locate the desired event (as described in “Displaying
Scheduled Events” on page 203).
2 Enter WHY in the Line Cmd field to the left of the selected event version, and press
Enter. The Schedule View—WHY screen is displayed:
For example, for an event with the status Queued, and the reason code Multiple
Systems, issuing the WHY command displays the wait reasons for all systems:
216
5 Creating and Monitoring the Schedule
If the information in the Event Status section includes a system name (e.g.,
ASGSYSD), this indicates that the SQR is waiting in the dispatch queue on that
system. If the status information is not preceded by a system name, this indicates
the base SQR on any system.
Note:
Zeke uses this screen format only for pooled SQRs in a Zekeplex (where the
start-up option PLEXCOMM=XCFONLY has been specified in the ZEKExx options
member for all Zekes). In this case, Zeke always displays the system name (even for
nonpooled events).
3 Perform the steps in the Action column (depending on the desired result):
Satisfy an individual condition In the Event Status section, enter any character to the left
of the condition that you want to satisfy, and press Enter.
Satisfy or complete all WHEN In the Event Status section, enter any character to the left
conditions of the statement Needs WHEN OK, and press Enter.
If the job is waiting for resources, the Schedule View—
Resource screen is displayed. See “Managing Event
Resources” on page 221.
217
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
To change a WHEN condition permanently, you must update the condition in the EMR.
See “WHEN Condition Keywords” on page 136 for the valid keywords.
1 Access Schedule View, and locate the desired event (as described in “Displaying
Scheduled Events” on page 203).
2 Enter WH in the Line Cmd field to the left of the selected event version, and press
Enter. The Schedule View—When Conditions screen is displayed:
3 Perform the steps in the Action column (depending on the desired result):
Update existing WHEN 1 In the English When Conditions section, tab to the
conditions blank field after the existing statement.
2 Enter AND or OR, and the specify another WHEN
condition (which is appended to the existing
statement). Do not add a closing parenthesis to the
existing statement.
218
5 Creating and Monitoring the Schedule
Note:
When updating an existing condition in Schedule View,
you can add only approximately 120 characters (because
of buffer requirements). If you need to specify a dataset
dependency that uses a dataset name longer than 120
characters, you must use a Zeke operator command to
update the WHEN condition.
Satisfy an individual WHEN Tab to the blank space in front of the condition in the
condition Tabular When Conditions section, and enter any
character.
These symbols indicate describe the status of the
prerequisite:
Satisfy all WHEN conditions Enter WOK in the Line Cmd field for the selected event
on the Schedule View screen.
4 Press Enter.
219
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
If you enter WH for a selected work center event, this screen is displayed:
You can follow the same procedures for updating and satisfying WHEN conditions
when that you want to update or satisfy SET statements.
220
5 Creating and Monitoring the Schedule
See “Assigning Resources to an Event” on page 283 for more information on how
resources are defined for an event.
1 Access Schedule View, and locate the desired event (as described in “Displaying
Scheduled Events” on page 203).
2 Enter RESO in the Line Cmd field to the left of the selected event, and press Enter.
The Schedule View—Resource screen is displayed:
The screen provides information on the resources that are assigned to the event. For
example:
• Resource access mode (i.e., whether access to the resource must be exclusive,
can be shared, etc.).
• Scope (i.e.,whether the resource is defined only for one Zeke system or for
multiple systems).
• Resource status. These are the possible statuses:
Status Description
KPT After the resource was acquired, and while the resource was in use, a
failure occurred. The resource is being held.
HLD Resource is being held by an event until all of the required resources
are available.
221
ASG-Zeke Scheduling for z/OS User’s Guide
Status Description
If there are no resources defined for the event, this message is displayed:
3 Perform the steps in the Action column (depending on the desired result):
Release the resource To the left of the resource, enter REL, and press Enter.
Display the event currently using To the left of the resource, enter WHO, and press Enter.
the resource
If there are no resources currently being held for the event, this message is
displayed:
Although you can update event information from the Schedule View screen, generally, it
is more convenient to edit fields from the ZOOM screen. The fields on the Schedule
View and ZOOM screens are the same for SQRs of any event type; however, you can
only update fields or enter field values that are valid for that event type.
For job events, you can browse or edit the job’s JCL directly from the ZOOM screen
when the JCL is stored in the Zeke database, a PDS, a Panvalet library, or a Librarian
library. To view JCL stored in other repositories, you can request JCL retrieval (which
stores a temporary copy in the event). See “Overriding JCL” on page 232 for more
information.
222
5 Creating and Monitoring the Schedule
Note:
See the ASG-Zeke Scheduling for z/OS Installation Guide for information about
activating Panvalet and Librarian support in Zeke.
1 Access Schedule View, and locate the event that you want to display (as described
in “Displaying Scheduled Events” on page 203).
2 Enter ZOOM in the Line Cmd field to the left of the selected event, and press Enter.
The Schedule View Record Expand Function screen is displayed:
Note:
If JCL exists for an event, you can browse, delete, edit, or retrieve it from this
screen. The screen provides line commands, and indicates the JCL source.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 Enter EDIT on the Command line, and press Enter to enable Edit mode.
In Edit mode, you can edit any of the highlighted fields. You can scroll left or right
to access additional fields.
Or
223
ASG-Zeke Scheduling for z/OS User’s Guide
From the Schedule View screen, enter ZOOM in the Line Cmd field beside the
desired event and press Enter.
Note:
See “Accessing an Expanded SQR (Using ZOOM)” on page 222 for more
information on updating an SQR in ZOOM mode.
4 To display or update the event’s JCL, in the blank field to the left of the JCL—>
field, enter one of the available JCL line commands. Press Enter.
Caution! Changes made to JCL using this method are applied to the EMR. For
one-time JCL overrides, see “Overriding JCL” on page 232.
Any changes that you make to display characteristics are valid only for the current user
and are saved in the user’s ISPF profile. Each user can set up Schedule View according to
their preferences.
224
5 Creating and Monitoring the Schedule
You can enable or disable the automatic monitoring function, and change the screen
refresh rate (when this feature is enabled).
2 The AUTO ON setting is the default automatic monitoring and refresh mode.
Or
If automatic monitoring and schedule refresh currently are disabled, enter AUTO
ON on the Command line to enable these settings.
Press Enter.
3 To view the current refresh rate when the automatic monitoring function is enabled,
enter INT on the Command line, and press Enter. Two values are displayed, where
the first value, rate, is the number of seconds between automatic refreshes, and the
second value, wait, indicates how often Zeke checks for a request to exit AUTO
mode.
4 To change the timing of screen refreshes, enter INT rate wait where rate is
a range from the wait value to 3,660 seconds, and wait is a value ranging from 1
through 255. The default values of both optional parameters is 5. Also, the rate
value must be a multiple of the wait value; however, Zeke calculates and adjusts
this automatically.
For example:
To refresh the screen every 10 seconds, and check for an exit AUTO mode request
every 5 seconds, enter INT 10 5.
To refresh the screen every 14 seconds, and check for an exit AUTO mode request
every 4 seconds, you could enter INT 14 4; however, Zeke automatically adjusts
the refresh rate to 12.
225
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter option C.3. The Schedule View Sort Setup
screen is displayed:
----- Sort uses fields above; fields below are not used -----
The fields listed above the line are used for sorting in the user-specified sort order.
Unused fields (below the line) are listed alphabetically, for convenience.
a To remove a field as a sort field, specify the line command 0 next to the field,
and press Enter. This moves the field down to the not used section of the table.
b To include a field as a sort field, enter any value (other than 0) next to the field,
and press Enter. This to moves the field up to the used section. The value
determines the field’s placement in the sort order.
226
5 Creating and Monitoring the Schedule
Order values begin at 10, and increment by 10. This enables you to position
multiple fields in between existing fields, if necessary.
Each time a field is included in or removed from the sort sequence, or fields are
reordered, the Order values are recalculated for the entire list.
In the previous example, the scheduled events are designated to be sorted first by
Status/Reason Code, then by Schedule Date, and then by Event Number. The user
has specified to use Cnt as the last sort option.
3 Enter A or D in the A/D field to specify an ascending or descending order for the
sort, and press Enter. Ascending numerical and alphabetical order is the default
sequence.
In the example, Status/Reason Code, Event Number, and Cnt will sort in ascending
order, and Schedule Date will sort in descending order.
4 Enter END on the Command line to save the changes and return to the previous
screen.
1 From the Zeke Primary Menu, enter option 2.1. The Schedule View screen is
displayed.
2 Enter SORT (followed by a space) and the abbreviation for the fields that you want
to use to sort, and press Enter. Separate each field with a comma and no space.
3 Optional. Enter SORT HELP on the Command line, and press Enter to display a
list of SORT parameters and their correct syntax.
4 Enter END on the Command line to save the changes and return to the previous
screen.
227
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter option C.2. The Schedule View Display Setup
screen is displayed:
----- Fields above are displayed; fields below are not -----
Fields listed above the line are displayed in the user-specified sequence. Unused
fields (below the line) are listed alphabetically, for convenience.
a To remove a field from the display, specify the line command 0 next to the
field, and press Enter. This moves the field below the line to the not used
section.
b To include a field in the display, enter any value (other than 0) next to the field
and, press Enter. This to moves the field above the line to the used section. The
value determines the field’s placement on the screen.
228
5 Creating and Monitoring the Schedule
c To reorder fields, specify a new value next to the desired fields, and press
Enter.
Order values begin at 10, and increment by 10. This enables you to position
multiple fields in between existing fields, if necessary.
Each time a field is included in or removed from the display sequence, or fields are
reordered, the Order values are recalculated for the entire list.
3 Enter END at the Command line to save the changes and return to the previous
screen.
In this example, the Event Number appears in Field 1, the Schedule Date in Field 2,
the Sched Time in Field 3, and the Status/Reason Code in Field 4. The remaining
fields are marked for removal because their nnn value has been set to 0. When you
press Enter, those fields are moved below the separator line to indicate that they are
not displayed:
Note:
On the Schedule View screen, the DOC, JCL, AUTO REPLY, RESOURCE,
CODE, and WHEN fields always appear as the last six fields, and cannot be moved.
229
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter option C.4. The Date Selection screen is
displayed. The selected format is marked by an asterisk (*) in the Current Format
column:
Current
OPT Format Format Description
2 In the OPTION field, specify the corresponding option number (OPT) to select the
date format that you want to use in Schedule View, and press Enter.
The Zeke Primary Menu options are still valid; however, Schedule View offers an
alternate way to access these other areas of the online facility.
1 From the Zeke Primary Menu, enter option 2.1. The Schedule View screen is
displayed.
230
5 Creating and Monitoring the Schedule
2 Perform the steps in the Action column (depending on the desired result):
Access EMRs Enter EMR on the Command line, and press Enter. The Event
Master Selection Criteria screen is displayed.
Or
Enter EMR in the Line Cmd field for an event, and press Enter.
The Event Master Definition screen is displayed in Browse
mode.
See “Event Master Records (EMRs)” on page 51 for more
information.
Access online Enter DOC on the Command line, and press Enter. The
documentation Documentation Selection Criteria screen is displayed.
Or
Enter NOTE in the Line Cmd field for an event, and press
Enter to display Note Text information only for the selected
event.
See “Event Documentation” on page 166 for more
information.
Access work centers Enter WORK on the Command line, or in any Line Cmd field,
and press Enter. The Work Center Selection Criteria screen is
displayed.
See “Work Centers” on page 96 for more information.
Access PathFinder Enter one of these line commands in the Line Cmd field:
231
ASG-Zeke Scheduling for z/OS User’s Guide
Access Zebb Enter one of these line commands in the Line Cmd field to
access the appropriate Zebb function:
Note:
This function requires Zebb to be active on this Zeke system.
Display SQR information Enter ZOOM in the Line Cmd field for the selected event, and
on one screen press Enter.
See “Accessing an Expanded SQR (Using ZOOM)” on
page 222 for more information.
Edit or override JCL for a Enter ZOOM in the Line Cmd field for the selected event, and
job event press Enter.
See “Overriding JCL” on page 232 for more information.
Managing JCL
For job events, you can access JCL from Schedule View for one-time overrides, as well
as validate the JCL that you have created or edited.
Overriding JCL
For job events, Schedule View enables you to retrieve the actual JCL from the JCL
source, and insert it in the SQR so that you can view it or make temporary overrides. This
enables authorized users access to a copy of the executable JCL to update parameters and
correct abends. The updated copy of the JCL is attached to the event’s schedule entry for
subsequent runs. If you override the JCL for a recurring event, all subsequent runs for that
schedule day will use the override JCL (unless the override copy is manually deleted).
When the event is completed successfully, the JCL override copy is purged with the event
at the next schedule load.
Note:
If JESQ is the JCL source for the SQR, you cannot override the JCL from Zeke.
232
5 Creating and Monitoring the Schedule
1 Access Schedule View, and locate the event for to which you want to access the JCL
(as described in “Displaying Scheduled Events” on page 203).
2 Enter JCLR in the Line Cmd field next to the job, and press Enter.
Request queued
3 Enter ZOOM in the Line Cmd field, and press Enter. The Schedule View Record
Expand Function screen is displayed:
4 Review the first JCL field. In this example, the field indicates the JCL has not been
retrieved yet:
5 To edit the JCL, type line command E to the left of the JCL field, and press Enter.
Any changes to this field are effective only for the current schedule run.
6 In the Delete after next use (Y/N) field, specify whether to delete the updated JCL
after the next use. If you set this field to Y, the override JCL is deleted after the next
run of the job. If you set this field to N, the JCL is kept and re-used for every job run
until the override JCL is manually deleted (using the D line command in Schedule
View), or this option is changed to Y. The default setting for this field is controlled
by the DefDelOJ generation option.
233
ASG-Zeke Scheduling for z/OS User’s Guide
7 The additional JCL field contains the name of the specified JCL source for the job.
Update this field, if necessary. Changes to this field are permanent, and affect the
EMR for this event.
The Zeke JCL Override screen is displayed:
8 Make any necessary changes, and press F3 to save the changes and return to the
Schedule View Record Expand Function screen.
Note:
A few editing commands have the same name in ISPF as in Zeke (e.g., CANCEL,
COPY, and EDIT). When these commands are issued from Zeke, they are
processed as Zeke commands (rather than as ISPF commands). To use the ISPF
command when there is a Zeke command by the same name, you must issue it as
part of the ISPF EDIT command BUILTIN (e.g., BUILTIN CANCEL). Otherwise,
it is assumed that you are issuing a Zeke command (and not an ISPF command).
See your ISPF documentation for details about the BUILTIN command.
10 Optional. You can check your JCL for syntax errors without affecting the actual
SQR. See “Validating JCL” on page 237.
234
5 Creating and Monitoring the Schedule
Zeke’s PDS override option provides an alternative to the standard JCL override function
in Schedule View. This override option copies the JCL that is pointed to by the
DDNAME/member name combination in the SQR to a PDS that is pointed to by the
OVERRIDE DD in the Zeke started task. The SQR is updated to point to that DDNAME
OVERRIDE. You can then edit the JCL through the ZOOM screen in Schedule View.
The OVERPDS command allocates the datasets pointed to by the DDNAME in the Zeke
started task based on the DDNAME found in the current SQR.
For information on how to install and configure the PDS JCL override option, see the
ASG-Zeke Scheduling for z/OS Installation Guide.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 Enter ZOOM in the Line Cmd field to the left of the job, and press Enter.
235
ASG-Zeke Scheduling for z/OS User’s Guide
Type: JOB EventName: ABEND806 App: A2345678 Grp: G23 Usrid: U2345678
System: SYSD Class: A Target: *LOCAL
Type: JOB EventName: ABEND806 App: A2345678 Grp: G23 Usrid: U2345678
System: SYSD Class: A Target: *LOCAL
After the datasets are allocated, OVERPDS copies the member (indicated in the
SQR) to a dataset pointed to by the OVERRIDE DD in the Zeke started task. A
ZALTER command is issued against the SQR to change the SQR to point to the
OVERRIDE DD.
4 Exit, and then re-access, the zoom screen to see the change in the SQR.
236
5 Creating and Monitoring the Schedule
Type: JOB EventName: ABEND806 App: A2345678 Grp: G23 Usrid: U2345678
System: SYSD Class: A Target: *LOCAL
Validating JCL
After you create or edit JCL, you can check it for syntactical errors using one of these
facilities:
• ASG-JCLPREP (through use of the JPREP line command)
• ASG-JOB/SCAN (through use of the JSCAN line command)
• ZSCAN operator command
Note:
Other JCL scanning products can be invoked from the Schedule View display by using
the Zeke line command JSCAN. You must write a TSO CLIST or REXX exec to perform
the validation before using the JSCAN line command. See the section on using other JCL
scanning products in the ASG-Zeke Scheduling for z/OS Installation Guide. If your
product provides an ISPF EDIT macro to scan JCL, then you can use it while editing
event JCL from the ZOOM display.
Invoking ASG-JCLPREP
ASG-JCLPREP (herein called JCLPREP) validates the JCL syntax for a job and issues a
report about its accuracy. From Schedule View, you can invoke JCLPREP in either of
two ways:
• Through the ZOOM feature
• By entering the JPREP line command
237
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
The JPREP line command can be used to populate OASIS event-related items
(XQxxxxx). JPREP invokes the ZJCLPREP REXX exec (which requires site-specific
modifications).
After you edit JCL from the ZOOM display, you can validate the JCL while still in EDIT
mode using the FPREP EDIT macro. Both methods for accessing JCLPREP are
described in this section.
See the ASG-Zeke Scheduling for z/OS Installation Guide for information on configuring
JCLPREP for JCL management, and for important setup procedures that must be
performed before you can invoke JCLPREP from Schedule View.
Note:
This feature is not supported for SQRs which have JESQ as the JCL source.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 Enter ZOOM in the Line Cmd field to the left of the selected job event, and press
Enter. The Schedule View Record Expand Function screen is displayed:
238
5 Creating and Monitoring the Schedule
3 To access the JCL, enter E in front of the JCL field, and press Enter. The JCL screen
is displayed:
4 Enter FPREP on the Command line, and press Enter to invoke the JCLPREP EDIT
macro. JCLPREP is invoked to check the JCL syntax.
5 When you finish reviewing the JCLPREP output, press F3 to exit the output screen.
1 From the Schedule View screen, enter JPREP in the Line Cmd field to the left of
the event, and press Enter. JCLPREP is invoked to check the JCL syntax.
2 When you finish reviewing the JCLPREP output, press F3 to exit the output screen.
Invoking JOB/SCAN
From Schedule View, you can invoke the JCL management tool, ASG-JOB/SCAN, in
either of two ways: through the ZOOM feature, or by entering the JSCAN line command.
Both methods for accessing ASG-JOB/SCAN (herein called JOB/SCAN) are described
in this section.
JOB/SCAN can only be used for jobs that have existing JCL.
239
ASG-Zeke Scheduling for z/OS User’s Guide
See the ASG-Zeke Scheduling for z/OS Installation Guide for information on configuring
JOB/SCAN for JCL management, and for important setup procedures that must be
performed before you can invoke JOB/SCAN from Schedule View. Also refer to your
JOB/SCAN documentation series for more information.
Note:
For SQRs with JESQ as the JCL source, the JCL cannot be viewed or edited.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 Enter ZOOM in the Line Cmd field next to the job and press Enter. The Schedule
View Record Expand Function screen is displayed:
240
5 Creating and Monitoring the Schedule
3 To access the JCL, enter E in front of the JCL field and press Enter. The JCL screen
is displayed:
4 Enter JEM on the command line, and press Enter to invoke the JOB/SCAN EDIT
macro. JOB/SCAN is invoked to check the JCL syntax.
5 When you finish reviewing the JOB/SCAN output, press F3 to exit the output screen.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
2 Enter JSCAN in the Line Cmd field next to the job, and press Enter. JOB/SCAN is
invoked to check the JCL syntax.
3 When you finish reviewing the JOB/SCAN output, press F3 to exit the output screen.
Note:
See the JOB/SCAN documentation series for more instructions.
241
ASG-Zeke Scheduling for z/OS User’s Guide
Using ZSCAN
You can check your JCL for syntax errors through the OS facility. This function is the
same as issuing the Zeke operator command ZSCAN and follows the same guidelines as
the JCL feature TYPRUN=SCAN. Your job card must have a MSGCLASS= value that
will hold the output on the spool. Otherwise, you cannot view the system messages.
Note:
To validate JCL on another system, you must specify the system name. Use the ZSCAN
operator command to do so. See the ASG-Zeke Scheduling for z/OS Reference Guide for
details).
Note:
This feature is not supported for SQRs which have JESQ as the JCL source.
1 Access Schedule View, and locate the event that you want to update (as described in
“Displaying Scheduled Events” on page 203).
3 If you have a package designed to browse the JES spool (e.g., SDSF or BETA92),
use it to view the messages. Otherwise, enter SYSM in the Line Cmd field and press
Enter. The Schedule View Record Expand Function screen is displayed.
All SYSLOG and JESLOG messages can be displayed to aid in problem resolution
and speed the restart process. Use the SYSL and SYSJ line commands,
respectively.
Note:
The SYSM, SYSL, and SYSJ commands are valid only if these conditions are met:
• You are running an OS release that supports IBM’s spool browse facility
• You are running JES release 4.x or above
• The job is in the JES spool.
242
5 Creating and Monitoring the Schedule
Zeke Dispatching
This section describes how Zeke evaluates scheduled events in order to manage event
dispatching, as well as the types of alerts Zeke generates when identifying a delay.
Dispatch Priority
Zeke determines the order in which events are dispatched by evaluating these event
attributes or conditions in sequence:
2 Whether or not the event is near its ‘late start’ time (Latestart value). Zeke considers,
as applicable, an event’s ‘not after’ time (Notafter value), ‘must end’ time
(Mustend), average duration (Avgdur value), and the value of the Mspintrl
generation option (see page 311). Zeke uses one of these two formulas to calculate
an event’s near dispatch time and evaluate whether to elevate its dispatch priority:
For example, let’s suppose that the Mustend value for event ABC is set to 17:00.
The event’s average duration is 30 minutes. The value of the Mspintrl generation
option is 1 hour (the default value). Based on this formula, Zeke assigns event ABC
a higher dispatch priority at 15:30.
Or
For example, let’s suppose that the Notafter value for event DEF is set to 11:00.
The value of the Mspintrl generation option is 1 hour (the default value). Based on
this formula, Zeke assigns event DEF a higher dispatch priority beginning at 10:00.
3 Whether the event is past its ‘late start’ time and the Prilate generation option is set
to Y (which gives priority to late events despite their schedule time).
4 Run date.
6 Event number.
7 Version number.
243
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
An event’s ‘late end’ time (Lateend value) does not affect its dispatching sequence.
See “Job Events” on page 67 for information on schedule times and other event attributes
that affect event dispatching.
See “Dispatching Events and Messages” on page 310 for details on the generation
options that control dispatching.
Zeke does not issue the message after a late event that has violated its ‘late start’ time has
been dispatched (i.e., has reached a pending, active, success, or failed status). Likewise,
Zeke does not issue the message after a late event that has violated its ‘late end’ time has
completed (i.e., has reached a success or failed status).
An OpsCentral alert is issued only the first time Zeke issues the late message and
whenever Zeke is cycled.
Every minute, Zeke estimates the start and end time of every SQR that has one or more of
these time constraint values specified:
• Latestart
• Lateend
• Notafter
• Mustend
If the SQR’s projected start or end time exceeds one of its time constraints, Zeke issues
an early warning alert to OpsCentral.
244
5 Creating and Monitoring the Schedule
To enable early warning alerts, the OpsCentral server must be configured (i.e., the GUI
Serv generation option must be set to Y) and the ZEKE_SERVER_ALERT_EARLYWARN
environment variable must be set to YES on at least one of the Zeke systems in your
Zekeplex.
Zeke projects an SQR’s start and end times by examining the triggers from its WHEN
condition and recursively projecting the start and end times of its predecessors. Zeke
considers only triggers that can be matched to an SQR in the schedule, and ignores these
types of triggers:
• DSN, VAR, and NOTDURINGs.
• All abend triggers (i.e., AEOJ, AEOS, AEOP, AEOE).
• EOS, EOP, and BOP triggers that do not specify a jobname.
• Remote dependencies (i.e., triggers with the AT keyword).
• EOJ, BOJ, or EOE triggers with a job or event name that does not match an SQR.
Other than these exceptions, Zeke assumes that all of an SQR’s triggers must be satisfied
before the event can be dispatched (i.e., Zeke assumes that all WHEN conditions use the
AND operator instead of the OR operator).
Zeke ignores any SQR requirements other than time and WHEN prerequisites (e.g.,
logical resources, tape drives, and initiators), and also any manual intervention
requirements (i.e., operator OKs and work centers).
Because Zeke does not track the duration lengths of nonjob events, when projecting
start/end times, Zeke assumes that all nonjob SQRs have a duration of one minute.
Caution! If you use early warning alerts and you restore an earlier Zeke database backup
file, ASG recommends that you restore the database with the NOSCHED
option. Otherwise, if an earlier schedule is restored, your network could become
flooded with early warning alerts.
245
ASG-Zeke Scheduling for z/OS User’s Guide
ZCOM Function
The ZCOM function provides options that enable you to issue Zeke operator commands
or update the values of Zeke variables.
See the ASG-Zeke Scheduling for z/OS Reference Guide for a complete list of commands,
parameters, and values that are valid for Zeke operator commands.
In addition to using the ZCOM function, you also can issue Zeke operator commands
using any of these methods:
• From the system console or SDSF.
• From any command line in the Zeke ISPF online facility (with the exception of the
ZKILL command). See “Issuing Zeke Commands through ZCOM” on page 247.
• From a command shell. See “Issuing Zeke Commands outside of ZCOM” on
page 247.
• Through an SCOM or ZCOM event. See “Command Events” on page 87.
• Using a ZEKESET command (i.e., SET SCOM or SET ZCOM). See the ASG-Zeke
Scheduling for z/OS Reference Guide.
• Using a Zeke host command (i.e., a REXX ADDRESS ZEKE ZCOM command).
See the ASG-Zeke Scheduling for z/OS Installation Guide.
• Using the ZEKECMD API. See the ASG-Zeke Scheduling for z/OS Installation
Guide.
• From an OpsCentral console. See the ASG-Zeke Plug-in for OpsCentral User’s
Guide.
246
5 Creating and Monitoring the Schedule
1 From the Zeke Primary Menu, enter option 2.2. The Schedule Control Functions
screen is displayed:
1 ZD 13
2 ZD JOB 14
3 ZD MSG 15
4 ZD SCOM 16
5 ZD ZCOM 17
6 ZD WAIT 18
7 ZD DONE 19
8 ZD LATE 20
9 ZD HOLD 21
10 ZD AV 22
11 ZID 23
12 ZMAP 24
The Schedule Control Function screen lists some of the most common operator
commands you can issue for displaying and updating scheduled event information
(depending on your security and class definition). You can modify or replace those
commands, as well as enter new commands in the open option fields.
2 Enter the command (or the option number for the command) on the Option line and
press Enter. The ZCOM Output screen is displayed.
For example, to display all of the events in the current schedule, enter 1 or ZD on
the Option line, and press Enter.
Issue the Zeke operator command from any command line in the Zeke ISPF online
facility.
247
ASG-Zeke Scheduling for z/OS User’s Guide
Or
From a command shell, issue the ZCOM command from any ISPF command line to
open a command shell where you can issue commands up to 200 characters long.
The command shell also enables you to retrieve the last ten commands that were
issued (from the command shell).
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
Modifying PF Keys
Using the SETPF command, you can temporarily modify the PF keys assigned to ZCOM
commands. Modified PF keys remain set until you exit the ZCOM function.
For example, this command modifies the command assigned and executed when you
press PF1:
You also can assign a command to a PF key and include a prompt so that you can modify
the command parameters before the command is executed. Use these special characters in
the command assignment:
Character Meaning
> Indicates to display the command on the Command line without executing it.
This enables the operator to modify the command. Specify this character in the
first position (before the command).
@ Indicates where in the command to position the cursor so that the operator can
insert parameter values.
248
5 Creating and Monitoring the Schedule
For example, let’s suppose you issue this command to modify the command assigned and
executed when you press PF1:
When you press PF1, this command is displayed on the Command line:
The cursor is positioned after APP to enable to specify the application name.
When you press Enter, the corresponding Zeke Command Output Display screen is
displayed detailing the selected criteria:
--------------------------------------------------------------------------
Z0922I DATE RDATE VER TYPE JOB/EVT NAME DP SCHED FREQ CNT STATUS
000006 2013053 2013053 000 JOB TSKKGUT1 50 00:00 1 T
000008 2013053 2013053 000 JOB TSKKGUT3 50 00:00 1 T
000011 2013053 2013053 000 JOB SPTEXD11 50 00:00 1 T
000018 2013053 2013053 000 JOB SPTEXD18 50 00:00 1 T
000019 2013053 2013053 000 JOB SPTEXD19 50 00:00 1 T
000020 2013053 2013053 000 JOB SPTEXD20 50 00:00 1 T
000021 2013053 2013053 000 JOB SPTEXD21 50 00:00 1 T
000022 2013053 2013053 000 JOB SPTEXD22 50 00:00 1 T
000023 2013053 2013053 000 JOB SPTEXD23 50 00:00 1 T
000024 2013053 2013053 000 JOB SPTEXD24 50 00:00 1 T
000025 2013053 2013053 000 JOB SPTEXD25 50 00:00 1 T
000026 2013053 2013053 000 JOB SPTEXD26 50 00:00 1 T
000028 2013053 2013053 000 JOB TSKKGUT1 50 00:00 1 T
000029 2013053 2013053 000 JOB SPTEXD29 50 00:00 1 T
000030 2013053 2013053 000 JOB SPTEXD30 50 00:00 1 T
Z0905I NUMBER OF SCHEDULE ENTRIES SELECTED WAS 00028 SYSTEM ZEQA
PathFinder
PathFinder displays all predecessor and successor relationships for an event. This enables
you to evaluate what needs to occur before an event can run, and what will happen after
the event has run. You can access PathFinder through Schedule View, or by issuing a
Zeke operator command.
See “Using Schedule View” on page 193 for information on activating PathFinder
through Schedule View.
249
ASG-Zeke Scheduling for z/OS User’s Guide
This procedure explains how to activate PathFinder using a variety of Zeke operator
commands.
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on Zeke
operator commands.
Note:
You also can issue any of the operator commands described in this procedure directly
from the console.
1 From the Zeke Primary Menu, enter option 2.2. The Schedule Control Functions
screen is displayed.
2 Perform the steps in the Action column (depending on the desired result):
Display predecessors for Issue one of these commands from the Option line:
an event at all levels
ZD PRE LEV * JOB jobname
ZD PRE LEV * EV event-number
Zeke considers the specified event to be at level 0 and
displays at the bottom of the flow. You might have to scroll
down to see the level 0 job.
Then, scroll up to see the order of the predecessors. They are
displayed from the bottom to the top, beginning with the first
job (level 1). Displayed above each level 1 job are all the jobs
that trigger it (level 2 through the end).
If a condition has already been displayed, this message
appears directly underneath the job that triggered it:
CONDITION ALREADY DISPLAYED BELOW
Display successors for an Issue one of these commands from the Option line:
event at all levels
ZD SU LEV * JOB jobname
ZD SU LEV * EV event number
The specified job is the zero (0) level job and is displayed at
the top of the screen. All jobs that are triggered by this job are
displayed below the level 0 job beginning with the first job
(level 1). Displayed under each level 1 job are all the jobs that
it triggers (level 2 through the end).
If a condition has already been displayed, this message
appears directly underneath the job that triggered it:
CONDITION ALREADY DISPLAYED ABOVE
250
5 Creating and Monitoring the Schedule
Display all predecessors Issue one of these commands from the Option line:
and successors for an event
ZD PRE SU LEV * JOB jobname
ZD PRE SU LEV * EV event number
Scroll down until you find the first job (level 0) and page up
for the predecessors and down for the successors.
Display nonZeke jobs in The generation option Trigjob must be set to A so that any job
path can trigger another event's WHEN conditions, regardless of
how the job is dispatched. this message is displayed whenever
a nonZeke job is found:
** NOT IN THE SCHEDULE OR NOT A ZEKE EVENT **
Note:
The predecessors cannot be displayed because those events
do not have WHEN conditions.
Display different levels in Enter LEV followed by a space and the number of levels you
the hierarchy want to display with one of the commands listed above and
press Enter. For example:
ZD SU EV 100 LEV 3
Display up to 3 levels of jobs that are dependent upon event
100.
Note:
Enter an (*) asterisk to display all levels.
If Zeke detects a loop in any of the WHEN conditions, it will continue to list all
predecessors and successors and display this message:
251
ASG-Zeke Scheduling for z/OS User’s Guide
MYTEST
(Level 0)
ALHJOB2
(Level 1)
DONETST ZTSRPT9T
(Level 2) (Level 2)
ZTSERAXT
(Level 3)
ZTSBKUP ZTSDONE
(Level 4) (Level 4)
-----------------------------------------------------------------------------
ZD SU LEV * JOB MYTEST
Z09ADI SUCCESSORS FOR THE REQUESTED EVENT:
LVL JOB/EVT NAME TYPE EVENT DATE VERS WHEN TRIGGER NAME T-VER STATUS AVDUR
0 MYTEST JOB 000008 2013053 0000 T 00:00
-----------------------------------------------------------------------------
>>1 ALHJOB2 JOB 000002 2013045 0000 EOJ MYTEST T 00:00
2 DONETST JOB 000053 2013045 0000 WEOG ALHJOB2 00:00
2 ZTSRPT9T JOB 000067 2013045 0000 WEOG ALHJOB2 00:23
3 ZTSERAXT JOB 000003 2013045 0000 WEOJ ZTSRPT9T 00:03
4 ZTSBKUP JOB 000708 2013045 0000 WEOJ ZTSERAXT 00:20
4 ZTSDONE JOB 000930 2013045 0000 WEOJ ZTSERAXT 00:10
******************************* Bottom of data *******************************
252
5 Creating and Monitoring the Schedule
ZTSVLDTT ZSJOBAT
(Level 5) (Level 5)
ZTSJOBBT ZTSVLDTT
(Level 4) (Level 4)
ZTSVLDTT ZTSJOBDT
(Level 3) (Level 3)
ZTSJOBKT
(Level 2)
ZEKTST04
(Level 1)
MYTEST
(Level 0)
253
ASG-Zeke Scheduling for z/OS User’s Guide
ZD PRE SU LEV * EV 3
-----------------------------------------------------------------------------
ZD PRE SU LEV * EV 3
Z09AEI PREDECESSORS AND SUCCESSORS FOR THE REQUESTED EVENT:
LVL JOB/EVT NAME TYPE EVENT DATE VERS WHEN TRIGGER NAME T-VER STATUS AVDUR
>>1*ZEKEEVTST1 MSG 000001 2013053 0000 *
predecessors 2 KATHYG *** NOT IN THE SCHEDULE OR NOT A ZEKE JOB ***
2*ZEKEEVTST1 MSG 000001 2013053 0000 *
2*ZEKEEVTST1 MSG 000034 2013053 0000 *
>>1 ZEKEEVTST2 MSG 000002 2013053 0000 EOJ KATHYG T
EOE ZEKEEVTST1
>>1*ZEKEEVTST1 MSG 000034 2013053 0000 *
-----------------------------------------------------------------------------
0 ZEKEEVTST3 MSG 000003 2013053 0000 EOE ZEKEEVTST2 T
EOE ZEKEEVTST1
-----------------------------------------------------------------------------
>>1 ZEKEEVTST4 MSG 000004 2013053 0000 EOE ZEKEEVTST3 T
successors 2 ZEKEEVTST5 MSG 000005 2013053 0000 EOE ZEKEEVTST4 T
3 SPTEXD11 JOB 000011 2013053 0000 EOE ZEKEEVTST5 T 00:00
2 SPTEXD29 JOB 000029 2013053 0000 EOE ZEKEEVTST5 T 00:00
254
5 Creating and Monitoring the Schedule
When you need to add multiple events, consider any predecessor/successor relationships
before you submit the request. If you are attempting to add multiple events that have
predecessor/successor relationships, you must use a single ZADD command to ensure
that all of the events are added to the schedule before Zeke dispatches any of them. If you
specify related events on separate ZADD commands, a predecessor event could be
completed before a successor has been added to the schedule (resulting in missed
triggers).
Note:
If you manually add a job event to the schedule that has Zeke Agent as its target, then
Zeke dispatches the event, or downloads the event (if the agent is configured in Zeke as a
download agent), immediately after Zeke creates the SQR.
255
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter 2.2 and press Enter. The Schedule Control
Function screen is displayed:
1 ZD 13
2 ZD JOB 14
3 ZD MSG 15
4 ZD SCOM 16
5 ZD ZCOM 17
6 ZD WAIT 18
7 ZD DONE 19
8 ZD LATE 20
9 ZD HOLD 21
10 ZD AV 22
11 ZID 23
12 ZMAP 24
2 Perform the steps in the Action column (depending on the desired result):
Note:
When any of the events to be added have
predecessor/successor relationships, be sure to
add them using a single ZADD command.
256
5 Creating and Monitoring the Schedule
Note:
See the ASG-Zeke Scheduling for z/OS Reference Guide for a complete list of
parameters and values that are valid with the ZADD operator command.
For example, to add event 00018 to the schedule, enter ZADD EV 18 on the
Command line, and press Enter. A corresponding message screen is displayed:
--------------------------------------------------------------------------
ZADD EV 18
Z0952E EVENT 000018 SCHEDULE RECORD ALREADY EXISTS WITH SAME DATE/VERSN
Z0929I ZEKE COMMAND PROCESSED
Z0922I DATE RDATE VER TYPE JOB/EVT NAME DP SCHED FREQ CNT STATUS
000018 2013053 2013053 000 JOB SPTEXD18 50 00:00 1 T
000018 2013055 2013055 000 JOB SPTEXD18 50 00:00 1 T
Z0905I NUMBER OF SCHEDULE ENTRIES SELECTED WAS 00002 SYSTEM ZEQA
****************************** Bottom of data *****************************
257
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter option 2.3. The ADD Event Record Selection
Criteria screen is displayed:
Event ===>
2 Specify these options for adding the event. The valid values for each field are N (the
default) and Y. Specify Y for each action that you want Zeke to perform during the
ZADD process:
Field Description
Auto Indicates to add 1 to the number of dispatch times (if the scheduled event is
active). The REFRESH and ENABLE parameters are assumed.
Note:
This parameter is not valid for work center events.
258
5 Creating and Monitoring the Schedule
Field Description
Hold Indicates to place an operator hold on the event after Zeke adds, refreshes,
or enables the event.
You must release the event from hold before Zeke can dispatch it.
Note:
This parameter is not valid for work centers.
Rebuild Indicates to re-create the SQR (if an SQR exists already). When rebuilding
an SQR, Zeke performs these actions:
• Deletes the SQR.
• Re-adds the SQR to the schedule.
• Resets all WHEN conditions.
• Reflects any EMR changes.
• Updates the event status to Active.
• Resets any changes made previously using the ZALTER operator
command.
Rerun Indicates to add the RERUN designation to the SQR. The RERUN
designation appears in the ZDISPLAY operator command output, and is
passed to the ZEKE14D user exit.
If the Zeke generation option TrigRm is set to N, the event does not trigger
the WHEN conditions of other events. You must use the NORERUN
parameter with the ZALTER operator command to remove the RERUN
designation.
Refresh Indicates to refresh an SQR (i.e., if the status is EOJ, AEOJ, or Pending) by
resetting the event as if it had never run.
Note:
This parameter does not place an operator hold on the event as the
ZREFRESH operator command does.
Note:
This parameter has the same effect as the ZALTER RUN operator
command.
Addok Indicates to require an operator approval before the added SQR can be
dispatched.
3 If you are adding only one event, you can specify the event number in the Event field.
259
ASG-Zeke Scheduling for z/OS User’s Guide
4 Complete the fields in these sections (as applicable) to specify event selection
criteria to limit the number of events that are displayed:
Note:
If you do not enter any selection criteria, Zeke displays all events defined in the
Zeke database.
a Specify any character (except a space) in one or more of the Event Type fields
to display events of the selected type(s).
b In the Selection Field Mask fields, specify any additional information about the
events that you want to display (e.g., jobname, user ID, run date, etc.). You can
use wildcard and placeholder characters in your selection criteria (see “Generic
Selection Criteria” on page 53).
5 Press Enter. The Schedule View Event Add List screen is displayed:
6 Enter S to the left of each event that you want to add to the schedule. To add a
particular version of an event to the schedule, specify the version number in the
Versn No. field. You can add multiple events at the same time.
Note:
An asterisk (*) next to an event number indicates that more than one event is
scheduled with the same event number and different schedule dates.
7 Press Enter to select all of the events that you marked on this page.
260
5 Creating and Monitoring the Schedule
8 Optional. Press F8 to display the next page of events, and repeat step 6 and step 7.
9 Press Enter to add all of the marked events to the current schedule.
Note:
To use this function, the DSPIndex generation option must be set to Y.
You cannot use this function to schedule events with the OCCURS clause (REQUEST).
1 From the Zeke Primary Menu, enter option 2.4. The ADD Event Record by Path
Selection Criteria screen is displayed:
Criteria:
Event ==>
Version ==> (omit for default)
Occurs Date ==> 2014038 (YYYYDDD)
Level ==> 1
Type ==> B (P=pred, S=succ, B=both)
ZADD options:
Field Description
Event Required. Specify the event number for the root event (i.e., the event for
which to display the path information).
261
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
Occurs Date Specify the OCCURS HIT date (in Julian format). Only events that
would be scheduled on this date are included in the path. The default
value is the current system date.
Level Specify the number of path levels to display. The valid values range from
1 through 999, or you can specify an asterisk (*) to display all levels).
The default value is 1.
Type Specify the type of path to display. These are the valid values:
P Predecessors only.
S Successors only.
3 In the Run Date field, specify date on which the event is to run, in Julian format
(YYYYDDD). Zeke adds the events with the specified run date.
4 Specify these additional parameters for adding the event. The valid values for each
field are N (the default) and Y. Specify Y for each action that you want Zeke to
perform during the ZADD process:
Field Description
Auto Indicates to add 1 to the number of dispatch times (if the scheduled event
is active). The REFRESH and ENABLE parameters are assumed.
Note:
This parameter is not valid for work center events.
Hold Indicates to place an operator hold on the event after Zeke adds,
refreshes, or enables the event.
You must release the event from hold before Zeke can dispatch it.
Note:
This parameter is not valid for work centers.
262
5 Creating and Monitoring the Schedule
Field Description
Rebuild Indicates to re-create the SQR (if an SQR exists already). When
rebuilding an SQR, Zeke performs these actions:
• Deletes the SQR.
• Re-adds the SQR to the schedule.
• Resets all WHEN conditions.
• Reflects any EMR changes.
• Updates the event status to Active.
• Resets any changes made previously using the ZALTER operator
command.
Refresh Indicates to refresh an SQR (i.e., if the status is EOJ, AEOJ, or Pending)
by resetting the event as if it had never run.
Note:
This parameter does not place an operator hold on the event as the
ZREFRESH operator command does.
Rerun Indicates to add the RERUN designation to the SQR. The RERUN
designation appears in the ZDISPLAY operator command output, and is
passed to the ZEKE14D user exit.
If the Zeke generation option TrigRm is set to N, the event does not
trigger the WHEN conditions of other events. You must use the
NORERUN parameter with the ZALTER operator command to remove
the RERUN designation.
Note:
This parameter has the same effect as the ZALTER RUN operator
command.
Addok Indicates to require an operator approval before the added SQR can be
dispatched.
5 Press Enter.
Note:
If the criteria entered results in multiple hit dates, a pop-up window appears and
enables you to select the appropriate date.
263
ASG-Zeke Scheduling for z/OS User’s Guide
Level Event Job Evnt Event Sched Versn System Appl Grp
Name Name Type Number Date Number ID ID ID
=================================================================================
3 EVENT00V JOB00V JOB 000024 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00W JOB00W JOB 000025 2013094 00000 SYSTEM1 PATHAPP PTH
2 EVENT00U JOB00U JOB 000023 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BA JOB00BA JOB 000029 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BH JOB00BH JOB 000036 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BJ JOB00BJ JOB 000038 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BQ JOB00BQ JOB 000045 2013094 00000 SYSTEM1 PATHAPP PTH
2 EVENT00BL JOB00BL JOB 000040 2013094 00000 SYSTEM1 PATHAPP PTH
*1 EVENT00BF JOB00BF JOB 000034 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BI JOB00BI JOB 000037 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BJ JOB00BJ JOB 000038 2013094 00000 SYSTEM1 PATHAPP PTH
2 EVENT00BH JOB00BH JOB 000036 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BJ JOB00BJ JOB 000038 2013094 00000 SYSTEM1 PATHAPP PTH
3 EVENT00BK JOB00BK JOB 000039 2013094 00000 SYSTEM1 PATHAPP PTH
2 EVENT00BI JOB00BI JOB 000037 2013094 00000 SYSTEM1 PATHAPP PTH
1 EVENT00BG JOB00BG JOB 000035 2013094 00000 SYSTEM1 PATHAPP PTH
6 Enter S to the left of each event that you want to add to the schedule. To add a
particular version of an event, specify the version number in the Versn Number field.
Note:
An asterisk (*) next to the Level number indicates where the events at the next level
begin.
8 Optional. Press F8 to display the next page of events, repeat step 6 and step 7.
9 Press Enter to add all of the selected events to the current schedule.
264
Resources
Chapter 6:
6
Before dispatching an event, Zeke ensures that all resources are available. These are the
resource types:
Type Description
Logical Anything that you want to define to represent the use of a physical resource (e.g.,
an entire CPU, a specific CPU channel, a file, or a dataset).
Logical resources are used for events that, if executed simultaneously, could cause
contention among your system resources.
Note:
Work center events do not use resources.
Topic Page
265
ASG-Zeke Scheduling for z/OS User’s Guide
Physical Resources
These are the key types of physical resources that Zeke can use:
Type Description
Note:
Zeke does not support initiator selection for JES3.
Systems and pools The actual system where an event is processed is a physical resource.
Systems can be combined into pools that share the same database (which
enables Zeke to select the appropriate system for each event).
Tape drives Tape drives are a physical resource used for job events.
To ensure sufficient tape drives are available before an event executes, you
can specify the number of required tape drives on the job’s EMR. See “Job
Events” on page 67. Or, Zeke can automatically calculate the number of
tape drives needed for each job. You use the Zeke generation option
Calctap to activate this feature. See “Tape Options” on page 318.
Initiator Processing
Before you determine whether that you want to activate initiator processing, you need to
understand how initiator selection occurs. Defining initiators to Zeke does not mean that
Zeke controls them; instead, it lets Zeke know which initiators are eligible for selection.
No matter how an initiator is selected (i.e., by Zeke or by JES), these are some of the
many factors that determine the actual initiator:
• Whether there is a class on the job card
• Whether there is a list of classes on the EMR
• Initiator availability at the time of dispatch
• Whether IBM’s Workload Manager (WLM) is in use
266
6 Resources
When DispSel is No
If the DispSel generation option is set to N, Zeke submits jobs directly to JES when all
other dispatching criteria have been met (without regard for initiator availability). Jobs
waiting in the JES input queue will have a Pending status while they wait for JES to select
the initiator.
If DispSel is set to N, Zeke checks the EMR for a class list. An event can have up to six
classes. Zeke continues processing based on these criteria:
• If no class list is supplied, Zeke checks the value of the generation option
DefDspCl:
• If DefDspCl does not have a value, Zeke submits the job to JES (the job card
is unchanged). If a class is not specified on the job card, JES uses the
JES-defined default class.
• If DefDspCl has a value, Zeke updates the job card with the default class
value and submits the job to JES.
• If there is a class list, Zeke updates the job card with the first class from the EMR
and submits the job to JES.
If you set the DispSel generation option to N, these are some additional considerations:
• NOTDURING dependencies are not supported.
Note:
If you have specified PLEXNOTD=YES in the ZEKExx options member to enable
enhanced NOTDURING JOB processing, then a DispSel value of N is ignored for
NOTDURING dependency support.
267
ASG-Zeke Scheduling for z/OS User’s Guide
This flowchart illustrates the process that occurs before an event is dispatched to an
initiator, where DispSel is set to N.
If one or more classes is specified, Zeke selects a free initiator that has been defined to
Zeke and can process one of the specified classes. If no classes are specified on the EMR,
Zeke selects any free initiator defined in the Zeke database.
Then, Zeke adds or changes the class parameter on the job card to reflect the selected
class based on these criteria:
268
6 Resources
• If no class list is supplied, Zeke updates the job card with the highest priority class
defined to the initiator and submits the job.
• If there is a class list, Zeke checks the value of the generation option UserCls:
— If UserCls is set to Y, Zeke updates the job card with the EMR class that caused
the initiator to be selected and submits the job.
— If UserCls is set to N, Zeke updates the job card with the highest priority class
defined to the initiator and submits the job.
269
ASG-Zeke Scheduling for z/OS User’s Guide
This flowchart illustrates the process that occurs before an event is dispatched to an
initiator when DispSel is set to Y:
270
6 Resources
ASG also recommends that when you define the initiators to JES, you make the first class
of each initiator unique. This setting ensures that jobs will run in the Zeke-selected
initiators, because when Zeke selects the initiator, it inserts the highest priority class for
that initiator in the job card, depending on the UserCls generation option. (See the
flowchart on page 270.)
To define initiators
1 From the Zeke Primary Menu, enter 4.3 and press Enter. The System
Initiator/Partition Directory is displayed:
_ ******** MVS
_ *GLOBAL MVS GLOBAL JOB CLASS CAP
_ LZ56 MVS
_ PLEX55 MVS
_ QA27 MVS
_ SM27 MVS
_ 55QA MVS
******************************* Bottom of data ****************************
271
ASG-Zeke Scheduling for z/OS User’s Guide
2 Perform the steps in the Action column (depending on the desired result).
Edit initiator information Enter E to the left of the system that you want to update.
for an existing system
Initid MTWTFSS
_ A NNNNNNN
_ T004 NNNNNNN
_ T03 NNNNNNN
_ T2 NNNNNNN
_ 1 NNNNNNN
_ 2 NNNNNNN
_ B NNNNNNN
_ C NNNNNNN
_ D NNNNNNN
_ E NNNNNNN
_ F NNNNNNN
_ G NNNNNNN
4 Perform the steps in the Action column (depending on the desired result).
Add an initiator In the Initid field, enter the ID to be assigned to the initiator. Use
the same name as when it was defined to JES. Press Enter.
To add availability detail for the initiator, enter E to the left of
the initiator.
272
6 Resources
Edit existing initiator Enter E to the left of the initiator that you want to update.
information
Copy an initiator record Enter R to the left of the initiator that you want to copy.
Delete a single initiator Enter D to the left of the initiator that you want to delete, and
press Enter. The initiator is deleted for this system.
Go to step .
Delete a system name 1 Enter DELETE on the Command line, and press Enter.
and all initiator
2 Re-enter DELETE on the Command line, and press Enter
specifications
to confirm.
Go to step .
6 To restrict the time of day the initiator is available to Zeke, enter the hours of
availability in the Start and End fields for each day. Press Enter.
A time range of 00:00 to 00:00 makes the initiator unavailable all day. However,
an operator can still make use of the initiator on-demand by using Zeke operator
commands.
If you do not enter a range for a day, Zeke assumes the initiator is available 24
hours that day.
273
ASG-Zeke Scheduling for z/OS User’s Guide
7 At the Command line on any screen, enter ZRELOAD INIT to reload the updated
information. (See the ASG-Zeke Scheduling for z/OS Reference Guide for more
information on using the ZRELOAD operator command.)
For example, exceptions are necessary if you are using IBM’s Workload Manager
(WLM) to manage initiators and provide workload balancing. Normally, when a job is
ready to be submitted, Zeke does not submit the job to the JES queue until there is an
available initiator. If WLM is in use and the job’s execution class is for a WLM-managed
initiator, then WLM cannot start an initiator until the job has been submitted to JES.
Consequently, Zeke does not submit the job because there are no initiators, and WLM
does not start more initiators because there is no pending work in the JES queues.
Creating job class exceptions enables Zeke-controlled jobs to be submitted to JES
without having to wait for an available initiator (even if initiators are managed by WLM).
Job class exceptions also are useful if you simply want to limit the number of jobs that
Zeke can submit for a particular class of initiators. When you set a job class limit, Zeke
submits the job to JES according to the capacity limit and does not consider whether an
initiator is available. Because JES (along with WLM, if used) assumes control over job
scheduling after the job reaches the JES input queue, setting job capacity limits helps you
manage the order of job execution by controlling when a job is placed into the JES queue.
Controlling the number of Zeke-submitted jobs that are in the JES queue at the same time
(instead of allowing Zeke to send an unlimited number) will increase the potential for the
jobs to be executed in closer accordance with your Zeke-defined dispatching priorities.
274
6 Resources
1 From the Zeke Primary Menu, enter 4.3 and press Enter. The System
Initiator/Partition Directory is displayed:
_ ******** MVS
_ *GLOBAL MVS GLOBAL JOB CLASS CAP
_ LZ56 MVS
_ PLEX55 MVS
_ QA27 MVS
_ SM27 MVS
_ 55QA MVS
******************************* Bottom of data ****************************
The *GLOBAL entry defines the default capacities for all z/OS systems in a
Zekeplex. (You can override capacities for a specific system by specifying them
either in the GENSYS entry for the system or in the ******** GENSYS.). The
*GLOBAL entry cannot be deleted.
Note:
If you define an identically named job class for the *GLOBAL system (as well as the
local system), Zeke uses the capacity specified in the local system definition.
275
ASG-Zeke Scheduling for z/OS User’s Guide
2 Enter E to the left of the system for which you want to define job class capacity
limits. The System Initiator Specification screen is displayed:
Primary command: ADD BROWSE CANCEL CAPACITY COPY EDIT DELETE (All initiators)
Line commands: B - Browse initiator detail E - Edit initiator detail
D - DELETE A LINE R - REPEAT A LINE I - INSERT A LINE
Initid MTWTFSS
_ A NNNNNNN
_ T004 NNNNNNN
_ T03 NNNNNNN
_ T2 NNNNNNN
_ 1 NNNNNNN
_ 2 NNNNNNN
_ B NNNNNNN
_ C NNNNNNN
_ D NNNNNNN
_ E NNNNNNN
_ F NNNNNNN
_ G NNNNNNN
3 At the Command line, enter CAP. The Job Class Capacity screen is displayed:
Class Max Class Max Class Max Class Max Class Max Class Max
----- --- ----- --- ----- --- ----- --- ----- --- ----- ---
A NO B 9 C 99 D 999 E NO F 9
G 99 H 999 I NO J 9 K 99 L 999
Field Description
Class Job class ID. The valid values range from A through Z, and 0 through 9.
Max Maximum number of jobs that Zeke can submit for this initiator class. Zeke
will submit jobs to JES according to this capacity limit without considering
whether an initiator is available. The valid values are NO (i.e., unlimited),
or range from 0 through 999.
276
6 Resources
6 At the Command line on any screen, issue the command ZRELOAD INIT to reload
the updated information. See the ASG-Zeke Scheduling for z/OS Reference Guide for
additional information on using the ZRELOAD operator command.
See the ASG-Zeke Scheduling for z/OS Installation Guide for instructions on how to
define Zeke as a WLM resource.
See “Scheduling Environments” on page 153 for instructions on how to specify the
scheduling environment for an event.
Defining Pools
Every job belongs either to a system that shares the Zeke database or to a pool. A pool is
a user-defined group of systems identified to Zeke. If you have a group of systems that
you want to treat as a unit, you can group them in a pool. For example, if you have
multiple systems used only for testing, you can define them as a pool; then, when you
assign an event to that pool, it will run on one of your test systems. In a pool, any of the
systems can dispatch the event; the event simply is dispatched by the first available
system.
The System field on the EMR specifies the owning system or pool for the job. The system
name corresponds to the NAME parameter in the OASISxx options member (i.e., if you
are not using a pool ID). If you do not specify an owning system, then the default of
system A is used.
277
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter 4.5 and press Enter. The System Pool
Directory is displayed:
Pool ID Description
**************************************************************************
POOL1 TEST POOL
MAIN PROD1 POOL
***************************** Bottom of data ******************************
2 Perform the steps in the Action column (depending on the desired result).
Note:
Do not use any Zeke operands, parameters, or keywords (or
abbreviations of these) to name your systems or pools. For example,
do not name a system or pool AB (which is short for the parameter
ABEND).
Edit an existing Enter E to the left of the pool that you want to update, and press
pool Enter.
Delete a pool 1 Enter D to the left of the pool that you want to delete, and press
Enter.
2 Enter DELETE on the Command line, and press Enter to
confirm.
Go to step 6 on page 279.
278
6 Resources
SYSTEM
TSO45
4 Perform the steps in the Action column (depending on the desired result).
Add a system to a In the System field, enter a name for the new system name.
new pool
You can enter up to 15 systems on one screen. To add more than 15
systems, press F8 to view additional blank entry lines.
Note:
Do not use any Zeke operands, parameters, or keywords (or
abbreviations of these) to name your systems or pools. For example,
do not name a system or pool AB (which is short for the parameter
ABEND).
Add a system to an 1 Enter I in the unlabeled selection field next to a system name,
existing pool press Enter. A blank line is added.
2 Enter the new system name on the blank line.
Edit an existing Complete the changes to the system that you want to update.
system
Delete a system Enter D to the left of the system name, and press Enter.
from a pool
279
ASG-Zeke Scheduling for z/OS User’s Guide
Logical Resources
Logical resources are user-defined and represent the use of a physical resource. The
difference between a logical resource and a physical resource is that the logical resource
does not really have to exist.
You can use logical resources for events that, if executed simultaneously, could cause
contention among your system resources. You can think of logical resources as a more
versatile and sophisticated NOTDURING dependency.
A logical resource can be anything that you want to define to represent the use of a
physical resource (e.g., an entire CPU, a specific CPU channel, a file, or a dataset).
For example, let’s suppose that a file is used by six different jobs. Jobs 1 through 5 use
this file in Read mode, while job 6 backs up the file. This situation causes dataset
contention when job 6 is running with any of the other five jobs. To avoid dataset
contention, you can use logical resources to ensure that job 6 runs alone. You define a
resource to represent the file and give job 6 exclusive access to the resource.
For each job that uses this resource, you specify the resource name and the amount used
of the required resource on the EMR. Prior to dispatch, Zeke ensures the required
resource is available in the quantity specified.
For example, let’s suppose that a resource is defined with a value of 1. Job A needs 1 of
this resource before it can run. If Job B is running and using this resource, the resource is
not available, and Job A will have to wait for Job B to free the resource.
Note:
If DispSel is set to N, Zeke resolves only the resources defined as GLOBAL (i.e., any
system can share the resource).
280
6 Resources
1 From the Zeke Primary Menu, enter 4.6 and press Enter. The Resource
Specification screen is displayed:
2 Perform the steps outlined in the Action column (depending on the desired result):
281
ASG-Zeke Scheduling for z/OS User’s Guide
Locate an existing You can simply scroll through the pages on the Resource
resource in the list Specification screen. Or, to quickly find a particular resource
in the list, enter this command on the Command line, and
press Enter:
LOCATE string
The command locates the first line that begins with the
specified text string and scrolls to the associated resource
name (or the closest matching line).
Note:
You cannot use the LOCATE command to scroll to
subsequent lines that begin with the string; the command
locates only the first line.
Edit an existing resource To update the Maximum Shared or Active fields, type over
the existing information, and press Enter.
282
6 Resources
In the System field, enter the name of the system that owns the resource. You can
specify a resource multiple times with different system names. The default value is
GLOBAL (i.e., any system can share the resource). If the system name defined for
the job is assigned to a pool, keep the default value to ensure proper dispatching.
4 In the Max Share Count field, enter a number that quantifies the resource’s
availability.
5 In the Active field, enter the code that indicates whether the resource is active:
Code Meaning
YES Indicates that the resource is active. Zeke ensures that the resource is available
before dispatching an event that uses this resource.
NO Indicates that the resource is not active. Zeke does not perform any resource
control for events that use this resource.
6 When you have finished adding or updating information on the Resource Detail
screen, press Enter to save the changes.
Prior to dispatch, Zeke ensures the required resource is available according to the
specified quantity.
Caution! You must define the logical resource (see “Defining or Updating a Logical
Resource” on page 281) before you specify the resource for an event. If you
specify a resource for an event before you have defined the resource, the event
will be unable to acquire the resource and be dispatched properly.
283
ASG-Zeke Scheduling for z/OS User’s Guide
1 Access the EMR for the event, or the Event Master Directory as described in
“Accessing an EMR” on page 52.
2 From the Event Master Directory, enter E4 to the left of the event number for the
event to which you want to assign a resource.
Or
Evt: 000007 Type: JOB Job: TSKKGUT2 Evt Name: KTEST2 System: ZEQA
4 If the job has no resources defined, simply enter the name of the resource in the
Resource Name field.
5 If the job already has one or more resources defined, perform these steps:
a Enter i in the line command field to the left of one of the existing resource
names, and press Enter to insert a line after that resource.
b Enter the name of the new resource in the Resource Name field of the new line.
6 In the Cnt field, specify a number to represent how much of this resource is used
when this job runs.
Note:
If mode is EX or ES, this value must be 001.
284
6 Resources
7 In the Md field, specify the resource mode required by the job. These are the valid
codes:
Code Meaning
Note:
Exclusive-share events cannot run with other exclusive-share events, but they
can run with multiple share events.
285
ASG-Zeke Scheduling for z/OS User’s Guide
Code Meaning
Note:
Zeke allows only two of these jobs to run simultaneously. The third job must
wait for one of the other jobs to complete (so that at least 50 of the resource is
available). In this example, the resource must be defined with a maximum
share count of 100.
8 In the H field, specify whether resources should be held. These are the valid codes:
Code Meaning
Y Hold the resource if it is available and is in the correct mode; however, the
resource can be “stolen” by another event with a higher dispatch priority.
For example, Job A requires four resources prior to dispatch, but other jobs
require only one. If the H field is set to Y, then Job A holds each resource as it
becomes available until it has all four resources. The other jobs must wait until
Job A releases the hold on the resources before they can run.
9 In the E field, specify whether resources should be released at AEOJ. These are the
valid codes:
Code Meaning
K Keep resource at AEOJ if the job abends. The resource mode must be EX or ES,
and can be obtained by a restart/rerun.
R Default. Do not hold the resource; release the resource if the job abends.
286
6 Resources
10 In the A field, specify whether to use the resource for a restart. These are the valid
codes:
Code Meaning
Y Use resource for a restart. The event tries again to obtain the resource from an
abended event that has specified its Reskeep value set to Y.
Note:
The resource mode must be EX or ES and can be obtained by a rerun/restart.
S The event assumes the resource only from itself (if the event abends).
Note:
Deleting a resource from an event definition does not affect the resource definition in the
Zeke database.
1 Access the EMR or the Event Master Directory, as described in, “Accessing an
EMR” on page 52.
2 From the Event Record Directory screen, enter E4 to the left of the Event Number
field for the event for which you want to delete a resource, and press Enter.
Or
From the EMR, type RESOURCE on the Command line, and press Enter.
287
ASG-Zeke Scheduling for z/OS User’s Guide
Evt: 000007 Type: JOB Job: TSKKGUT2 Evt Name: KTEST2 System: ZEQA
3 To delete one or more specific resources, enter d in the line command field to the left
of the resource names that you want to delete, and press Enter.
Or
To delete the entire resource record for the job, enter DEL on the Command line,
and press Enter. Press Enter again to confirm.
288
Customizing and Maintaining Zeke
Chapter 7:
7
Zeke provides you with a great amount of flexibility and control over Zeke operations
including event scheduling and dispatching, as well as maintenance and database access.
Topic Page
289
ASG-Zeke Scheduling for z/OS User’s Guide
Topic Page
During Zeke installation, the generation options are set to default values that are suitable
for most data centers. ASG recommends that you review the options immediately after
you install Zeke and make any modifications. With gained experience using Zeke, you
might choose later to change these settings options to better address your needs.
Because they affect your entire site, ASG recommends that the personnel responsible for
system programming, scheduling, data security, and site standards all review and agree
on your generation option settings.
There are over 250 generation options. This chapter discusses in greater detail the options
that are most commonly used and modified. See the ASG-Zeke Scheduling for z/OS
Reference Guide for an alphabetical listing and explanations of all options.
GENOPTs
A collection of generation options is referred to as a GENOPT table or GENOPT. You
can use GENOPTs to group together specific generation option settings that control a
particular system or that you want to be used across multiple systems. You can create
new GENOPTs, or Zeke provides default GENOPTs that you can customize or copy.
Special *ACTIVE Contains all options loaded in memory and currently active (i.e.,
both global and local options) for the local Zeke system. This
GENOPT is generated automatically and is for reference only;
you cannot modify or delete it.
290
7 Customizing and Maintaining Zeke
Global *GLOBAL Contains options that require the same setting across all Zeke
systems in the Zekeplex (i.e., that share the same database).
The global GENOPT *GLOBAL is created during Zeke
installation and can be customized. You cannot rename, copy or
delete it.
When you start Zeke or reload the GENOPTs on request (see
“Reloading GENOPTS” on page 305), Zeke loads this
GENOPT along with the local GENOPT for the system being
initialized.
Note:
If you customize the default local GENOPT (********), the
updated settings are used when you add a new GENOPT
(which then can be customized).
291
ASG-Zeke Scheduling for z/OS User’s Guide
The GENOPTs Directory screen displays a listing of all GENOPTs in the Zeke
database:
Zeke System:
From this screen, you can add, browse, copy, edit, and delete GENOPTs using the
primary and line commands, as well as set controls for monitoring any changes that
are made to a GENOPT.
292
7 Customizing and Maintaining Zeke
If you sort the display by category, these are the predefined categories under which the
generation option fields are organized:
Category Description
User interfaces Options that affect the ISPF and online facilities.
2 Enter B in the selection field to the left of the GENOPT you want to browse.
Or
a In the System field, type the name of the GENOPT you want to browse. (The
GENOPT name matches the system ID for the associated Zeke system.)
293
ASG-Zeke Scheduling for z/OS User’s Guide
The Generation Options screen displays (in browse mode) the options and settings
for the selected GENOPT. This is an example of the default (alphabetical) detail
view:
If this is the currently active GENOPT, (active) is displayed to the right of the
Description.
3 Optional. You can change the way the options are sorted. Enter this command on the
Command line to toggle between a category view and the default (alphabetical)
view:
CATegory [ON|OFF]
294
7 Customizing and Maintaining Zeke
This is an example of the detail view by category for the same GENOPT:
In a detailed view by category, the categories are listed alphabetically and the
applicable fields are listed alphabetically under each category. All category
headings are displayed, even if there are no fields in that category associated with
the selected GENOPT.
Note:
Based on the definition of the GENOPT (i.e., local or global, some options might
not be applicable.
4 Scroll through the pages on the Generation Options screen and review the options.
Or
To quickly find a particular field or category, you can use these primary commands:
Command Description
FIND Finds and moves the cursor to the beginning of the specified text string
in field names, values, descriptions, and category headings. This is the
command format:
FIND string
For example, this command finds and places the cursor at the
generation option field named Jcl1:
FIND JCL
295
ASG-Zeke Scheduling for z/OS User’s Guide
Command Description
LOCATE Locates the first line that begins with the specified text string and
scrolls to the associated field. This is the command format:
LOCATE string
When fields are displayed alphabetically, this command scrolls to the
first field that contains the string. When the fields are sorted by
category, this command scrolls to the first category name that contains
the string.
For example, this command scrolls to the JclBrows option field if the
fields are listed alphabetically:
LOCATE JCL
The same command scrolls to the JCL category if the fields are sorted
by category.
Note:
You cannot use the LOCATE command to scroll to subsequent lines
that begin with the string; the command locates only the first line.
RFIND Finds and highlights the next occurrence of the text string specified on
the last FIND string command. This is the command format:
RFIND
For example, this is the result when you issue the command FIND DISP:
296
7 Customizing and Maintaining Zeke
This is the result when you issue the command FIND DISP when the screen is in
category mode (i.e., CAT ON):
This is the result when you issue the command LOCATE DISP:
5 In the Zeke ISPF online facility, you can press F1 for field-level help for a particular
option. See the ASG-Zeke for z/OS Reference Guide for an alphabetical reference of
all Zeke generation option fields.
6 Enter END on the Command line, and press Enter to return to the GENOPTs
Directory.
Adding a GENOPT
You can add a new GENOPT based on the default local GENOPT (********) or from
a copy of another existing GENOPT.
Note:
You cannot add a new GENOPT based on the *GLOBAL or *ACTIVE GENOPTs.
2 Enter B or E in the selection field to the left of the default local GENOPT
(********). The Generation Options screen displays its options and settings. Skip
to step 3 on page 298.
Or
297
ASG-Zeke Scheduling for z/OS User’s Guide
a In the System field, type a name (up to eight characters long) for the new
GENOPT. The name must match the system ID for the associated Zeke
system.
A new GENOPT is created based on the settings in the default local GENOPT
(********).
4 If you did not already do this from the directory (in step 2 on page 297), enter the
GENOPT name (which must match the system ID for the associated Zeke system)
in the Zeke System field.
6 Scroll through the pages on the Generation Options screen and review the options.
Make any necessary changes to the option settings.
Note:
By default, the options are listed alphabetically. You also can list the options by
category. To change the way the options are sorted, see step 3 on page 294, or to
quickly locate an option or category, see step on page 295.
298
7 Customizing and Maintaining Zeke
7 On the Command line, type SAVE to save the new GENOPT and remain on the
screen in edit mode, or type END to save the GENOPT and return to the GENOPTs
Directory.
Note:
You can type CANCEL to cancel adding the new GENOPT, if necessary.
2 Enter C in the selection field to the left of the GENOPT that you want to copy. Skip
to step 3.
Or
a In the System field, type the name of the GENOPT that you want to copy. (The
GENOPT name matches the system ID for the associated Zeke system.)
The Generation Options screen displays the options and settings for the selected
GENOPT.
Note:
You also can access the GENOPT to be copied in browse or edit mode, and then
issue the COPY command from the Generation Options detail screen.
3 In the Zeke System field, enter a name (up to eight characters long) for the new
GENOPT. The name must match the system ID for the associated Zeke system.
4 Optional. In the Description field, type a description for the GENOPT (up to 32
characters long) or replace the existing value.
5 Scroll through the pages on the Generation Options screen and review the options.
Make any necessary changes to the option settings.
Note:
By default, the options are listed alphabetically. To change the way the options are
sorted, see step 3 on page 294, or to quickly locate an option or category, see step
on page 295.
299
ASG-Zeke Scheduling for z/OS User’s Guide
6 On the Command line, type SAVE to save the new GENOPT and remain on the
screen in edit mode, or type END to save the GENOPT and return to the GENOPTs
Directory.
Note:
You can type CANCEL to cancel adding the new GENOPT, if necessary.
Editing a GENOPT
You can edit all existing GENOPTs except *ACTIVE (which is generated automatically
by Zeke).
To edit a GENOPT
2 Enter E in the selection field to the left of the GENOPT that you want to edit. Skip
to step 3.
Or
a In the System field, type the name of the GENOPT that you want to edit. (The
GENOPT name matches the system ID for the associated Zeke system.)
The Generation Options screen displays (in edit mode) the options and settings for
the selected GENOPT.
3 Scroll through the pages on the Generation Options screen and review the options.
Note:
By default, the options are listed alphabetically. To change the way the options are
sorted, see step 3 on page 294, or to quickly locate an option or category, see step
on page 295.
4 Make any necessary changes to the option settings. You also can update the System
name and/or Description by typing over the existing values.
5 Enter SAVE on the Command line to save the updated GENOPT and remain on the
screen in edit mode, or enter END to save the GENOPT and return to the GENOPTs
Directory.
300
7 Customizing and Maintaining Zeke
Note:
You can enter CANCEL to cancel the changes the GENOPT, if necessary.
If you updated the currently active GENOPT, a pop-up panel displays the options
that were changed, the new values, and the action required to activate each updated
option:
6 Optional. To issue the ZRELOAD GENOPT command at this point, enter any
nonblank character in the Issue the ZRELOAD command field or enter the
ZRELOAD GENOPT command on the Command line. This command requires the
appropriate user authorization.
You also can quickly view any changes that are pending (i.e., that have not been made
active yet by an options reload or a Zeke re-cycle) for the currently active GENOPT.
301
ASG-Zeke Scheduling for z/OS User’s Guide
3 Optional. To issue the ZRELOAD GENOPT command at this point, enter any
nonblank character in the Issue the ZRELOAD command field or enter the
ZRELOAD GENOPT command on the Command line. This command requires the
appropriate user authorization.
302
7 Customizing and Maintaining Zeke
Deleting a GENOPT
You can delete any GENOPT except the special ones (i.e., ********, *GLOBAL, and
*ACTIVE).
To delete a GENOPT
1 Follow the procedure in “Editing a GENOPT” on page 300. The Generation Options
screen displays the options and settings for the selected GENOPT. Skip to step 3b.
Or
2 Enter D in the selection field to the left of the GENOPT that you want to delete.
Or
a In the System field, type the name of the GENOPT that you want to delete. The
GENOPT name matches the system ID for the associated Zeke system.
3 If a confirmation pop-up displays the name of the GENOPT to be deleted, follow the
instructions to confirm the delete request. (See “Setting the Delete Confirmation
Option” on page 304 for instructions on how to implement this feature.)
Otherwise:
a Re-enter DELETE on the Command line, and press Enter to confirm the
delete request and return to the GENOPTs Directory.
Or
Note:
If the currently active GENOPT is deleted, the GENOPT is marked with an X (instead
of an *) in the GENOPTs directory and no further changes can be made to the deleted
GENOPT. When a ZRELOAD GENOPT command is issued or Zeke is re-cycled, the
Zeke activates the default local GENOPT (********) in place of the deleted one.
303
ASG-Zeke Scheduling for z/OS User’s Guide
2 From the GENOPTs Directory or from any Generations Options detail view, type
CONFIRM on the Command line, and press Enter.
The CONFIRM primary command toggles between enabling and disabling the pop-ups.
The command enables confirmation pop-ups (if they currently are disabled). Or, if
confirmation pop-ups are enabled already, the CONFIRM command disables them.
When confirmations are enabled, this pop-up displays when you request to delete a
GENOPT:
304
7 Customizing and Maintaining Zeke
Reloading GENOPTS
Zeke activates some generation options immediately when you save them, but most
options must be reloaded for each system that is affected by the changes.
Zeke reloads the generation options automatically during each startup. Or, you can reload
the generation options at any time by issuing this command:
Note:
See the chapter on operator commands in the ASG-Zeke Scheduling for z/OS Reference
Guide for more information on the ZRELOAD command.
For most generation options, the changes take effect immediately; however, some options
do require a Zeke re-cycle (i.e., at least a ZKILL TRACK re-cycle and, in some cases, a
ZKILL COLD re-cycle. A ZKILL WARM re-cycle does not reload the generation
options). The required action for each option is noted in the field-level online help and in
the chapter on generation options in the ASG-Zeke Scheduling for z/OS Reference Guide.
After updating the currently active GENOPT, you have the option to reload the options.
When you save the GENOPT changes, this information is provided:
• Name of the GENOPT.
• Number of updated settings that require Zeke to be re-cycled COLD.
• Number of updated settings that require Zeke to be re-cycled TRACK.
• Number of updated settings that you can activate by issuing a ZRELOAD GENOPT
command.
• Name and new value of each updated option, and the required action to activate the
new setting.
As an option, you can reload the generation options at this point. This action requires the
appropriate user authorization.
You also can review any changes that have been made to the currently active GENOPT,
but have not been activated yet, without actually reloading the changes. See “Viewing
Pending GENOPT Updates” on page 301 for details.
305
ASG-Zeke Scheduling for z/OS User’s Guide
Audit Options
Zeke uses the OASIS Audit service to track updates to the Zeke database. Audit
information is recorded by the OASIS data space log facility for online browsing, and the
data can be archived to permanent storage.
You decide which types of Zeke activities that you want to audit. These are some of the
actions you can track in audit records:
• Issued console commands (i.e., Zeke operator, server, or address space commands),
including objects modified by the command.
• Event scheduling and dispatching activities, event flow, and status changes:
— A event added to (or deleted from) the schedule.
— Event flow and status changes (e.g. scheduled, time-satisfied, active, EOJ, etc.)
— SQR field updates
— Satisfied triggers
— SMF calls
• Activated/deactivated EMRs and updated EMRs. Field-level audit is available for
these audited EMR segments:
— Base definitions
— Logical resources
— Condition codes
— OCCURS clauses
— WHEN conditions
— Auto replies
— JCL
— Documentation
• Requested, acquired, and released logical resources.
• Updates to these types of database records:
— Calendars (including calendar documentation)
— GENOPT records (including changes to generation option values)
— Field-level updates to database records (e.g., base EMR definitions, GENOPT
records, and calendars)
— Resource definitions
— Initiator/partition (GENSYS) records
306
7 Customizing and Maintaining Zeke
— Pool records
— Internal security class and operator records, and external security classes
— Customer information
— Download agent definitions
• Zeke variables updates, and variable values set through a work center.
• Users that log on and off through any Zeke online facility or from OpsCentral.
Audit options are global generation options that enable the OASIS AUDIT utility to log
various types of Zeke system activities and database updates. You enable the audit option
for each type of information that you want to track.
As database activities are audited, when an audited element is updated, the change is
logged automatically in an audit record. You can use the audit records to generate
after-the-fact reports to review the logged activities. You also can view the information in
real time through the OASIS ISPF online facility.
See the ASG-OASIS for z/OS Reference Guide for information on setting up and using the
AUDIT utility, audit reporting, and using the data space log facility.
See the ASG-OASIS for z/OS Installation Guide for information on enabling the Audit
and data space log facilities, setting the number of audit logs, and allocating the audit log
datasets.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the *GLOBAL
GENOPT, then locate the audit options.
In ISPF, you can use the LOCATE AUD command to locate the first audit option,
or issue CATEGORY ON to sort the display by categories and scroll to the Audit
section.
Or
4 You can reload the audit options by re-cycling Zeke using the ZKILL COLD or
ZKILL TRACK operator command. See “Reloading GENOPTS” on page 305 for
details.
307
ASG-Zeke Scheduling for z/OS User’s Guide
Dispatching Options
Dispatching options are local and global generation options that control Zeke
dispatching.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the local or
*GLOBAL GENOPT, then locate the dispatching options.
In ISPF, you can use the LOCATE DISP command to locate the first dispatching
option, or issue CATEGORY ON to sort the display by categories and scroll to the
Dispatching section.
For many options, you simply specify Y to enable the corresponding function or N
to disable it.
For other options, you must specify a numeric or character value (e.g., a time,
interval, class, disposition, or code), or you can keep the default value.
4 You can reload most dispatching options using the ZRELOAD GENOPT operator
command. See “Reloading GENOPTS” on page 305 for details.
Note:
These dispatching options require you to re-cycle Zeke using ZKILL TRACK:
Aur
DsclTrig
Flush (VSE only)
Idcams
Scommax (VSE only)
TapeIO
WkTrgdn
WkTrgds
Updating the PausEoj dispatching option requires you to re-cycle Zeke using
ZKILL COLD.
The following sections discuss some of the most important options used to control Zeke
dispatching and also indicate the additional related generation options that might be
required to support a particular dispatching environment or configuration.
308
7 Customizing and Maintaining Zeke
Initiator Processing
These generation options determine how Zeke uses initiators in your system:
Option Description
ChkSEnv Indicates whether Zeke performs scheduling environment checking. These are
the valid values:
Y Default. Zeke checks each event to be scheduled for the value of the
SCHENV field, which indicates the name of the requested scheduling
environment.
• For job events targeted for the current system and for all other event
types, Zeke dispatches the event when the scheduling environment is
active.
• For job events targeted for a pool, Zeke dispatches the event if the
scheduling environment is active on any system in the pool.
• For job events targeted for a remote system, Zeke does not check for
the scheduling environment.
Note:
For a job event, this value can be inserted (optionally) in the JCL before the job
is submitted to JES. See “JOB Card Override” on page 326 for more
information.
DefJPrty Specifies a default job operating system priority (from 0 through 15) to use if a
priority is not entered in the Pri field in the EMR. The default value is 1. If the
priority should be left unchanged, then enter NO.
DefDspCl Specifies the default dispatch class that is assumed if the class is not entered on
the EMR.
DispDly Specifies the number of seconds to wait between dispatches of pooled events.
The default value is 30. This field is required if the DispSel generation option
is set to N, but is ignored if the Posid generation option is set to Y.
Note:
DispSel is ignored if you are using JES3.
309
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
N Zeke does not select initiators and submits jobs to JES regardless of
initiator availability.
Y Default. Zeke selects initiators and submits jobs to JES based on initiator
availability.
Generally, if you want to set DispSel to Y, you also can define specific job
classes to be treated as if DispSel were set to N (e.g., if you use Workload
Manager to manage initiators, but you want Zeke to be able to submit
certain job classes to JES without having to wait for initiator availability).
UserCls Optional. Indicates whether to use the EMR class for job submittal. These are
the valid values:
N Do not use the EMR class; select initiators using the Zeke class selection
process.
Y Default. Use the class specified in the EMR to submit jobs to the initiator.
Zeke does not change the class at dispatch time. If this option is set to Y
and no classes are defined on the EMR, then Zeke selects initiators using
the regular class selection process.
Option Description
Note:
In this table, the term priority refers to the Zeke dispatching priority, not the operating system
job priority.
DefDPrty Specifies a default dispatch priority (from 0 through 99) to use if a dispatch
priority is not entered on the EMR. The default value is 50. This value displays
in the Dprty field on the EMR.
Dispdly Specifies the number of seconds to wait between dispatches of pooled events.
The default value is 30. This field is required if the DispSel generation option
is set to N, but is ignored if the Posid generation option is set to Y.
Msgwait Specifies the time interval (in HH:MM format) that Zeke waits between issuing
messages for events waiting in the dispatch queue. The default value is 01:00
(i.e., one hour).
310
7 Customizing and Maintaining Zeke
Option Description
Mspintrl Specifies the time (near dispatch) interval (in HH:MM format) when an event
is given a higher dispatch priority. A job is given a higher dispatch priority if its
‘late start’ or ‘late end’ times are within the interval. The default value is
01:00 (i.e., one hour).
Operok Indicates whether Zeke is to wait for an operator OK before dispatching any
event. You can override this option for an individual event on the EMR
(OPEROK). These are the valid values:
Prilate Specifies whether to dispatch late events with a higher dispatch priority. These
are the valid values:
Y Dispatch late events before other events (regardless of the schedule time).
These are the default dispatching messages that are issued by Zeke:
where:
311
ASG-Zeke Scheduling for z/OS User’s Guide
Retaining Events
These generation options are related to retaining events:
Option Description
CommCtl Indicates whether to retain work centers in the schedule until they are completed
(EOJ) or disabled. These are the valid values:
If this option is set to N and the Retain field in the EMR is set to Y, then this
option overrides the Retain value the EMR for work centers only.
If this option is set to N and the Retain field in the EMR is set to Y, but the
LoadComm generation option is set to Y, then the work center is retained.
DropSel Indicates whether to drop completed events from the current schedule when
selection parameters are included with the SCHEDULE ACTIVATE command
for a new schedule run. These are the valid values:
N The SCHEDULE function drops from the current schedule all completed
events regardless of whether they match the selection parameters
included with the new SCHEDULE ACTIVATE command. This option
prevents completed events from accumulating with the creation of each
new schedule.
Y Default. The SCHEDULE function drops from the schedule only the
completed events that match the selection parameters included with the
SCHEDULE ACTIVATE command.
312
7 Customizing and Maintaining Zeke
Option Description
Retain Indicates whether to retain incomplete (i.e. non dispatched) events. This option
determines the default value for the Retain field on the EMR. These are the valid
values:
RetDays Specifies the number of days to retain pending or failed (AEOJ) job events. The
default value is 002. If you specify 000, then events are dropped at the next
day’s schedule load.
Note:
If using EOG, you must retain completed events.
Retpend Indicates whether to retain an SQR until the event is completed. These are the
valid values:
Y Default. Retain SQRs until they are completed (i.e., EOJ or disabled).
Event Triggering
These generation options are related to event triggering:
Option Description
DsclTrig Indicates the dataset dispositions that qualify as triggers for DSN WHEN
conditions. These are the valid values:
N Triggers when a NEW dataset is closed. This value can be used alone
or in combination with another code (e.g., NO, NM, NOM, etc.).
313
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
Note:
If A is not specified, then any of the other disposition codes above do
not trigger if the dataset is closed by an abending program.
Iefu83 Indicates whether to dynamically install the SMF IEFU83 exits to trigger events
when a newly created dataset is open and closed.
Note:
Because the Iefu83 option controls whether the Zeke IEFU83 SMF exit
ZEKE48G is loaded, changes to this option require a ZKILL COLD restart.
RemTrig Specifies how to handle a remote trigger received for scheduled jobs with multiple
schedule dates if the remote trigger does not contain a schedule or run date.
If the remote trigger has a schedule and run date, Zeke ignores this option and
applies the TrigDt option to the dates to process the trigger.
If the remote trigger was satisfied by a Zeke-controlled job, then Zeke sends the
SQR’s schedule and run dates with the trigger.
If the remote trigger was satisfied by a non Zeke job on a Zeke system, then Zeke
sends the system’s current date as the schedule date and run date with the trigger.
These are the valid values:
314
7 Customizing and Maintaining Zeke
Option Description
NT If multiple dates exist, then do not trigger any date. If only one date
exists, trigger that date.
TrigDt Specifies whether a Zeke-controlled job can trigger another event’s WHEN con-
ditions if the schedule or run dates are different. These are the valid values:
R The run dates must be the same before an event can trigger another
event’s WHEN conditions. The run date is the date the event was
actually added to the schedule, either by the ZADD command or the
batch schedule function. The run date also could have been added with
a ZADD command using a different date with the RDATE parameter.
S The schedule dates must be the same before an event can trigger
another job’s WHEN conditions. The schedule date is the date that an
event would have run if it were not a nonworking day (weekend or
holiday).
Note:
When the schedule is created and a subset of SQRs is to be downloaded to Zeke
Agent, the value of the TrigDt option is communicated to Zeke Agent. If this
option is changed on Zeke and reloaded, then Zeke Agent continues to use the old
TrigDt value until a new schedule is downloaded.
TrigJob Specifies whether a job can trigger another event’s WHEN conditions if the job is
not dispatched by this Zeke (or by another Zeke sharing the same database). These
are the valid values:
C Only jobs dispatched by this Zeke (or by a Zeke sharing the same
database) can satisfy triggers on this Zeke. Remote Zeke jobs and non
Zeke jobs are ignored.
S Only jobs dispatched by this Zeke (or by a Zeke sharing the same
database) and non Zeke jobs can satisfy triggers on this Zeke. Remote
Zeke jobs are ignored.
315
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
Note:
When a Zeke system satisfies a cross-platform scheduling trigger for a remote
system (that is, a Zeke system is the target of the AT netregid of another
scheduler’s trigger), a nonZeke job as well as Zeke-controlled job will satisfy the
trigger, regardless of the setting of either Zeke’s TrigJob option. Both the local
and remote Zeke systems ignore the Trigjob option when satisfying
cross-schedule triggers.
TrigRrn Specifies whether a job can trigger another event’s WHEN conditions if the job
has a rerun designation. These are the valid values:
WkTrgdn Specifies whether completed events can satisfy the WEOJ/WEOE (weak) WHEN
conditions of other events in the schedule. These are the valid values:
Caution! In a Zekeplex (in which multiple Zeke systems share a database), each
system must be set to the same WkTrgdn value to prevent excessive
database I/O.
WkTrgds Specifies whether disabled events can satisfy the WEOJ/WEOE (weak) WHEN
conditions of other events in the schedule. These are the valid values:
Note:
Disabling an event will result in the weak triggering of the dependent
event. If the disabled event is enabled later, the weak trigger will no
longer be satisfied. If multiple events satisfy the weak WHEN
condition, all must be disabled for triggering to occur.
Caution! In a Zekeplex (in which multiple Zeke systems share a database), each
system must be set to the same WkTrgds value to prevent excessive
database I/O.
316
7 Customizing and Maintaining Zeke
Option Description
Note:
If you update DsclTrig, WkTrgdn, or WkTrgdn, you must re-cycle Zeke using the ZKILL
TRACK or ZKILL COLD command.
If you update IEFU83, you must re-cycle Zeke using the ZKILL COLD command.
Option Description
PendInv Specifies the number of minutes in the pending event interval that Zeke will hold
a pending event’s initiator. At the end of this interval, Zeke will place the initiator
in the table of available initiators and dispatch other events to it.
PendMsg Specifies the number of minutes in the pending message interval (between mes-
sages that notify you of a pending event). Enter 0 if you do not want a message
to be issued.
Code Meaning
N Zeke checks the dispatch queue every 60 seconds. (This value could delay dispatch
of an event for up to one minute.)
Updating this option requires you to re-cycle Zeke using ZKILL COLD or TRACK.
Verify that this option is set to N (the default) to make Zeke ready to dispatch events
after startup.
317
ASG-Zeke Scheduling for z/OS User’s Guide
If this value is set to Y, then Zeke cannot dispatch events. ASG recommends that you do
not place Zeke on hold with the OprHold option set to Y.
If Zeke is placed on hold, you can issue the ZREL SYSTEM command to release Zeke.
This option requires you to re-cycle Zeke using ZKILL COLD or TRACK.
Option Description
Aur Indicates whether to enable automatic responses to messages and replies. The
automatic reply facility is designed for job events that require message replies.
Aurintv Specifies the interval (in seconds) to check for automatic replies. The valid values
range from 01 through 99. The default value is 1.
Note:
If you have numerous jobs with auto replies, use a lower value to improve
throughput. If you have only a few jobs with auto replies, use a higher value to
decrease system overhead.
Tape Options
The Calctap option automatically tracks the number of tape drives used by a job. If
Calctap is set to Y, then the calculated value is displayed on the EMR with an asterisk (*)
to indicate that it is an Zeke-calculated value. (A value without an asterisk indicates that it
is a user-assigned value.)
If the Tapes field on the EMR is specified, the specified number of tape drives must be
available before Zeke will dispatch the job.
Zeke keeps a running count of all tape mounts for a job, not just the tape drives. For
example, if a job mounts two tapes in the same step or one tape per step in a two-step job,
the calculated tape value is 2. Zeke does not recognize that the tape mounts are probably
done on one drive. (If you need a better way to handle this situation, use logical
resources. See Chapter 6, “Resources,” on page 265.)
Note:
If DispSel is set to N, then Calctap is ignored if it is set to Y.
318
7 Customizing and Maintaining Zeke
Exit Options
Exit options are local and global generation options that control exits.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the local or
*GLOBAL GENOPT, then locate the exits options.
In ISPF, you can use the LOCATE EX command to locate the first exits option, or
issue CATEGORY ON to sort the display by categories and scroll to the Exits
section.
For many options, you simply specify Y to enable the corresponding function or N
to disable it.
For other options, you must specify a numeric or character value (e.g., a name), or
you can keep the default value.
4 Options related to security exits can be reloaded using the ZRELOAD GENOPT
operator command. See “Reloading GENOPTS” on page 305 for details. Most other
exits options require you to re-cycle Zeke using ZKILL TRACK or COLD.
General Options
General options are local and global generation options that control a variety of functions.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the local or
*GLOBAL GENOPT, then locate the general options.
In ISPF, you can use the LOCATE GEN command to locate the first general
option, or issue CATEGORY ON to sort the display by categories and scroll to the
General section.
319
ASG-Zeke Scheduling for z/OS User’s Guide
For many options, you simply specify Y to enable the corresponding function or N
to disable it.
For other options, you must specify a numeric or character value (e.g., a name), or
you can keep the default value.
4 Some general options can be reloaded using the ZRELOAD GENOPT operator
command. Others might require you to re-cycle Zeke using ZKILL TRACK or
COLD. See “Reloading GENOPTS” on page 305 for details.
The following sections discuss some important general options and also indicate the
additional related generation options that might be required to support a particular Zeke
environment or configuration.
Network Registration ID
The Netregid generation option specifies the unique DMS logical Netregid (network
registration ID) used to identify the local Zeke system.
Remote events dispatched by other Zeke systems to be monitored by this Zeke system
specify this Netregid in the remote event’s Target field.
If you update this option, re-cycle Zeke using the ZKILL TRACK or COLD command.
Inter-product Communications
Zeke can communicate with other ASG products (e.g., Zebb) via API interfaces. You can
control whether EMR messages are enabled or suppressed.
Note:
If ZPRDcom is set to Y, the Zebb load library must be in the Zeke started task procedure.
The library must also be in the JCL for any Zeke batch utilities and online users (e.g.,
CICS, TSO, etc.) that can add or delete events.
If you update the ZPRDcom option, you must re-cycle Zeke using ZKILL TRACK or
COLD.
320
7 Customizing and Maintaining Zeke
Note:
For this option to effective, the ZPRDcom generation option also must be set to Y.
Option Description
DSPIndex Indicates whether to build a for a full EDB index for each event in the Zeke
database. These are the valid values:
Y Default. Build a full EDB index for each event in a . The maximum size is
2 GB. ASG recommends this setting for large databases for these reasons:
• Improves ZADD command processing
• Improves online browsing and retrieval of jobs
• Enables the PATH, PREDECESSOR, and SUCCESSOR functions
from the EMR
Note:
The is named IX and is owned by the OASIS address space (which
enables it to be maintained across a ZKILL WARM).
EDBindex Indicates whether to build a reduced version of the EDB index in core. These are
the valid values:
Y Default. Build a reduced version of the EDB index in core. This process
requires approximately 20 bytes of above-the-line CSA storage for each
event in the Zeke database. This setting can improve speed and efficiency
of ZADD command processing.
Note:
This setting is required to track externally submitted jobs (i.e., jobs whose
JCL is contained in the JES job queue).
321
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
Note:
Setting both the DSPIndex and EDBindex options to Y can help to maximize the
efficiency of ZADD processing.
If you update either of these options, you must re-cycle Zeke using ZKILL TRACK or
COLD.
Database Options
The MultSys option indicates whether the database is shared by more than one machine
(real or virtual). The database cannot be shared with previous versions of Zeke.
If more than one system is sharing the same Zeke database, these generation options must
be set to the same values for each Zeke system sharing the database:
• Posid
• Posidend
• TrigDt
• Trigjob
• Wktrgdn
If you update either of these options, you must re-cycle Zeke using ZKILL TRACK or
COLD.
JCL Options
JCL options are local and global generation options that control JCL sources and
processing.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the local or
*GLOBAL GENOPT, then locate the JCL options.
In ISPF, you can use the LOCATE JCL command to locate the first JCL option,
or issue CATEGORY ON to sort the display by categories and scroll to the JCL
section.
322
7 Customizing and Maintaining Zeke
For many options, you simply specify Y to enable the corresponding function or N
to disable it.
For other options, you must specify a numeric or character value (e.g., a name), or
you can keep the default value.
4 Some JCL options can be reloaded using the ZRELOAD GENOPT operator
command. Others might require you to re-cycle Zeke using ZKILL TRACK or
COLD. See “Reloading GENOPTS” on page 305 for details.
The following sections discuss some important JCL options and also indicate the
additional related generation options that might be required to support a particular Zeke
environment or configuration.
You use the JCL generation options to identify to Zeke the JCL libraries to be used. Each
library type requires some steps to be performed by the systems programmer. See the
section on JCL library support in your ASG-Zeke Scheduling for z/OS Installation Guide
for information on link-editing the third-party libraries or installing PDS or CMS support.
Librarian Librarian support enables Zeke to retrieve JCL from the Librarian database and
submit the JCL for processing by the operating system.
If you do not know your Librarian number or codes, contact your Librarian
vendor.
Update these fields when you install Zeke, and again if you update Bim-Edit
(you also must link-edit the Librarian library interface and provide file
information for the Librarian library):
FairOpn Used only for Librarian 3.1 or later. Librarian options code.
FairRec Used only for Librarian 3.1 or later. Librarian record code.
323
ASG-Zeke Scheduling for z/OS User’s Guide
LibrBlk Librarian library block size. Zeke uses this number to determine
the amount of storage required for Librarian subroutines. The
default value is 12800.
LibrDtf DD name of the Librarian library Zeke uses to retrieve JCL. The
default value is OMITTED. (The name LIBRJCL is reserved
and cannot be used.)
Bim-Edit Update these fields when you install Zeke, and again if you update Bim-Edit
(you also must link-edit the Bim-Edit library interface):
BimUid User ID Zeke passes to Bim-Edit to receive JCL. The default value
is OMIT.
Condor Update these fields when you install Zeke, and again if you update Condor (you
also must link-edit the Zeke/Condor support program):
CondrLb Library that Zeke will pass to Condor to receive JCL. The default
value is OMIT.
Panvalet If Panvalet support is installed, Zeke can search for JCL in up to 99 Panvalet
libraries.
Update these fields when you install Zeke, and again if you update Panvalet
(you also must link-edit the Panvalet support program):
PanDisk Code indicating the DASD type of the disk where the Panvalet
library resides. This field cannot contain blanks. These are the
valid values:
FBA
3340
3350
3375
3380 (default)
3390
3331 (3330-11 disk devices)
324
7 Customizing and Maintaining Zeke
PDS Pdsdd DD name in the Zeke started task procedure of the partitioned
dataset to retrieve JCL.
In the DefJcl option, specify the default JCL source type. The default JCL source type is
used if none is specified on the EMR. These are the valid values:
Code Meaning
BIM Bim-Edit
CONDOR Condor
LIBR CA Librarian
PAN CA Panvalet
Z14C Source not supported by Zeke (JCL is supplied by the ZEKE14C user exit)
In the JCL1 generation option, specify one of the JCL sources listed above. You can enter
additional JCL sources in the remaining fields JCL2 through JCL5. These options
determine the JCL fields that are displayed on the Event Master Definition screen.
325
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
Zeke processes all options, except RepJName, after any ZEKE14B/N and ZEKE14E/N
user exits are invoked. Zeke processes the RepJName option before any user exits have
been invoked.
Option Description
RepJGrp Indicates whether the GROUP= keyword on the JOB card should be inserted (or
replaced) by the Secgroup value from the event’s EMR. These are the valid values:
A (Always) If the JOB card already has a GROUP= value, replace it with the
Secgroup value from the EMR; if the JOB card does not have a GROUP=
keyword, add it with the Secgroup value from the EMR. If a Secgroup value
is not specified in the EMR, the JOB card is not modified.
C (Conditional) If the JOB card already has a GROUP= value, do not modify
it; if the JOB card does not have a GROUP= keyword, add it with the
Secgroup value from the EMR. If a Secgroup value is not specified in the
EMR, the JOB card is not modified.
RepJName Indicates whether the jobname on the JOB card should be replaced by the jobname
from the event’s EMR. These are the valid values:
Y Replace the jobname on the JOB card. (Only the first JOB card in the JCL
is modified.) If the jobname from the EMR is longer than the jobname on
the JOB card, Zeke makes room for the longer name by splitting the card at
a comma that separates operands.
326
7 Customizing and Maintaining Zeke
Option Description
RepJSEnv Indicates whether to allow Zeke to insert (or replace) the SCHENV keyword on
the job card before the job event is submitted to JES. (Zeke retrieves the SCHENV
value from the SQR.)
Note:
Depending on how you set this value, the SCHENV value could differ in a job
event’s SQR and its JCL. In this case, Zeke schedules and dispatches the event
according to the environment specified in the SQR. If a different environment is
specified on the job card (and is undefined or inactive), the job is held in the JES
input queue or fails with a JCL error.
If a job event has a JCL source of JESQ, Zeke does not modify the job card. The
value the RepJSEnv option is assumed to be N.
N Default. (Never) Zeke does not insert/replace the SCHENV keyword on the
job card.
C (Conditional) Zeke inserts the SCHENV keyword on the job card only if no
keyword exists. Zeke does not replace an existing keyword.
RepJUser Indicates whether the USER= keyword on the JOB card should be inserted (or
replaced) by the user ID from the event’s EMR. These are the valid values:
A (Always) If the JOB card already has a USER= value, replace it with the
user ID value from the EMR; if the JOB card does not have a USER=
keyword, add it with the user ID value from the EMR. If a user ID is not
specified in the EMR, the JOB card is not modified.
C (Conditional) If the JOB card already has a USER= value, do not modify it;
if the JOB card does not have a USER= keyword, add it with the user ID
value from the EMR. If a user ID is not specified in the EMR, the JOB card
is not modified.
Note:
RACF surrogate processing must be set up before the RepJGrp and RepJUser options can
be used. See the ASG-Zeke Scheduling for z/OS Installation Guide for details.
327
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
Posid Indicates whether to assign a unique POSID (positive event ID) to each
Zeke-controlled job event. The job is tracked by its jobname and assigned POSID
until the job is done.
Note:
All Zeke systems that share the same database must have the same Posid value.
Y Default. Assign a unique POSID (positive event ID) to each Zeke job event.
The job is tracked by its jobname and the assigned POSID until the job is
done.
If this option is set to Y, Zeke inserts an IEFBR14 step with the POSID
information either after the job card or as the last step in each Zeke-controlled
job event. For example:
//* THE ZEKECTL STEP IS INSERTED BY ZEKE.
//ZEKECTL EXEC
PGM=IEFBR14,COND=ONLY,PARM=(A913EC42,199915C,00000012
//A9BD957F,’MEDADVLP’,LDVLP,’DVLPZEKE‘)
The placement of the POSID information is determined by the Posidend
generation option.
Note:
For multiple event versions, the version number is passed to the submitting
system as part of the POSID information. If the submitting system also
supports multiple event versions, the version number enables the dispatch
system to correctly identify the associated SQR.
Note:
Zeke does not support multiple jobs per event. When this option is set to Y,
only the first job of an event is considered a Zeke job. All other jobs in the
same event are considered nonZeke jobs; therefore, each job should be
defined in a separate event.
328
7 Customizing and Maintaining Zeke
Option Description
Note:
A POSID cannot be used with the JCL sources CMS or JCLMAN. If using either of
these services, set this option to N or set the Control field in the EMR to N for
those jobs to be submitted from these sources.
Also, to override the Posid option for a specific event, use the Control field on the
EMR. When Control is set to N, Zeke does not recognize the event as
Zeke-controlled, and marks the job as EOJ at dispatch.
Note:
All Zeke systems that share the same database must have the same Posidend value.
Y POSID is placed at the end of the job (as the last step).
N Default. POSID is placed at the start of the job (as the first step).
For most jobs, the POSID is acceptable in either location; however, there are cases
where one location could be preferable over the other. For example, if a job has the
INCLUDE statement immediately following the job card and the included member
has any JCL statements that must precede the first step (e.g, JOBLIB), then the job
will fail if Posidend is set to N. If a job has in-stream data (i.e., SYSIN DD *)
containing an imbedded job, then the job will fail if Posidend is set to Y.
If a remote job is dispatched to another Zeke system through OASIS/DMS, then the
Posidend generation option on the execution system governs POSID placement. If a
remote job is dispatched to another system through NJE, then the dispatching Zeke’s
Posidend generation option governs POSID placement.
Zekectl Indicates whether Zeke inserts //*ZEKECTL comment statements into the JCL when
submitting a job. These comment statements enable Zeke event information to be
referenced in JES job logs.
This option is required to enable Zeke’s ThruPut Manager interface (see Appendix
B, “Interface to ThruPut Manager,” on page 457 for details).
329
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
Y Default. Zeke inserts //*ZEKECTL comment statements into the JCL when
submitting a job.
If the Posid generation option is set to Y, then the comment statements are
inserted in front of the ZEKECTL POSID job step.
The value of the Posidend generation option determines whether the
comment statements are inserted at the beginning or end of the JCL.
Message Options
Message options are mostly local generation options that control the occurrence of alarms
and the issuing of messages related to Zeke system activities. For example, you can
enable console alarms, specify whether a console message is issued under certain
circumstances, and control message routing.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the local or
*GLOBAL GENOPT, then locate the message options.
In ISPF, you can use the LOCATE MES command to locate the first message
option, or issue CATEGORY ON to sort the display by categories and scroll to the
Messages section.
For a few options, you might be required to specify a numeric value (e.g., a time,
interval, or a percentage) or you can keep the default value.
4 Most message options can be reloaded using the ZRELOAD GENOPT operator
command. See “Reloading GENOPTS” on page 305 for details.
330
7 Customizing and Maintaining Zeke
Scheduling Options
Scheduling options are global generation options that you can use to control Zeke event
scheduling.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the *GLOBAL
GENOPT, then locate the scheduling options.
In ISPF, you can use the LOCATE SCH command to locate the first scheduling
option, or issue CATEGORY ON to sort the display by categories and scroll to the
Scheduling section.
For some options, you might be required to specify a numeric value (e.g., a time,
interval, or a percentage), or you can keep the default value.
These tables discuss some of the most important options used to control Zeke dispatching
and also describe the additional related generation options that might be required to
support a particular scheduling environment or configuration:
Option Description
DropSel Indicates whether to drop completed events from the current schedule when
selection parameters are included with the SCHEDULE ACTIVATE command
for a new schedule run.
331
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
N The SCHEDULE function drops from the current schedule all completed
events regardless of whether they match the selection parameters
included with the new SCHEDULE ACTIVATE command. This option
prevents completed events from accumulating with the creation of each
new schedule.
Y Default. The SCHEDULE function drops from the schedule only the
completed events that match the selection parameters included with the
SCHEDULE ACTIVATE command.
MultAp Specifies how to handle a ZADD by application ID when multiple events have
the same application ID. These are the valid values:
F Default. Add the first matching event and end the search; this is the most
efficient.
N Do not add any events; list all matching events on the console.
MultGr Specifies how to handle a ZADD by group ID when multiple events have the
same group ID. These are the valid values:
F Default. Add the first matching event and end the search; this is the most
efficient.
N Do not add any events; list all matching events on the console.
332
7 Customizing and Maintaining Zeke
Option Description
MultHit Indicates whether an event is to be scheduled multiple times when there is a non-
working day. This option determines the default value for the Multhit field on
the EMR. These are the valid values:
MultJn Specifies how to handle a ZADD by jobname when multiple events have the
same name. These are the valid values:
F Default. Add the first matching event and end the search; this is the most
efficient.
N Do not add any events; list all matching events on the console.
MultEn Specifies how to handle a ZADD by event name when multiple events have the
same name. These are the valid values:
F Default. Add the first matching event and end the search; this is the most
efficient
N Do not add any events; list all matching events on the console
MultUs Specifies how to handle a ZADD by user ID when multiple events have the
same user ID. These are the valid values:
F Default. Add the first matching event and end the search; this is the most
efficient.
N Do not add any events; list all matching events on the console.
Note:
The options MultAp, MultGr, MultJn, MultEn, and MultUs work together to determine which
jobs are added with the ZADD command. If multiple criteria are used on the same ZADD
command, then the option with the most restricted value is applied. For example, if a ZADD by
jobname and application ID is requested and MultJn is set to A (all) and MultAp is set to N
(i.e., none), then no events are added since the most restricted is none.
333
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
LoadComm Indicates whether to load work centers to the schedule queue table (SQT)
storage.
ASG recommends that you activate this option if you use work centers that are
loaded into the schedule queue at schedule load time. This setting improves
response time when accessing the events through the work center function.
Additionally, work centers can be displayed in Schedule View and by using the
ZDISPLAY operator command.
These are the valid values:
Y Default. Load work centers to the schedule queue table. This option loads
the work center more efficiently, but requires more above-the-line
common storage.
Note:
This option must be set to Y to access or complete work centers from
an OpsCentral console.
Note:
This option is set to Y, a work center event is flagged as late if the current time
is greater than the event’s ‘late end’ time and the completion process has not
started on the event (i.e., if it is not in a Pending or Success status). If this
option is set to N, the ‘late end’ time does not cause a work center event to
enter a late status.
To load work centers to the current schedule queue, enter ZRELOAD SCHD on
the Command line, and press Enter.
Nonwkday Specifies whether to schedule an event if the OCCURS clause is true for a non-
working day. This option sets the default value used on the EMR (Nwday field).
These are the valid values:
A Default. Schedule the event after the nonworking day. For example, if
Monday is a holiday, all events scheduled for Monday are scheduled for
Tuesday.
334
7 Customizing and Maintaining Zeke
Option Description
Refevent Specifies whether REFEVENT references from one EMR to another EMR by
event number are allowed.
A REFEVENT reference defined in an EMR schedules the event according to
the calendar (including nonworking days) and OCCURS clause of another
event. (You can specify the event that you want to reference either by event
number or event name.)
Caution! Event numbers are unique; however, because Zeke assigns the event
numbers automatically and can reassign available, previously used
numbers to new events, ASG recommends you reference other
events by event name to avoid unintended references.
These are the valid values:
Security Options
Security options are global generation options that manage security.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the *GLOBAL
GENOPT, then locate the security options.
In ISPF, you can use the LOCATE SEC command to locate the first security
option, or issue CATEGORY ON to sort the display by categories and scroll to the
Security section.
For some options, you enable or disable the option by specifying Y to enable the
corresponding function or N to disable it.
For other options, you might be required to specify a numeric or character value
(e.g., an ID) or you can keep the default value.
335
ASG-Zeke Scheduling for z/OS User’s Guide
Before setting the security options, be sure to review Chapter 9, “Security,” on page 381.
Trace Options
Trace options are local generation options that enable trace messages to be generated for
many different types of system activities. You select each type of information to log by
enabling the corresponding trace option. Trace messages are logged to a data space that
can be dumped to a dataset and used in troubleshooting. See the ASG-OASIS for z/OS
Reference Guide for more information on data space logging.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the desired
local GENOPT, then locate the Traces options.
In ISPF, you can use the LOCATE TRA command to locate the first Traces
option, or issue CATEGORY ON to sort the display by categories and scroll to the
Traces section.
Or
4 Traces options can be reloaded using the ZRELOAD GENOPT operator command.
See “Reloading GENOPTS” on page 305 for details.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the local or
*GLOBAL GENOPT, then locate the user interface options.
336
7 Customizing and Maintaining Zeke
In ISPF, you can use the LOCATE USER command to locate the first user interface
option, or issue CATEGORY ON to sort the display by categories and scroll to the
User Interface section.
For many options, you simply specify Y to enable the corresponding function or N
to disable it.
For other options, you must specify a numeric or character value (e.g., a name), or
you can keep the default value.
4 You can reload user interface options using the ZRELOAD GENOPT operator
command. See “Reloading GENOPTS” on page 305 for details.
Variables Options
Variables options are global generation options that activate variable substitution.
1 Follow the procedure in “Editing a GENOPT” on page 300 to access the *GLOBAL
GENOPT, then locate the variables options.
In ISPF, you can use the LOCATE VAR command to locate the first variables
option, or issue CATEGORY ON to sort the display by categories and scroll to the
Variables section.
3 Update each variables option according to your requirements. You can enable or
disable the option by specifying Y to enable the corresponding function or N to
disable it.
The Jclcol71 option is used to limit variable substitution to columns 1 through 71.
4 You can reload variables options using the ZRELOAD GENOPT operator
command. See “Reloading GENOPTS” on page 305 for details.
Before setting the variables options, see Chapter 8, “Variables,” on page 357.
337
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter 4 and press Enter. The Options Selection Menu
is displayed.
2 From the Options Selection Menu, enter 9 and press Enter. The Schedule Download
Agents List screen is displayed:
NETREGID ===>
NETREGID Description
******************************************************************************
UNIXAGNT ZEKE AGENT UNIX
******************************* Bottom of data *******************************
3 Perform the steps in the Action column (depending on the desired result):
Update an existing agent Enter E next to the appropriate Netregid and press Enter. The
for which you do not know Schedule Download Agent Specification screen is displayed.
the Netregid
Go to step 5.
338
7 Customizing and Maintaining Zeke
Delete an agent for which 1 Enter D next to the appropriate Netregid and press Enter.
you do not know the The Schedule Download Agent Specification screen is
Netregid displayed.
2 Re-enter DELETE on the Command line to confirm and
press Enter. The Netregid that you selected is deleted and
the Schedule Download Agents List screen is displayed.
4 In the Description field, enter the description of the agent and press Enter.
Note:
You cannot change the information in the NETREGID field.
5 Press F3 to save the information and to return to the Schedule Download Agents List
screen:
NETREGID ===>
NETREGID Description
*******************************************************************************
NTAGENT ZEKE AGENT NT
UNIXAGNT ZEKE AGENT UNIX
******************************* Bottom of data ********************************
339
ASG-Zeke Scheduling for z/OS User’s Guide
Database Maintenance
Database maintenance includes these tasks:
• Allocating and cataloging datasets.
• Backing up the database.
Note:
ASG recommends you use the BACKUP command of the ZEKE utility program to
back up your database at least daily.
A database status report displays the amount on used and available space in the Zeke
database) to help you determine the number of events that can be added to the Zeke
database based on the number of available directory records.
A system tables status report displays the number of SQRs and WHEN conditions, and
the amount of storage required to load the schedule in memory).
1 From the Zeke Primary Menu, enter 4.4 on the Option line. The Status Report
Selection Criteria screen is displayed:
2 For a database status report, enter 1 on the Option line, and press Enter.
340
7 Customizing and Maintaining Zeke
Or
For a system tables status report, enter 2 on the Option line, and press Enter.
341
ASG-Zeke Scheduling for z/OS User’s Guide
+--------------------+--------------------+--------------------+
| Number of | Number of | |
| Schedule Records | When conditions | |
| in the database | for the SQRs | |
+--------------------+--------------------+ Non work center |
| 9 | 5 | <== Events |
+--------------------+--------------------+ Work center |
| 0 | N/A | <== Events |
+--------------------+--------------------+--------------------+
| Storage needed | Storage needed | |
| for loading | for the | Total |
| SQRs to memory | When conditions | |
+--------------------+--------------------+--------------------+
| 10,288 bytes | 7,868 bytes | 18,156 bytes |
+--------------------+--------------------+--------------------+
Note:
Work center events are counted in this number only if the LoadComm generation
option is set to Y.
Note:
The reported value does not include work centers, which do not use WHEN
conditions.
Note:
The Systbl generation option specifies a maximum value; however, only the
required storage is loaded. This amount can be larger without impacting your
system.
342
7 Customizing and Maintaining Zeke
You create the Zeke databases using the CREATE function of the ZEKE utility program.
The dataset name used to create the Zeke database has the DD name ZEKENEW, and the
dataset name to maintain and access the Zeke database has the DD name ZEKECAT. The
different names prevent the accidental destruction of the database by the CREATE
function.
Note:
Because it is independent of the operating system, the ZEKE utility program requires that
OASIS is active. You can activate OASIS without Zeke being active. This is a normal
condition during the process of installing Zeke.
START procname,S=subsys,OASIS='(aa,bb)'
where:
(aa,bb) is the OASISxx options member name suffix and console option.
Note:
If the start-up procedure provides appropriate default values for the S and OASIS
symbolic parameters, you can omit those parameters from the START command.
2 To create the primary database only, run the CREATE function using a jobstream
similar to this sample. See the ASG-Zeke Scheduling for z/OS Reference Guide for
detailed information on the CREATE function and parameters.
343
ASG-Zeke Scheduling for z/OS User’s Guide
3 For electronic vaulting, run the CREATE function using a jobstream similar to this
sample. See the ASG-Zeke Scheduling for z/OS Reference Guide for detailed
information on the CREATE function and parameters. This job creates both the
primary Zeke database and the Zeke vault database for electronic vaulting:
4 Start Zeke with the ZEKECAT DD pointing to the primary database and the
ZEKEVLT DD pointing to the vault dataset.
344
7 Customizing and Maintaining Zeke
Note:
Regardless of the value for the ESIActv generation option, an external security call
always is made to the SAF Security Interface using the resource class of Z$CATAL with
a resource name of CREATE## and ALTER authority. If this class information is not
defined in your security product, then the SAF action and return code are determined by
your security product. If you do not have a security product using SAF, then Zeke’s
internal security (which allows the request by default) is used.
If you have a ZEKE15B user exit in place, then the exit can override any external security
return code (depending on how you have coded ZEKE15B).
The BACKUP command copies the contents of the Zeke database in case it must be
restored later. Use the BACKUP command to back up your database at least once daily.
ASG recommends backing up the database prior to each scheduling run.
Note:
When you back up the database, the BACKUP function automatically generates a
database backup report to help you determine the optimum block size and number of
cylinders for the Zeke database. See the ASG-Zeke Scheduling for z/OS Reference Guide
for details.
The Zeke database is enqueued for the duration of the physical backup. ASG
recommends you schedule the backup during the time period with the least CPU activity.
Caution! The Zeke database is not an ordinary sequential file. Most third-party
backup/copy utilities do not back up the Zeke database successfully. Be sure to
use only the ZEKE utility program’s BACKUP and RESTORE functions for
this purpose.
345
ASG-Zeke Scheduling for z/OS User’s Guide
See the ASG-Zeke Scheduling for z/OS Reference Guide for detailed information on
the BACKUP function and parameters.
Note:
Regardless of the value for the EsiActv generation option, an external security call
always is made to the SAF Security Interface using the resource class of Z$CATAL with
a resource name of BACKUP## and ALTER authority. If this class information is not
defined in your security product, then the SAF action and return code are determined by
your security product. If you do not have a security product using SAF, Zeke’s internal
security (which allows the request by default) is used.
You can use the parameter DATASPACE with the BACKUP function to improve backup
processing performance.
You can use this procedure to recover the contents of a destroyed database and to move
and/or enlarge the database.
These are the methods you can use to restore the database from a backup:
• Logical (default). This method reorganizes the database, which enables you to
restore the database to a larger dataset or merge two databases.
346
7 Customizing and Maintaining Zeke
• Physical. This method restores the physical portion of the backup to the disk space,
which results in an exact copy of the backed up database.
Before you perform this procedure, be sure to allocate contiguous space in cylinders for
the new Zeke database dataset (i.e., no secondary extents). Allocate more space if you are
enlarging the database. See the ASG-Zeke Scheduling for z/OS Installation Guide for
more information on determining the Zeke database size.
Note:
If a Zeke database containing SQRs that were downloaded to Zeke Agent is restored from
a backup, either the RESTORE NOSCHED option must be used or the SQRs must be
removed from the Zeke Agent that is maintaining copies of them.
1 Run a job to back up the Zeke database or use a previous backup. See the ASG-Zeke
Scheduling for z/OS Reference Guide for detailed information on the RESTORE
function and parameters.
2 Terminate Zeke by issuing the ZKILL COLD command. Do not use the ZKILL
WARM or ZKILL TRACK command.
3 Terminate any other active Zeke systems that share the database.
4 Terminate any other OASIS-supported ‘Z’ products that share the OASIS
subsystem.
5 Be sure that all products have been terminated, and terminate OASIS using the
XKILL command.
6 Allocate a new Zeke database and rename the old database (as a precautionary
measure).
347
ASG-Zeke Scheduling for z/OS User’s Guide
8 Run a ZEKE batch utility job using the CREATE control statement to allocate a new
Zeke database. ZEKENEW and ZEKECAT must both point to the new database.
Note:
The message DATABASE INITIALIZATION COMPLETE is displayed when
the job is complete.
Note:
The RESTORE function builds the Zeke database specified in the ZEKENEW DD
statement.
10 Edit the started task procedure and change the ZEKECAT DD statement to point to
the new database (if applicable).
11 If Zeke vaulting is being used, preallocate the vault database to be contiguous and
have the same attributes (e.g., size, cylinder boundary, device type) as the new
database. Copy (i.e., DITTO) the Zeke database to the Zeke vault dataset.
348
7 Customizing and Maintaining Zeke
13 Start Zeke.
If it becomes necessary to relocate the vault database to a new DASD volume, you must
force Zeke to use this new vault volume. To do so, use one of these procedures.
2 Using the ZEKE utility program, disable the old vault by specifying VAULT
DISABLE in the SYSIN (ZEKEVLT DD points to the original vault DSN). This
action clears the vault dataset name and volume information in the primary database.
3 Terminate all active Zekes sharing this primary database/vault database pair (using
the ZILL COLD or ZKILL TRACK command).
4 Restart your Zeke with the ZEKEVLT DD pointing to the new vault DSN.
The first Zeke that starts also initializes the new vault dataset from the primary database
and writes the new dataset name and volume information to the primary database.
2 Enter the ZDISABLE VAULT operator command from any Zeke that shares the old
vault dataset. Vaulting is then disabled on all systems sharing the old vault.
Caution! Vaulting remains disabled from the time the ZDISABLE VAULT
command is issued until the new vault is initialized.
349
ASG-Zeke Scheduling for z/OS User’s Guide
a Terminate all active Zekes sharing the database (using the ZKILL COLD
command).
The first Zeke starts also initializes the new vault dataset from the primary database.
The primary and secondary (vault) databases must have the same allocation size. For
example, if a database allocates 250 contiguous cylinders for the primary Zeke database,
then the Zeke vault database must have 250 contiguous cylinders as well. The vault
database should be located on a different DASD unit on a string of DASD with a different
controller for disaster recovery considerations. Only use electronic vaulting if ample
additional DASD is available.
If there is a hardware failure that makes the Zeke database unavailable, you can recover
full services with this procedure.
If you must recover more quickly than you can copy the Zeke database, use the partial
recovery procedure; however, you will have to bring Zeke back down at the first
opportunity to complete the recovery.
Note:
ASG strongly recommends that you perform the full recovery procedure the first time,
rather than the partial recovery.
1 Terminate Zeke. If you want to terminate the Zeke system and place it in SMF
recording mode, issue the ZKILL TRACK command. (See “Continuous Job
Tracking” on page 352 for details). Otherwise, issue the ZKILL COLD command. If
this fails, cancel Zeke.
2 Use the OASIS batch utility program to issue the STOP ZEKE command.
350
7 Customizing and Maintaining Zeke
Note:
If you see message X00224E, this does not indicate a problem; it simply means that
Zeke code has already been pulled for the subsystem.
3 Allocate a dataset of the same size and on the same device type (but not on the same
volume) as the damaged database. The dataset must be in a contiguous extent.
4 Copy (i.e., IEBGENER or FDR) the undamaged vault database to the new dataset on
the same DASD device type.
5 Change the started task JCL so that ZEKECAT points to the newly copied database
and ZEKEVLT remains pointing to the undamaged vault database.
6 Start Zeke.
7 Resume processing.
1 Ensure that there are no other Zeke systems currently active on the old database. (To
determine whether there are Zeke systems sharing the database, use the ZD COM
operator command.)
2 Terminate Zeke by issuing the ZKILL COLD command. If this fails, cancel Zeke.
3 Use the OASIS batch utility program to issue the STOP ZEKE command.
Note:
If you see message X00224E, this does not indicate a problem; it simply means that
the Zeke code has already been pulled for the subsystem.
5 Change the started task JCL so that ZEKECAT points to the renamed vault database
and comment out the ZEKEVLT DD.
6 Start Zeke. Zeke issues message Z0129R during startup, which is normal.
7 Again, ensure that there are no other Zeke systems currently active on the old
database and enter NO in response to message Z0129R. Initialization will continue
with the old vault database as the new primary database.
If there are other active Zeke systems, enter YES in response to message Z0129R.
Initialization is terminated with message Z0130E. You must first bring down other
active Zekes and restart Zeke (step 1).
351
ASG-Zeke Scheduling for z/OS User’s Guide
8 Resume processing.
9 Zeke is now running without electronic vaulting recovery services. Schedule hourly
backups of the Zeke database until you can restore electronic vaulting.
10 After you have performed the partial recovery procedure, restore electronic vault
support at the next available opportunity:
a Allocate a dataset of the same size and on the same device type (but not on the
same volume) as the existing database. The dataset must be in a contiguous
extent.
b Format the new dataset as a database using the batch utility CREATE function.
c Terminate all Zekes sharing the database by issuing the ZKILL COLD
command. (To determine whether there are Zeke systems sharing the database,
use the ZD COM operator command.) If this fails, cancel Zeke.
d Change the started task JCL by adding the ZEKEVLT DD to point to the newly
created database.
e Start Zeke. The first Zeke system that is started initializes the vault dataset
from the primary database.
f Resume processing.
When you terminate Zeke (and even OASIS), the system activities are recorded. When
you restart Zeke, the recorded activities are played back, and the schedule is updated
accordingly. Activity that can be tracked includes:
• Starting of jobs, job steps, and programs
• Ending of jobs, job steps, and programs
• Datasets that are closed
During playback, Zeke will satisfy triggers and update the status for job activity that
occurred while Zeke was down.
352
7 Customizing and Maintaining Zeke
Note:
Logged system activity is not maintained across an IPL.
Note:
When you upgrade to a different PTF level within the same release, some PTFs could
require you to terminate Zeke (either before or after applying the maintenance). For these
PTFs, the PTF instructions will indicate whether you can use ZKILL TRACK or ZKILL
WARM instead of ZKILL COLD.
Limitations
These Zeke and OASIS services are suspended while Zeke is in tracking mode (i.e., has
been shut down using ZKILL TRACK):
• Auto replies for jobs that are active when Zeke enters tracking mode (even after
Zeke is restarted)
353
ASG-Zeke Scheduling for z/OS User’s Guide
• Resource management for jobs that are active when Zeke enters tracking mode
(even after Zeke is restarted)
• JCL error tracking
• NOTDURING (WHEN condition) processing
• Zeke condition code processing for any job active while Zeke is in recording mode.
Condition code processing cannot resume for an affected job run even for steps that
occur after Zeke is restarted.
• Zeke activities requiring DMS services, for example:
— Remote triggers from jobs running on Zeke, but dispatched by a remote system,
are not sent back to the dispatcher until Zeke is restarted.
— Remote dependencies sent to Zeke are not satisfied.
— Schedule updates from a Zeke Agent that has downloaded the Zeke schedule
are not communicated; however, send, store, and forward processing by Zeke
Agent will send the updates when Zeke is restarted.
Database Considerations
If multiple Zeke systems share a database, consider these points:
• A Zeke in record mode does not make schedule updates. The other Zekes are
notified of schedule changes made as playback occurs.
• Only A/EOS, A/B/EOP, and DSN triggers needed by the schedule are recorded. If
another Zeke adds any triggers of these types to the schedule, they are not tracked.
• When terminated with ZKILL TRACK, Zeke retains enough information from its
internal tables to determine which SMF records will trigger an event. Zeke
conserves CSA use by recording only SMF records that are pertinent. If an event is
added by another Zeke, the event is not seen by the recording system until Zeke is
restarted.
• No changes to the generation options by another system are reflected in the
recording system until Zeke is restarted.
CSA Considerations
Caution! Because Zeke SMF recording logs system activity in ECSA, ASG recommends
restarting Zeke as soon as possible to minimize the storage allocated.
354
7 Customizing and Maintaining Zeke
SMF recording periodically queries the amount of unallocated ECSA remaining. Starting
when only 2 MB of ECSA remains, and every 100 K thereafter, Zeke issues this warning:
This warning gives you the opportunity to restart Zeke before any recorded activity is
discarded. If any triggers are discarded due to the ECSA limit, a start-up message
indicates the number of triggers affected.
When 1 MB remains, Zeke stops recording activity and issues this message:
If the system is in record mode for a brief period of time, little ECSA is used—a little
over 1 K for each record logged. However, terminating Zeke with the TRACK option just
before leaving for vacation could cause a problem. In cases where ECSA usage becomes
a system constraint, a utility is provided to stop SMF recording and free all recorded
records.
If the REPORT parameter is specified, a report of all the discarded triggers is printed to
SYSPRINT:
355
ASG-Zeke Scheduling for z/OS User’s Guide
Applying Maintenance
When you issue ZKILL TRACK, all Zeke modules are unloaded so that maintenance can
be applied, except:
• ZEKE48B
• ZEKE48C
• ZEKE48D
• ZEKE48F
• ZEKE48G
After maintenance is applied, terminate Zeke again using ZKILL COLD, then restart
Zeke to reload these modules.
If OASIS is terminated also, all OASIS modules are unloaded so that maintenance can be
applied.
SMF Playback
When Zeke restarts, it initiates playback. Activity within an individual job is played back
in the order it occurred. The order between different jobs is not preserved. Playback time
is compressed as much as possible so that Zeke can resume its normal dispatching. Job
accounting information, however, reflects the actual start time, end time, and duration of
the job run. After playback is complete, various messages are issued to indicate the
amount of activity and storage used during recording.
356
Chapter 8: Variables
8
Variables are user-defined keywords that represent values, and enable Zeke to carry out a
wide variety of specialized operations automatically. With variables, you can automate
many important tasks (e.g., JCL modifications, job triggering, and console response
handling).
Topic Page
357
ASG-Zeke Scheduling for z/OS User’s Guide
Zeke Variables
A Zeke variable is a symbol beginning with a dollar sign ($) that has a user-assigned
numeric or character value. Zeke supports these types of variables:
• Zeke variables
• OASIS variables (see the ASG-OASIS for z/OS Reference Guide)
• System-dependent variables
• Originator variables (e.g., from a remote Zena server)
Zeke variable names can be up to 16 characters long, and the first character must be a
dollar sign ($). The remaining 15 characters can be alpha or numeric.
Note:
Do not use special characters (i.e., hexadecimal value ‘7F’ or less) in variable names,
because Zeke assumes that these characters are the end of the name during variable
substitution. After the dollar sign, use only the numerics from 0 through 9, and alpha
characters from A through Z.
Variables remain in the Zeke database, where they are accessible to all systems that share
the database, until they are explicitly deleted.
A character value for a Zeke variable can be up to 64 bytes long; a numeric value can be
from -2,147,483,647 through +2,147,483,647.
358
8 Variables
You can establish or change Zeke variable values using any of these methods:
• ZEKESET SET statement. For example:
See the ASG-Zeke Scheduling for z/OS Reference Guide for more information on
defining variables using the SET VARIABLE function.
• ZSET operator command. For example:
Note:
You cannot use this procedure for OASIS variables (which are contained in the OASIS
database). To access the OASIS variable maintenance functions, you can issue the OVAR
primary command from any Command line in the Zeke ISPF online facility. See “OASIS
Variables” on page 366 for more information.
359
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter 8 and press Enter. The Variable Selection
Criteria screen is displayed:
Variable:
Type: C - character, N - numeric
System:
Appl:
GroupID:
UserID:
Date Range: - (MM/DD/YYYY) or (DD/MM/YYYY)
Time Range: - (HH:MM:SS)
2 Perform the steps in the Action column (depending on the desired result):
Update a variable for which 1 Type any information you know about the variable in
you do not know the name any of the Selection Field Masks fields.
2 Press Enter.
360
8 Variables
3 Perform the steps in the Action column (depending on the desired result):
Update the variable Enter E in the unlabeled selection field to the left of the
variable that you want to edit, and press Enter.
View the variable value Enter B in the unlabeled selection field to the left of the
variable that you want to view, and press Enter.
Delete the variable 1 Enter D in the unlabeled selection field to the left of the
variable to be deleted, and press Enter. The Variable Name
Record Functions screen is displayed.
2 Type DELETE on the Command line, and press Enter.
3 Press Enter again to confirm.
This procedure is complete.
361
ASG-Zeke Scheduling for z/OS User’s Guide
5 If you want to set the initial value of the variable, enter the value in the Curr Value
field.
6 In the Force Upper field, specify whether the Current Value includes alpha
characters. These are the valid codes:
Code Meaning
N Keeps the case of the Current Value exactly as entered. Specify this code if
you need to allow mixed-case values for variable substitution.
Note:
If the Current Value field is a numeric-only value, the Force Upper option is
ignored.
7 Complete these fields (which are used to organize variables for selection, display,
and reporting):
Field Description
Appl Identifies the application with which the variable is associated. Report Writer,
work centers, and Zeke operator commands use this field to sort and select
variables.
362
8 Variables
Field Description
GroupID This user-assigned code identifies the group with which the variable is
associated. This field can be used as a subset of the application ID.
Userid User ID (up to eight characters long) associated with the variable against,
which determines which users can access the variable and can be used in a
selection mask. The user ID is case-sensitive; be sure to enter the value correct
case (i.e., upper, lower, or mixed).
Note:
This procedure cannot be used for OASIS variables. To access the OASIS variable
maintenance functions, you can issue the OVAR primary command from any Command
line in the Zeke ISPF online facility. See “OASIS Variables” on page 366 for more
information.
1 From the Zeke Primary Menu, enter option 8 and press Enter.
2 Access the Variable Name Directory screen, as described in, “To define and
maintain a Zeke variable” on page 360:
363
ASG-Zeke Scheduling for z/OS User’s Guide
3 Enter the line command O to the left of the Variable Name field and press Enter.
The Document Segments screen is displayed:
Variable: $KATHYG1
System: ZEQA User: Group: Appl:
This screen enables you to access the different types of documentation for Zeke
variables.
Note:
If an asterisk (*) is displayed to the left of the documentation type, then
documentation already exists for the variable.
4 Enter one of these codes on the Command line to select the type of documentation
you want to access:
364
8 Variables
Note:
Even though there are separate documentation areas for Scratch Pad and Note
information, the procedures have been combined because the screen layouts, number of
lines of text, and fields are identical.
2 To delete the scratch pad or note information, enter DELETE on the Command line
and press Enter. Re-enter DELETE on the Command line, and press Enter to
confirm.
3 To add or update scratch pad or note information, enter text information in the Line
area. You can enter up to 60 characters per line, and up to 10 lines of text.
4 When you have finished adding or updating information on the Scratch Pad or Note
screen, press Enter to update the data.
365
ASG-Zeke Scheduling for z/OS User’s Guide
2 Use standard ISPF editing commands to enter text in the line area, or to the right of
the column placeholder field, if there is existing text. You can enter up to 80
characters per line, and up to several hundred lines of text. Page forward to access an
additional screen.
3 When you have finished adding or updating information on the Text screen, press
Enter to update the data.
OASIS Variables
OASIS variable values can be substituted in the same areas as Zeke variables (e.g., JCL,
ZEKESET, SCOM, etc.), but they differ from Zeke variables in this aspects:
• OASIS variables reside in an OASIS database on DASD, and, therefore, are
retained across system outages and IPLs. All OASIS-supported ‘Z’ products that
use the same subsystem can access the OASIS database, so you can use OASIS
variables to communicate information between your ‘Z’ products.
• OASIS variable values can range from zero through 255 characters long. They can
contain any displayable character in the EBCDIC character set (e.g., leading blanks,
imbedded blanks, and trailing blanks).
• Each OASIS variable substitution function call includes the variable name enclosed
in a substitution prefix and substitution suffix. This prefix and suffix are
user-definable. The default prefix is $( and the default suffix is ).
366
8 Variables
For example:
$(OASVAR1)
• OASIS has its own online system where you can define, edit, and view OASIS
variables and their values.
• Access to OASIS variables can be restricted by SAF security (through OASIS/ESI).
If security is in effect for OASIS variables, an operator must have at least READ
authority to be able to browse variable definition or value records, and ALTER
authority to be able to add, update, or delete variable records or set a value (e.g.,
through a work center event). See the ASG-OASIS for z/OS Reference Guide for
more information on OASIS variables security.
• You can base the value substituted in an OASIS variable on one or more of these
qualifiers:
— Schedule date
— Run date
— Application ID
— Group ID
— User ID
— Event number
— Version number
— Jobname
— System name
— Netregid
This enables multiple values to be valid for a single variable (an unqualified
variable can have only one value associated with it).
• Various types of formatting for substitution are allowed. One type of formatting
enables you to substitute the entire variable value (or just a portion of it). For
example, you could specify that only the last two characters of the value are
substituted, or only the second word of the value. You also can pad the substituted
value with extra characters.
These are the substitution functions can be performed on OASIS variables:
Substitution
Function Description
367
ASG-Zeke Scheduling for z/OS User’s Guide
Substitution
Function Description
VALUE Return the value of a variable whose name is obtained from the value
of another variable or a nested function call.
• You can perform various operations on OASIS variables using the SSS0UTV utility
program. You can use SSS0UTV to create new variable value records, replace or
delete existing value records, and list variable definition records and value records.
• The TVSET function enables you to create and set the value of a temporary OASIS
variable (which remains available until your program terminates), or to override an
existing OASIS variable value temporarily (i.e., for the current job run). See
“Temporary OASIS Variables” on page 369 for more information.
See the ASG-OASIS for z/OS Reference Guide for detailed information before you use
OASIS variables for the first time.
The remaining characters can be any of the above characters or numerics from
0 through 9. Imbedded blanks are not allowed in variable names.
368
8 Variables
Issue the OVAR primary command from any Command line in the Zeke ISPF online
facility. The OASIS Variable Maintenance screen is displayed:
Variable qualifiers:
Job name: ________
Schedule date: _______
Run date: _______
Netregid: ________
Application name: ________
Group name: ___
Userid: ________
Event number: _________
Version number: _____
System: ________
*** Press PF1/PF13 or type "?" in field to see mininum product levels
From this screen, you can add, edit, delete, or browse variable definition records
and value records.
For Zeke-dispatched jobs, you can use TVSET if you want to override an existing
variable value without changing the variable itself.
369
ASG-Zeke Scheduling for z/OS User’s Guide
Syntax
//*TVSET {variable name} {new value}
Note:
Do not use an equal sign (=) between the variable name and value.
For example, to change the value of the OASIS variable ABC to “NEW_VALUE”
without modifying the variable value record, add this line to the JCL:
The new value overrides the previous value anywhere the variable appears, and affects
only the current run of the job. The TVSET command does not appear in the resulting
output JCL.
When used in JCL, the //*TVSET statement appears in the output stream when it runs, so
the statement is checked for syntax errors. If an error is found, message Z0683E is issued
to the JESMSGLG and SYSLOG of the Zeke started task for each //*TVSET line found
with an error. The error message contains the input line number in error and the event and
version numbers associated with the EMR. Message Z0685E is displayed on the console
for the event.
When the JCL is retrieved, the //*TVSET statement is included. The TVSET syntax is not
checked for errors when it is retrieved; the TVSET syntax is checked (and if applicable,
the above error messages are issued) when the retrieved JCL is run.
System-dependent Variables
System-dependent variables enable you to run the same job control statement and use the
same variables on different systems while keeping the variables separate.
To define a system-dependent variable, you use three dollar signs ($$$) as the first three
characters of the variable name (e.g., $$$NAME). Zeke replaces the third dollar sign with
the single-character ID of the dispatching CPU. These are examples of system-dependent
variables:
$$$PRFLGG A $$APRFLG
$$$OPER1 C $$COPER1
$$$VAR01 B $$BVAR01
370
8 Variables
$$$TEST A $$ATEST
Note:
System-dependent variables cannot be used with Zeke operator commands (e.g., ZSET)
because operator commands are processed only by the CPU on which they are entered.
To use a system-dependent variable with an operator command, replace the third dollar
sign with the CPUID (e.g., $$AFLAG instead of $$$FLAG).
Using a variable value as a dependency enables you to trigger or prevent a job from
occurring through job streams and programs. Additionally, this feature enables you to
trigger jobs through external actions (e.g., the receipt of data for an application). In this
case, an event can be established with a variable dependency that can be satisfied by the
ZSET operator command.
371
ASG-Zeke Scheduling for z/OS User’s Guide
For example, jobstream PRUPDT is a job with a dependency condition. The dependency
states that variable $PRDATA1 should have a value of YES. This is the WHEN condition
to establish this job:
Also, this jobstream is not processed until the PREDIT job is processed with no errors.
When the results of PREDIT are satisfactory, and the PRUPDT job can be processed, the
operator simply informs Zeke by entering this command:
This command satisfies the job dependency for PRUPDT, and if the early/schedule time
has been reached, Zeke moves the event to the dispatch queue. Zeke dispatches when all
resource requirements are available.
As a simple example, this jobstream consists of four steps to be processed daily, and an
additional job step to be processed only when the second step creates a special file of
exception records:
372
8 Variables
// VOL=SER=ARTAPE,LABEL=(1,SL)
//SYSPRINT DD SYSOUT=A
//*
//ARSTP2 EXEC PGM=PROG2 <== Step 2
//OUTFILE DD DSN=AR,MASTER.TAPE,DISP=(NEW,KEEP),UNIT=TAPE,
// VOL=SER=ARTAPE,LABEL=(1,SL)
//EXCPFILE DD DSN=AR.EXCPS,DISP=(NEW,CATLG),UNIT=SYSDA,
// SPACE=(132,(2000,500))
//SYSPRINT DD SYSOUT=A
//ARSTP3 EXEC PGM=PROG3 <== Step 3
//RPTS DD DSN=&&AR.REPORTS,UNIT=SYSDA,DISP=(NEW,PASS),
// SPACE=(132,(2000,500))
//SYSPRINT DD SYSOUT=A
//*
//SYSPRINT DD SYSOUT=A
//*
//CHKEXCP EXEC PGM=ZEKESET,PARM=’SUBSYS=ZDEV’
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
SET CODE 20 IF $$$ARFLG NE YES <== Bypass Step 5 if variable=NO
/*
//ARSTP5 EXEC PGM=PROG5,=(0,NE,CHKEXCP) <== Step 5
//EXCPFILE DD DSN=AR.EXCPS,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=A
//
373
ASG-Zeke Scheduling for z/OS User’s Guide
This facility works best when used with a COND=ONLY step. The step which specifies
COND=ONLY is executed if any previous step in the jobstream abends. If no abend
occurs, the operating system bypasses the step. If an abend occurs, the COND=ONLY
step sets up the information for the restart.
For example, in this jobstream, the variable $CL01P043STEP saves the restart step name:
The JOB statement contains an MVS restart parameter. This starts job processing at the
named step. Because the parameter is a Zeke variable, Zeke supplies the value through
the internal reader when the job is submitted.
If the job completes normally, ZEKESET sets the variable to asterisk (*); the operating
system starts the jobstream at the first job step the next time it runs.
The last job step specifies COND=ONLY on its execute statement. If the job completes
normally, the operating system bypasses this step. If an abend occurs, this statement sets
the variable to the name of the step which abended.
When this job is restarted by the ZREFRESH operator command, the first step executed
is the one that previously failed (the value of $CL01P043STEP). No external action is
necessary.
To restart at a step other than the one that abends, issue the ZSET command to set
$CL01P043STEP to the desired restart step name. For example, the above jobstream
abends in step CLSTP3, but the jobstream needs to be restarted at step CLSTP2. Enter
this command to begin processing at CLSTP2 the next time it runs:
374
8 Variables
The operating system does not execute the COND=ONLY step (even if the job did not
run properly) in any of these conditions:
• A JCL error occurs (i.e., a dataset is missing)
• The operator cancels the job (i.e., system S222 abend)
• A complete system failure (i.e., power failure)
If these conditions have an impact on system reliability, use this alternate restart
technique. Execute the ZEKESET program between each of the normal job steps in a
jobstream. The restart variable can be set to the name of the step that is about to be
executed (the step after the ZEKESET step). This ensures that the variable always is set
to the step to be restarted (even on full system failures).
If the SubData generation option is set to Y, Zeke scans all statements as the jobstream is
submitted through JES. If a variable is found, it is replaced with its current value.
Because variable substitution is performed while Zeke is submitting the jobstream to JES,
the variables must contain the proper values at job dispatch time. Because of the timing,
these limitations exist for setting a value:
• A value cannot be set in one job step and the new value be substituted into a
subsequent statement in the same job. The substitution for that statement was
already done before the job started (using the value of the variable at that time).
• For statements in procedures that are called from the dispatched job. Zeke does not
see the actual statements in the procedure, only the EXEC statement.
This search order is used to retrieve the variable (if multiple variables with the same name
exist):
1 Event-level variable
3 Database variable
To use the variable values on statements in a procedure, code the Zeke or OASIS variable
as the value of a parameter on the EXEC statement. Zeke substitutes the value into the
EXEC statement and the procedure can substitute this value into the statements in the
procedure (e.g., EXEC PROC=TEST1, PARM1=$VAR).
375
ASG-Zeke Scheduling for z/OS User’s Guide
During variable substitution, trailing spaces are truncated from character values to a
maximum of one trailing space, and leading zeros are truncated from numeric values,
leaving one zero if the numeric value is zero.
Note:
When variable substitution occurs on JCL statements with line numbers in columns 72
through 80, the line numbers might be shifted to the left if the value substituted in for the
variable is shorter than the variable name itself.
You can use the Jclcol71 generation option to limit variable substitution to columns 1
through 71. See the ASG-Zeke Scheduling for z/OS Reference Guide for details.
These are examples of variable statements and the actual values. Assume that the
variables have these values:
$X = PR01P001
$Y = 0074
Sample Resolved
Statement Statement Explanation
//$X JOB, //PR01P001 JOB, If the variable value is longer than the name, the
PAYROLL.EDIT PAYROLL.EDIT data following the variable shifts to the right. If the
value is shorter than the name, the data following
the variable shifts to the left.
376
8 Variables
Sample Resolved
Statement Statement Explanation
You can use these control statements (beginning in column 1) to activate or deactivate
variable substitution:
Statement Purpose
During the jobstream submittal, Zeke discards the control statement and either activates
or deactivates the variable substitution facility accordingly.
If the variable substitution facility is deactivated, it remains deactivated until the end of
the jobstream, or until a new ZEKE-CTL statement reactivates it.
For example, if you use the default substitution prefix and suffix specification
VDELIMS=(‘$(‘:’)’) then substitution could be performed on some JCL statements
(i.e., generation dataset relative numbers) inadvertently. If you do not want to redefine
your substitution prefix and suffix, you can deactivate substitution by including these
control statements around the lines on which you do not want substitution performed. For
example:
ZEKE-CTL NOSUB
// DD DISP-SHR,DSN=A.B.C$(nnn)
ZEKE-CTL SUB
As an alternative, you could code the affected lines using a nested quoted literal, for
example:
// DD DISP=SHR,DSN=A.B.C$(‘$(+0)’)
When the SubData generation option is set to Y, variable substitution always is in effect
for each new jobstream being submitted (unless the control statements are input to the
program ZEKESET).
377
ASG-Zeke Scheduling for z/OS User’s Guide
The variable substitution control statements cannot be combined with the Zeke PDS
library control statements. Both control statements use the verb ZEKE-CTL, but the
operands of the two statements cannot be specified on a single statement. If both
statements are desired in a single jobstream, code two separate statements.
If you are executing ZEKESET in a PROC and the JCL calling the PROC is passing a
SET VAR $... statement in the SYSIN DATA, the calling JCL should contain the
ZEKE-CTL NOSUB statement after the EXEC statement to prevent variable substitution
on the variables name in the SET VAR $... statements.
Note:
The difference between using OPTION NOSUB and ZEKE-CTL NOSUB to turn off
variable substitution is that OPTION NOSUB turns it off at statement execution time,
while ZEKE-CTL NOSUB turns it off at variable substitution time (just prior to when the
event is dispatched). See the ASG-Zeke Scheduling for z/OS Reference Guide for more
information on OPTION NOSUB.
Note:
The difference between special names and Zeke variables is that special names are
predefined to Zeke; while Zeke variables are user-defined, and begin with a dollar sign
($).
ABCABCABCABCABC
378
8 Variables
The length of the command as it appears above is exactly 60 bytes. After variable
substitution is performed for $ABCVAR, the length of the line will exceed 60 characters.
In this case, the line must be modified to be 60 characters or less (including the value).
379
ASG-Zeke Scheduling for z/OS User’s Guide
380
Chapter 9: Security
9
Zeke provides an internal security function as well as the OASIS External Security
Interface (ESI). Zeke’s versatility enables you to control access to Zeke objects and
functions from another vendor’s security product, or your own, as long as the product
uses the System Authorization Facility (SAF) interface. You even can use a combination
of internal and external security packages. ASG recommends that you understand Zeke
internal and external security features completely before implementing either (or both).
Note:
Before attempting to implement Zeke security, read this entire section and the ESI
chapter of your ASG-OASIS for z/OS Reference Guide (particularly the section about
planning and implementing ESI). This will ensure that you choose the security method
that best meets your needs.
Topic Page
381
ASG-Zeke Scheduling for z/OS User’s Guide
In general, you must answer these questions before deciding on a security approach:
• What exactly needs to be secured?
— Access to information (e.g., objects like the Zeke database and specific records).
— Access to Zeke (e.g., functions like primary menu options and Zeke operator
commands).
— Access to a combination of information and the Zeke functions.
• Do that you want to use Zeke internal security, an external security package, or a
combination?
• How will you determine who is granted access and to what authority level?
Before you can decide what needs to be secured, you must understand these different
security approaches used by Zeke:
• Object security controls access to the information contained in a data structure (e.g.,
a record or file). This includes controlling access to individual EMRs, SQRs, and
variables.
Securing by object protects the information regardless of how access is attempted
(i.e., by command, batch utility, or online facility). For example, securing EMRs as
objects protects them regardless of whether access is attempted from the Event
Master Record online function, the EVENT batch command, or the LIST EVENTS
function of Report Writer.
Internal External
Objects Security Security
Zeke database
EMRs
SQRs
Variables
382
9 Security
Internal External
Objects Security Security
Calendars
Pool definitions
Internal External
Functions Security Security
SCHEDULE function
ZEKESET commands
383
ASG-Zeke Scheduling for z/OS User’s Guide
External security offers increased benefits over internal security by enabling more
comprehensive security at a more detailed level and providing more flexibility in
establishing access criteria.
This section gives a general overview of Zeke security processing (whether you are using
internal or external security, your own security exit, or a combination). See the sections,
“Internal Security” on page 389 and “External Security” on page 405 for detailed
discussions on each method.
Security Calls
When a user attempts to access a Zeke object or function, Zeke calls the security
processing routine ZEKE15A to determine whether to allow the request.
Authority Levels
Zeke governs security calls using this hierarchy of authority levels (from lowest to
highest):
UPDATE Allows the user to modify existing records, along with all of the authority
of READ access.
ALTER Allows the user to add and delete records, along with all of the authority
of UPDATE access.
CONTROL Allows the user to perform the requested command (only applies to
individual SCOM command lines).
Each security call specifies the minimum authority level required for the request. For
example, if a user has been granted UPDATE access to a record and the user is requesting
READ access only, then Zeke allows the request (because READ access is assumed to be
granted for a user with UPDATE access).
384
9 Security
Note:
Internal security considers only READ access and WRITE access (i.e., a combination of
UPDATE and ALTER); therefore, if a user is granted WRITE access, internal security
allows the user to add and delete records, as well as update existing records.
Multiple Calls
Sometimes a single user request results in more than one security call.
For example, if a user issues the operator command ZALTER EV 1 WHENOK, then
Zeke makes these two security calls:
• A call to determine whether the user is authorized to issue ZALTER operator
commands.
• A call to determine whether the user is authorized to update the SQR for event 1.
In this example, the user must be authorized for both requests or the request is denied.
Additionally, if a single user request requires access to multiple records, even more
security calls could be generated.
For example, if a user issues the command ZDISPLAY JOB, Zeke makes these calls:
• A call to determine whether the user is authorized for the ZDISPLAY command.
• A call for every SQR to determine which ones the user is authorized to display (i.e.,
READ access).
In this example, if the user is authorized for the ZDISPLAY command, then Zeke
displays only the records for which the user has READ access. If the user is not allowed
to issue ZDISPLAY operator command, then Zeke denies the entire request.
385
ASG-Zeke Scheduling for z/OS User’s Guide
Origination Sources
A security call can originate from any of these sources:
Source Description
Batch A request from a batch program or job (i.e., ZEKE or ZEKESET utility
program):
• Logging on (i.e., first Zeke access attempt)
• Accessing a function that is the batch equivalent of one of the online
functions
• Invoking a batch-only function (e.g., SCHEDULE or LIST)
• Accessing a specific record or group of records
• Using SET ZCOM to issue command (e.g., ZDISPLAY)
• Issuing a command using SET SCOM within an execution of ZEKESET
• Invoking a global database function (e.g., BACKUP or RESTORE)
• Logging off Zeke in this initiator
ZEKECMD A request from the ZEKECMD API (e.g., issuing a command). This request can
originate from a batch program, a TSO or CMS user’s address space, or a
multiuser address space (CICS).
ZEKEVAR A request from the ZEKEVAR API (e.g. accessing a variable). This request can
originate from a batch program, a TSO or CMS user’s address space, or a
multiuser address space (CICS).
386
9 Security
Processing Logic
This flowchart represents the general flow of Zeke security processing and how Zeke
determines which security functions are invoked:
Access request
Y
Is it a hard-coded
ESI call?
A
Y Y
N Does internal N
Does ESI apply
to this call? security apply?
Y Y
A Allow/Deny
request
Every request is assumed to be allowed until it is denied by one of the three security
processes (i.e., ESI, internal security, or a user exit).
External Calls
Security calls to ESI have been hard-coded for these Zeke global database functions—
CREATE, RESTORE, BACKUP, and STATUS—to provide the most security when the
integrity of the database is in question and security criteria might not be accessible.
387
ASG-Zeke Scheduling for z/OS User’s Guide
If you have an external security product on your system, you might be required to set up
and define authorized users for the Z$CATAL external class before you can run the
CREATE or RESTORE functions. To do so, grant at least one user ALTER-level
authority to these resource (entity) names:
• BACKUP##
• CREATE##
• RESTORE#
• BLOCK###
• STATUS##
If you do not define the class and authorized users, your request could be denied
(depending how your security product handles calls with undefined classes). If the return
code generated and passed to SAF from your security product is 0 or 4, then Zeke allows
the request without the class and resource names. If the return code is not 0 or 4, then
Zeke denies the request. Also, if a user security exit exists, the request could be denied.
See “Security Classes and Resource Names” on page 406 for important details about the
Z$CATAL class.
External security for other calls are activated by the generation option ESIActv. If
ESIActv is set to N, there are no calls to external security (except for Z$CATAL) and,
instead, they are passed to internal security. Even when using external security, there
could be situations when the administrator wants to revert to internal security. This is
especially useful for backup in situations when the security product is disabled.
The user security exit ZEKE15B (if present) is called after all other security verification
has occurred. This exit can only deny requests that (up to this point) are allowed or
change the user ID to be used for the internal security logon. The exit cannot allow
requests that have already been denied.
Zeke address space commands (prefixed with #) and Zeke server commands (prefixed
with $) are authenticated only through external security (if enabled).
By default, commands are authenticated against profiles created in the Z$CMD class in
the external security product.
388
9 Security
Security Tracing
You can trace the Zeke security processing flow using the operator command
ZD SECURITY. The trace displays the security parameter list contents at various key
points during processing. This is the same parameter list that is passed to any existing
user security exits (e.g., ZEKE15B).
Internal Security
This section explains how Zeke internal security processing works. Internal security is
enabled by default, unless external security is enabled. This is controlled by the Zeke
generation option ESIActv:
• If ESIActv is set to N (i.e., do not enable external security), then internal security is
called (by default).
• If ESIActv is set to Y, then the process option for each defined external security
class determines whether internal security is called for that class. If external
security has not been set up, then the default process option (N4) for each class will
call internal security. See “Implementing External Security” on page 411 for more
information.
389
ASG-Zeke Scheduling for z/OS User’s Guide
These are the terms that identify the ID types related to internal security:
Term Description
Class ID Name of a class record. The operator record Zeke uses for internal security also
points to a class record in the Zeke database. The class record extends the
security of the operator record by specifying which types of access are available
to the major Zeke functions and which Zeke operator commands the operator is
authorized to use. Multiple operator records can specify the same class record.
Note:
Keep in mind that class has a different meaning in internal security than in
external security and the two concepts are unrelated.
MVS User ID User ID that identifies a user, job, or address space in the MVS environment
(and also might be referred to as a TSO or ROSCOE user ID, an SAF user, or a
RACF user ID). Zeke uses the MVS user ID to determine which security records
in the Zeke database to use for internal security.
Operator ID Name of the operator record in the Zeke database that Zeke uses for the MVS
user ID associated with the current operation.
Zeke attempts to find an operator record with a name that matches the MVS user
ID. If it does not find a match, Zeke searches for a default operator record to use
for internal security as determined by Zeke generation option settings. As a
result, the operator ID is either the same as the MVS user ID or the same as the
default operator ID.
The operator record in use contains the name of a class record in the Zeke
database to use for determining access to Zeke functions. It also contains a list
of one or more user ID masks to use for determining access to particular events
and variables.
User ID Event and variable records in the Zeke database contain a user ID field that is
used for internal security. Zeke does not map the user IDs in the event and
variable records to the actual MVS user ID; instead, Zeke matches the user IDs
against the user ID masks in the operator record.
In summary, the MVS user ID determines which operator record to use to control a user’s
access. The operator record defines the user’s access to Zeke functions (by authorizing
access to events and variables based on the user ID on those records and by specifying an
authorization class).
390
9 Security
Online Access
The ReqOpid generation option controls access to the Zeke online system. You can use
this option to restrict users from accessing the online system:
• If ReqOpid is set to Y, only users that have an MVS user ID that matches the name
of an existing operator ID (i.e., the name of the operator record) can access the Zeke
online system. Otherwise, a user is assigned a default operator ID and cannot use
the Zeke online system.
Caution! Before setting ReqOpid to Y, be sure that at least one user has an MVS
user ID that matches an operator ID that is authorized to access the Zeke
online system. Also, ensure that the assigned operator ID specifies a class
ID that grants WRITE access to security records.
• If ReqOpid is set to N, Zeke allows any user to access the Zeke online system.
Caution! Because you must create and maintain operator and class records using
screens in the Zeke online system, be sure that at least one user always
has WRITE access to security records.
Operator Record
The operator record controls which EMRs, SQRs, and variable records a user can access
and to what authority level. Complete these steps to enable this type of security:
• The event or variable record definition must contain a user ID. Multiple event and
variable records can specify the same user ID.
• The user ID (or a mask that will select that user ID) must be defined in the operator
record so that it can be compared when a user attempts to access the event or
variable record.
For each user ID or mask in the operator record, you can specify the authority level
(i.e., NONE, READ, or WRITE) for each record type.
• Zeke tests the list of user IDs (or masks) in the operator record from the top,
downward, and uses the first match. If no match is found, Zeke denies access to the
event or variable record.
391
ASG-Zeke Scheduling for z/OS User’s Guide
Class Record
The operator record that Zeke associates with a user specifies which class record to use to
determine access to Zeke main functions (through Zeke Primary Menu options) and also
controls which Zeke operator commands the user is authorized to issue.
For operator commands, several levels of access could be required (depending on the
function of the command). A user must be authorized to issue a command, but also could
require access to database records and the ZCOM online function. The user’s
authorization depends on whether the command requires access to database records and
whether the command verb implies WRITE access.
For example, to be fully authorized to issue the operator command ZADD EV 1, the
user must have these levels of authorization:
Event 1 WRITE
Batch Access
Zeke associates a batch job (issued through the ZEKE or ZEKESET utility programs)
with the MVS user ID of the submitter, and uses the MVS user ID to select the operator
and class records to use for securing access. For batch jobs, Zeke also must determine
what action to take when access to a command or function is denied (which is controlled
by the SecFail generation option):
• If SecFail is set to C, the job is cancelled.
• If SecFail is set to I, the request is denied and processing continues.
Note:
You do not control security for the SCHEDULE function through internal security. You
must secure the SCHEDULE function either using external security or ZEKE15B user
security exits.
Operator Commands
Zeke uses the MVS user ID to determine the security records to use for authorization of
commands (e.g., issued through Zeke online systems, batch jobs, system consoles, or
SDSF) as for any other function.
392
9 Security
Some system consoles are not associated with an MVS user ID; these consoles do not
require a logon. When a user issues a Zeke operator command from this type of system
console, Zeke uses the operator record named OPERATOR for internal security. Be sure
that you define the OPERATOR operator record and its associated class record to provide
an appropriate level of authority to users that might already have access to such consoles.
When you enable internal security, all functions initially are allowed by default.
If you decide to structure your internal security with restrictive access, you must define
class IDs and operator IDs using this general procedure:
• Define class IDs to group individuals who need similar access to the online
functions and commands. See “Defining Class Records” on page 399.
• Define an operator ID for each user to be granted access to Zeke. See “Defining
Operator Records” on page 402.
• Define which online functions and operator commands can be accessed by an
operator ID by assigning a class ID.
Option Description
SECWARN=YES Enables internal security tracing. When both of these conditions exist, Zeke
allows actions that normally would be disallowed by internal security in the
earlier Zeke release:
• The source of the action is other than the Zeke online system (e.g., a
batch command, the system console, a Zeke API, etc.)
• The associated MVS user ID does not match an operator record in the
Zeke database.
When internal security allows an action based on this option, Zeke issues
warning messages that enable you to make necessary changes to your
internal security setting during the conversion process.
393
ASG-Zeke Scheduling for z/OS User’s Guide
Option Description
For example:
Z151NW SECWARN=YES ZEKE INTERNAL SECURITY RC CHANGED FROM
DENY TO ALLOW
Z151OW SRC=BATCH,TYP=Z,USER=OP0005 ,OPERATOR=NEWOPR
Note:
During startup of the Zeke started task, messages are issued to remind you
that this security option is activated.
After all security records have been reviewed (and updated, if necessary)
according to the internal security rules in Zeke 6.0 and later, you can change
this setting to SECWARN=NO to disable internal security tracing for future
startups.
Option Description
SecFail Indicates the action for Zeke to take if batch security verification fails.
DefOpid Specifies the default operator ID (operator record name) to use when the
user’s MVS user ID does not match an existing operator record (i.e., the user
is unknown to Zeke). The default value is OPERATOR. If the specified value
does not match an existing operator record, then Zeke denies access to all
functions by any user that is associated with this operator ID.
Zeke does not use the DefOpid value for commands issued from a system
console that does not require a user logon (i.e., the user does not have an
associated MVS user ID). Zeke always uses the operator ID OPERATOR for
users that issue commands from this type of console. Because you cannot
change the operator ID used for this type of console, ASG recommends that
you change the DefOpid value to the name of an existing operator ID.
394
9 Security
Option Description
SecExitw=xxxx Number of bytes of storage allocated to call the Zeke security exit routine
(ZEKE15B).
1 From the Zeke Primary Menu, enter option 6. The Security Control Functions
screen is displayed:
2 Enter 1 on the Option line, and press Enter. The Directory of Operator IDs screen
is displayed:
Enter below the Event User IDs or User ID mask, and for each User ID,
enter: R - READ MODE W - WRITE MODE OR N - NOT ALLOWED
6 In the Class ID field, enter a valid class ID (see “Defining Operator Records” on
page 402), or keep the default class A, and press Enter. By default, this class record
enables access to all Zeke functions and operator commands (unless the specified
class has been modified).
7 From the Zeke Primary Menu, enter option 4.1. The GENOPTs Directory screen
displays a listing of all GENOPTs in the Zeke database:
Zeke System:
8 Enter E to the left of the GENOPT with the system name *GLOBAL (which
contains the security options), and press Enter.
396
9 Security
The Generation Options EDIT screen is displayed with the options in alphabetical
order:
9 To quickly find the options in the security category, you can use these primary
commands (see “Viewing GENOPT Details” on page 293 for more information):
a Enter CAT ON on the Command line, and press Enter to switch to category
view.
b Enter LOC SEC on the Command line, and press Enter to scroll to the
security options.
Or
To quickly find a particular field, you also can use the primary commands FIND (a
string) or LOCATE (a line containing a string). For example, either of these
commands would scroll to the DefOpid field:
LOC DEFO
FIND OPID
Or, you can simply use the F8 (down) and F7 (up) keys to scroll, as necessary.
397
ASG-Zeke Scheduling for z/OS User’s Guide
This is an example of the detail view by category for the same GENOPT:
10 To require that a user is defined in the Zeke database as an Zeke operator ID before
access to the Zeke online system can be granted, locate or scroll to the ReqOpid field.
Enter Y in the ReqOpid field and press Enter (see “ReqOpid” on page 395 for more
information).
Or
To allow access for users who are not defined to Zeke, take these actions:
a Locate or scroll to the DefOpid field, specify a valid operator ID (see “Defining
Operator Records” on page 402), and press Enter. Because the default value
OPERATOR specifies the operator ID that Zeke uses associates with any user
that accesses a system console without a logon requirement, ASG recommends
that you define a separate operator ID to use as the DefOpid value
11 Specify whether that you want to cancel a batch job when an unauthorized request is
encountered:
Or
398
9 Security
c Press Enter.
12 If you plan to use a ZEKE15B user security exit, locate or scroll to the SecExitw
field. Specify the number of bytes of storage allocated to call the security exit routine
(ZEKE15B), and press Enter.
13 To activate the updated options, enter ZRELOAD GENOPT on the Command line,
and press Enter.
The default class ID is A (which allows WRITE access to all online functions and
operator commands); however, ASG recommends that this level be reserved for the Zeke
security administrator.
1 From the Zeke Primary Menu, enter option 6.2. The Directory of Command
Classes screen is displayed:
Class ID==>
Class Event Zcom Cal Opt Work Sec Doc Var Res
A W W W W W W W W W
B W N W W W W W W W
***************************** Bottom of data ******************************
399
ASG-Zeke Scheduling for z/OS User’s Guide
2 Perform the steps in the Action column (depending on the desired result).
Update an existing class ID 1 Enter E to the left of the class ID that you want to
update.
2 Press Enter.
Go to step 3.
Copy a class ID 1 Enter C to the left of the class ID that you want to copy,
and press Enter.
2 Specify the new class ID in the Class field, and press
Enter.
This procedure is complete.
Delete an existing class ID 1 Enter D to the left of the class ID that you want to
delete, and press Enter.
2 Enter DELETE on the Command line to confirm, and
press Enter.
This procedure is complete.
400
9 Security
Class Id: A
Allowed functions
Event - W Work Center- W (R=Read only W=Write allowed)
Zcom - W Security - W (A=Auto entry in write mode)
Calendar - W Document - W (N=Not allowed)
Options - W Variable - W
Restart - W
3 To the right of each function (the main Zeke online functions are shown on this
screen), specify the level of access allowed for this class ID. These are the valid
authority level codes:
Code Meaning
R (READ only) Zeke allows an operator assigned to this class to browse records
in this online function. Not valid for the work center function.
A (Auto entry in WRITE mode) Zeke displays the first screen in this online
function when the operator logs on. You can assign this code to only one
online function.
4 To the right of each operator command, specify whether access is allowed for this
class ID. These are the valid codes:
Code Meaning
401
ASG-Zeke Scheduling for z/OS User’s Guide
Code Meaning
Note:
You can further limit access to the online functions as granted by the class ID. To
do so, you can specify user IDs on the operator record (see “Defining Operator
Records” on page 402 for more information).
You assign an operator ID to each authorized user and assign each operator ID to a class
that specifies the functions and commands that are allowed for users with that operator
ID. You can restrict access further by the user ID (which controls user access to specific
event and variable records).
1 From the Zeke Primary Menu, enter option 6.1. The Directory of Operator IDs
screen is displayed:
402
9 Security
2 Perform the steps in the Action column (depending on the desired result):
Delete an existing operator ID 1 Enter D to the left of the operator ID to delete and
press Enter.
2 Enter DELETE on the Command line to confirm and
press Enter.
This procedure is complete.
Enter below the Event User IDs or User ID mask, and for each User ID,
enter: R - READ MODE W - WRITE MODE OR N - NOT ALLOWED
******** W W W W W
3 In the Class ID field, specify the ID of the class to which you want to assign this
operator.
403
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
The default class ID is A (which allows WRITE access to all online functions and
operator commands). ASG recommends that this level be reserved for the Zeke
security administrator. See “Defining Class Records” on page 399 for information
on defining class IDs.
4 In the User ID field, enter a user ID to either limit or grant access to Zeke database
records. You can enter a specific or a generic user ID or mask (e.g. you could specify
PAY***** to control access to all events with a user ID beginning with PAY). You
can enter ******** to grant access to all events.
Zeke supports mixed-case user IDs. You can use the ISPF command CAPS to
toggle between mixed and upper case modes. The current mode is displayed in the
upper right portion of the screen.
The authorized user IDs are checked in columnar sequence. For example, you could
allow access to user ID BILL0501, but deny access to any other user ID beginning
with BILL. To do so, you would enter user ID BILL0501 early in the list
(allowing access), and then enter user ID BILL**** later in the list (denying
access).
Zeke also enables you to specify blank user IDs (i.e., composed of all spaces) in
operator records, and allows user ID masks containing leading spaces, embedded
spaces, trailing spaces, or all spaces.
Note:
When you create variables with a blank user ID, you must specify the blank user ID
to have WRITE access to variables and work centers.
5 Below each online function, indicate the level of authority access. These are the valid
codes:
Code Meaning
W (WRITE allowed) Zeke allows users assigned to this operator ID to browse and
maintain records using this online function.
R Default. (READ only) Zeke allows users assigned to this operator ID to browse
records using this online function. Not valid for the work center function.
N (Not allowed) Zeke denies users assigned to this operator ID access to this
online function.
404
9 Security
External Security
Zeke external security offers added benefits over internal security by enabling more
comprehensive security at a more detailed level and providing more flexibility in
establishing access criteria.
Zeke uses ESI to pass security information to the SAF security interface. This enables
you to use a third-party security product (e.g., RACF or CA-ACF2) to control access to
resources for specific Zeke functions. You must have installed and be familiar with your
external security package before using this option. Also, be familiar with Zeke internal
security because you can use a combination of internal and external security for your
system. See “Zeke Security Processing” on page 384 for an overview.
External security is primarily object-oriented. Its main focus is securing the data
structures that contain the Zeke information, as opposed to securing the processes or
functions used to access those structures. A few external security classes are
function-oriented because, in certain situations, securing a process could be more
appropriate than securing the structure. This provides you the flexibility to set up the
most effective security system for your environment.
For example, access to SQRs can be controlled by function (where access to the ZCOM
online screen and the Zeke operator commands is restricted) or by object (where access to
the SQRs themselves is restricted). Access to both functions and objects is controlled by a
security class. Because privileges and restrictions provided by classes could overlap, it
typically is not necessary to activate all classes to achieve the desired security level.
Note:
The term class has different meanings in internal and external security; the types of
classes used for internal and external security are unrelated.
As another example, Zeke variables can be accessed using any of these methods:
• The Variable option in the online system
• A Zeke command (ZSET VAR)
• The ZEKESET program (SET VAR)
• Completion of a work center
These are some of the different ways you could secure access to variables:
• Using the Z$VAR class secures access to variable records that is attempted by
requests made through the online system, a Zeke command, the ZEKESET
program, or by completion of a work center.
• Using the Z$ONLINE class controls who can access the ZCOM, variable, and work
center menu options in the online system.
405
ASG-Zeke Scheduling for z/OS User’s Guide
• Using the Z$SET class controls who can issue the special commands available in
the ZEKESET utility program.
• Using the Z$CMD class controls who can issue certain commands.
Each class has a resource name format that contains the information that is used to make
the security decisions. The resource name can be broken down into elements. When the
resource name is built for the SAF call, the value of the element is inserted into the
resource name.
The eligible elements for each class are listed on the X1FOFSEL page of the ESI
Customization screen. These are the types of resource name elements:
Fields Most elements that can be a part of the resource name are fields in the records
being secured. For example, for the class that secures the EMR (Z$EMR),
the eligible elements would include EVENTNAME, APP, and GROUP.
Structures Some elements are structures that are associated with the Zeke database (e.g.,
catalog ID and the system where Zeke are running).
Constants These elements get their values from a set of constants applicable to that
element (e.g., the source of the request). If a command is entered from the
console, the source is CONSOLE. Likewise, if a command is entered
through the ZCOM function, the source is ONLINE.
User-defined User-defined constants and delimiter characters are also eligible elements.
406
9 Security
Element Description
Catalog ID Unique, catalog identifier (up to eight characters long) determined when the
Zeke database is created. The catalog ID appears after the word CATID in
the last line of output from a ZID command. Once created, the catalog ID
cannot be changed, even if the database is restored from a backup dataset.
Command Command verb issued. For example, Z$CMD class (e.g., ZID, ZDISPLAY,
ZALTER, etc.) or Z$SET class (e.g., SET, CDATE, etc.).
When a command verb element is used in the resource name for a security
class, only the command name is included in the security call made by the
Zeke command processor, not the command text.
Command code Type of command issued from an SCOM event. These are the valid codes:
C System command
Z Zeke command
V VM command
P VSE/POWER command
Record type Subordinate record type to which access is requested (e.g., JCL or DOC are
sub-records for an EMR).
Source Source of the request that caused the security call to be made (e.g., if a
command is entered from the console, then the value of the source field is
CONSOLE.)
Subsystem name OASIS subsystem under which this Zeke system is running. Multiple
subsystems enable the user to run more than Zeke system on the same
operating system. This value is displayed in ZID command output.
407
ASG-Zeke Scheduling for z/OS User’s Guide
These are the Zeke security classes, along with their resource names and authority levels
(see “Authority Levels” on page 384 for an explanation of the different authority levels
by class):
Z$ECDR Secures access to the external class definition records (ECDRs). READ/UPDATE/ALTER
Resource name: Zeke-catalog-ID
408
9 Security
Z$ONLINE Secures access to the Zeke online functions. Typically, this READ
option is not necessary if all of the desired records have been (enables READ mode for that
secured. section of the online)
Note: UPDATE
Options to which you do not have access are not displayed on (enables WRITE mode)
the Zeke Primary Menu.
409
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
Parameters provided by the user are used to build the resource
name for one SAF call.
410
9 Security
ASG also recommends that you activate all classes initially (except for the Z$ONLINE
class). After some use and testing, you might want to deactivate or combine some classes
into the same external class name, or you might want to activate the Z$ONLINE class.
The Z$CATAL class is unique in that the external class name, the process option, and the
resource name format cannot be changed. Because this class incorporates functions such
as a database RESTORE and CREATE, the SAF call is fixed to ensure that the database
as a resource is secure under all conditions.
Before making any changes to the external security screens in the Zeke online system,
review the ESI chapter of the ASG-OASIS for z/OS Reference Guide (particularly the
section about setting up ESI).
411
ASG-Zeke Scheduling for z/OS User’s Guide
1 From the Zeke Primary Menu, enter option 6.3. The ESI Customization screen
displays the X1SELECT page:
Each line represents an ESI class definition record that is uniquely defined by the
system ID and the internal class name.
Change the external class 1 Enter EDIT on the Command line, and press Enter.
name
2 In the External Class field for the class to change, specify
the new external class name (which must also be defined
in your external security product) that is used for SAF
calls.
3 Press Enter.
Go to step 6.
412
9 Security
Copy a class record with 1 Enter C to the left of the record to copy.
all of its attributes to
2 Specify the new system ID in the “Copy to” System field.
another system (that shares
the same Zeke database) 3 Press Enter.
4 Perform any additional actions in this table (depending on
the desired result) to customize the new class record.
Go to step 6.
Delete a class record with Enter D to the left of the record to delete, and press Enter.
all of its attributes
Go to step 6.
Note:
You cannot delete class records for the default system (********).
413
ASG-Zeke Scheduling for z/OS User’s Guide
3 Press Enter.
Go to step 6.
Change the resource name Enter F to the left of the class name to change, and press
format for a security class Enter.
Go to step 3.
The ESI Customization screen displays the X1FRMAT1 page with the current list
of elements for the specified resource name format. This example shows the default
resource name format for the Z$EMR class:
--+---1----+----2----+----3----+----4----+----5----+----6----+----7---+--8
aaaaaaaa.bbbbbbbb
3 Perform the steps in the Action column (depending on the desired result)
Add an element 1 Enter EDIT on the Command line, and press Enter.
2 Specify the code to the left of an element to position the
new element. These are the valid codes:
3 Press Enter.
Go to step 4.
414
9 Security
Change a portion of an 1 Enter EDIT on the Command line, and press Enter.
element to be included in
2 Specify the beginning position in the Start field.
the resource name format
3 Specify the element length in the Length field.
For example, if the element value is ABCDEDFG (i.e.,
has a start position of 1 and length of 8), and that you
want to select CDE as the new value, enter 3 in the
Start field and 3 in the Length field.
Go to step 6.
Restore the resource name If you have saved changes to the format and want to cancel
format to the default them, Enter RESET on the Command line, and press Enter.
Exit screen without saving If you have made changes to the format that you do not want
changes made to the to keep and have not saved them, Enter CANCEL on the
format Command line, and press Enter.
Delete an existing element 1 Enter EDIT on the Command line, and press Enter.
2 Enter D to the left of the element that you want to delete.
3 Press Enter.
Go to step 6.
The ESI Customization screen displays the X1FOFSEL page with a list of eligible
elements for this class. This example shows the eligible fields for the Z$EMR class:
415
ASG-Zeke Scheduling for z/OS User’s Guide
4 To add the element to the resource name format, enter C to the left of the desired
element and press Enter.
5 After all the desired elements are included in the resource name format, press F3.
6 For each class that you updated, issue the OASIS operator command RELOAD to
replace the in-storage ESI class definition record. Include the corresponding internal
class name for the record to be replaced. For example, this command reloads the
Zeke operator commands:
Activating ESI
To activate ESI
1 From the Zeke Primary Menu, enter option 4.1. The GENOPTs Directory screen
displays a listing of all GENOPTs in the Zeke database:
Zeke System:
2 Enter E to the left of the GENOPT with the system name *GLOBAL (which
contains the security options) and press Enter.
416
9 Security
The Generation Options EDIT screen displays the options in alphabetical order:
3 To quickly find the options in the security category, you can use these primary
commands (see “Viewing GENOPT Details” on page 293 for more information):
a Enter CAT ON on the Command line, and press Enter to switch to category
view.
b Enter LOC SEC on the Command line, and press Enter to scroll to the
security options.
Or
To quickly find a particular field, you also can use the primary commands FIND (a
string) or LOCATE (a line containing a string). For example, either of these
commands would scroll to the DefOpid field:
LOC DEFO
FIND OPID
Or, you can simply use the F8 (down) and F7 (up) keys to scroll, as necessary.
417
ASG-Zeke Scheduling for z/OS User’s Guide
This is an example of the detail view by category for the *GLOBAL GENOPT:
4 For the ESIActv generation option, set the value to Y to activate ESI.
5 For the DefOpid generation option, specify the default Zeke operator ID to be
assigned when an undefined operator logs on (see “DefOpid” on page 394 for more
information).
Although DefOpid applies solely to internal security, it must be set when activating
ESI even if you plan to use only external security. This is because the ESI process
option provides for the possibility to revert to internal security under certain
circumstances. In such a case, the default operator ID is required. This operator ID
must be supplied to Zeke during log-on. If you plan to use ESI exclusively, it is not
important what level of authority is assigned the default operator ID. If you intend to
use internal security with external security, set it to the default level of authority.
418
9 Security
7 Determine whether to enable primary records (e.g., events) to be displayed for users
that have been denied access:
• To display primary records, verify that the SecHide1 option is set to N.
• To hide primary records, verify that SecHide1 is set to Y. Any Zeke online
screen that displays a directory of records will only display those records for
which the user has at least READ access.
9 To activate the updated options, enter ZRELOAD GENOPT on the Command line,
and press Enter.
10 If you have not defined the external class name, see “Modifying ESI Classes” on
page 411.
You now are ready to test the implementation. For information on testing ESI with
ESITRACE, see the ASG-OASIS for z/OS Reference Guide.
419
ASG-Zeke Scheduling for z/OS User’s Guide
420
Zeke Web Services
Chapter 10:
10
Zeke Web Services enables you to access Zeke events and work center functions from a
Web browser instead of requiring you to establish access to Zeke through an online
facility (e.g., TSO or ISPF) or an OpsCentral client. This chapter discusses these topics:
Topic Page
Overview 421
Accessing Zeke Web Services 422
Setting Zeke Web Services as Your Home Page 423
Accessing Events through the Web 423
Displaying an Event Directory 423
Displaying an Event Detail Listing 427
Managing Work Centers through the Web 433
Accessing Work Centers 433
Creating and Maintaining Custom Views 436
Completing a Work Center 442
Enabling or Disabling a Work Center 447
Refreshing a Work Center 448
Overview
Zeke Web Services takes advantage of the Zeke server to enable remote access to Zeke
from a Web browser using Hypertext Transport Protocol (HTTP).
The Zeke server is a subtask that runs in the Zeke address space and includes an
embedded HTTP/HTTPS server to provide Web Services. The Zeke server accepts
requests and responds with dynamic XML data and static documents (i.e., CSS, GIF,
ICO, JS, XSL). A Web browser, or an application such as ASG’s Business Service
Platform (BSP) Enterprise Workload Automation solution, processes the XML data to
create dashboard-type objects to provide an overview of the systems you are monitoring.
Access to Zeke through a Web browser can be secured (i.e,. through SAF) or unsecured
(i.e., controlled based only on the default operator ID).
421
ASG-Zeke Scheduling for z/OS User’s Guide
See the ASG-Zeke Scheduling for z/OS Installation Guide for details on configuring the
Zeke server to enable Web Services.
http://your.mainframehost:nnnn/zeke/
where:
your.mainframehost is the host name or IP address for Zeke Web services.
nnnn is the port number for Zeke Web Services.
Note:
These values are defined as environment variables in the ZENVIRN environment
file. See the ASG-Zeke Scheduling for z/OS Installation Guide for details.
From this page, you can use links to access either the list of scheduled work centers
or the page for maintaining custom views of the work center list. You also can
access Zeke events by specifying the appropriate URL.
422
10 Zeke Web Services
See “Accessing Events through the Web” on page 423 and “Managing Work
Centers through the Web” on page 433 for detailed procedures.
In the server root path, create an index.html document with these contents:
This document returns for the root path ‘/’ and then redirects your browser to the Zeke
Web Services (‘/zeke/’) page.
For more information on events (including how they are defined), see Chapter 4,
“Events,” on page 49.
1 Optional. Start the Web interface as described in “Accessing Zeke Web Services” on
page 422. The Zeke Web Services home page appears.
423
ASG-Zeke Scheduling for z/OS User’s Guide
http://your.mainframehost:nnnn/zeke/event/dir[type]
[?query-variables]
where:
your.mainframehost is the host name or IP address for Zeke Web Services.
nnnn is the port number for Zeke Web Services.
type is the optional request type. The valid values are .html (default), .text,
and .xml.
query-variables specifies the optional query variables to use for selecting
which events to display in the directory. Consider these points when using variables
to specify selection criteria in the request path:
— When you append multiple query variables to the request path, precede the first
one with a question mark (?) and precede all subsequent ones with an
ampersand (&). For example, this path would create a directory of all scheduled
job events that also displays the jobname and JCL source type for each event:
.../zeke/event/dir?type=job&select=jobname,jcltype
— When specifying multiple values for a variable that allows it, use a comma to
separate the values.
— You can specify ranges of values.
— You can use wildcard and placeholder characters.
These are the valid query variables, which you can use to specify basic identifying
information for the events you want to include in the directory:
Note:
You also can point your Web browser to this URL to display a list of valid query
variables you can include on the request path:
http://your.mainframehost:nnnn/zeke/event/help
Variable Description
activated= Specify whether the EMR is activated (i.e., can be scheduled). These are
the valid values:
424
10 Zeke Web Services
Variable Description
For example:
.../zeke/event/dir?activated=yes
drl= Specify the disaster recovery level (up to 2 digits long) to match. The
valid values range from 1 through 99. For example:
.../zeke/event/dir?drl=1-10
ename= Specify the event name (up to 12 alphanumeric characters) to match. For
example:
.../zeke/event/dir?ename=asgmsgevt1,asgcmdevt1
etype= Specify the event type to match. These are the valid values:
1 Job event.
job
2 Message event.
msg
5 VM CP command.
vcom
8 REXX event.
rexx
425
ASG-Zeke Scheduling for z/OS User’s Guide
Variable Description
For example:
.../zeke/event/dir?etype=msg,cmd
events= Specify the event number (up to 6 digits long) to match. For example:
.../zeke/event/dir?events=1,6,10-20
APPL Application ID
CALID Calendar ID
GROUP Group ID
JOBNAME Jobname
426
10 Zeke Web Services
Variable Description
SYS System ID
For example:
.../zeke/event/dir?type=job&select=jobname,jcltype
The event directory displays the requested information (or the default information if
no fields were specified) for the selected events:
1 From the event directory, you can select an event and click its event number to
display details.
Or
427
ASG-Zeke Scheduling for z/OS User’s Guide
http://your.mainframehost:nnnn/zeke/event/list[type][?query
variables]
where:
your.mainframehost is the host name or IP address for Zeke Web Services.
nnnn is the port number for Zeke Web Services.
type is the optional request type. The valid values are .html (default), .text,
and .xml.
variables specifies the optional query variables to use for selecting which
events to include in the detailed listing. Consider these points when using variables
to specify selection criteria in the request path:
— When you append multiple query variables to the request path, precede the first
one with a question mark (?) and precede all subsequent ones with an
ampersand (&). For example, this path would list details for events numbered
1 through 20 that currently are active (running):
.../zeke/event/list?events=1-20&active=yes
— When specifying multiple values for a variable that allows it, use a comma to
separate the values.
— You can specify ranges of values.
— You can use wildcard and placeholder characters.
These are the valid query variables, which you can use to specify basic identifying
information for the events you want to include in the event detail list:
Note:
You also can point your Web browser to this URL to display a list of valid query
variables you can include on the request path:
http://your.mainframehost:nnnn/zeke/event/help
Variable Description
activated= Specify whether the EMR is activated (i.e., can be scheduled). These are
the valid values:
These are the valid values:
428
10 Zeke Web Services
Variable Description
For example:
.../zeke/event/list?activated=yes
etype= Specify the event type(s) to match. These are the valid values:
1 Job event.
job
2 Message event.
msg
5 VM CP command.
vcom
8 REXX event.
rexx
For example:
.../zeke/event/list?etype=msg,cmd
429
ASG-Zeke Scheduling for z/OS User’s Guide
Variable Description
limit= Maximum number of events to display. The valid values range from 1
through 1000. For example:
.../zeke/event/list?limit=20
If you do not specify a limit, the default value (as specified in the
ZENVIRN environment file) is used. See the ASG-Zeke Scheduling
for z/OS Installation Guide for details.
quiet Suppresses error messages from the event detail list results (if any errors
occur during record access). For example:
.../zeke/event/list?quiet
DOC Displays the documentation (of any type) for the event.
430
10 Zeke Web Services
Variable Description
SECGROUP Displays the name of the security group (for MVS job
events).
431
ASG-Zeke Scheduling for z/OS User’s Guide
Variable Description
year= Specify the year to determine the OCCURS hit information for the
selected events. The default value is the current year. For example:
.../zeke/event/list?year=2014
The event detail list displays the requested information (or the default information if
no fields were specified) for the selected events:
432
10 Zeke Web Services
http://your.mainframehost:nnnn/zeke/event/nextdate[type]
where:
your.mainframehost is the host name or IP address for Zeke Web Services.
nnnn is the port number for Zeke Web Services.
type is the optional request type. The valid values are .html (default), .text,
and .xml.
A work center is a special type of event that is not dispatched by Zeke and requires
operator intervention. Typically, work centers are prerequisites for other events. For a
complete discussion on work center events (including how they are defined and the types
of functions they can perform), see “Work Centers” on page 96.
Note:
The Zeke generation option LoadComm must be set to Y to enable work centers to be
accessed through Zeke Web Services.
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click Work Center List.
433
ASG-Zeke Scheduling for z/OS User’s Guide
By default, the list shows all work centers in the current schedule. You can sort any
column (in ascending or descending alphanumeric order) by clicking on the column
heading.
You can use these additional options to control which information is displayed (and
how it appears):
• Filters enable you to narrow down the number of work centers in the list only
to those that meet specific criteria (e.g., a specific completion status).
• You can display or hide particular columns and change how they are sorted by
default.
See “Creating and Maintaining Custom Views” on page 436 for instructions on
creating and customizing different views.
434
10 Zeke Web Services
Heading Description
Status Status of the work center activity. These are the valid statuses:
(green) Pending
(blue) Done
(yellow) Disabled
Note:
You also can move your cursor over a status icon for a verbal status.
Event Event number. You can click the event number to access the work
center details and documentation.
From the Work Center List, you can access and edit the attributes of the current
view (see “Updating a View” on page 440), delete it (see “Deleting a View” on
page 442), or create a new view using any existing view as a template (see
“Creating a New View” on page 436).
Select an existing view from the Views: drop down list, and click Select.
435
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
Views are listed according to their name and whether they are defined for use by the
current user only or by all users. View names are displayed like this:
viewname:viewdescription
For example:
After you select a different view, you can view the work center list under this view,
edit the view (see “Updating a View” on page 440), use it as a template for creating
a new view (see “Creating a New View” on page 436), or delete it (see “Deleting a
View” on page 442).
A filter controls which work centers are selected for display. You can create custom
filters based on an application, group, system, or user ID, or a status. You also can
bookmark filters for later use.
See “Accessing Work Centers” on page 433 for an example of the default system view
(which is unfiltered and shows all work centers in the current schedule).
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click View Maintenance.
436
10 Zeke Web Services
Column Description
Type Type of view, where wc indicates the view is a work center view.
Level Access level for the view. These are the valid levels:
Note:
Personal views are saved under the name of the
user.
3 Click on the default system view to use it as a template for creating the new view:
Type Name Description Level
wc default default view system
Note:
The default system view is used as a template in this example. All existing views
can be copied to create new personal or shared views.
437
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
You also could click on any other existing view to use it as a template instead of the
default view.
From this screen, you can edit the default system view to create a new view.
Or
You can switch to another view. Select one from the Views: drop down list, and
click Select.
438
10 Zeke Web Services
4 In the Select View Columns section, choose the information that you want to display
in this view. You can select a maximum of 13 columns, which will appear in the view
in the sequence indicated by the column numbers.
a For Column # 01, select a heading from the drop-down list to indicate the
information you want to appear in the first column.
b Select the Visible check box to enable the column to appear in the view.
c Repeat steps a and b for each additional column you want to add to the view.
Field Description
Status Display only the work centers with the specified status. Select one of
these statuses from the drop-down list:
Event Display only the work centers with the specified event number.
You can specify these wildcard and placeholder characters in any of the filtering criteria
described below:
• Specify * to match any number of characters.
• Specify ? to match any single character value.
Appl Display only the work centers with the specified application ID.
Group Display only the work centers with the specified group ID.
Event Name Display only the work centers with the specified event name.
System Display only the work centers with the specified system ID.
Version Display only the work centers with the specified version number.
User Display only the work centers with the specified user ID.
439
ASG-Zeke Scheduling for z/OS User’s Guide
Field Description
8 Select the Shared check box if you want to make this view available to all users.
9 Click Save to create the new view and return to the All Views list. The default system
view is retained.
Updating a View
Typically, you manage and update views through the View Maintenance function. You
also can access and update a view directly from the Work Center List.
To update a view
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
Or
You can switch to another view. Select a view from the Views: drop down list, and
click Select.
3 In the Select View Columns section, update the information you want to display in
this view. You can select a maximum of 13 columns (which will appear in the view
in the sequence indicated by the column numbers).
a For Column # 01, select a heading from the drop-down list to indicate the
information you want to appear in the first column.
b Select the Visible check box to enable the column to appear in the view.
c Repeat steps a and b for each additional column you want to add to the view.
440
10 Zeke Web Services
Field Description
Status Display only the work centers with the specified status. Select one of
these statuses from the drop-down list:
Event Display only the work centers with the specified event number.
You can specify these wildcard and placeholder characters in any of the filtering criteria
described below:
• Specify * to match any number of characters.
• Specify ? to match any single character.
Appl Display only the work centers with the specified application ID.
Group Display only the work centers with the specified group ID.
Event Name Display only the work centers with the specified event name.
System Display only the work centers with the specified system ID.
Version Display only the work centers with the specified version number.
User Display only the work centers with the specified user ID.
6 In the Update View section, update the View Name or Description, as desired.
Note:
If you update the view name or description, a new view is created with these
attributes and the existing view is retained with its previous name (and can be
deleted later, if desired).
441
ASG-Zeke Scheduling for z/OS User’s Guide
7 Update the Shared setting indicating whether you want to make the view available
to other users.
8 Click Save to update the view and return to the All Views list.
Deleting a View
Typically, you manage views (including deleting them) through the View Maintenance
function. You also can access and delete a view directly from the Work Center List.
To delete a view
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click View Maintenance.
The All Views list appears.
4 Click Delete to delete the view and return to the All Views list.
Note:
Some variables are read-only and cannot be changed.
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click Work Center List.
3 Optional. Select a view from the Views drop-down list to narrow down the list of
work centers (e.g., only the work centers that are not done yet).
442
10 Zeke Web Services
4 Locate the work center that you want to complete, and right-click the work center for
a context-menu:
5 Select Complete Work Center to mark the work center for completion.
The work center status changes to Pending. This status enables you to review
documentation or update variables, if necessary.
6 If you have already performed the required work center activity, skip to step 7 on
page 444.
Or
If you need to review the work center information or documentation, or the work
center activity requires you to update a variable, click the event number.
443
ASG-Zeke Scheduling for z/OS User’s Guide
Note:
At any time, you can click Cancel to cancel any changes and return the work center
to its previous state (i.e., Pending or Not Done), and return to the Work Center
list.
7 Click Complete to complete the work center. The work center status changes to
Done.
Viewing Documentation
You can view work center text, scratch, or note documentation from a Web browser;
however, you cannot edit the documentation.
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
444
10 Zeke Web Services
2 From the Zeke Web Services home page, click Work Center List.
3 Locate the work center for which you want to view documentation.
Or
Right-click for a context-menu and select View Work Center.
The Work Center View screen appears.
5 Click on the appropriate tab for the type of documentation you want to view. These
figures illustrate the documentation tab for each documentation type:
445
ASG-Zeke Scheduling for z/OS User’s Guide
6 From this screen, you can view the documentation or you can complete,
enable/disable, or refresh the work center.
Or
Click Cancel to return to the Work Center List.
Setting a Variable
Successfully completing a work center could include requiring the operator to set a
variable value.
446
10 Zeke Web Services
To set a variable
You can enable a work center that has been disabled (which treats the event normally
again).
447
ASG-Zeke Scheduling for z/OS User’s Guide
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click Work Center List.
3 Optional. Select a view from the Views drop-down list to narrow down the list of
work centers.
4 Locate the work center that you want to disable and right-click for a context-menu.
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click Work Center List.
3 Optional. Select a view from the Views drop-down list to narrow down the list of
work centers.
4 Locate the disabled work center that you want to enable and right-click for a
context-menu.
The work center is enabled and its status is changed to Not Done.
448
10 Zeke Web Services
1 Start the Web interface as described in “Accessing Zeke Web Services” on page 422.
2 From the Zeke Web Services home page, click Work Center List.
b Click Refresh.
Or
The work center is refreshed and its status is changed to Not Done.
449
ASG-Zeke Scheduling for z/OS User’s Guide
450
Appendix A
A Appendix A: Zeke “Agentless”
The Zeke Agentless program (ZEKE6NOA) enables you to run Zeke jobs on other
platforms without the need to install OASIS/DMS or a Zeke Agent on the target machine.
It utilizes scp (for secure remote file copy) and ssh (for remote login and command
execution) to send a job defined in Zeke to another system.
Unlike when sending jobs to an actual Zeke Agent, Zeke uses JES and an initiator to
dispatch the job to the target machine rather than dispatching it directly to the target
machine.
Note:
The scheduled event download feature (available with Zeke Agent) is not available with
the Agentless program.
Any target platform that has ssh on it is supported. For example, Linux and Unix have ssh
as part of the operating system; ssh is available as an add-on for many other operating
systems. All standard ssh implementations are supported.
If you have current Zeke Agents that you want to replace with the Agentless program,
you must update your Zeke jobs to call the Agentless program and pass the correct
information.
When executed, the Agentless program sends the job script to the remote box and issues
the commands necessary to execute it. The program then waits until the script finishes
and returns a status; this status is passed back to Zeke.
Note:
The job status passed to Zeke is dependent on the return code that is returned by the ssh
command to the calling program. If the status is greater than 4095, the return status is
reflected as 4095, and you must check the logs for the exact error.
451
ASG-Zeke Scheduling for z/OS User’s Guide
System Requirements
These are the system requirements for using the Zeke Agentless program:
• USS must be configured on the z/OS system.
• At least one user account must be configured to use the HFS file system.
• ssh must be configured on the z/OS system and on all target machines that will
receive work through the Agentless program. The ssh protocol must be version 2.
• Because Zeke does not know a user’s password, ssh must be configured so that it
does not require a password.
Caution! Keep in mind that if the ssh approved user logs on to USS, the user can
send any command to ssh on the configured box.
• Scripts for the jobs must be located in the HFS file system.
• Output from the jobs either must be directed to the HFS file system or must not be
trapped.
2 Copy the ZEKE6NOA executable from the Zeke LINKLIB to the HFS system. You
can copy the executable into any directory (as long as the necessary protection is set
to allow access to approved users).
For example, if your Zeke LINKLIB is named ZEKE.LINKLIB and the target
directory for the executable is /var, you can use this TSO command:
3 Configure ssh on the z/OS system and all target machines that will receive work
through the Agentless program. (Refer to your operating system documentation for
the z/OS and target platforms for details.)
452
Appendix A - Zeke “Agentless”
4 Log on to the USS side of the LPAR where Zeke runs. Be sure to log on as an
authorized user for running the jobs.
5 Generate the set of keys to allow ssh to operate. For example, on an AIX machine,
enter this command:
$ ssh-keygen -t dsa
Note:
This example creates a dsa key set; however, you also can use rsa.
6 Export the public key. For example, on an AIX machine, enter this command:
7 Use FTP to transfer the file public.export to the target machine in ASCII
format.
8 Log on to the target machine as the user under which the jobs will run.
9 Import the key. For example, on an AIX machine, enter this command:
10 Because Zeke does not know a user’s password, you first must call ssh to the target
machine and provide the necessary passwords. Log on to the USS side of the LPAR
as in step 4, then run an ssh command.
If you are prompted whether you want to continue connecting, enter yes. When
you are prompted, enter the user’s password.
453
ASG-Zeke Scheduling for z/OS User’s Guide
Sample output:
11 Rerun the command. If the configuration is correct, you are not prompted to answer
any questions. For example:
12 Repeat this procedure for all users and all target machines.
13 Place your job scripts in the HFS file system. Output from the jobs must either be
directed to the HFS file system or must not be trapped. See “JCL Requirements” on
page 454 for details.
JCL Requirements
Note:
Due to IBM restrictions, the Zeke Agentless program (ZEKE6NOA) can be run only
from the USS environment.
454
Appendix A - Zeke “Agentless”
— The destination is the IP address or hostname of the target machine where the
job is to be sent.
— The user name is the user ID that the job will run under on the target machine.
where:
ASGU1 is the ID of the mainframe user running the job. This user must have authority to
issue ssh commands to the target machine.
455
ASG-Zeke Scheduling for z/OS User’s Guide
ZEKE6NOA Command
This section explains how to use the ZEKE6NOA command.
Syntax
zeke6noa [-dlwV] zekesubsystem destination username [home]
Parameters
These are the valid parameters for the ZEKE6NOA command:
Parameter Description
zekesubsystem The subsystem name for the Zeke executing the command.
home Optional. The home directory for the user on the Windows box (if
applicable). Include this parameter only if ssh does not know home
directory already.
-w This flag indicates a Windows job (if applicable). This causes .bat files
to be created and prevents ??? from being appended to the command (as
is done normally for UNIX). Some ssh on Windows (e.g., OpenSSH)
require this flag.
456
Appendix B
B Appendix B: Interface to ThruPut Manager
If you use ThruPut Manager (by MVS Solutions) to automate your batch workflow, Zeke
event scheduling information can be made available to ThruPut Manager at the time that
Zeke submits the job.
For any JCL that is submitted from the Zeke started task, relevant job scheduling data can
be specified in JCL comment statements.
Even if you do not use ThruPut Manager, inserting relevant Zeke event scheduling data in
your JCL can be useful because it enables the JES job log to reference this information.
See “Job Networking Options” on page 328 for more information using the ZekeCtl
generation option to enable this capability.
Note:
Any JCL from CMS, JESQ, or submitted by a user exit (which are not submitted by the
Zeke started task) is not supported by this interface.
1 Verify that your ThruPut Manager installation is at the appropriate PTF level to
enable the Zeke interface.
Note:
Be sure to keep your ThruPut product updated (i.e., to recognize new name/value
pairs as they become available).
2 Be sure that the global Zeke generation option ZekeCtl is set to Y (the default
value).
457
ASG-Zeke Scheduling for z/OS User’s Guide
ZEKECTL Statements
When submitting a job event to JES, Zeke inserts comment statements (containing
name/value pairs) into the JCL according to these rules:
• Name/value pairs cannot extend past column 71.
• Name/value pairs are listed alphabetically.
• Comment statements are inserted after the job statements, except in these cases:
• If the PosidEnd generation option is set to Y, then the comment statements
are inserted at the end of the job.
• If the Posid generation option is set to Y, then the comment statements are
inserted in front of the Zeke POSID step.
• Name/value pairs can contain character, numeric or logic (i.e., true/false) data.
• If the data is logic, then only the name is present (i.e., to indicate a true
condition). No name indicates a false condition.
• All character values are enclosed in single quotes.
• Zeke does not supply a name/value pair if its value blank or zero.
Note:
All possible name/value pairs might not be present for all jobs.
These are examples of the comment statements that Zeke inserts into the JCL:
//*ZEKECTL CAL='A',CATID='C4E6ACDA',DISPID='C8B149BE',DISPSYS='SYSA'
//*ZEKECTL DUR=0:01,EVT=1,EVTSYS='SYSA',SDATE=2012/322,SUBSYS='SSSI'
If a ZEKECTL comment statement is present in the JCL, the logic descriptor $ZEKE is
set to true to indicate that the job is a Zeke job.
Note:
If the JCL is resubmitted manually outside Zeke, then ThruPut Manager will falsely
identify the job as a Zeke job. If the job must be resubmitted outside Zeke, you must
remove the //*ZEKECTL statements.
458
Appendix B - Interface to ThruPut Manager
Zeke Names
This table describes the valid Zeke names in the name/value pairs to be used by ThruPut
Manager to create $ZEKE descriptors:
Note:
An asterisk (*) indicates that the name/value pair always is present in the JCL.
* CATID character Catalog ID of the Zeke database containing the job event.
(This is the same value that is displayed in the CATID field
when the ZID operator command is issued.)
CPU numeric time Event’s average CPU time (in minutes and seconds from
mmmmmm:ss the EMR. If only seconds, the value will include a leading
0 (zero). For example:
0:12
* DISPID character A unique value that identifies the dispatch of the event (i.e.,
different dispatches of the same SQR will have different
DISPID values).
DRL numeric Event’s disaster recovery level value from the EMR.
DUR numeric time Event’s average duration from the SQR. If only seconds,
mmmmmm:ss the value will have a leading 0 (zero). For example:
0:03
459
ASG-Zeke Scheduling for z/OS User’s Guide
JCLOVRD logic Present (i.e., true) if the event’s JCL was overridden in the
SQR; otherwise, not present (i.e., false).
LATESTART numeric time Event’s ‘late start’ time (Latestart value) from the SQR.
hh:mm The possible values range from 00:00 through 48:00.
MANUAL logic Present (i.e., true) if the event was added to the schedule
manually; otherwise, not present (i.e., false).
MILESTONE logic Present (i.e., true) if the event is a milestone; otherwise, not
present (i.e., false).
MUSTSTART numeric The time by which the job must start running in order not to
date/time be late. This value is based on the ‘late start’ time in the
yyyy/ddd. SQR. If there is no Latestart value specified in the SQR,
hh:mm then the ‘must start’ time is calculated as the average
duration subtracted from the Mustend value in the SQR. If
there is no ‘late start’ or ‘must end’ time, then
MUSTSTART is not present.
If MUSTSTART is present, ThruPut Manager will
calculate the values of these two descriptors when it
evaluates the job:
460
Appendix B - Interface to ThruPut Manager
PDSDD character DD name of the PDS file that contains the event’s JCL from
the SQR. The DD name is not present if the event’s JCL
source is not PDS.
PDSMEM character Name of the member in the PDS file specified by PDSDD
that contains the event’s JCL from the SQR. It is not present
if the event’s JCL source is not PDS.
RESTART logic Present (i.e., true) if the event was restarted; otherwise, not
present (i.e., false).
SCHED numeric time Event’s schedule time from the schedule record. The
hh:mm possible value are from 00:00 through 48:00.
* SDATE numeric date Event’s schedule date from the schedule SQR.
yyyy/ddd
461
ASG-Zeke Scheduling for z/OS User’s Guide
* SUBSYS character Zeke subsystem that dispatched the event. (This is the same
value that is displayed in the SUBSYS field when the ZID
operator command is issued.)
$ZEKE_name
For example, the Zeke name/value EVT=1 becomes $ZEKE_EVT with a value of 1.
If a name/value pair is not present, the descriptor’s value is zero (for a numeric
descriptor), blank (for a character descriptor), or false (for a logic descriptor), unless
noted otherwise in “Zeke Names” on page 459.
If a name/value pair is not known to ThruPut Manager or contains a syntax error, then
ThruPut Manager issues a warning message and the associated descriptor does not
become available in ThruPut Manager; however, the job continues to execute normally.
$ZEKE_JECL_OK
ThruPut Manager uses the logic descriptor $ZEKE_JECL_OK to indicate successful
parsing. A value of true for this descriptor indicates a successful parse.
If a problem occurs, ThruPut Manager will set $ZEKE_JECL_OK to false. In this case,
for example, the user could fail the job in JAL or simply ignore all $ZEKE descriptors.
462
Index
A class records
ADD Event Record by Path Selection defining 399
Criteria screen 261 CLIST commands 202
Add Event Record Function screen 59 colors, changing ISPF screen 34
ADD Event Record Selection Criteria commands
screen 258 CLIST 202
adding events by path 56–58, 261 command events 87
alerts in SCOM events 378
alert tolerance 176 ISPF 30–31, 54, 84, 171, 234, 366
job duration 176 JCL 223–224
OpsCentral 178, 244 operator 13, 68, 72, 85, 87–89, 91, 93,
ALTER, Schedule View command 197 95, 99, 143, 161, 164, 193, 246–
audit options 306 250, 371, 382
auto replies auto reply 161
disabling 165 security 389
displaying 164 POWER 87
enabling 165 REXX 202
managing Zack Fastpath/Autoreply Schedule View 12, 193, 231
tables from Zeke 34 securing 383
responding to outstanding replies 161 system 88
setting generation options 161–162 VM 88
using the AUTORPLY function 162 ZADD, for Schedule View 256
Auto Reply Function screen 162 ZEKE6NOA 456
Auto Reply Summary screen 162 ZKILL 29
Automation option, managing Zack communication, ’Z’ product
Fastpath/Autoreply tables from controlling 320
Zeke 34 completing work centers 102–103
Auto-Reply Function screen 163 Condition Code Validation screen 156
condition codes 11, 155–158
B controlling jobstream flow using
backing up the database 345 variables 372
using a data space 346 conventions page xii
CREATE batch utility
C setting up Z$CATAL class 388
calculating tape drive usage 318 creating the Zeke database 343
Calendar Selection Criteria screen 38 cross-platform dependencies 10, 131
calendars
accessing online 38 D
adding a calendar 39 data space
deleting a calendar 39 database backups using a 346
description 8 running simulation against a 192
special calendars 41 database
standard calendars 40 backup using a data space 346
user accounting calendars 42 creating 348
overview of user accounting creation 343
periods 44 job information contained in 3
CAPS mode 404 moving the vault database 349
463
ASG-Zeke Scheduling for z/OS Installation Guide
464
Index
465
ASG-Zeke Scheduling for z/OS Installation Guide
466
Index
467
ASG-Zeke Scheduling for z/OS Installation Guide
468
Index
469
ASG-Zeke Scheduling for z/OS Installation Guide
470
Index
X
XEOJ/XEOE keywords 127, 141
XML 421
XVAR and ?XVAR keywords 101
471
ASG-Zeke Scheduling for z/OS Installation Guide
472
ASG Worldwide Headquarters Naples Florida USA | asg.com
CD Contents