Rocket® Enterprise Developer (formerly a product of Micro Focus or formerly a product of Open Text) documentation, created before Rocket Software acquired certain products from OpenText, may include outdated references to "Micro Focus" or "OpenText", both of which are trademarks of OpenText or its affiliates. Rocket Software is not affiliated with Micro Focus or OpenText and has since rebranded these products as Rocket® products. You may also encounter outdated links in this documentation. If you do, please contact Rocket Support (support@rocketsoftware.com) for assistance.
User Exit Interface Block (mfjdxit.cpy)
This section presents a listing of the mfjdxit.cpy copybook used by JXIT. The source for this copybook is in %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib (Windows) or $COBDIR/cpylib (UNIX).
****************************************************************
*<CR_S_T_B\>
*
* Copyright (C) Micro Focus 1984 - 2019 or one of its affiliates.
* The only warranties for products and services of Micro Focus and
* its affiliates and licensors ("Micro Focus") are set forth in
* the express warranty statements accompanying such products and
* services. Nothing herein should be construed as constituting an
* additional warranty. Micro Focus shall not be liable for technical
* or editorial errors or omissions contained herein.
* The information contained herein is subject to change without notice.
* Contains Confidential Information. Except as specifically indicated
* otherwise, a valid license is required for possession, use or copying.
* Consistent with FAR 12.211 and 12.212, Commercial Computer Software,
* Computer Software Documentation, and Technical Data for Commercial
* Items are licensed to the U.S. Government under vendor's standard
* commercial license.
*
*<CR_S_T_E\>
****************************************************************
*
* 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.cpy' 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-stmt-info value 25.
*> Event is broadcast ONLY to the JCL user exit
88 (tag)-I-event-uxit-chgd-jobname value 26.
*> Event is broadcast ONLY to the event manager
88 (tag)-I-event-job-queued value 27.
88 (tag)-I-event-job-restart value 28.
*> Event is broadcast ONLY to the event manager
88 (tag)-I-event-job-concluded value 2.
88 (tag)-I-event-job-started value 3.
88 (tag)-I-event-job-purged 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.
*
*
* Under ESJCL,
* - Event-job-ready, Event-uxit-chgd-jobname, and
* Event-job-purged events
* occur only in the Service Execution Process (SEP),
* not in the initiator SEP.
* - Event-job-concluded event occurs in the standard SEP
* only if the job is not intended for execution (i.e.
* it is TYPRUN=COPY or TYPRUN=SCAN) or it has JCL
* errors. Otherwise this event occurs in the initiator
* SEP.
* - All other events occur in the initiator SEP.
*
*
* 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 child 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.
* Event codes 25, 26 and 28 thru 50
* are reserverd for JCL User exit
* Event codes 51 thru 99 reserverd for JES Monitor
* 88 (tag)-I-event-job-stmt-info value 25. See above
* 88 (tag)-I-event-uxit-chgd-jobname value 26. See above
* Event codes for file open, close and delete events for
* use by HSF stats - passed to ES Event manager
88 (tag)-I-event-dd-file-open value 51.
88 (tag)-I-event-dd-file-close value 52.
88 (tag)-I-event-dd-file-delete value 53.
*===============================================================
* 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-job-stmt-info
*===============================================================
* The JCL engine should use all modified
* job information (action-continue)
* See 88 (tag)-U-action-flush above
*===============================================================
* 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-concluded
*===============================================================
* The JCL engine should use all modified fields
88 (tag)-U-action-concl-info value 8.
*===============================================================
* Action codes for: event-job-started
*===============================================================
* The JCL engine should use all modified JOB fields
88 (tag)-U-action-job-info value 9.
*===============================================================
* Action codes for: 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 (tag)-U-log-event pic x.
* The JCL engine should log all events (default)
88 (tag)-U-log-event-on value x'00'.
* The JCL engine should log only those events for which
* the exit requests a explicit action (non- 0 or 1)
88 (tag)-U-log-event-on-action value x'01'.
* The JCL engine not log any events unless
* requested to do so otherwise in the future
88 (tag)-U-log-event-off value x'02'.
* The JCL engine should log most events,
* currently all except
* - job-event-concluded
88 (tag)-U-log-event-on-min value x'03'.
5 pic x(2).
* Job number - may be 0 if not yet available
* If > 5 digit job numbers is enabled then job number
* will be a comp-x value in I-this-jobnum-compx
5 (tag)-I-this-jobnum pic 9(5).
5 (tag)-I-this-jobnum-redef redefines
(tag)-I-this-jobnum.
7 (tag)-I-this-jobnum-compx pic x(4) comp-x.
7 (tag)-I-this-jobnum-x pic x(1).
* Job name - may be '????????' if not yet available
5 (tag)-I-this-jobname pic x(8).
* Process id
5 (tag)-I-this-proc-id pic 9(9) comp.
*===============================================================
* 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.
* reserved (used to be Job number). Use I-this-jobnum
7 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-uxit-chgd-jobname
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-uxit-chgd-jobname.
7 (tag)-I-old-jobname pic x(8).
*> This was the jobname on the job card. it was changed
*> by the JCL user exit to -i-this-jobname (above).
*===============================================================
* Data for: event-job-stmt-info
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-U-data-job-stmt-info.
7 (tag)-U-jobname pic x(8).
7 (tag)-U-typrun pic 9(4) comp.
88 (tag)-U-typrun-scan value 0.
88 (tag)-U-typrun-exec value 1.
88 (tag)-U-typrun-anim value 2.
88 (tag)-U-typrun-copy value 3.
88 (tag)-U-typrun-hold value 4.
7 (tag)-U-msgclass pic x(1).
7 (tag)-U-msglevel-1 pic 9(1).
7 (tag)-U-msglevel-2 pic 9(1).
7 (tag)-U-userid pic x(8).
7 (tag)-U-pgmr-name pic x(20).
7 (tag)-U-jobclass pic x(1).
7 (tag)-U-prty pic 9(4) comp. *> 0-15
7 (tag)-U-group pic x(8).
7 (tag)-U-notify-node pic x(8).
7 (tag)-U-notify-userid pic x(8).
7 (tag)-U-password pic x(32).
7 (tag)-U-password-new pic x(32).
7 (tag)-U-seclabel pic x(8).
7 (tag)-U-job-perform pic 9(4) comp. *> 1-999
7 (tag)-U-acct-len pic 9(4) comp.
7 (tag)-U-acct-value pic x(143).
7 (tag)-I-STMT-JOB-CORR.
9 (tag)-I-STMT-SYS-CORR-CURRJOB pic x(32).
9 (tag)-U-STMT-SYS-CORR-USRDATA pic x(32).
7 pic x(17).
*===============================================================
* Data for: event-job-concluded
* - concl-return-code and concl-reason-code not applicable to
* concl-rc-ended, concl-rc-abended, concl-rc-cancelled,
* concl-rc-authfailed.
* concl-reason-code is currently not used and is always 0.
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-job-concl.
* Job processing outcome
7 (tag)-I-concl-rc pic s9(8) comp.
88 (tag)-I-concl-rc-ended value 1.
88 (tag)-I-concl-rc-abended value 2.
88 (tag)-I-concl-rc-jcl-error value 3.
88 (tag)-I-concl-rc-scanned value 4.
88 (tag)-I-concl-rc-scan-failed value 5.
88 (tag)-I-concl-rc-flush-no-job value 6.
88 (tag)-I-concl-rc-flush-bad-job value 7.
88 (tag)-I-concl-rc-flush-uxit value 8.
88 (tag)-I-concl-rc-copied value 9.
88 (tag)-I-concl-rc-cancelled value 10.
88 (tag)-I-concl-rc-authfailed value 11.
88 (tag)-I-concl-rc-cat-file-err value 12.
7 (tag)-U-concl-return-code pic s9(8) comp.
7 (tag)-U-concl-reason-code pic s9(8) comp.
*===============================================================
* Data for: event-job-flushed
* See event-job-ready.
* - Only the first field is relevant
*===============================================================
*===============================================================
* Data for: event-job-queued
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-job-queued.
7 (tag)-input-queue pic 9(02).
88 (tag)-I-input-hold-88 value 1.
88 (tag)-I-input-ready-88 value 3.
*===============================================================
* Data for: event-job-restart
* User option is to have the exit called for subsequent events
* set (tag)-U-action-continue to true
* or not to be called for future events for this job
* set (tag)-U-action-shut-exit to true
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-job-restart.
7 (tag)-I-restart-jobstep pic x(8).
7 (tag)-I-restart-procstep pic x(8).
7 (tag)-I-restart-setup-rc pic 9(04) comp.
88 (tag)-I-restart-not-found value 512.
*STEP/PSTEP not found
88 (tag)-I-restart-not-restart value 513.
*STEP/PSTEP not restartable
88 (tag)-I-restart-no-info value 514.
*No restart information for job
7 pic x(6).
*===============================================================
* Data for: event-job-started
* 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.
$if ILGEN set
7 pic x(24).
$else
7 pointer.
7 pointer.
7 pointer.
$end
*
* 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'63'.
* 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-TSO-sstm value x'0B'.
88 (tag)-I-subsystem-ims-sstm value x'0C'.
88 (tag)-I-subsystem-cics-sstm value x'0D'.
88 (tag)-I-subsystem-null value x'63'.
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-jobnum-redef redefines (tag)-I-jobnum.
9 (tag)-I-jobnum-compx pic x(4) comp-x.
9 (tag)-I-jobnum-x pic x(1).
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 (tag)-U-ucc11 pic x(1).
88 (tag)-ucc11-mod value x'82'.
88 (tag)-ucc11-on-all value x'83'.
88 (tag)-ucc11-on-restart value x'84'.
88 (tag)-ucc11-res-not-dyn value x'85'.
88 (tag)-ucc11-all-not-dyn value x'86'.
88 (tag)-ucc11-off value x'00'.
* 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).
5 (tag)-I-job-acct.
7 (tag)-i-job-acct-len pic 9(4) comp.
7 (tag)-i-job-acct-value pic x(143).
5 (tag)-I-jobclass pic x(01).
5 (tag)-I-JOB-JOB-CORR.
7 (tag)-I-JOB-SYS-CORR-CURRJOB pic x(32).
7 (tag)-U-JOB-SYS-CORR-USRDATA pic x(32).
*===============================================================
* 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.
*> 88 (tag)- Currently this is always 0. In the
*> future, a non-zero value would indicate a unique
*> reason within the return-code above.
*===============================================================
* 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)-U-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).
*===============================================================
* HSF Data - passed to ES Event Manager
*===============================================================
3 redefines (tag)-I-data.
5 (tag)-I-data-file-open.
7 (tag)-ddname pic x(08).
7 (tag)-dsname pic x(54).
7 (tag)-ds-type pic x(1).
7 (tag)-ds-access-type pic x(1).
3 redefines (tag)-I-data.
5 (tag)-I-data-file-close.
7 (tag)-ddname pic x(08).
7 (tag)-dsname pic x(54).
7 (tag)-io-cnt-read pic s9(8).
7 (tag)-io-cnt-write pic s9(8).
7 (tag)-io-cnt-rewrite pic s9(8).
7 (tag)-io-cnt-delete pic s9(8).
3 redefines (tag)-I-data.
5 (tag)-I-data-file-delete.
7 (tag)-ddname pic x(08).
7 (tag)-dsname pic x(54).
*= End of MFJDXIT ==============================================