Admin Production rocket
Current Publication

User Exit Interface Block (mfjdxit.cpy)

Enterprise Developer for Eclipse (including UNIX Components) V7.0
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 ==============================================