Overview
CLGLST – ISPF Log and List add-on for MVS38J TSO / ISPF / Hercules
(current version 0.9.02 2024-07-01)
As the current version of ISPF 2.x (ISPF-like product from Wally Mclaughlin) does not offer a LOG or LIST service, the purpose of this post is to discuss an alternate logging and listing application for ISPF 2.x on MVS 3.8J TK3 and TK4- distributions under TSO.
As with other software projects, this particular function has been in my ‘cooking’ for sometime since starting to use Wally’s ISPF-like product. Again, although not a highly sought function, I targeted completion of this undertaking earlier this year (2022). Well, here we are – end of September! Another community contribution.
The solution presented in this post uses TSO CLISTs with ISPEXEC command statements for ISPF services to provide similar LOG and LIST functionality, but with some variances. The post will describe all commands, parameters and functions.
With CLGLST, simulating a LOG service request utilizes a CLIST, CLOGIT, with keywords (PROC parameters) somewhat representing the ISPEXEC command or ISPLINK / ISPEXEC call statement. For example, –
– message logging would use the ISPEXEC LOG MSG(msgid) command statement;
– …CLGLST uses ISPEXEC SELECT CMD(%CLOGIT MSG(msgid)) NEWAPPL(ISP).
My personal experience with ISPF and manual SC34-2089-1 ISPF Program Reference for MVS (June 1983) were referenced as this add-on functionality was created for MVS 3.8J / TSO / ISPF v2.2.
CLGLST was developed under MVS 3.8J TK3, ISPF 2.1 and ISPF 2.2.
CLGLST was tested under MVS 3.8J TK3 w/ ISPF 2.2 and MVS 3.8J TK4- update 8 w/ ISPF 2.2.
Version 0.9.02 replaces the print driver logic that resided as CLIST statements into a compiled set of programs.
Enjoy!
LOG
The CLOG command is used to process the LOG data set during an ISPF session.
The CLOGIT command is responsible for allocating new or existing LOG data set, writing LOG records, LOG report pagination including ISPF short and long message logging.
The CLOGIT CLIST acts as the API to write entries to the LOG data set.
Since no LOG services are available under ISPF v 2.2, no logging activity is automatically captured from ISPF v2.2.
All logging activity is the responsibility of the problem program / CLIST by using the CLOGIT CLIST.
LIST
The CLST command is used to process the LIST data set during an ISPF session.
The CLSTIT command is responsible for allocating new or existing LIST data set, writing LIST records, and LIST report pagination.
The CLSTIT CLIST acts as the API to write entries to the LIST data set.
Since no LIST services are available under ISPF v 2.2, no printing (to LIST data set) options are available in ISPF v2.2.
LOG and LIST Data Sets
The file naming convention used: prefix.userid.xxx.Dyyjjj.Thhmmsss
Prefix TSO user prefix, used only if different from Userid Userid TSO user ID xxx LOGIT or LISTIT, for LOG or LIST data set, respectively Dyyjjj.Thhmmss System generated date-time stamp where: yy - year jjj - julian date hh - hour (24-hour format) mm - minutes ss - seconds LOG data set attributes are: DSO=PS, RECFM=VBA, LRECL=125, and BLKSIZE=129 LOG record size is 121 bytes without the RDW. LOG line size is 120 bytes excluding carriage control character. LIST data set attributes are defined by the characteristics panel (PLSTCHR). LOG and LIST DDnames are LOGIT and LISTIT, respectively.
As mentioned above, LOG data set is managed by CLOGIT and LIST data set is managed by CLSTIT.
Pre-allocating LOG and LIST Data Set
When you pre-allocate LIST or LOG data set as a sequential data set, disposition is determined by the DD DISP parameter when user logs off TSO.
CLOG and CLST functions are unavailable including the termination menu.
In the below example, both LIST and LOG data sets are kept when user logs off TSO. If the user logs on to TSO/ISPF, new output is added (appended) to the end of the sequential data set.
//LISTIT DD DSN=&SYSUID.LISTIT.PREALLOC,DISP=MOD, // UNIT=DISK,VOL=SER=PUB230, // SPACE=(TRK,(20,10)), // DCB=(LRECL=121,BLKSIZE=1210,RECFM=FBA) //LOGIT DD DSN=&SYSUID.LOGTIT.PREALLOC,DISP=MOD, // UNIT=DISK,VOL=SER=PUB240, // SPACE=(TRK,(20,10)), // DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)
When you pre-allocate LIST or LOG data set to SYSOUT, they are automatically printed to physical printer (e.g. SYSOUT class = A) or held in the spooling system queue (e.g. JES2) when user logs off TSO.
CLOG and CLST functions are unavailable including the termination menu.
In the below example, both LIST and LOG data sets are printed when user logs off TSO. If the user reenters ISPF, new output is added to the end (appended) of the SYSOUT data sets. If the user starts a new logon TSO/ISPF session, output is written to new SYSOUT data sets.
//LISTIT DD SYSOUT-A, // DCB=(LRECL=121,BLKSIZE=1210,RECFM=FBA) //LOGIT DD SYSOUT=A, // DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)
Declare LOG and LIST Data Set Defaults
Use panel PLLDFLT to declare LOG and LIST data set default values to be used in subsequent processing of LOG and/or LIST files:
------------------------- LOG and LIST Defaults ----------------------------- Command ===> LARRY01 PLLDFLT LOG DATA SET DEFAULT OPTIONS LIST DATA SET DEFAULT OPTIONS ---------------------------- ----------------------------- Process option ===> Process option ===> Batch SYSOUT class ===> A Batch SYSOUT class ===> A Local printerID ===> Local printerID ===> Local SYSOUT class ===> Local SYSOUT class ===> Lines per page ===> 60 Lines per page ===> 60 Primary pages ===> 10 Primary pages ===> 100 Secondary pages ===> 10 Secondary pages ===> 100 VALID PROCESS OPTIONS: PD - Print data set and delete KS - Keep data set - Use Same D - Delete data set w/o printing KN - Keep data set - Use New JOB STATEMENT INFORMATION: (Required for system printer) ===> ===> ===> ===>
The fields are described below:
Process Option PD - If the LOG or LIST file is allocated, file contents are printed to batch or local printer. For batch, file deallocated in foreground and deleted in batch job. For local, file deallocated and deleted in foreground after printing. New file is allocated next time. D - If the LOG or LIST file is allocated, file is deallocated and deleted. New file is allocated next time. KS - If the LOG or LIST file is allocated, file is deallocated and kept. Same file is allocated next time. KN - If the LOG or LIST file is allocated, file is deallocated and kept. New file is allocated next time. Batch SYSOUT class Any valid batch SYSOUT class for your installation Local printer ID Any valid printer ID for your installation Local SYSOUT class Any valid SYSOUT class for your installation Lines per page valid values are 60 or 80 Primary pages Anticipated print pages converted to DASD primary space allocation Valid values for LOG data set is 0 to 999. Note: Value of 0 prevents writing to LOG file. Valid values for LST data set is 1 to 999. Secondary pages Anticipated print pages converted to DASD secondary space allocation Valid values are 1 to 999. JOB STATEMENT INFORMATION One to four JOB statements for batch printingIf no default values exists, the following values are used:
LOG FILE LIST FILE BATCH SYSOUT Class ===> A ===> A Lines per Page ===> 60 ===> 60 Primary Pages ===> 10 ===> 100 Secondary Pages ===> 10 ===> 200No values are applied to remaining parameters in panel PLLDFLT.
If Process Option is PRINT DELETE to batch system printer, BATCH SYSOUT Class and JOB Statements must be specified.
If Process Option is PRINT DELETE to local printer, LOCAL SYSOUT Class or LOCAL SYSOUT Class and LOCAL PRINTER must be specified.
Primary and Secondary Pages are converted to number of TRACKS for DASD space allocation.
The LOG or LIST data sets are allocated when an initial WRITE operation is requested.
If the files are already allocated, any changes to the Primary or Secondary Pages are effective after the LOG file is deallocated by using the delete process (option D or PD) or keep use new (using process option KN) and restarting ISPF.
For the LOG file, Primary Pages can be set to 0 (zero) to prevent allocation and writing to the LOG file. If this change is made after the LOG file is allocated, the LOG file must be deleted (using process option D or PD) or keep use new (using process option KN) and restarting ISPF.
LOG and LIST Default Options including LIST Characteristics are stored in the users ISPF profile, application ID ISP, for use between sessions.
The LOG data set defaults are used by the CLOG and CLOGIT commands.
The LIST data set defaults and characteristics are used by the CLST and CLSTIT commands.
Declare LIST data set characteristics
Use panel PLSTCHR to declare LIST data set characteristics of records to be contained in the LIST data set for allocation:
----------------------- LIST Data Set Characteristics ----------------------- Command ===> LARRY01 PLLDFLT Record Format ===> FBA Logical Record Length ===> 121 Line Length ===> 120
The characteristic fields are described below:
Record Format FBA - Fixed-length records that contain ANSI-defined printer control characters VBA - Variable-length records that contain ANSI-defined printer control characters Logical Record Length Specifies the length, in bytes, of fixed-length records or the maximum length allowed for variable-length records. The default value is 121 representing one ANSI-defined printer control character and 120 bytes for data to be printed. Line Length Specifies the length of the logical line to be printed. Valid values 80 to 160. Default value is 120. If line length is greater than logical record length, data is truncated.If no values exists, the following values are used:
Record Format ===> FBA Logical Record Length ===> 121 Line Length ===> 120
No support for more than one ANSI-defined printer control character.
No support for “cut and paste” printing method used to print panels wider that the physical printer width limit.
Processing LOG data set during ISPF session
The CLOG command is used to process the LOG file during an ISPF session. The log data set must have been allocated. Processing of the data set can be specified by using keywords BROWSE, QUIKPRT, DELETE, PRINT or KEEP. If a invalid keyword or no keyword is specified, the data set disposition panel, PLLP01, is displayed with default values from ISPF PARAMETER OPTIONS, LOG DEFAULTS (=0.2), if declared.
The following CLOG TSO commands are:TSO %CLOG BROWSE - Start browse session on the current allocated LOG data set TSO %CLOG QUIKPRT - Print current allocated LOG data set to local printer using PRINTOFF TSO %CLOG DELETE - Delete current allocated LOG data set, new LOG data set allocated next time a LOG write operation transpires TSO %CLOG KEEP - Deallocate current allocated LOG data set, new LOG data set allocated next time a LOG write operation transpires TSO %CLOG PRINT - Print and Delete current allocated LOG data set, new LOG data allocated next time a LOG write operation transpires TSO %CLOG - Display panel PLLP01 for allocated LOG data set disposition processing
------------------ Specify Disposition of LOG Data Set ---------------------- Command ===> LARRY01 PLLP01 LOG OPTIONS FOR THIS SESSION ---------------------------- LOG Data Set Name : LARRY01.LOGIT.Dyyjjj.Thhmmss Process option ===> Batch SYSOUT class ===> Local printerID ===> Local SYSOUT class ===> INSTRUCTIONS: Press ENTER key to process the LOG Data Set Enter END command to exit without processing the LOG Data Set VALID PROCESS OPTIONS: PD - Print data set and delete KS - Keep data set - Use Same D - Delete data set w/o printing KN - Keep data set - Use New JOB STATEMENT INFORMATION: (Requiured for system printer) ===> ===> ===> ===>
On initial display, panel PLLP01 is pre-filled with declared LOG default values.
Type the appropriate Process option and batch or local printer information.
Process Option PD - If the LOG file is allocated, file contents are printed to batch or local printer. For batch, file deallocated in foreground and deleted in batch job. For local, file deallocated and deleted in foreground after printing. New file is allocated next time. D - If the LOG file is allocated, file is deallocated and deleted. New file is allocated next time. KS - If the LOG file is allocated, file is deallocated and kept. Same file is allocated next time. KN - If the LOG file is allocated, file is deallocated and kept. New file is allocated next time. Batch SYSOUT class Any valid batch SYSOUT class for your installation Local printer ID Any valid printer ID for your installation Local SYSOUT class Any valid SYSOUT class for your installation JOB STATEMENT INFORMATION One to four JOB statements for batch printing
Simple edits must be satisfied such as – for process option PD (print and delete), if BATCH SYSOUT class is specified, JOB statement information must be provided including blank entries for local printer id and local sysout class.
After processing completes, an appropriate message is displayed.
If the END (PF3) command is entered, the log process is cancelled and control is returned to the originating panel.
All panel fields are saved to the user system profile except the process option field. The saved fields become the new default values.
If a valid keyword option (e.g. PRINT or KEEP) is used with the CLOG command, the process occurs without presenting the the disposition panel unless default values are invalid for requested action.
The system profile variable, LLOGNAME, contains the fully qualified data set name for the LOG data set. A new dataset is not allocated until a initial write request transpires for the LOG data set. If the LOG data set is not allocated or has not been used during the ISPF session, the system profile variable is blank.
If you intend to use the log data set name for your processing, be sure to retrieve the system profile variable LLOGNAME.
The CLOG command will not process a LOG data set allocated outside the CLOGIT API.
Processing LIST data set during ISPF session
The CLST command is used to process the LIST file during an ISPF session. The list data set must have been allocated. Processing of the data set can be specified by using keywords BROWSE, QUIKPRT, DELETE, PRINT or KEEP. If a invalid keyword or no keyword is specified, the data set disposition panel, PLLP02, is displayed with default values from ISPF PARAMETER OPTIONS, LOG DEFAULTS (=0.2), if declared.
The following CLST TSO commands are:TSO %CLST BROWSE - Start browse session on the current allocated LIST data set TSO %CLST QUIKPRT - Print current allocated LIST data set to local printer using PRINTOFF TSO %CLST DELETE - Delete current allocated LIST data set, new LIST data set allocated next time a LIST write operation transpires TSO %CLST KEEP - Deallocate current allocated LIST data set, new LIST data set allocated next time a LIST write operation transpires TSO %CLST PRINT - Print and Delete current allocated LIST data set, new LIST data set allocated next time a LIST write operation transpires TSO %CLST - Display panel PLLP02 for allocated LIST data set disposition processing
------------------ Specify Disposition of LIST Data Set --------------------- Command ===> LARRY01 PLLP02 LIST OPTIONS FOR THIS SESSION ----------------------------- LOG Data Set Name : LARRY01.LISTIT.Dyyjjj.Thhmmss Process option ===> Batch SYSOUT class ===> Local printerID ===> Local SYSOUT class ===> INSTRUCTIONS: Press ENTER key to process the LIST Data Set Enter END command to exit without processing the LIST Data Set VALID PROCESS OPTIONS: PD - Print data set and delete KS - Keep data set - Use Same D - Delete data set w/o printing KN - Keep data set - Use New JOB STATEMENT INFORMATION: (Requiured for system printer) ===> ===> ===> ===>
On initial display, panel PLLP02, is pre-filled with declared LIST default values.
Type the appropriate Process option and batch or local printer information.
Process Option PD - If LIST file is allocated, file contents are printed to batch or local printer. For batch, file deallocated in foreground and deleted in batch job. For local, file deallocated and deleted in foreground after printing. New file is allocated next time D - If LIST file is allocated, file is deallocated and deleted. New file is allocated next time. KS - If LIST file is allocated, file is deallocated and kept. Same file is allocated next time KN - If LIST file is allocated, file is deallocated and kept. New file is allocated next time Batch SYSOUT class Any valid batch SYSOUT class for your installation Local printer ID Any valid printer ID for your installation Local SYSOUT class Any valid SYSOUT class for your installation JOB STATEMENT INFORMATION One to four JOB statements for batch printing
Simple edits must be satisfied such as – for process option PD (print and delete), if BATCH SYSOUT class is specified, JOB statement information must be provided including blank entries for local printer id and local sysout class.
After processing completes, an appropriate message is displayed.
If the END (PF3) command is entered, the log process is cancelled and control is returned to the originating panel.
All panel fields are saved to the system profile except the process option field. The saved fields become the default values.
If a valid keyword option (e.g. PRINT or KEEP) is used with the CLST command, the process occurs without presenting the the disposition panel unless default values are invalid for requested action.
The system profile variable, LLSTNAME, contains the fully qualified data set name for the LIST data set. A new dataset is not allocated until a initial write request transpires for the LIST data set. If the LIST data set is not allocated or has not been used during the ISPF session, the system profile variable is blank.
If you intend to use the list data set name for your processing, be sure to retrieve the system profile variable LLSTNAME.
The CLST command will not process a LIST data set allocated outside the CLSTIT API.
Processing LOG and LIST data set at end of ISPF session
The LOG and LIST data sets are processed when ISPF is terminated normally (e.g. =X) per the declared processing option as defined in LOG and LIST DEFAULTS (=0.2).
See below for adding ISPF commands into the ISPF LOGON procedure to process both data sets.
Writing to LOG data set
The CLOGIT command is used to write an ISPF message or text message as log entries to the LOG data set and invoked using the ISPF Select service from the problem code (program or CLIST).
ISPF Command Syntax: ISPEXEC SELECT CMD(%CLOGIT DEBUG DBUG MSG() SINGLE DOUBLE TRIPLE - PAGE ID() PNAME() TXT(''text'') SHOWERR(Y)) - NEWAPPL(ISP) Although not suggested, CLOGIT can be invoked as a CLIST command provided the current application is set to ISP (APPLID=ISP) using the following Command Syntax similar to above: %CLOGIT DEBUG DBUG MSG() SINGLE DOUBLE TRIPLE PAGE - ID() PNAME() TXT(''text'') SHOWERR(Y)) - Parameters: DEBUG optional, used to enable DEBUG CONTROL statements and list DEBUG information during CLIST execution. Assumes DBUG. DBUG optional, used to list DEBUG information during CLIST execution. MSG Msg ID of ISPF Message to be logged as short and/or long msg text MSG is mutually exclusive with TXT keyword PAGE Page eject and print SINGLE Single space and print Default if no line advancing keyword specified DOUBLE Double space and print TRIPLE Triple space and print ID ID (up to 2 bytes) blanks - default value if ignored PNAME Process Name (up to 8 bytes) blanks - default value if ignored TXT Log text (up to 86 bytes) blanks - default value if ignored TXT is mutually exclusive with MSG keyword SHOWERR Display non-zero RC on terminal Y - Yes (default) Other - No, Do not display non-zero RC on terminal Return Codes: 00 Log record written 04 Log record truncated and written 16 Log file not allocated 18 APPLID not ISR 20 ISPF not active Examples for logging activity to LOG data set: 1. Invoke CLOGIT to write the text 'DATASET BROWSED &DSN' from process BDSN with ID 77 ISPEXEC SELECT CMD(%CLOGIT ID(77) - PNAME(BDSN) TXT(''DATASET BROWSED &DSN'') - NEWAPPL(ISP) 2. Invoke CLOGIT to LOG ISPF Message DXY1002 ISPEXEC SELECT CMD(%CLOGIT MSG(DXY1002) - NEWAPPL(ISP)
The equivalent “ISPEXEC LOG MSG(msg-id)” statement uses the MSG keyword to write an ISPF message to the LOG data set.
CLOGIT ejects to new page when LOG is initially allocated to ISPF session.
CLOGIT always inserts ANSI carriage-control character ahead of LOG text line.
CLOGIT will manage pagination of LOG report based on lines per page specified in the LOG Default Values panel (PLLDFLT).
Writing to LIST data set
The CLSTIT command is used to write list entries to the LIST data set and invoked using the ISPF Select service from the problem code (program or CLIST).
The TXT parameter contains the data to be written to the LIST data set. The amount of data written to the LIST data set can be one or more lines based on line length (LLEN parameter) in a single CLSTIT invocation.
ISPF Command Syntax: ISPEXEC SELECT CMD(%CLSTIT DEBUG DBUG SINGLE DOUBLE TRIPLE OVERSTRK - PAGE CC LLEN() TXT(''text'') SHOWERR(Y)) - NEWAPPL(ISP) Although not suggested, CLSTIT can be invoked as a CLIST command provided the current application is set to ISP (APPLID=ISP) using the following Command Syntax similar to above: %CLSTIT DEBUG DBUG SINGLE DOUBLE TRIPLE OVERSTRK PAGE CC - LLEN() TXT(''text'') SHOWERR(Y)) - Parameters: DEBUG optional, used to enable DEBUG CONTROL statements and list DEBUG information during CLIST execution. Assumes DBUG. DBUG optional, used to list DEBUG information during CLIST execution. SINGLE Each line of data to be written to the list data set is preceded by a single space carriage control character. Default line spacing SINGLE is ignored if the CC keyword is specified. DOUBLE Each line of data to be written to the list data set is preceded by a double space carriage control character. DOUBLE is ignored if the CC keyword is specified. TRIPLE Each line of data to be written to the list data set is preceded by a triple space carriage control character. TRIPLE is ignored if the CC keyword is specified. OVERSTRK Each line of data to be written with overstrikes. That is, each line is written with specified spacing, then written again with line spacing suppressed. carriage control character. OVERSTRK is ignored if the CC keyword is specified. PAGE The first data line of this CLSTIT call is to be preceded with a page eject carriage control character. The spacing of remaining lines is determined by SINGLE, DOUBLE, or TRIPLE keywords. PAGE is ignored if the CC keyword is specified. CC Carriage Control characters provided by the caller in the first byte of each data line. The value for line length should include one byte for the carriage control character. CC keyword nullifies PAGE, SINGLE, DOUBLE, TRIPLE, or OVERSTRK keyword. LLEN Length of each line in TXT. Each line may be truncated if the line length exceeds the line length specified in the LIST characteristics panel (PLSTCHR) TXT Text data to be written to LIST data set SHOWERR Display non-zero RC on terminal Y - Yes (default) Other - No, Do not display non-zero RC on terminal Return Codes: 00 LIST record written 04 LIST record truncated and written 16 LIST file not allocated 18 APPLID not ISR 20 ISPF not active 40 LLEN not numeric 41 LLEN > TXT length 40 LLEN must be > 0 for CC keyword Examples to write to LIST data set: 1. Invoke five CLSTIT commands to write 5 lines, double spaced, each line 6 bytes in length with separate variables: DATATXT1 = 'LINE 1' DATATXT2 = 'LINE 2' DATATXT3 = 'LINE 3' DATATXT4 = 'LINE 4' DATATXT5 = 'LINE 5' ISPEXEC SELECT CMD(%CLSTIT TXT(''&DATATXT1'') DOUBLE LLEN(6)) NEWAPPL(ISP) ISPEXEC SELECT CMD(%CLSTIT TXT(''&DATATXT2'') DOUBLE LLEN(6)) NEWAPPL(ISP) ISPEXEC SELECT CMD(%CLSTIT TXT(''&DATATXT3'') DOUBLE LLEN(6)) NEWAPPL(ISP) ISPEXEC SELECT CMD(%CLSTIT TXT(''&DATATXT4'') DOUBLE LLEN(6)) NEWAPPL(ISP) ISPEXEC SELECT CMD(%CLSTIT TXT(''&DATATXT5'') DOUBLE LLEN(6)) NEWAPPL(ISP) 1. Invoke one CLSTIT command to write 5 lines, double spaced, each line 6 bytes in length with a single variable: DATATXT = 'LINE 1LINE 2LINE 3LINE 4LINE 5' ISPEXEC SELECT CMD(%CLSTIT TXT(''&DATATXT'') DOUBLE LLEN(30)) NEWAPPL(ISP) 2. Invoke one CLSTIT command to write 5 lines, carriage control embedded in each line, each line 7 bytes in length with a single variable: DATATXT = ' LINE 1+LINE 2 LINE 3 LINE 4 LINE 5' ISPEXEC SELECT CMD(%CCLSTIT TXT(''&DATATXT'') CC LLEN(35)) NEWAPPL(ISP)
Line spacing and page ejects can be under the control of the caller or CLSTIT. If the CC keyword is specified, the caller controls all carriage-control values using the first byte of each line in TXT.
CLSTIT ejects to new page when LIST is initially allocated to ISPF session.
When CC keyword is not specified, CLSTIT always inserts ANSI carriage-control character ahead of LIST text line written to the LIST data set.
When SINGLE, DOUBLE or TRIPLE keyword is specified, CLSTIT inserts the specified spacing when written to LIST data set. Optionally, the OVERSTRK keyword can be specified in addition to line spacing keyword to overstrike each line to cause a bold or high-lighting appearance. OVERSTRK effect is dependent on logical printer software or physical printing device.
Also, the optional PAGE keyword is used to force a page eject when the first line is written to the LIST data set.
Page ejects automatically occur when LIST lines per page are reached or exceeded.
When CC keyword is specified, SINGLE, DOUBLE, TRIPLE, OVERSTRK and PAGE are ignored.
Printer control (carriage control characters) are supplied as the first byte of each line in TXT. No validation is performed on carriage control characters passed in TXT.
LLSPLCNT (system profile variable) contains the number of lines that have been written to the current page in the LIST data set.
LLSTNAME (system profile variable) contains the fully qualified name of the list data set. If the LIST data set is not open, the value of LLSTNAME is blank.
LLSLPP (system profile variable) contains the maximum number of lines per page written to the list data set. This value is set using the LIST Characteristics panel (PLSTCHR), option 0.5.
CLSTIT callers can test LLSPLCNT and LLSLPP values to determine when print should begin on a new page.
The below carriage control characters are recognized by CLSTIT for incrementing page line count:
CCC* Printing Action LLSPLCNT
blank Space 1 line +1
0 Space 2 lines +2
- Space 3 lines +3
+ Suppress spacing +0
1 Skip to line 1 Set to 1
on new page
other printer dependent +1
NOTE: other CCC will increment page line count by 1
*CCC Carriage Control Character
The print line can be truncated based on defined LIST characteristic. The LIST data set truncation value is stored in system profile, LLSTRUN,
CLSTIT will manage pagination of LIST report based on lines per page specified in the LIST Default Values panel (PLLDFLT).
LOG Report
The below sample LOG report contains a set of header lines and individual transaction lines.
Sample LOG File: 1 10 20 30 40 50 60 70 80 90 100 110 120 A---+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+- 1Page: 1 MM/DD/CCYY HH:MM:SS ID PROCESS TRANSACTION mm/dd/ccyy hh:mm:ss 00 CLOGINIT *** START OF ISPF SESSION LOG -------------------------------------- mm/dd/ccyy hh:mm:ss 00 CLOGINIT JOB LARRY01(TSU00350) EXECUTING mm/dd/ccyy hh:mm:ss 00 ISPFGO RFE CVRM:(R50M0) LVRM:(R50M0) PVRM:(R48M3) mm/dd/ccyy hh:mm:ss 00 ISPFGO ISPF VRM:(V2R2M0) mm/dd/ccyy hh:mm:ss _1 CDVTCSEL B LARRY01.CARDS.D22141.T100618 TSO00B PS : RC=0 mm/dd/ccyy hh:mm:ss _1 CDVTCSEL E LARRY01.CARDS.D22141.T114101 TSO00A PS : RC=0 mm/dd/ccyy hh:mm:ss _1 CDVTCSEL I LARRY01.CARDS.D22141.T130108 TSO00A PS mm/dd/ccyy hh:mm:ss _1 CDVTCSEL FI LARRY01.CARDS.D22141.T130317 TSO00B PS : RC=0 mm/dd/ccyy hh:mm:ss _1 CDVTCSEL ** INVALID SELECTION: DS ** mm/dd/ccyy hh:mm:ss 00 LOG_MSGS ISP050E: UNIDENTIFIED INPUT FIELD LOG_MSGL ISP050E: ISP050E - A TERMINAL I/O ERROR HAS OCC mm/dd/ccyy hh:mm:ss 00 CLOGDONE *** END OF ISPF SESSION LOG #NN ----------------------------------------The transaction line is comprised of a Date-Time Stamp, ID number, Process Name and Log Text where most of the report line content is user-defined.
MM/DD/CCYY - 10-byte field Date stamp hh:mm:dd - 8-byte field Time stamp ID - 2-byte field Sample LOG uses ISPF screen ID. PROCESS - 8-byte field Sample LOG uses CLIST name. TRANSACTION - 88-byte field free-form and defined by the invoking application Sample LOG concatenates function, DSN, volume, organization and return code.
Implementing CLGLST
In addition to software installation, several integration-points within ISPF components require modification to complete implementation of CLGLST:
1) ISPF PARAMETER OPTIONS require modification to invoke LOG/LIST Defaults and LIST Characteristics
2) Add LOG and LIST data set processing to ISPF LOGON procedure to process at termination of ISPF
3) Invoke CLOGIT and/or CLSTIT from problem code (CLIST or program) to invoke a LOG-like or LIST-like command (e.g. CMD %CLOGIT)
1) ISPF PARAMETER OPTIONS
This requires modifying the ISPF PARAMETERS OPTIONS selection menu.
See README file below for details
2) ISPF TERMINATION
When control returns to the LOGON (ISPF) procedure, a subsequent set of commands are inserted to separately process the LOG and LIST data sets as depicted by the below snippet:
ISPF <--- your installation ISPF invoking point Add the following to your installations LOGON procedure or ISPF CLIST after the invocation of ISPF: /**********************************************************************/ /* POST-ISPF Processing */ /**********************************************************************/ /**********************************************/ /* Process LOGIT */ /**********************************************/ ISPF CMD(%CLOG TERMN8) NEWAPPL(ISP) /**********************************************/ /* Process LISTIT */ /**********************************************/ ISPF CMD(%CLST TERMN8) NEWAPPL(ISP)
3) Invoking CLOGIT and CLSTIT
This involves setting variables and executing the ISPF SELECT service from the problem code set.
See Writing to LOG data set above.
See Writing to LIST data set above.
Prerequisites
ISPF v2.2+ (ISPF-like product from Wally Mclaughlin) is necessary to use this software.
Two user-mods, ZP60014 and ZP60038, are REQUIRED to process CLIST symbolic variables via the IKJCT441 API on MVS 3.8J before using the this software. More information on user-mods ZP60014 and ZP60038 can be obtained from the following website:
http://www.prycroft6.com.au/vs2mods/
Check your system to determine if one or both user-mods are required. ZP60038 requires ZP60014.
Several other components are pre-requisites. See README file for a complete list of required and/or optional software including download sites.
Software Disclaimer
No guarantee; No warranty; Install / Use at your own risk.
This software is provided “AS IS” and without any expressed or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
The author requests keeping authors name intact to any modified versions.
In addition, the author requests readers to submit any code modifications / enhancements and associated comments for consideration into a subsequent release (giving credit to contributors) thus, improving overall functionality benefiting the MVS 3.8J hobbyist public domain community.
Access CLGLST now for a demo!
Take CLGLST for a ‘test drive’ before downloading and installing onto your MVS38J system.
Point your TN3270 terminal emulator using SSL to
URL: mywhs.belmontes.net
PORT: 5000
SSL : Version 3
Once connected, log on using any of the TK4- default user ids and passcodes.
After successful logon, select option I (I for ISPF) from the TSO Applications Menu. Note, option I is not listed on the menu – this is intentional.
From the ISPF PRIMARY OPTION MENU, type the following command and press ENTER:
OPTION ===> =0.2
The LOG and LIST Defaults panel is displayed (PLLDFLT).
Press PF3 to return to originating panel.
From the ISPF PARAMETER OPTIONS menu, type the following command and press ENTER:
OPTION ===> TSO %CLOGIT TXT(”your message text”)
Use two apostrophes (not double-quotes) at start and end of message.
No confirmation message is displayed after posting LOG entry.
From the ISPF PARAMETER OPTIONS menu, type the following command and press ENTER:
OPTION ===> TSO %CLOG B
A browse session is started for current log data set, should it be allocated.
Note the last log entry… It should include the message you typed in the CLOGIT command above.
Use PF3 to return to originating panel.
From the ISPF PARAMETER OPTIONS menu, type the following command and press ENTER:
OPTION ===> TSO %CLSTIT TXT(”your print text”)
Use two apostrophes (not double-quotes) at start and end of message.
No confirmation message is displayed after posting LIST entry.
From the ISPF PARAMETER OPTIONS menu, type the following command and press ENTER:
OPTION ===> TSO %CLST B
A browse session is started for current list data set, should it be allocated.
Note the last list entry… It should include the message you typed in the CLSTIT command above.
Use PF3 until returning to the TSO READY prompt.
Log off TSO.
Terminate 3270 session.
Installing CLGLST Software
After downloading the ZIP file, the approach for this installation procedure is to transfer the distribution content (HET and/or XMI) from the your personal computing device to MVS with minimal JCL (less than 24 lines for easy copy-paste) and to continue the installation procedure using supplied JCL from the MVS CNTL data set under TSO.
- Click here to download the CLGLST zip file to your PC local drive.
The below README file includes a ZIP file content list, pre-installation requirements and installation steps.
CLGLST for MVS 3.8J / Hercules . ============================== . . CLGLST for MVS3.8J / Hercules ============================= Date: 07/01/2024 Release V0R9M02 10/10/2022 Release V0R9M01 02/10/2022 Release V0R9M00 **INITIAL software distribution 09/11/2019 Release V0R5M00 * Author: Larry Belmontes Jr. * https://ShareABitofIT.net/CLGLST-in-MVS38J * Copyright (C) 2019-2024 Larry Belmontes, Jr. ---------------------------------------------------------------------- | CLGLST I n s t a l l a t i o n R e f e r e n c e | ---------------------------------------------------------------------- The approach for this installation procedure is to transfer the distribution content from your personal computing device to MVS with minimal JCL and to continue the installation procedure using supplied JCL from the MVS CNTL data set under TSO. Below are descriptions of ZIP file content, pre-installation requirements (notes, credits) and installation steps. Thanks! -Larry Belmontes ---------------------------------------------------------------------- | CLGLST C h a n g e H i s t o r y | ---------------------------------------------------------------------- * MM/DD/CCYY Version Name / Description * ---------- ------- ----------------------------------------------- * 07/01/2024 0.9.02 Larry Belmontes Jr. * - Use software HLQ of SHRABIT * - Limit TSO status capture onto ISPF LOG * - Correct line truncation value for ISPF LIST * - Add function to display LOG and LIST * internal variable values (dev tool) * - Update CLSTIT print driver from CLIST to * COBOL using PUTLIST to issue LISTIT I/O * * 10/10/2022 0.9.01 Larry Belmontes Jr. * - Correct FREE statement to delete LOG dataset * - Correct FREE statement to delete LST dataset * - Display LOG/LST termination errors and wait * on user response * - Change delay to 0 seconds in LOG/LST * termination processing * - Removed utility, GETMSG, from distribution * to isolate maintenance of utility; * see README file for more information * * 02/10/2022 0.9.00 Larry Belmontes Jr. * - Initial version released to MVS 3.8J * hobbyist public domain * * 09/11/2019 0.5.00 Larry Belmontes Jr. * Initial prototyping and development * w ISPF 2.x * * ====================================================================== * I. C o n t e n t o f Z I P F i l e | ====================================================================== o $INST00.JCL Define Alias for HLQ in Master Catalog o $INST01.JCL Load CNTL data set from distribution tape o $RECVXMI.JCL RECV370 Receive XMI SEQ to MVS PDSs o $RECVTSO.JCL TSO Receive XMI SEQ to MVS PDSs o CLGLST.V0R9M02.HET Hercules Emulated Tape (HET) multi-file volume volser=VS0902 containing software distribution library. o CLGLST.V0R9M02.XMI XMIT file containing software distribution library. o DSCLAIMR.TXT Disclaimer o PREREQS.TXT Required user-mods o README.TXT This File Note: See application web page for any updates to readme.txt Note: ISPF v2.0+ (ISPF-like product from Wally Mclaughlin) must be ----- installed under MVS 3.8J TSO including associated user-mods per ISPF Installation Pre-reqs. Note: Two user-mods, ZP60014 and ZP60038, are REQUIRED to process ----- CLIST symbolic variables via the IKJCT441 API on MVS 3.8J before using this software. More information and download links at: http://www.prycroft6.com.au/vs2mods/ Note: CUTIL00 is a TSO utility that performs various functions using ----- CLIST variables and must be installed as a pre-requisite. More information including current version download link at:CUTIL00 for MVS 3.8JNote: DELAY is a utility that 'sleeps' for a number of seconds and ----- must be installed as a pre-requisite. DELAY may be available on MVS3.8J TK3 and TK4- systems. More information at: https://www.cbttape.org/cbtdowns.htm FILE #547 Note: PRINTOFF (TSO CP) is a pre-requisite for this install ----- and may be available on MVS3.8J TK3 and TK4- systems. More information at: https://www.cbttape.org/cbtdowns.htm FILE #325 - or - may be downloaded in a MVS 3.8J install-ready format from Jay Moseley's site: http://www.jaymoseley.com/hercules/cbt_ware/printoff.htm Note: GETMSG is a ISPF utility to fetch messages and store each ----- message component in CLIST variables and must be installed as a pre-requisite. More information including current version download link at:GETMSG in MVS38J====================================================================== * II. P r e - i n s t a l l a t i o n R e q u i r e m e n t s | ====================================================================== o The Master Catalog name for HLQ aliases. o The Master Catalog password may be required for some installation steps. o If loading via tape files, device 480 is utilized. o DATASET List after distribution library load for reference purposes: DATA-SET-NAME------------------------------- VOLUME ALTRK USTRK ORG FRMT % XT SHRABIT.CLGLST.V0R9M02.ASM PUB006 10 1 PO FB 10 1 SHRABIT.CLGLST.V0R9M02.CLIST PUB006 2 1 PO FB 50 1 SHRABIT.CLGLST.V0R9M02.CNTL PUB006 20 5 PO FB 25 1 SHRABIT.CLGLST.V0R9M02.HELP PUB006 2 1 PO FB 50 1 SHRABIT.CLGLST.V0R9M02.ISPF PUB006 40 11 PO FB 27 1 SHRABIT.CLGLST.V0R9M02.MACLIB PUB006 2 1 PO FB 50 1 **END** TOTALS: 76 TRKS ALLOC 20 TRKS USED 6 EXTENTS Confirm the TOTAL track allocation is available on your device. Note: A different DASD device type (e.g. 3380) may yield different usage. o TSO user-id with sufficient access rights to update SYS2.CMDPROC, SYS2.CMDLIB, SYS2.HELP, SYS2.LINKLIB and/or ISPF libraries. o For installations with a security system (e.g. RAKF), you MAY need to insert additional JOB statement information. // USER=???????,PASSWORD=???????? o Names of ISPCLIB (Clist), ISPMLIB (Message), ISPLLIB (Load) and/or ISPPLIB (Panel) libraries. o Download ZIP file to your PC local drive. o Unzip the downloaded file into a temp directory on your PC device. o Install pre-requisite (if any) software and/or user modifications. o JCL from your local device (after unzip) may be edited using Notepad or nano (based on you host OS) and submitted via TCP/IP sockets reader if your system configuration supports this option. This option can replace some copy-paste tasks during installation. For more information on submitting JCL to MVS 3.8J, seeSubmitting JCL to MVS 3.8Jo For more information on SHRABIT software distribution library, seeSHRABIT Distributions for MVS38Jo For more information on SHRABIT software installation, seeSHRABIT Installations for MVS38J====================================================================== * III. I n s t a l l a t i o n S t e p s | ====================================================================== +--------------------------------------------------------------------+ | Step 1. Determine software installation source | +--------------------------------------------------------------------+ | HET or XMI ? | +--------------------------------------------------------------------+ a) Software can be installed from one of two sources, HET or XMI. - For tape installation (HET), proceed to STEP 3. **** or - For XMIT installation (XMI), proceed to next STEP. +--------------------------------------------------------------------+ | Step 2. Load distribution source from XMI file | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($RECVXMI) | | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($RECVTSO) | +--------------------------------------------------------------------+ ______________________________________________________________________ //RECV000A JOB (SYS),'Receive CLGLST XMI', <-- Review and Modify // CLASS=A,MSGCLASS=X,REGION=0M, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * JOB: $RECVXMI Receive Application XMI Files * //* * using RECV370 * //* -------------------------------------------------------* //RECV PROC HLQ='SHRABIT.CLGLST',VRM=V0R9M02,TYP=XXXXXXXX, // DSPACE='(TRK,(10,05,40))',DDISP='(,CATLG,DELETE)', // DUNIT=DISK,DVOLSER=PUB006 <-- Review and Modify //* //RECV370 EXEC PGM=RECV370 //RECVLOG DD SYSOUT=* //XMITIN DD DISP=SHR,DSN=&&XMIPDS(&TYP) //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=&&SYSUT1, // UNIT=SYSALLDA,SPACE=(CYL,(10,05)),DISP=(,DELETE,DELETE) //SYSUT2 DD DSN=&HLQ..&VRM..&TYP,DISP=&DDISP, // UNIT=&DUNIT,SPACE=&DSPACE,VOL=SER=&DVOLSER //SYSIN DD DUMMY //SYSUDUMP DD SYSOUT=* // PEND //* //* -------------------------------------------------------* //* Ensure parent HLQ alias is declared //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(SHRABIT) /* Review and modify catalog name below */ IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(SHRABIT) RELATE(SYS1.UCAT.MVS)) /* //* //* -------------------------------------------------------* //* RECV370 DVTOC Software Distribution //* -------------------------------------------------------* //XMIPDS EXEC RECV,TYP=XMIPDS,DSPACE='(CYL,(10,05,10),RLSE)' //RECV370.XMITIN DD DISP=SHR,DSN=your.transfer.xmi <-- XMI File //RECV370.SYSUT2 DD DSN=&&XMIPDS,DISP=(,PASS), // UNIT=SYSDA,SPACE=&DSPACE //* //CNTL EXEC RECV,TYP=CNTL //RECV370.SYSUT2 DD DDNAME=&TYP //CNTL DD DSN=&HLQ..&VRM..CNTL,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(20,10,10)), // DISP=&DDISP //* //HELP EXEC RECV,TYP=HELP //RECV370.SYSUT2 DD DDNAME=&TYP //HELP DD DSN=&HLQ..&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP //* //CLIST EXEC RECV,TYP=CLIST //RECV370.SYSUT2 DD DDNAME=&TYP //CLIST DD DSN=&HLQ..&VRM..CLIST,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP //* //ISPF EXEC RECV,TYP=ISPF //RECV370.SYSUT2 DD DDNAME=&TYP //ISPF DD DSN=&HLQ..&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(40,05,10)), // DISP=&DDISP //* //ASM EXEC RECV,TYP=ASM //RECV370.SYSUT2 DD DDNAME=&TYP //ASM DD DSN=&HLQ..&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(10,10,10)), // DISP=&DDISP //* //MACLIB EXEC RECV,TYP=MACLIB //RECV370.SYSUT2 DD DDNAME=&TYP //MACLIB DD DSN=&HLQ..&VRM..MACLIB,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP // ______________________________________________________________________ Figure 1a: $RECVXMI.JCL ______________________________________________________________________ //RECV000B JOB (SYS),'TSO RECEIVE XMI', <-- Review and Modify // CLASS=A,MSGCLASS=X,REGION=0M, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * JOB: $RECVTSO TSO RECEIVE APPLICATION XMI FILES * //* * for CLGLST software distribution * //* -------------------------------------------------------* //* //* This JOB executes two steps: //* //* 1) IDCAMS to ensure parent HLQ alias (SHRABIT) is //* defined on master catalog //* Note: Alias definition bypassed if alias already //* ----- defined. //* //* 2) Executes TSO in BATCH mode and issues //* TSO RECEIVE commands to load the XMI distribution //* library (an XMI SEQ dataset) to a temporary PDS. //* Each software PDS is loaded from before deleting //* temporary PDS. //* //* //* This JCL may be modified to suit your installation //* needs. //* //* The TSO RECEIVE commands use INdataset, DAtaset, VOL, //* and NOPRompt parms. //* //* //* -------------------------------------------------------* //* * * //* * PROC: PBTSO * //* * Batch TSO * //* * * //* -------------------------------------------------------* //PBTSO PROC //STEP01 EXEC PGM=IKJEFT01 //SYSPROC DD DISP=SHR,DSN=SYS2.CMDPROC //*STEPLIB DD DISP=SHR,DSN=SYS2.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD DUMMY Command Line Input //* // PEND //* //* -------------------------------------------------------* //* Ensure parent HLQ alias is declared //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(SHRABIT) /* Review and modify catalog name below */ IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(SHRABIT) RELATE(SYS1.UCAT.MVS)) /* //* //* -------------------------------------------------------* //* TSO RECEIVE CLGLST Software Distribution //* -------------------------------------------------------* //TSORCV EXEC PBTSO //* -------------------------------------------------------* //* Review and Modify the DSN of the transferred XMI <----- //* used in the TSO RECEIVE SYSTSIN DD. <----- //* -------------------------------------------------------* //STEP01.SYSTSIN DD * /* Modify 'SHRABIT.' with your parent HLQ, if different */ /* Modify 'your.transfer.xmi' with transferred XMI SEQ DSN */ /* Modify 'volser' with VOLSER on your system */ RECEIVE IN('your.transfer.xmi') - DA('SHRABIT.CLGLST.V0R9M02.XMIPDS') - VOL(volser) NOPROMPT /* Receive CNTL */ RECEIVE IN('SHRABIT.CLGLST.V0R9M02.XMIPDS(CNTL)') - DA('SHRABIT.CLGLST.V0R9M02.CNTL') - VOL(volser) NOPROMPT /* Receive HELP */ RECEIVE IN('SHRABIT.CLGLST.V0R9M02.XMIPDS(HELP)') - DA('SHRABIT.CLGLST.V0R9M02.HELP') - VOL(volser) NOPROMPT /* Receive CLIST */ RECEIVE IN('SHRABIT.CLGLST.V0R9M02.XMIPDS(CLIST)') - DA('SHRABIT.CLGLST.V0R9M02.CLIST') - VOL(volser) NOPROMPT /* Receive ISPF */ RECEIVE IN('SHRABIT.CLGLST.V0R9M02.XMIPDS(ISPF)') - DA('SHRABIT.CLGLST.V0R9M02.ISPF') - VOL(volser) NOPROMPT /* Receive ASM */ RECEIVE IN('SHRABIT.CLGLST.V0R9M02.XMIPDS(ASM)') - DA('SHRABIT.CLGLST.V0R9M02.ASM') - VOL(volser) NOPROMPT /* Receive MACLIB */ RECEIVE IN('SHRABIT.CLGLST.V0R9M02.XMIPDS(MACLIB)') - DA('SHRABIT.CLGLST.V0R9M02.MACLIB') - VOL(volser) NOPROMPT /* Delete XMIPDS */ DELETE 'SHRABIT.CLGLST.V0R9M02.XMIPDS' /* // ______________________________________________________________________ Figure 1b: $RECVTSO.JCL a) Transfer CLGLST.V0R9M02.XMI to MVS using your 3270 emulator. Make note of the DSN assigned on MVS transfer. Use transfer IND$FILE options: NEW BLKSIZE=3200 LRECL=80 RECFM=FB - or - NEW BLKSIZE(3200) LRECL(80) RECFM(FB) Ensure the DSN on MVS exists with the correct DCB information: ORG=PS BLKSIZE=3200 LRECL=80 RECFM=FB b) If using RECV370 to load XMI, Copy and paste the $RECVXMI JCL to a PDS member, update JOB statement to conform to your installation standard. - or - If using TSO RECEIVE to load XMI, Copy and paste the $RECVTSO JCL to a PDS member, update JOB statement to conform to your installation standard. c) The first step ensures the HLQ alias is defined and the subsequent steps perform the XMI load. Review JCL and apply any modifications per your installation including the DSN assigned during the transfer above for the XMI file. d) Submit the job. e) Review job output for successful load of the following PDSs: SHRABIT.CLGLST.V0R9M02.ASM SHRABIT.CLGLST.V0R9M02.CLIST SHRABIT.CLGLST.V0R9M02.CNTL SHRABIT.CLGLST.V0R9M02.HELP SHRABIT.CLGLST.V0R9M02.ISPF SHRABIT.CLGLST.V0R9M02.MACLIB f) Subsequent installation steps will be submitted from members contained in the CNTL data set. g) Proceed to STEP 6. **** +--------------------------------------------------------------------+ | Step 3. Define Alias for HLQ CLGLST in MVS User Catalog | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST00) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST00 JOB (SYS),'Def SHRABIT Alias', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * JOB: $INST00 Define Alias for parent HLQ SHRABIT * //* * Note: The master catalog password may be required * //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(SHRABIT) /* Review and Modify catalog name below */ IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(SHRABIT) RELATE(SYS1.UCAT.MVS)) /* // ______________________________________________________________________ Figure 2: $INST00 JCL Note: This distribution is installed under the HLQ alias SHRABIT. $INST00 bypasses the DEFINE ALIAS action when the alias is already defined. a) Copy and paste the above JCL to a PDS member, update JOB statement to conform to your installation standard. b) Submit the job. c) Review job output for successful DEFINE ALIAS. Note: When $INST00 runs for the first time, Job step DEFALIAS returns RC=0004 due to LISTCAT ALIAS function completing with condition code of 4 and DEFINE ALIAS function completing with condition code of 0. Note: When $INST00 runs after the ALIAS is defined, Job step DEFALIAS returns RC=0000 due to LISTCAT ALIAS function completing with condition code of 0 and DEFINE ALIAS function being bypassed. +--------------------------------------------------------------------+ | Step 4. Load CNTL data set from distribution tape | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST01) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST01 JOB (SYS),'Install CNTL PDS', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * JOB: $INST01 Load CNTL PDS from distribution tape * //* * Note: Uses tape drive 480 * //* -------------------------------------------------------* //LOADCNTL PROC THLQ=CLGLST,TVOLSER=VS0902, // HLQ='SHRABIT.CLGLST',VRM=V0R9M02, // DDISP='(,CATLG,DELETE)', // TUNIT=480,DVOLSER=PUB006,DUNIT=DISK <-- Review and Modify //LOAD001 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCNTL DD DSN=&THLQ..&VRM..CNTL.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(1,SL) //CNTL DD DSN=&HLQ..&VRM..CNTL,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(20,10,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) // PEND //STEP001 EXEC LOADCNTL Load CNTL PDS //SYSIN DD * COPY INDD=INCNTL,OUTDD=CNTL // ______________________________________________________________________ Figure 3: $INST01 JCL a) Before submitting the above job, the distribution tape must be made available to MVS by issuing the following command from the Hercules console: DEVINIT 480 X:\dirname\CLGLST.V0R9M02.HET READONLY=1 where X:\dirname is the complete path to the location of the Hercules Emulated Tape file. b) Issue the following command from the MVS console to vary device 480 online: V 480,ONLINE c) Copy and paste the above JCL to a PDS member, update JOB statement to conform to your installation standard. Review JCL and apply any modifications per your installation. d) Submit the job. e) Review job output for successful load of the CNTL data set. f) Subsequent installation steps will be submitted from members contained in the CNTL data set. +--------------------------------------------------------------------+ | Step 5. Load Other data sets from distribution tape | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST02) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST02 JOB (SYS),'Install Other PDSs', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * JOB: $INST02 Load other PDS from distribution tape * //* * Tape Volume: File 1 - CNTL * //* * File 2 - CLIST * //* * File 3 - HELP * //* * File 4 - ISPF * //* * File 5 - ASM * //* * File 6 - MACLIB * //* * Note: Default TAPE=480, DASD=DISK on PUB006 * //* -------------------------------------------------------* //LOADOTHR PROC THLQ=CLGLST,TVOLSER=VS0902, // HLQ='SHRABIT.CLGLST',VRM=V0R9M02, // DDISP='(,CATLG,DELETE)', // TUNIT=480,DVOLSER=PUB006,DUNIT=DISK <-- Review and Modify //LOAD02 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCLIST DD DSN=&THLQ..&VRM..CLIST.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(2,SL) //INHELP DD DSN=&THLQ..&VRM..HELP.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(3,SL) //INISPF DD DSN=&THLQ..&VRM..ISPF.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(4,SL) //INASM DD DSN=&THLQ..&VRM..ASM.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(5,SL) //INMACLIB DD DSN=&THLQ..&VRM..MACLIB.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(6,SL) //CLIST DD DSN=&HLQ..&VRM..CLIST,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //HELP DD DSN=&HLQ..&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //ISPF DD DSN=&HLQ..&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(40,05,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //ASM DD DSN=&HLQ..&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(10,10,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //MACLIB DD DSN=&HLQ..&VRM..MACLIB,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) // PEND //* //STEP001 EXEC LOADOTHR Load ALL other PDSs //SYSIN DD * COPY INDD=INCLIST,OUTDD=CLIST COPY INDD=INHELP,OUTDD=HELP COPY INDD=INISPF,OUTDD=ISPF COPY INDD=INASM,OUTDD=ASM COPY INDD=INMACLIB,OUTDD=MACLIB // ______________________________________________________________________ Figure 4: $INST02 JCL a) Member $INST02 installs remaining data sets from distribution tape. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Before submitting the above job, the distribution tape must be made available to MVS by issuing the following command from the Hercules console: DEVINIT 480 X:\dirname\CLGLST.V0R9M02.HET READONLY=1 where X:\dirname is the complete path to the location of the Hercules Emulated Tape file. d) Issue the following command from the MVS console to vary device 480 online: V 480,ONLINE e) Submit the job. f) Review job output for successful loads. +--------------------------------------------------------------------+ | Step 6. FULL or UPGRADE Installation | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($UP0902) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST0U JOB (SYS),'Upgrade CLGLST', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * * //* * JOB: $UP0902 Upgrade CLGLST Software * //* * Upgrade to release V0R9M02 from V0R9M01 * //* * * //* * Review JCL before submitting!! * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * * //* * PROC: PARTSISPF * //* * Copy ISPF Parts * //* * * //* -------------------------------------------------------* //PARTSI PROC HLQ=MYHLQ,VRM=VXRXMXX, // CLIB='XXXXXXXX.ISPCLIB', // MLIB='XXXXXXXX.ISPMLIB', // PLIB='XXXXXXXX.ISPPLIB', // SLIB='XXXXXXXX.ISPSLIB', // TLIB='XXXXXXXX.ISPTLIB' //* //* -------------------------------------------------------* //* * * //* * ISPF Library Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPF Libraries * //* * - ISPCLIB, ISPMLIB, ISPPLIB, ISPSLIB, ISPTLIB * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPxLIB allocation step. * //* * * //* -------------------------------------------------------* //ISPFLIBS EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //ISPFIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //CLIBOUT DD DSN=&CLIB,DISP=SHR //MLIBOUT DD DSN=&MLIB,DISP=SHR //PLIBOUT DD DSN=&PLIB,DISP=SHR //SLIBOUT DD DSN=&SLIB,DISP=SHR //TLIBOUT DD DSN=&TLIB,DISP=SHR //SYSIN DD DUMMY //* // PEND //* //* -------------------------------------------------------* //* * * //* * PROC: ASMLKED * //* * Assembler Link-Edit * //* * * //* -------------------------------------------------------* //ASML PROC HLQ=WHATHLQ,VRM=VXRXMXX,VIO=VIO, // SYSPRM='', // ASMPARM='NODECK,LOAD,RENT,TERM,XREF', // LNKPARM='MAP,LIST,LET,RENT,XREF', // MBR=WHOWHAT //* //ASM EXEC PGM=IFOX00, // PARM='&ASMPARM&SYSPRM' //SYSGO DD DSN=&&LOADSET,DISP=(MOD,PASS),SPACE=(CYL,(1,1)), // UNIT=&VIO,DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800) //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.AMODGEN,DISP=SHR // DD DSN=SYS2.MACLIB,DISP=SHR ** YREG ** // DD DDNAME=PVTMAC ** PVTMAC ** // DD DSN=&HLQ..&VRM..MACLIB,DISP=SHR * myMACLIB ** //PVTMAC DD DSN=SYS2.MACLIB,DISP=SHR * placeholder* //SYSTERM DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSPUNCH DD DSN=NULLFILE //SYSUT1 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSUT2 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSUT3 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSIN DD DSN=&HLQ..&VRM..ASM(&MBR),DISP=SHR <--INPUT //* //LKED EXEC PGM=IEWL, // PARM='&LNKPARM', // COND=(0,NE,ASM) //SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=&VIO,SPACE=(CYL,(5,2)) //SYSIN DD DUMMY //* // PEND //* //* -------------------------------------------------------* //* * * //* * PROC: COBLKED * //* * COBOL Link-Edit * //* * * //* -------------------------------------------------------* //COBL PROC HLQ=WHATHLQ,VRM=VXRXMXX, // MBR=WHOWHAT, // CPARM1='LOAD,SUPMAP', // CPARM2='SIZE=2048K,BUF=1024K' //*COB EXEC PGM=IKFCBL00,REGION=4096K, //* PARM='LOAD,SUPMAP,SIZE=2048K,BUF=1024K' //COB EXEC PGM=IKFCBL00,REGION=4096K, // PARM='&CPARM1,&CPARM2' //STEPLIB DD DUMMY //SYSPRINT DD SYSOUT=* //SYSPUNCH DD DSN=NULLFILE //SYSUT1 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSUT2 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSUT3 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSUT4 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSLIN DD DSNAME=&LOADSET,DISP=(MOD,PASS),UNIT=SYSDA, // SPACE=(80,(500,100)) //SYSLIB DD DSN=&HLQ..&VRM..ASM,DISP=SHR // DD DSN=&HLQ..&VRM..MACLIB,DISP=SHR //SYSIN DD DSN=&HLQ..&VRM..ASM(&MBR),DISP=SHR <--INPUT //* //LKED EXEC PGM=IEWL,PARM='LIST,XREF,LET', // COND=(5,LT,COB),REGION=96K //SYSLIN DD DSNAME=&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DUMMY //SYSLIB DD DUMMY //SYSUT1 DD UNIT=SYSDA,SPACE=(1024,(50,20)) //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //* // PEND //* //* -------------------------------------------------------* //* * Update ISPF parts for this release distribution * //* -------------------------------------------------------* //* * Note: Duplicate members are over-written. * //* -------------------------------------------------------* //* //* * - Install libraries marked... * //* * - Search for '<--TARGET' * //* * - Update install libraries per your * //* * installation standard * //* //* -------------------------------------------------------* //ISPFPRTS EXEC PARTSI,HLQ='SHRABIT.CLGLST',VRM=V0R9M02, // CLIB='XXXXXXXX.ISPCLIB', <--TARGET // MLIB='XXXXXXXX.ISPMLIB', <--TARGET // PLIB='XXXXXXXX.ISPPLIB', <--TARGET // SLIB='XXXXXXXX.ISPSLIB', <--TARGET // TLIB='XXXXXXXX.ISPTLIB' <--TARGET //SYSIN DD * COPY INDD=((ISPFIN,R)),OUTDD=CLIBOUT SELECT MEMBER=CLOG SELECT MEMBER=CLOGIT SELECT MEMBER=CLST SELECT MEMBER=CLSTIT SELECT MEMBER=C$CLSTIT COPY INDD=((ISPFIN,R)),OUTDD=MLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ COPY INDD=((ISPFIN,R)),OUTDD=PLIBOUT SELECT MEMBER=HLOGV01 SELECT MEMBER=PLOGV01 SELECT MEMBER=HLSTV01 SELECT MEMBER=PLSTV01 COPY INDD=((ISPFIN,R)),OUTDD=SLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ COPY INDD=((ISPFIN,R)),OUTDD=TLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //* //* -------------------------------------------------------* //* * Assemble Link-Edit PUTLIST to ISPLLIB * //* -------------------------------------------------------* //PUTLIST EXEC ASML,HLQ='SHRABIT.CLGLST',VRM=V0R9M02,MBR=PUTLIST, // PARM.ASM='NODECK,LOAD,TERM,XREF,RENT', //** PARM.LKED='MAP,LIST,LET,XREF' // PARM.LKED='MAP,LIST,LET,RENT,XREF,REUS,REFR' //LKED.SYSLMOD DD DISP=SHR, // DSN=ISP.SYSCOM.ISPLLIB(&MBR) <-- Review and Modify //* //* -------------------------------------------------------* //* * Compile Link-Edit PRTLST to ISPLLIB * //* -------------------------------------------------------* //PRTLST EXEC COBL,HLQ='SHRABIT.CLGLST',VRM=V0R9M02,MBR=PRTLST, // CPARM1='LIST,LOAD,NODECK,PMAP,DMAP,LIB' //COB.STEPLIB DD DSN=SYS1.LINKLIB,DISP=SHR <--Complr STEPLIB //COB.SYSLIB DD DISP=SHR,DSN=&HLQ..&VRM..MACLIB <-- Copybooks LIB //LKED.SYSLMOD DD DSN=XXXXXXXX.ISPLLIB(&MBR), <-- TARGET // DISP=SHR //LKED.SYSLIB DD DSN=SYS1.COBLIB,DISP=SHR <--Complr COBLIB // DD DSN=XXXXXXXX.ISPLLIB,DISP=SHR <-- PUTLIST // DD DSN=ISP.V2R2M0.LLIB,DISP=SHR <-- ISP SYS LLIB // ______________________________________________________________________ Figure 5: $UP0902.JCL Upgrade from previous version to V0R9M02 a) If this is the INITIAL software distribution, proceed to STEP 7. b) This software may be installed in FULL or UPGRADE from a prior version. Note: If the installed software version is NOT the most recent ----- PREVIOUS version, perform a FULL install. Note: If the installed software version is customized, a manual ----- review and evaluation is suggested to properly incorporate customizations into this software distribution before proceeding with the installation. Refer to the $UPvrmm.JCL members for upgraded software components being installed. Note: $UPvrmm.JCL members exist in each software version. ----- For example, V1R3M00 software contains $UP1300.JCL to upgrade from previous V1R2M00 distribution. For example, V1R2M00 software contains $UP1200.JCL to upgrade from previous V1R1M00 distribution. c) If a FULL install of this software distribution is elected regardless of previous version installed on your system, proceed to STEP 7. d) If this is an UPGRADE from the PREVIOUS version, execute the below JCL based on current installed version: - $UP0902 to upgrade to V0R9M02 from V0R9M01 - $UP0901 to upgrade to V0R9M01 from V0R9M00 - V0R9M00 is initial release, thus, no updates available! e) After upgrade is applied, proceed to validation, STEP 11. +--------------------------------------------------------------------+ | Step 7. Install TSO parts | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST03) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST03 JOB (SYS),'Install TSO Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST03 Install TSO parts * //* * * //* * Note: Duplicate members are over-written. * //* -------------------------------------------------------* //STEP001 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCLIST DD DSN=SHRABIT.CLGLST.V0R9M02.CLIST,DISP=SHR //INHELP DD DSN=SHRABIT.CLGLST.V0R9M02.HELP,DISP=SHR //OUTCLIST DD DSN=SYS2.CMDPROC,DISP=SHR //OUTHELP DD DSN=SYS2.HELP,DISP=SHR //SYSIN DD * COPY INDD=((INCLIST,R)),OUTDD=OUTCLIST SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ COPY INDD=((INHELP,R)),OUTDD=OUTHELP SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ /* // ______________________________________________________________________ Figure 6: $INST03 JCL a) Member $INST03 installs TSO component(s). Note: If no TSO components are included for this distribution, ----- RC = 4 is returned by the corresponding IEBCOPY step. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Submit the job. d) Review job output for successful load(s). +--------------------------------------------------------------------+ | Step 8. Install CLGLST Software | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST04) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST04 JOB (SYS),'Install CLGLST', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST04 Install CLGLST Software * //* * * //* * - Install libraries marked... * //* * - Search for '<--TARGET' * //* * - Update install libraries per your * //* * installation standard * //* * * //* -------------------------------------------------------* //* -------------------------------------------------------* //* * * //* * PROC: ASMLKED * //* * Assembler Link-Edit * //* * * //* -------------------------------------------------------* //ASML PROC HLQ=WHATHLQ,VRM=VXRXMXX,VIO=VIO, // SYSPRM='', // ASMPARM='NODECK,LOAD,RENT,TERM,XREF', // LNKPARM='MAP,LIST,LET,RENT,XREF', // MBR=WHOWHAT //* //ASM EXEC PGM=IFOX00, // PARM='&ASMPARM&SYSPRM' //SYSGO DD DSN=&&LOADSET,DISP=(MOD,PASS),SPACE=(CYL,(1,1)), // UNIT=&VIO,DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800) //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.AMODGEN,DISP=SHR // DD DSN=SYS2.MACLIB,DISP=SHR ** YREG ** // DD DDNAME=PVTMAC ** PVTMAC ** // DD DSN=&HLQ..&VRM..MACLIB,DISP=SHR * myMACLIB ** //PVTMAC DD DSN=SYS2.MACLIB,DISP=SHR * placeholder* //SYSTERM DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSPUNCH DD DSN=NULLFILE //SYSUT1 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSUT2 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSUT3 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSIN DD DSN=&HLQ..&VRM..ASM(&MBR),DISP=SHR <--INPUT //* //LKED EXEC PGM=IEWL, // PARM='&LNKPARM', // COND=(0,NE,ASM) //SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=&VIO,SPACE=(CYL,(5,2)) //SYSIN DD DUMMY //* // PEND //* //* -------------------------------------------------------* //* * * //* * PROC: COBLKED * //* * COBOL Link-Edit * //* * * //* -------------------------------------------------------* //COBL PROC HLQ=WHATHLQ,VRM=VXRXMXX, // MBR=WHOWHAT, // CPARM1='LOAD,SUPMAP', // CPARM2='SIZE=2048K,BUF=1024K' //*COB EXEC PGM=IKFCBL00,REGION=4096K, //* PARM='LOAD,SUPMAP,SIZE=2048K,BUF=1024K' //COB EXEC PGM=IKFCBL00,REGION=4096K, // PARM='&CPARM1,&CPARM2' //STEPLIB DD DUMMY //SYSPRINT DD SYSOUT=* //SYSPUNCH DD DSN=NULLFILE //SYSUT1 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSUT2 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSUT3 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSUT4 DD UNIT=SYSDA,SPACE=(460,(700,100)) //SYSLIN DD DSNAME=&LOADSET,DISP=(MOD,PASS),UNIT=SYSDA, // SPACE=(80,(500,100)) //SYSLIB DD DSN=&HLQ..&VRM..ASM,DISP=SHR // DD DSN=&HLQ..&VRM..MACLIB,DISP=SHR //SYSIN DD DSN=&HLQ..&VRM..ASM(&MBR),DISP=SHR <--INPUT //* //LKED EXEC PGM=IEWL,PARM='LIST,XREF,LET', // COND=(5,LT,COB),REGION=96K //SYSLIN DD DSNAME=&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DUMMY //SYSLIB DD DUMMY //SYSUT1 DD UNIT=SYSDA,SPACE=(1024,(50,20)) //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //* // PEND //* //* -------------------------------------------------------* //* * Assemble Link-Edit PUTLIST to ISPLLIB * //* -------------------------------------------------------* //PUTLIST EXEC ASML,HLQ='SHRABIT.CLGLST',VRM=V0R9M02,MBR=PUTLIST, // PARM.ASM='NODECK,LOAD,TERM,XREF,RENT', //** PARM.LKED='MAP,LIST,LET,XREF' // PARM.LKED='MAP,LIST,LET,RENT,XREF,REUS,REFR' //LKED.SYSLMOD DD DISP=SHR, // DSN=XXXXXXXX.ISPLLIB(&MBR) <-- TARGET //* //* -------------------------------------------------------* //* * Compile Link-Edit PRTLST to ISPLLIB * //* -------------------------------------------------------* //PRTLST EXEC COBL,HLQ='SHRABIT.CLGLST',VRM=V0R9M02,MBR=PRTLST, // CPARM1='LIST,LOAD,NODECK,PMAP,DMAP,LIB' //COB.STEPLIB DD DSN=SYS1.LINKLIB,DISP=SHR <--Complr STEPLIB //COB.SYSLIB DD DISP=SHR,DSN=&HLQ..&VRM..MACLIB <-- Copybooks LIB //LKED.SYSLMOD DD DSN=XXXXXXXX.ISPLLIB(&MBR), <-- TARGET // DISP=SHR //LKED.SYSLIB DD DSN=SYS1.COBLIB,DISP=SHR <--Complr COBLIB // DD DSN=XXXXXXXX.ISPLLIB,DISP=SHR <-- PUTLIST // DD DSN=ISP.V2R2M0.LLIB,DISP=SHR <-- ISP SYS LLIB // ______________________________________________________________________ Figure 7: $INST04 JCL a) Member $INST04 installs program(s). Note: If no components are included for this distribution, ----- an IEFBR14 step is executed. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Submit the job. d) Review job output for successful completion. +--------------------------------------------------------------------+ | Step 9. Install ISPF parts | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST05) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST05 JOB (SYS),'Install ISPF Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST05 Install ISPF parts * //* * * //* * Note: Duplicate members are over-written. * //* * * //* * * //* * - Uses ISPF 2.1 product from Wally Mclaughlin * //* * - Install libraries marked... * //* * - Search for '<--TARGET' * //* * - Update install libraries per your * //* * installation standard * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * * //* * PROC: PARTSISPF * //* * Copy ISPF Parts * //* * * //* -------------------------------------------------------* //PARTSI PROC HLQ=MYHLQ,VRM=VXRXMXX, // CLIB='XXXXXXXX.ISPCLIB', // MLIB='XXXXXXXX.ISPMLIB', // PLIB='XXXXXXXX.ISPPLIB', // SLIB='XXXXXXXX.ISPSLIB', // TLIB='XXXXXXXX.ISPTLIB' //* //* -------------------------------------------------------* //* * * //* * CLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPCLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPCLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDCLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //CLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //CLIBOUT DD DSN=&CLIB,DISP=SHR //SYSIN DD DUMMY //* //* -------------------------------------------------------* //* * * //* * MLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPMLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPMLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDMLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //MLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //MLIBOUT DD DSN=&MLIB,DISP=SHR //SYSIN DD DUMMY //* //* -------------------------------------------------------* //* * * //* * PLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPPLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPPLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDPLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //PLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //PLIBOUT DD DSN=&PLIB,DISP=SHR //SYSIN DD DUMMY //* //* -------------------------------------------------------* //* * * //* * SLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPSLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPSLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDSLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //SLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //SLIBOUT DD DSN=&SLIB,DISP=SHR //SYSIN DD DUMMY //* //* //* -------------------------------------------------------* //* * * //* * TLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPTLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPTLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDTLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //TLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //TLIBOUT DD DSN=&TLIB,DISP=SHR //SYSIN DD DUMMY //* // PEND //* //ISPF EXEC PARTSI,HLQ='SHRABIT.CLGLST',VRM=V0R9M02, // CLIB='XXXXXXXX.ISPCLIB', <--TARGET // MLIB='XXXXXXXX.ISPMLIB', <--TARGET // PLIB='XXXXXXXX.ISPPLIB', <--TARGET // SLIB='XXXXXXXX.ISPSLIB', <--TARGET // TLIB='XXXXXXXX.ISPTLIB' <--TARGET //ADDCLIB.SYSIN DD * CLIB COPY INDD=((CLIBIN,R)),OUTDD=CLIBOUT SELECT MEMBER=C$CLOGIT SELECT MEMBER=CLOGIT SELECT MEMBER=CLOG SELECT MEMBER=CLLDFLT SELECT MEMBER=C$CLSTIT SELECT MEMBER=CLSTIT SELECT MEMBER=CLST SELECT MEMBER=CLSTCHR SELECT MEMBER=CLOGLSTX //ADDMLIB.SYSIN DD * MLIB COPY INDD=((MLIBIN,R)),OUTDD=MLIBOUT SELECT MEMBER=CLOG00 SELECT MEMBER=CLOG01 SELECT MEMBER=CLOG02 SELECT MEMBER=CLOG03 SELECT MEMBER=CLST00 SELECT MEMBER=CLST01 SELECT MEMBER=CLST02 SELECT MEMBER=CLST03 //ADDPLIB.SYSIN DD * PLIB COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT SELECT MEMBER=HLLDFLT SELECT MEMBER=PLLDFLT SELECT MEMBER=HLLP01 SELECT MEMBER=PLLP01 SELECT MEMBER=HLLP02 SELECT MEMBER=PLLP02 SELECT MEMBER=HLSTCHR SELECT MEMBER=PLSTCHR SELECT MEMBER=HLOGV01 SELECT MEMBER=PLOGV01 SELECT MEMBER=HLSTV01 SELECT MEMBER=PLSTV01 //ADDSLIB.SYSIN DD * SLIB COPY INDD=((SLIBIN,R)),OUTDD=SLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //ADDTLIB.SYSIN DD * TLIB COPY INDD=((TLIBIN,R)),OUTDD=TLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ // ______________________________________________________________________ Figure 8: $INST05 JCL a) Member $INST05 installs ISPF component(s). Note: If no ISPF components are included for this distribution, ----- RC = 4 is returned by the corresponding IEBCOPY step. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Review and update DD statements for ISPCLIB (clist), ISPMLIB (messages), and/or ISPPLIB (panel) library names. The DD statements are tagged with '<--TARGET'. d) Submit the job. e) Review job output for successful load(s). +--------------------------------------------------------------------+ | Step 10. Install Other Software | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.CLGLST.V0R9M02.CNTL($INST40) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CLGLST40 JOB (SYS),'Install Other Pgms', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CLGLST for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST40 Install Other Software * //* * Install xxxxxx Programs * //* * * //* * * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * IEFBR14 * //* -------------------------------------------------------* //DUMMY EXEC PGM=IEFBR14 //SYSPRINT DD SYSOUT=* //* // ______________________________________________________________________ Figure 9: $INST40 JCL a) Member $INST40 installs additional software. Note: If no other software is included for this distribution, ----- an IEFBR14 step is executed. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Submit the job. d) Review job output for successful completion. +--------------------------------------------------------------------+ | Step 11. Validate CLOGIT and CLSTIT | +--------------------------------------------------------------------+ a) From the ISPF Main Menu, enter the following command: TSO %C$CLOGIT b) The CLIST will initiate tests including testing the GETMSG utility and display various messages before starting a browse session of the LOGIT data set. Below is a representative sample output from C$CLOGIT: ______________________________________________________________________ *** C$CLOGIT IVP TESTING CLIST *** *** ISPF IS ACTIVE *** *** TEST GETMSG UTILITY *** MSGID='CLOG000', RC=0 GETMSG VARIABLES DISPLAYED... ERRSM='WELCOME CLOGIT TEST MSG ' ERRLM='CLOG000 CLOGIT LONG MESSAGE TEXT IVP... ' ERRALRM='YES' ERRHM=' ' ERRTYPE=' ' *** TEST CLOGIT, .......! *** *** BROWSE LOG DATA SET *** *** ______________________________________________________________________ Figure 10a: Sample messages displayed on terminal from C$CLOGIT c) The sample LOGIT data set contents should appear as represented in the below browse session: ______________________________________________________________________ userid.LOGIT.Dyyjjj.Thhmmss on TSO00A ------------------------- Line 1 Col 1 80 Command ===> Scroll ===> CSR 1 10 20 30 40 50 60 70 A---+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 1PAGE: 1 MM/DD/CCYY HH:MM:SS ID PROCESS DESCRIPTION mm/dd/ccyy hh:mm:ss __ LOGINIT *** START OF ISPF SESSION LOG ----------------- mm/dd/ccyy hh:mm:ss __ LOGINIT JOB userid(TSU00598) EXECUTING . mm/dd/ccyy hh:mm:ss mm/dd/ccyy hh:mm:ss IVP IVP TEST 2 mm/dd/ccyy hh:mm:ss AB IVP IVP TEST 3 W ID mm/dd/ccyy hh:mm:ss MM LOG_MSGS CLOG000: WELCOME CLOGIT TEST MSG LOG_MSGL CLOG000: CLOG000 CLOGIT LONG MESSAGE TEXT IVP. mm/dd/ccyy hh:mm:ss LOG_MSGS CLOG008: CLOGIT SHORT MSG ONLY ______________________________________________________________________ Figure 10b: Sample browse session for LOGIT data set after IVP d) Validation for CLOGIT is complete. e) From the ISPF Main Menu, enter the following command: TSO %C$CLSTIT f) The CLIST will initiate tests including and display various messages before starting a browse session of the LISTIT LISTIT data set. New test cases may be added with new distributions. Below is a representative sample output from C$CLSTIT: ______________________________________________________________________ *** C$CLSTIT IVP TESTING CLIST *** *** ISPF IS ACTIVE *** *** IVP TEST CLSTIT *** 1. IVP TEST START LINE LISTIT ON FILE ALLOC = 'IVP TEST ...' LISTIT ON FILE ALLOC AFTER TOP CC = '1IVP TEST ...' RC=0 2. DEFAULT BLANK LINE RC=0 3. TEXT LINE, TRIPLE SPACE RC=0 4. BLANK LINE, DOUBLE SPACE, NEW PAGE RC=0 5. MUTLI-LINE, DOUBLE SPACE RC=0 6. MUTLI-LINE, CC PROVIDED, NEW PAGE RC=0 7. MUTLI-LINE, CC PROVIDED RC=0 *** BROWSE LOG DATA SET *** *** ______________________________________________________________________ Figure 10c: Sample messages displayed on terminal from C$CLSTIT g) The sample LISTIT data set contents should appear as represented in the below browse session: ______________________________________________________________________ userid.LISTIT.Dyyjjj.Thhmmss on TSO00A ------------------------ Line 1 Col 1 80 Command ===> Scroll ===> CSR 1 10 20 30 40 50 60 70 A---+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 1IVP TEST ... -TRIPLE SPACE LINE 0LINE 1 0LINE 2 0LINE 3 0LINE 4 0LINE 5 0LINE 1 0LINE 2 0LINE 3 0LINE 4 0LINE 5 0ONE DOUBLE SPACED LINE TO LIST FILE ______________________________________________________________________ Figure 10d: Sample browse session for LISTIT data set after IVP h) Validation for CLSTIT is complete. +--------------------------------------------------------------------+ | Step 12. Done | +--------------------------------------------------------------------+ a) Congratulations! You completed the installation for the CLOGIT and CLSTIT commands. At this point, the LOGIT data set is allocated, can perform writes to the LOGIT data set including logging of ISPF messages. The LISTIT data set is allocated, can perform writes to the LISTIT data set. +--------------------------------------------------------------------+ | Step 13. Incorporate CLGLST into ISPF and ISPF Start-up Procedure | +--------------------------------------------------------------------+ This step can be bypassed if this is NOT an INITIAL install. It is assumed this step was completed during the INITIAL install. Four integration modifications are necessary including additional validation to complete the CLGLST application installation. These activities are outlined as follows: ----------------------------------------------- 1) ISPF Log and List Defaults (PLLDFLT) - and - ISPF List Data Set Characteristics (PLSTCHR) ----------------------------------------------- a) It is suggested reusing option 2 and 5 from the ISPF PARAMETER OPTIONS menu (ISPOP0, option =0) to select new panels (PLLDFLT and PLSTCHR). b) Create a copy of ISPOP0 in your application panel library instead of the ISPF system panel library to preserve the original system panel in addition to preserving your ISPOP0 changes when upgrading your ISPF system with a new version. c) Edit the copied version of ISPOP0 in your application panel library. d) Change the option lines as shown below to enable and display revised menu options: )BODY section: -- change line from -- ^ 2 ^LOG/LIST - Specify ISPF log and list defaults -- to -- % 2 +LOG/LIST - Specify ISPF log and list defaults^(CLGLST) -- change line from -- ^ 5 ^LIST - Specify list data set characteristics -- to -- % 5 +LIST - Specify list data set characteristics^(CLGLST) e) Add the 'NEW ENTRY' lines as shown below to process option 2 and 5: )PROC section: &ZSEL = TRANS(TRUNC(&ZCMD,'.') 1,'PGM(ISPOPT01)' /* 2,'PANEL(ISPOP02)' */ 2,'CMD(%CLLDFLT) NEWAPPL(ISP)' <-- NEW ENTRY . . /* 5,'PANEL(ISPOP05)' */ 5,'CMD(%CLSTCHR) NEWAPPL(ISP)' <-- NEW ENTRY . . ' ',' ' *,'?' ) )END f) Save SELECTION MENU panel (ISPOP0) changes. g) Type =0 in the COMMAND line and press ENTER. The revised menu items (2 and 5) should display. h) Type 2 in the COMMAND line and press ENTER. The new panel, PLLDFLT, should display. i) You are now ready to declare LOG and LIST default options. j) When complete, press ENTER to save default options. k) Appropriate confirmation message should display on originating panel. l) Declaring LOG and LIST default values is complete and validated. m) Type =0 in the COMMAND line and press ENTER. The revised menu item (5) should display. h) Type 5 in the COMMAND line and press ENTER. The new panel, PLSTCHR, should display. i) You are now ready to declare LIST Data Set Characteristics. j) When complete, press ENTER to save characteristics. k) Appropriate confirmation message should display on originating panel. l) Declaring LIST Data Set Characteristics is complete and validated. ------------------------------------------- 2) Process LOG data set during ISPF session ------------------------------------------- a) From the ISPF Main Menu, enter the below command to ensure LOG data set is allocated with content by generating a LOG entry: TSO %CLOGIT TXT(''ENSURE LOG DATA SET IS OPEN'') b) From the ISPF Main Menu, enter the below command to browse LOG data set current content: TSO %CLOG B NOTE: CLOG command has several keyword options- BROWSE, QUIKPRT, DELETE, PRINT, KEEP Refer to CLOG CLIST or https://ShareABitofIT.net/CLGLST-in-MVS38J c) Press PF3 to exit browse session d) From the ISPF Main Menu, enter the below command to present the LOG data set disposition panel (PLLP01): TSO %CLOG e) The disposition panel includes default values declared earlier in the validation process. f) Type KS for the Process option to keep using the same LOG data set for subsequent logging activity. g) No other panel data is necessary for this request. However, you can change data and save for subsequent use. h) When complete, press ENTER to process LOG data set. i) Appropriate confirmation message should display on originating panel. j) Processing LOG data set is complete and validated. -------------------------------------------- 3) Process LIST data set during ISPF session -------------------------------------------- a) From the ISPF Main Menu, enter the below command to ensure LIST data set is allocated with content by generating a LIST entry: TSO %CLSTIT TXT(''ENSURE LIST DATA SET IS OPEN'') LLEN(28) b) From the ISPF Main Menu, enter the below command to browse LIST data set current content: TSO %CLST B NOTE: CLST command has several keyword options- BROWSE, QUIKPRT, DELETE, PRINT, KEEP Refer to CLST CLIST or https://ShareABitofIT.net/CLGLST-in-MVS38J c) Press PF3 to terminate browse d) From the ISPF Main Menu, enter the below command to present the LIST data set disposition panel (PLLP02): TSO %CLST e) The disposition panel includes default values declared earlier in the validation process. f) Type KS for the Process option to keep using the same LIST data set for subsequent printing activity. g) No other panel data is necessary for this request. However, you can change data and save for subsequent use. h) When complete, press ENTER to process LIST data set. i) Appropriate confirmation message should display on originating panel. j) Processing LIST data set is complete and validated. --------------------------------------------------------- 4) Process LOG and/or LIST data set after ISPF terminates --------------------------------------------------------- a) Identify Procedure that starts your installation ISPF environment. b) Place the following command statements after the invocation of ISPF as depicted below: 1 10 20 30 40 50 60 70 ----+----+----+----+----+----+----+----+----+----+----+----+----+----+- /********************************************************************/ /* POST-ISPF Processing */ /********************************************************************/ /**********************************************/ /* Process LOG and LIST Data sets */ /**********************************************/ ISPF CMD(%CLOGLSTX) c) When ISPF terminates, CLOG and CLST commands are executed to process LOG and LIST data sets per default processing option. d) This can be validated by reviewing output and/or data set lists (=3.4) depending on default processing option for LOG and LIST data sets. You are complete with the CLGLST application installation! Note: You can change the processing option for the LOG and/or LIST data set per your personal preference by using option 0.2. Enjoy CLGLST! ====================================================================== * IV. S o f t w a r e I n v e n t o r y L i s t | ====================================================================== - SHRABIT.CLGLST.V0R9M02.ASM # . PRTLST Print driver # . PUTLIST Print a line to ISPF LIST data set - SHRABIT.CLGLST.V0R9M02.CLIST . README Dummy member, this is intentional - SHRABIT.CLGLST.V0R9M02.CNTL $ . $INST00 Define Alias for HLQ CLGLST $ . $INST01 Load CNTL data set from distribution tape (HET) $ . $INST02 Load other data sets from distribution tape (HET) $ . $INST03 Install TSO Parts $ . $INST04 Install CLGLST Software $ . $INST05 Install ISPF Parts $ . $INST40 Install Other Software # . $RECVTSO Receive XMI SEQ to MVS PDSs via TSO RECEIVE $ . $RECVXMI Receive XMI SEQ to MVS PDSs via RECV370 # . $UP0902 Upgrade to V0R9M02 from V0R9M01 $ . DSCLAIMR Disclaimer $ . PREREQS Required User-mods $ . README Documentation and Installation instructions - SHRABIT.CLGLST.V0R9M02.HELP . README Dummy member, this is intentional - SHRABIT.CLGLST.V0R9M02.ISPF $ . CLOGIT CLIST to write log message $ . CLOG CLIST to process LOG data set . C$CLOGIT IVP CLIST for CLOGIT . CLOG00 CLOG00 Messages . CLOG01 CLOG01 Messages . CLOG02 CLOG02 Messages . CLOG03 CLOG03 Messages # . HLOGV01 LOG Data Set Variables HELP panel # . PLOGV01 LOG Data Set Variables panel . HLLP01 LOG Data Set Disposition HELP panel . PLLP01 LOG Data Set Disposition panel $ . CLSTIT CLIST to write list message $ . CLST CLIST to process LIST data set $ . C$CLSTIT IVP CLIST for CLSTIT . CLSTCHR CLIST LIST Characteristics driver . CLST00 CLST00 Messages . CLST01 CLST01 Messages . CLST02 CLST02 Messages . CLST03 CLST03 Messages # . HLSTV01 LIST Data Set Variables HELP panel # . PLSTV01 LIST Data Set Variables panel . HLLP02 LIST Data Set Disposition HELP panel . PLLP02 LIST Data Set Disposition panel . HLSTCHR LIST Data Set Characteristics HELP panel . PLSTCHR LIST Data Set Characteristics panel . CLLDFLT CLIST LOG and LIST Defaults driver . CLOGLSTX CLIST to process LOG and LIST at ISPF termination . HLLDFLT LOG and LIST Defaults HELP panel . PLLDFLT LOG and LIST Defaults panel - SHRABIT.CLGLST.V0R9M02.MACLIB . README Dummy member, this is intentional - After downloading any other required software, consult provided documentation including any configuration steps (if applicable) for software and HELP file installation. $ - Denotes modified software component for THIS DISTRIBUTION relative to prior DISTRIBUTION # - Denotes new software component for THIS DISTRIBUTION relative to prior DISTRIBUTION
Closing
Use CLGLST your TSO/ISPF development to log activity and/or print to the list data set on your MVS3.8J system.
As an add-on to ISPF v2.2, it provides an alternative and positions your ISPF dialogues (CLISTs or programs) to migrate to an actual ISPEXEC LOG or ISPEXEC LIST command in the future.
Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues regarding CLGLST.
Thank You.
Version History
* * MM/DD/CCYY Version Name / Description * ---------- ------- ----------------------------------------------- * 07/01/2024 0.9.02 Larry Belmontes Jr. * - Use software HLQ of SHRABIT * - Limit TSO status capture onto ISPF LOG * - Correct line truncation value for ISPF LIST * - Add function to display LOG and LIST * internal variable values (dev tool) * - Update CLSTIT print driver from CLIST to * COBOL using PUTLIST to issue LISTIT I/O * * 10/10/2022 0.9.01 Larry Belmontes Jr. * - Correct FREE statement to delete LOG dataset * - Correct FREE statement to delete LST dataset * - Display LOG/LST termination errors and wait * on user response * - Change delay to 0 seconds in LOG/LST * termination processing * - Removed utility, GETMSG, from distribution * to isolate maintenance of utility; * see README file for more information * * 02/10/2022 0.9.00 Larry Belmontes Jr. * - Initial version released to MVS 3.8J * hobbyist public domain * * 09/11/2019 0.5.00 Larry Belmontes Jr. * Initial prototyping and development * w ISPF 2.x *