++USERMOD(ZP60014) REWORK(20201207) /* ADD CLIST EXTENSIONS */. ++VER(Z038) FMID(EBB1102) PRE(UY16532,UY17021) /* PROBLEM DESCRIPTION: VARIOUS CLIST FACILITIES PRESENT IN TSO/E ARE NOT AVAILABLE. MANY USEFUL CLIST FACILITIES SUCH AS VARIOUS DATE AND TIME FORMATS, ADDITIONAL ENVIRONMENTAL SYMBOLS, AND THE ABILITY TO CAPTURE TERMINAL OUTPUT ARE NOT SUPPLIED AS PART OF TSO. THIS USERMOD CHANGES SEVERAL TSO MODULES. THE EXEC COMMAND HAS BEEN CHANGED TO DEFINE AND RESOLVE AN ADDITIONAL 21 CONTROL VARIABLES AND BUILT-IN FUNCTIONS AS WELL AS THE ORIGINAL 19. PUTLINE HAS BEEN ALTERED TO SUPPORT THE CAPTURE OF LINE-MODE TERMINAL OUTPUT INTO CLIST VARIABLES. SPECIAL CONDITIONS: ACTION: A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO BECOME ACTIVE. DOC: TSO PROVIDES THE FOLLOWING CLIST BUILT-IN FUNCTIONS: DATATYPE - DETERMINE DATA TYPE: 'CHAR' OR 'NUM' EVAL - FORCE ARITHMETIC EVALUATION LENGTH - DETERMINE LENGTH OF EXPRESSION IN BYTES STR - DEFINE CHARACTER STRING SUBSTR - DEFINE SUBSTRING THIS SYSMOD ADDS THE FOLLOWING CLIST BUILT-IN FUNCTIONS: NRSTR - SCAN DATA ONCE AND RETAIN DOUBLE AMPERSANDS EXAMINE THE FOLLOWING SAMPLE CLIST AND ITS OUTPUT TO DETERMINE THE APPROPRIATE USES OF NRSTR: PROC 0 SET A = &&B SET B = FRED SET C = &NRSTR(&A) WRITE C IS &C WRITE C IS &NRSTR(&C) SET DDSTMT = &NRSTR(//SYSUT1 DD DSN=&&UT1,SPACE=(TRK,3),) WRITE &DDSTMT WRITE &NRSTR(&DDSTMT) SYSDSN - DETERMINE DATA SET AVAILABILITY EG. SET ANS = &SYSDSN(&DSNAME) &ANS WILL EVALUATE TO ONE OF THE FOLLOWING: 'OK' 'UNAVAILABLE DATASET' 'DATASET NOT FOUND' 'MEMBER NOT FOUND' 'MEMBER SPECIFIED, BUT DATASET IS NOT PARTITIONED' 'VOLUME NOT ON SYSTEM' 'MISSING DATASET NAME' 'ERROR PROCESSING REQUESTED DATASET' 'INVALID DATASET NAME, INPUTDSNAME' TSO PROVIDES THE FOLLOWING CLIST CONTROL VARIABLES: LASTCC - LATEST TSO COMMAND RETURN CODE MAXCC - HIGHEST TSO COMMAND RETURN CODE SYSDLM - TERMIN DELIMITER SYSDVAL - DEFAULT INPUT VALUE SYSNEST - DETERMINE CLIST NESTING: 'NO' OR 'YES' SYSSCAN - SYMBOLIC SUBSTITUTION SCAN LIMIT SYSICMD - IMPLICIT COMMAND NAME SYSPCMD - MOST RECENT TSO PRIMARY COMMAND SYSSCMD - MOST RECENT TSO SUBCOMMAND SYSUID - TSO USERID SYSPREF - CURRENT DATA SET NAME PREFIX SYSPROC - NAME OF THE TSO LOGON PROCEDURE SYSDATE - CURRENT DATE: 'MM/DD/YY' SYSTIME - CURRENT TIME: 'HH:MM:SS' THIS SYSMOD ADDS THE FOLLOWING CLIST CONTROL VARIABLES: SYSSTIME - SHORTENED TIME: 'HH:MM' SYS4DATE - CURRENT DATE: 'MM/DD/YYYY' SYSSDATE - SORTABLE DATE: 'YY/MM/DD' SYS4SDATE - SORTABLE DATE: 'YYYY/MM/DD' SYSJDATE - JULIAN DATE: 'YY.DDD' SYS4JDATE - JULIAN DATE: 'YYYY.DDD' SYS4IDATE - ISO-FORMAT DATE: 'YYYY-MM-DD' SYSENV - CLIST ENVIRONMENT: 'FORE' OR 'BACK' SYSISPF - ISPF ENVIRONMENT: 'ACTIVE' OR 'NOT ACTIVE' SYSSMFID - SYSTEM SMF IDENTIFIER SYSOPSYS - OPERATING SYSTEM NAME: 'OS/VS2 3.8 EBB1102' SYSJES - NAME OF SUBSYSTEM PROVIDING JOB ID SYSTERMID - NAME OF TSO TERMINAL WHERE CLIST STARTED SYSLTERM - CURRENT LINE COUNT OF TSO TERMINAL SYSWTERM - CURRENT LINE WIDTH OF TSO TERMINAL SYSCPU - CURRENT TCB TIME ACCUMULATED BY TSO SESSION SYSSRV - CURRENT SERVICE ACCUMULATED BY TSO SESSION SYSOUTLINE - NUMBER OF DISPLAY LINES HELD IN VARIABLES SYSOUTTRAP - MAXIMUM NUMBER OF DISPLAY LINES TO CAPTURE CAPTURED LINES ARE HELD IN VARIABLES CALLED SYSOUTLINE1, SYSOUTLINE2, SYSOUTLINE3, ETC. COMMENTS: PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NUMBER 14. REWORK HISTORY: 2005-09-18: SKIP OUTTRAP CHECK FOR MESSAGES FROM EXEC (S0C4). 2005-11-11: SKIP OUTTRAP CHECK FOR MESSAGES FROM COMMAND SCAN/PARSE AND PUTLINE/GETLINE/PUTGET SERVICES. 2006-07-18: REMOVE MSGID TESTING OF PREVIOUS REWORKS, AND SKIP OUTTRAP CHECK IF CLIST ACTIVE FLAG NOT SET. 2009-06-13: CORRECT RESUME SCAN DATA ADDRESS AFTER SYSDSN. 2009-08-23: ADD NRSTR "NO RESCAN STRING". 2020-12-07: ADD SYSISPF. THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: MODULES: IKJCT431 IKJCT433 IKJEFT56 */.