This section presents a listing of the mfjdxit.cpy copybook used by JXIT. The source for this copybook is in %ProgramFiles(x86)%\Micro Focus\Studio Enterprise Edition x.x\base\source .
*===============================================================
* Copyright (C) Micro Focus International Ltd.
*===============================================================
*
* MFJDXIT - JCL User Exit Control Block
* Contains interface information and is passed as a parameter
* to the JCL user exit (MFJUXIT) which is invoked as
* call 'MFJUXIT' using JXIT
*
* Notes:
* 1. It should be included as follows (e.g.)
* 1 JXIT.
* COPY MFJDXIT REPLACING ==(tag)== BY ==JXIT==.
* 2. Fields beginning with JXIT-I- ( (tag)-I- ) are Input
* to the user exit and must not be modified
* e.g. JXIT-I-size
* 3. Fields beginning with JXIT-U- ( (tag)-U- ) are Input and
* Output. On entry to the user exit, they are set as
* appropriate and may be changed by the user exit to an
* acceptable value upon return.
* e.g. (tag)-U-PGM-alias
* 4. All data is ASCII(ANSI). Null values are those appropriate
* for the data type. i.e. blanks for character data,
* zeros for numeric and binary data
*
*
*===============================================================
*===============================================================
* Header
*===============================================================
3 (tag)-I-header.
* Size of this block
5 (tag)-I-size pic s9(8) comp.
* Unless otherwise noted, all events occur for
* JCL, TSO, and TSO-in-batch (PGM=IKJEFTxx or IDAEFTxx)
* Event code of event. Ignore undefined event codes.
5 (tag)-I-event pic s9(8) comp.
* The following events occur for JCL and TSO-in-batch
* and represent execution of a JCL JOB stream
88 (tag)-I-event-job-ready value 1.
88 (tag)-I-event-job-flushed value 2.
88 (tag)-I-event-job-started value 3.
88 (tag)-I-event-job-JCL-error value 4.
88 (tag)-I-event-job-ended value 5.
* The following events occur for an interactive TSO
* session only
88 (tag)-I-event-TSO-started value 6.
88 (tag)-I-event-TSO-ended value 7.
* The following events occur for JCL and TSO-in-batch
* and represnt execution of "EXEC PGM=" JCL stmt
88 (tag)-I-event-step-ready value 8.
88 (tag)-I-event-step-started value 9.
88 (tag)-I-event-step-ended value 10.
88 (tag)-I-event-step-bypassed value 11.
* The following events occur for TSO and TSO-in-batch
* (IKJEFT01) and
* ... represent execution of the TSO "CALL pgm" command
88 (tag)-I-event-CALL-ready value 12.
88 (tag)-I-event-CALL-started value 13.
88 (tag)-I-event-CALL-ended value 14.
* ... represent execution of the DSN subcommand
* "RUN PROG(pgm)"
88 (tag)-I-event-RUN-ready value 15.
88 (tag)-I-event-RUN-started value 16.
88 (tag)-I-event-RUN-ended value 17.
* All of the above events occur in the parent process,
* The process in which the job/step preparation occurs.
*
* The following events occur for all environments
* for execution of a program following all
* "...-started" events.
* ***Note*** that these events occur in the child process
* that executes the program. Any working storage used by
* the user exit will not be the same as that for
* other events which occur in the parent process.
* In the parent process, your user exit will not remember
* information prior to "event-before-PGM-call" or after
* "event-after-PGM-call". Since both of these events
* occur in the shild process, the user exit will be
* able to remember information between these two events.
88 (tag)-I-event-before-PGM-call value 18.
88 (tag)-I-event-after-PGM-call value 19.
*===============================================================
* Action codes for all events. Upon return from the user exit,
* action code indicates next course of action to be taken.
* Upon entry to the user exit, it is set to zero.
*===============================================================
5 (tag)-U-action pic s9(8) comp.
* The JCL engine should continue as if the exit were
* never invoked. Any modified data will be ignored.
88 (tag)-U-action-continue value 0.
* The JCL engine should not call the exit any more in
* this process for this job/TSO session
88 (tag)-U-action-shut-exit value 1.
*===============================================================
* Action codes for: event-job-ready
*===============================================================
* The JCL engine should use all modified
* fields except pc-fname
88 (tag)-U-action-MVS-dsn value 2.
* The JCL engine should use all modified
* fields except MVS-dsn
88 (tag)-U-action-pc-fname value 3.
* The JCL engine should flush the job
88 (tag)-U-action-flush value 4.
*===============================================================
* Action codes for: event-step-ready
* event-CALL-ready
* event-RUN-ready
*===============================================================
* The JCL engine should use all modified fields
88 (tag)-U-action-PGM-info value 5.
* The JCL engine should abend this step/program.
* The step/program will be abended with
* S822 (Region not available)
88 (tag)-U-action-abend value 6.
*===============================================================
* Action codes for: event-job-ended
* event-TSO-ended
* event-step-ended
* event-CALL-ended
* event-RUN-ended
*===============================================================
* The JCL engine should use all modified fields
88 (tag)-U-action-term-info value 7.
*===============================================================
* Action codes for: event-job-started
* event-job-flushed
* event-job-JCL-error
* event-TSO-started
* event-step-bypassed
* event-step-started
* event-CALL-started
* event-RUN-started
* event-before-PGM-call
* event-after-PGM-call
* - No Action codes defined other than 0
*===============================================================
5 pic x(20).
*===============================================================
* Event related data - varies by event
*===============================================================
3 (tag)-I-data pic x(368).
*===============================================================
* Data for: event-job-ready
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-job-ready.
* Job number
7 (tag)-I-jobnum-assigned pic 9(5).
* Fully qualified PC file name.
7 (tag)-U-pc-fname pic x(260).
* If available, MVS data set name (including member if
* a PDS) assoicated with pc-fname, otherwise blanks.
* e.g. MFIDSA.CNTL(MYJOB) (for a PDS member) or
* S0310.S070508.J01364.D00002.SYSUT2 (for PS)
7 (tag)-U-MVS-dsn pic x(54).
*
7 (tag)-I-submit-type pic x(1).
88 (tag)-I-submit-type-exec value 'E'.
88 (tag)-I-submit-type-scan value 'S'.
7 (tag)-I-animate pic x(1).
88 (tag)-I-animate-on value 'Y'.
88 (tag)-I-animate-off value 'N'.
*===============================================================
* Data for: event-job-flushed
* See event-job-ready.
* - Only the first field is relevant
*===============================================================
*===============================================================
* Data for: event-job-started
* event-job-JCL-error
* event-TSO-started
* event-step-bypassed
* - Field names containing "step" are irrelevant for non-step
* related events
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-job-started.
7 pointer.
7 pointer.
7 pointer.
*
* Active System and Subsystems combinations are:
* System Subsystem
* ----------------
* JCL JCL
* JCL TSO (IKJEFTxx)
* JCL IMS (DFSRC000)
* TSO TSO
* TSO IMS (CALL DFSRC000)
* IMS IMS
* CICS CICS
*
* Active system
7 (tag)-I-system pic x.
88 (tag)-I-system-JCL value x'00'.
88 (tag)-I-system-TSO value x'01'.
88 (tag)-I-system-ims value x'02'.
88 (tag)-I-system-cics value x'03'.
88 (tag)-I-system-null value x'04'.
* Active subsystem
7 (tag)-I-subsystem pic x.
88 (tag)-I-subsystem-JCL value x'00'.
88 (tag)-I-subsystem-TSO value x'01'.
88 (tag)-I-subsystem-ims value x'02'.
88 (tag)-I-subsystem-cics value x'03'.
88 (tag)-I-subsystem-null value x'04'.
7 (tag)-I-jobname pic x(8).
7 (tag)-I-userid pic x(8).
7 (tag)-I-jobstep pic x(8).
7 (tag)-I-procstep pic x(8).
7 (tag)-I-jobnum pic 9(5).
7 (tag)-I-stepnum pic 9(3).
7 (tag)-I-procstepnum pic 9(3).
7 pic x(1).
7 pic x(1).
7 (tag)-I-msgclass pic x(1).
7 (tag)-I-msglevel1 pic x(1).
7 (tag)-I-msglevel2 pic x(1).
7 pic x.
7 pic x(1).
* Dates in YYYYMMDD format, times in HHMMSShh
7 (tag)-I-job-start-date pic 9(8).
7 (tag)-I-job-start-time pic 9(8).
7 (tag)-I-step-start-date pic 9(8).
7 (tag)-I-step-start-time pic 9(8).
*===============================================================
* Data for: event-job-ended
* event-TSO-ended
* event-step-ended
* event-CALL-ended
* event-RUN-ended
* event-after-PGM-call
* See event-job-started
* - plus the following data
*===============================================================
5 (tag)-U-data-job-ended.
7 (tag)-U-term-type pic x.
88 (tag)-U-term-type-normal value x'00'.
88 (tag)-U-term-type-user-abend value x'01'.
88 (tag)-U-term-type-sys-abend value x'02'.
88 (tag)-U-term-type-RTS-err value x'03'.
88 (tag)-U-term-type-RU-err value x'04'.
88 (tag)-U-term-type-unknown value x'05'.
7 pic x(3).
7 (tag)-U-term-return-code pic s9(8) comp.
7 (tag)-U-term-reason-code pic s9(8) comp.
*===============================================================
* Data for: event-step-ready
* event-step-started
* event-CALL-ready
* event-CALL-started
* event-RUN-ready
* event-RUN-started
* event-before-PGM-call
* See event-job-started
* - Plus the following data
* - Field names containing "step" are relevant
*===============================================================
5 (tag)-I-data-step-ready.
7 (tag)-I-PGM-name pic x(8).
7 (tag)-U-PGM-alias pic x(8).
7 (tag)-U-PGM-parm.
9 (tag)-U-PGM-parm-len pic s9(4) comp.
9 (tag)-U-PGM-parm-txt pic x(100).
*= End of MFJDXIT ==============================================