Chapter 20: Administering JCL-enabled Enterprise Servers

This chapter describes how you can use Enterprise Server Monitor and Control to run JCL jobs on an MTO-enabled enterprise server. It also covers the use of commands to use some JCL facilities.

ESMAC

You can use Enterprise Server Monitor and Control (ESMAC) to run and monitor JCL jobs. You can also use all the facilities described in the chapter Administering Servers Using ESMAC in your Enterprise Server Configuration and Administration Guide, and in the help topics grouped under Administer a Server Using ESMAC. You should familiarize yourself with the contents of that chapter and the associated help topics before reading this chapter.

As an alternative to using the ESMAC interface, you can use some JCL facilities from the command line. For more information see the section Using JCL Facilities from the Command Line.

Visual Appearance

When you first view ESMAC for a JCL-enabled enterprise server, the Server Information page is displayed, as shown in Figure 20-1:

ESMAC Server information page for JCL

Figure 20-1: ESMAC Server information page for JCL

When you run ESMAC on a JCL-enabled enterprise server, you can use it to:

On-the-fly SEPs for JCL

As well as defining permanent batch initiators and printer SEPS, as described in the chapter Configuring MTO-enabled Enterprise Servers for JCL, you can run temporary ones that exist only until the end of the session.

How to...

Like all SEPs, the initiators and printers defined are shown, together with their statuses, on the SEPs page in ESMAC. Click SEPs near the top left of the ESMAC menu to display this.

Running and Controlling JCL Jobs

ESMAC provides facilities for running and controlling JCL jobs, using the JCL Control page.

When a job is submitted, it is immediately syntax checked, and then put onto an input queue to await execution. It goes into execution once an initiator of a corresponding class becomes available. If two or more jobs of the same class are on the input queue, the one with the highest priority is scheduled for execution first.

You can run batch jobs locally or remotely.

How to...

Once the job has completed, you can view details of its execution from the JCL Control page.

How to

You see the JOBnnnnn page appears, where nnnnn is the number of the job. This page gives you access to several more facilities, described under the next section, Viewing Spool Queues.

You can view resource locks; you might want to do this if you suspect that a resource locking issue is holding up one of your JCL jobs.

How to

Viewing Spool Queues

You can view the spool queues from ESMAC.

How to

The queues are listed in Table 1-1.

Button Shows: Details
Input Input queue Jobs waiting to start (usually waiting for an initiator for the correct class to be available)
In Hold Held input queue Jobs that are held (HOLD on the job card, or Hold button on a job’s entry in the Input Queue)
Active Active jobs queue Jobs currently running
Output Output queue Output files waiting to be printed (usually waiting for a printer for the correct class to be available)
Out Hold Held output queue Output files that are held (Hold button on a job’s entry in the Output Queue)
Printing Print queue Output files currently being printed
Table 20-1: Spool Queues

A spool queue that is not empty consists of entries for each job in the queue, with a button bearing the job number at the left-hand side of the page. You can click a job number button to view more details of the job. You see the JOBnnnnn page, where nnnnn is the number of the job. This page gives you access to several more facilities. You can:

The output file details page gives you access to some facilities for controlling and viewing individual output files. You can:

How to...

Viewing the Catalog and Data Sets

You can view the catalog from ESMAC.

How to

From the catalog page you can:

How to...

Using JCL Facilities from the Command Line

You can use some JCL facilities from the command line. Commands are provided for:

These commands are described in detail in this chapter.

For any particular enterprise server, if you are going to invoke any functions via commands, you must use commands to start and stop that enterprise server. These commands are introduced in the section Command-line Interface in the chapter Servers in your Configuration and Administration Guide. All the commands are specified in detail in the help topics Commands.

Starting a Batch Initiator SEP

You use the command cassi to start a batch initiator or batch printer SEP from the command line. Before you use cassi to start a batch initiator or batch printer SEP, you must already have started the enterprise server using the command casstart.

For a full definition of cassi see the topic cassi (JCL version).

Here are some examples:

casstart -rjcldemo
cassi -bABC -rjcldemo

This starts a batch initiator SEP for the classes A, B and C on the enterprise server JCLDEMO.

casstart -rjcldemo
cassi -pA -q"HP LaserJet 4L" -rjcldemo

This starts a batch printer SEP for the class A on the enterprise server JCLDEMO using the printer defined on your machine as "HP LaserJet 4L".

