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 the key 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.

0 Comments