Go to LeighWeb Home Page            

Back To LeighWeb Mainframe Utilities Page

View the documentation associated with this module

ISREDIT MACRO (HELP)
ISPEXEC CONTROL ERRORS RETURN
/**** SET MESSAGE DISPLAY ON/OFF BASED ON THE DEBUG SWITCH ***/
ISPEXEC VGET (DBGSWTCH) PROFILE
IF &DBGSWTCH = &STR(ON) THEN CONTROL MSG LIST CONLIST SYMLIST NOFLUSH
ELSE CONTROL NOMSG NOLIST NOFLUSH NOPROMPT
IF &STR(&HELP) = HELP THEN GOTO HELPSEC
/**********************************************************************
/* UTILITY: PGMFLOW                                                   *
/* AUTHOR: DAVID LEIGH                                                *
/* FUNCTION: INVOKE THE "TREE" PROGRAM BY DON FAVILLE FOR THE COBOL   *
/*           PROGRAM BEING EDITED.                                    *
/**********************************************************************

/**********************************************************************
/* KEEP THE USER INFORMED                                             *
/**********************************************************************
SET ZEDLMSG = &STR(*** ALLOCATING FILES FOR THE PROGRAM FLOW UTILITY +
                   ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000)

/**********************************************************************
/* ESTABLISH SOME INITIAL VARIABLES                                   *
/**********************************************************************
SET PGMNAME = PGMFLOW                                                   00010003
ISREDIT (MEMBER) = MEMBER                                               00030003
ISREDIT (DATASET) = DATASET                                             00040002
SET PRINT_FILE = &STR(&SYSUID..TEMP.&MEMBER..PGMFLOW)
SET VSAM_FILE = &STR(&SYSUID..TEMP.&MEMBER..VSAM)
                                                                        00050001
/**********************************************************************
/* FREE, DELETE, AND ALLOCATE VARIOUS FILES                           *
/**********************************************************************
FREE DD(WORKFILE SYSDBOUT SYSUDUMP SYSOUT IGZSRTCD SYSOUD PRINTFL +
        STRUCT SORTWK01 SORTWK02 SORTWK03 SORTWK04 SYSABOUT COBOLFL +
        PRINTFL)

DELETE '&PRINT_FILE'
DELETE '&VSAM_FILE' CLUSTER                                             00053303

DEFINE CLUSTER (NAME('&VSAM_FILE') +                                    00053403
                RECORDSIZE(70 70) +                                     00053501
                SHAREOPTIONS(2) +                                       00053601
                KEYS(32 0) +                                            00053701
                UNIQUE +                                                00053801
                SPEED) +                                                00053901
          DATA (NAME('&VSAM_FILE..D') +                                 00054003
                VOLUME(WRK001) +                                        00054103
                TRACKS(1 1) +                                           00054201
                CONTROLINTERVALSIZE(8192)) +                            00054301
         INDEX (NAME('&VSAM_FILE..I')  +                                00054403
                TRACKS(1 1) +                                           00054501
                VOLUME(WRK001))                                         00054603

ALLOC DD(SYSDBOUT) DUMMY
ALLOC DD(SYSUDUMP) DUMMY
ALLOC DD(SYSOUT) DUMMY
ALLOC DD(IGZSRTCD) DUMMY
ALLOC DD(SYSOUD) DUMMY
ALLOC DD(COBOLFL) DSN('&DATASET(&MEMBER)') +
                  SHR KEEP
ALLOC DD(STRUCT) DSN('&VSAM_FILE') +
                 SHR KEEP
ALLOC DD(PRINTFL) DSN('&PRINT_FILE') +
                  NEW CATALOG +
                  UNIT(SYSDA) VOLUME(WRK001) +
                  SPACE(5,5) TRACKS RELEASE +
                  RECFM(F B M) LRECL(133) BLKSIZE(23408) DSORG(PS)
ALLOC DD(WORKFILE) NEW +
                   UNIT(SYSDA) VOLUME(WRK001) +
                   SPACE(5,5) TRACKS RELEASE +
                   RECFM(F B) LRECL(88) BLKSIZE(23408) DSORG(PS)
ALLOC DD(SORTWK01) UNIT(SYSDA) SPACE(5,1) TRACKS
ALLOC DD(SORTWK02) UNIT(SYSDA) SPACE(5,1) TRACKS
ALLOC DD(SORTWK03) UNIT(SYSDA) SPACE(5,1) TRACKS
ALLOC DD(SORTWK04) UNIT(SYSDA) SPACE(5,1) TRACKS

/**********************************************************************
/* INVOKE THE PROGRAM                                                 *
/**********************************************************************
SET ZEDLMSG = &STR(*** EXECUTING THE PROGRAM FLOW UTILIY *** +
                   THIS MAY TAKE A MINUTE OR TWO ***)
ISPEXEC CONTROL DISPLAY LOCK
ISPEXEC DISPLAY MSG(UTLZ000)
ISPEXEC SELECT PGM(&PGMNAME)
SET PGMCC = &LASTCC
                                                                        00055201
/**********************************************************************
/* CLEANUP                                                            *
/**********************************************************************
DELETE '&VSAM_FILE' CLUSTER                                             00053303
FREE DD(WORKFILE SYSDBOUT SYSUDUMP SYSOUT IGZSRTCD SYSOUD PRINTFL +
        STRUCT SORTWK01 SORTWK02 SORTWK03 SORTWK04 SYSABOUT COBOLFL +
        PRINTFL)

/**********************************************************************
/* EDIT THE RESULTS DATASET                                           *
/**********************************************************************
ISPEXEC EDIT DATASET('&PRINT_FILE')

EXIT

HELPSEC: +                                                              02480000
ISPEXEC SELECT PGM(ISPTUTOR) PARM(HELPSHEL)                             02490000
SET ZEDLMSG = &STR(*** HELP DISPLAYED FOR PGMFLOW UTILITY +             02490000
                   *** NO PROCESSING PERFORMED ***)                     02490000
ISPEXEC SETMSG MSG(UTLZ000)                                             02490000
EXIT