Previous Topic Next topic Print topic


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 .

*===============================================================
*   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 ==============================================
Previous Topic Next topic Print topic