casstart -rJCLDEMO
cassi -pA -q"HP LaserJet 4L" -rjcldemo -zsampprnx -a

This is as above, with the differences that the SEP is started for animation and the printer exit SAMPPRNX is installed.

Submitting JCL Jobs

You use the command cassub to submit a JCL job from the command line to an enterprise server running either on your own machine or a remote machine.

For a full definition of cassub see the topic cassub.

Submitting to a Local Machine

Before you use cassub to submit a JCL job on your machine, you must already have started the enterprise server using casstart.

If the enterprise server does not have a batch initiator SEP defined that handles jobs of the same class as the job you want to submit, you must also start a suitable batch initiator SEP using the command cassi.

For example:

casstart -rjcldemo
cassub -j/var/mfcobol/es/jcldemo/esjcl/esjcl.jcl -rjcldemo

This submits the JCL in the file /var/mfcobol/es/jcldemo/esjcl/esjcl.jcl to the enterprise server jcldemo.

Submitting to a Remote Machine

Before you use cassub to submit a JCL job to a remote machine, you must find out the address of the Web Services listener associated with the service MF JES. To do this:

  1. Open ES Admin for the remote machine.

    How to

  2. On the Home page of ES Admin click Details next to Services in the Objects column for the server that you want to submit a job to.
  3. Note the address of the listener for the service with a service class of MF JES.

You then specify this address using the -s parameter of cassub. For example:

cassub -jc:\program files\micro focus\net express 5.0\base\workarea\jcldemo\esjcl\esjcl.jcl -stcp:192.168.1.102:2811
cassub -j/var/mfcobol/es/jcldemo/esjcl/esjcl.jcl -stcp:192.168.1.102:2811

This submits the JCL in the file /var/mfcobol/es/jcldemo/esjcl/esjcl.jcl on your machine to an enterprise server running on a remote machine. The enterprise server must already have been started.

You can verify that you have successfully submitted the job by using the ESMAC Log feature: click Log in the Diagnostics group of the menu, and then click Display. You will be able to see messages relating to the job submission.

You can view the remote machine's spool queues and catalog entries in the usual way.

Interacting with JCL Jobs

You can run jobs on an enterprise server that include ACCEPT FROM CONSOLE and DISPLAY UPON CONSOLE statements. When execution reaches a DISPLAY UPON CONSOLE statement, the display text is displayed in the console log and the job log, and the job continues. When execution reaches an ACCEPT FROM CONSOLE statement, the job pauses and asks for input using pages in ESMAC.

How to

There is also a facility for replying to ACCEPT FROM CONSOLE statements in basic ESMAC for running Web services, and this is available to JCL jobs. For more information see the sectiion Interacting with Services in the chapter Administering Servers Using ESMAC in your Configuration and Administration Guide.

Character Sets

Migrated JCL applications used to run on the mainframe using the EBCDIC character set. However, the native character set on Windows and UNIX machines is ASCII. On Enterprise Server you can continue to run JCL applications in EBCDIC if you wish, or you can run them in ASCII. There are both program and data considerations.

Programs

The default mode for an enterprise server is ASCII, since Windows and UNIX are ASCII environments. Programs can be run in EBCDIC as long as they have been compiled using directive CHARSET"EBCDIC". At the beginning of a program execution, that is, the execution of a program invoked by the CALL command, the RUN sub-command (of DSN), or by a job step (PGM=), the JCL engine detects the character set of the program. The character set of the program remains constant throughout its execution.

Steps in a JCL job stream can use different character sets. But if a program initiated by a job step then calls another program, it's up to the programmer to make sure that the character sets used by the programs are compatible (for example for call parameters) or that they handle any incompatibilities themselves.

Data

The programmer needs to ensure that any data files they read are in the character set that matches the program. The File Handler will issue an abend if it is asked to open a file whose catalog entry has a different character set from the character set of the program.

In-stream data and line sequential files are automatically converted to match the mode of the application program. Data in all other files is not converted.

All data presented to or exchanged with the program is either ASCII or EBCDIC depending on the character set of the program. Conversions are done as appropriate. This includes data in MVS control blocks.

Pointer data is native unless AMODE is in effect, in which case, it is big-endian (network order). This includes data in MVS control blocks.

Binary data is always big-endian. This includes data in MVS control blocks.


Copyright © 2006 Micro Focus (IP) Ltd. All rights reserved.