Alternatives to starting the Multi-User Facility (called MUF) as a batch job.

Document ID : KB000032416
Last Modified Date : 14/02/2018
Show Technical Document Details

Introduction

The installation and configuration of a CA Datacom/AD and CA Datacom/DB Multi-User Facility (called MUF) involves the running of the MUF as a standard batch job. Because many clients would like to start the MUF like other system processes (in many cases a started task, or STC), this document will look at the alternatives to running the MUF as a batch job.

There are certain requirements for using started tasks, some of which are especially significant as they relate to CA Datacom and the way we have packaged the MUF startup JCL.

  1. You cannot have a JCLLIB statement within a PROC, and it by definition cannot be used in started tasks, since it must follow the JOB card and precede any EXEC cards.
  2. INCLUDE members will not be found. This is because the JCLLIB cannot be used, and the INCLUDE members typically are not part of a system defined PROCLIB concatenation.

To deal with this situation, you have two options to start the MUF as other than a regular job:

  1. You can run the MUF as a Started Job - using the IEFJOBS file
  2. You can run the MUF as a Started Task - using the IEFPDSI file

Instructions: 

Using the IEFJOBS process has several benefits:

  • Started Jobs (from IEFJOBS) run under the same general security as Started Tasks. You can, however, specify a USER=xxx parameter on the JOB card (be sure the proper Surrogate rules are in place) or a USER=xxx,PASSWORD=xxx value (not recommended for obvious reasons).
  • Since the execution is via a console START, normal job initiators are not used, and the job is started immediately, without consideration of any resources needed.
  • Also, since initiators are not used, the Started Job will always have a clean address space.
  • Like a normal job, the JCL as delivered for CA Datacom can be used. Since you have a JOB card, you can also keep the JCLLIB and INCLUDE members.
  • Unlike a Started Task, Started Jobs can use DD DUMMY and DD * files.
  • Accounting information can come from the JOB card accounting, rather than having to specify special STEP accounting (in a multi-step execution).

Using IEFPDSI (Started Tasks):

  • You also have the advantage of immediate start and non-initiator processing.
  • To use the CA Datacom jobs, you have to tailor the JCL before it will run.
  • You already know how Started Tasks security and WLM are working.

Now, if you choose to use a Started Task PROC (STC) instead of a Started JOB, you will need to make the following changes (your JCL might be slightly different from these examples):

1. Remove the JCLLIB statement from your PROC:
//JCL JCLLIB ORDER=(CAI.NEWCHLQ.CUSPROC)

2. Where each INCLUDE MEMBER= entry exists in your PROC, you will need to copy the contents of that member from your CUSPROC file to that spot in your PROC JCL.

For example, if the beginning of your first step looks like this…

//AD14STRT EXEC PGM=DBMUFPR,PARM='/PGMMONTH=1',
//     REGION=0M,MEMLIMIT=NOLIMIT,TIME=1440
//     INCLUDE MEMBER=B14STLIB
//     INCLUDE MEMBER=B14DDOUT
//     INCLUDE MEMBER=B14DDPXX

…you would need to

  1. Copy the contents of CAI.NEWCHLQ.CUSPROC(B14STLIB) following the EXEC PGM=DBMUFPR statement,
  2. Copy CAI.NEWCHLQ.CUSPROC(B14DDOUT) into the PROC after that,
  3. Copy CAI.NEWCHLQ.CUSPROC(B12DDPXX) after that.

When this step is complete, the beginning might look like this (colored applied to each member for clarity):

//AD14STRT EXEC PGM=DBMUFPR,PARM='/PGMMONTH=1',
//     REGION=0M,MEMLIMIT=NOLIMIT,TIME=1440
//STEPLIB  DD DSN=CAI.NEWCHLQ.CUSLIB,
//         DISP=SHR
//         DD DSN=CAI.THLQ.CAAXLOAD,
//         DISP=SHR
//CAOESTOP DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSPUNCH DD  DUMMY
//DDSNAP   DD  SYSOUT=*
//SNAPER   DD  SYSOUT=*
//SYSUDUMP DD  SYSOUT=*
//THRSHOUT DD  SYSOUT=*
//PXX      DD  DSN=CAI.NEWHLQ.CXX^NAME.PXX,
//         DISP=SHR

In summary, you can move the JCL into a Started Jobs library with very little modification, or you can move the JCL into a Started Task library after modifying it by removing the JCLLIB statement and embedding the INCLUDE members in-line in the JCL. If you would like to use the Started Jobs process but are not set up for IEFJOBS (the Started Jobs processing), please consult your z/OS Systems Programmers for assistance.

Additional Information:

For more information about using the IEFJOBS (Started Jobs) process, please refer to:

As always, please contact CA Technologies support for CA Datacom if you have further questions.