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 .

      ****************************************************************
      *<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