Return to Mainframe Utilities Page
Module
/* REXX ***************************************************************/ /* UTILITY: STATTEXT */ /* AUTHOR: DAVID LEIGH */ /* FUNCTION: THIS UTILITY ALLOWS THE USER TO PASS A STRING OF TEXT TO */ /* BE APPENDED TO AN "IN-PROGRESS" STATUS MEMBER IN A PDS. */ /* THIS MEMBER WILL THEN BE USED TO HELP THE USER WRITE */ /* THEIR STATUS REPORT AT THE END OF THE WEEK. */ /**********************************************************************/ /**********************************************************************/ /* PARSE INITIAL INPUT AND SET VARIABLES */ /**********************************************************************/ PARSE ARG TEXT USER = SYSVAR(SYSUID) IN_PROGRESS = USER ¦¦ '.STATUS(INPRGRSS)' ANYCC = 0 /**********************************************************************/ /* INFORM THE USER */ /**********************************************************************/ ADDRESS ISPEXEC ZEDLMSG = '*** ADDING STATUS TEXT TO "'¦¦IN_PROGRESS¦¦'" ***' 'CONTROL DISPLAY LOCK' 'DISPLAY PANEL(MSGPANEL)' /**********************************************************************/ /* EXECIO ANY EXISTING STATUS TEXT INTO A NEW STACK */ /**********************************************************************/ CALL OUTTRAP 'TEMP.' ADDRESS TSO "FREE DD(TEMPDD)" "ALLOC DD(TEMPDD) DSN('"IN_PROGRESS"') SHR" IF (RC > ANYCC) THEN ANYCC = RC 'NEWSTACK' IF (SYSDSN("'"IN_PROGRESS"'") = "MEMBER NOT FOUND") THEN NOP ELSE DO EXECIO '* DISKR TEMPDD (FINIS' IF (RC > ANYCC) THEN ANYCC = RC END /**********************************************************************/ /* QUEUE THE TEXT INTO THE STACK */ /**********************************************************************/ QUEUE DATE(O) ¦¦ ' ' ¦¦ TEXT WNUM = QUEUED() EXECIO WNUM 'DISKW TEMPDD (FINIS' IF (RC > ANYCC) THEN ANYCC = RC 'DELSTACK' "FREE DD(TEMPDD)" CALL OUTTRAP 'OFF' /**********************************************************************/ /* SET MESSAGES AND GET OUT! */ /**********************************************************************/ IF (ANYCC > 4) THEN DO DO I = 1 TO TEMP.0 SAY TEMP.I END ZEDLMSG = '*** UPDATE TO "'IN_PROGRESS'" FAILED WITH RC: 'GENERCC' ***' ADDRESS ISPEXEC 'SETMSG MSG(UTLZ001W)' END ELSE DO ZEDLMSG = '*** STATUS TEXT WAS WRITTEN SUCCESSFULLY ***' ADDRESS ISPEXEC 'SETMSG MSG(UTLZ000)' END
Documentation
STATTEXT is designed specifically to help an individual incrementally prepare their weekly status report by allowing them to enter a brief reminder of an accomplishment, as it occurs, into a PDS member by typing in a single command. STATTEXT makes an assumption that the individual has a PDS defined with a name in the format of "youruserid.STATUS". When STATTEXT is invoked, the member INPRGRSS ("in progress") is appended with the text line that is passed by the user. The syntax to invoke STATTEXT is as follows: COMMAND ===> tso stattext text('completed analysis on pgm abcxyz99') When thekey is pressed, a "processing" message is displayed while STATTEXT appends the line to the INPRGRSS member prefixed by the current date. Presumeably, if used consistantly, by the end of the week, your list of accomplishments has been documented (at least with one-line reminders). The INPRGRSS member can then be used to construct your weekly status report. It is suggested that you rename INPRGRSS to something like WE940603 (for "Week Ending June 3rd, 1994") and then you'll also have a chronilogical record of your accomplishments....quite suitable for performance evaluation preparation time. One may also want to assign "TSO STATTEXT" to a PF key so that all that is needed is to type "text('klkjsdflkhdf')" and press a PF key to docuemnt an activity for your status report.