c. Writes the communication area, if any,to a temporary storage queue.
d. Displays a screen asking the user to input his or her password, and sets the
flag indicating that this has been done.
e. Issues EXEC CICS RETURN with TRANSID GNIT and the COMMAREA
option, to continue the timeout process as a pseudoconversation.
3. If this is not the first invocation for this timeout:
a. Recovers the original communication area, if any, from the temporary
storage queue.
b. Checks the password received from the user, and redisplays the timeout
screen with an error message if it is incorrect.
4. If the number of incorrect responses exceeds the maximum specified to your
external security manager, DFH0GNIT returns immediately withTRANSID
CESF,which tries to sign off the userid.
5. If the correct password is entered, DFH0GNIT:
vRestores the screen contents
vRestores the cursor position.
If the terminal timed out during a pseudoconversational transaction, DFH0GNIT
also:
vRestores the communications area of the timed-out transaction
vReturns with the TRANSID of the next transaction in the interrupted
conversation.
Customizing the sample “good night” program
Youcan write your “good night” program in any of the languages supported by
CICS, with full access to the CICS application and system programming interfaces.
If you customize the supplied program, or write your own “good night” program,
note the following:
vLike the sample, your program should be pseudoconversational, because it could
be invoked simultaneously for many users (if, for example, many terminals time
out during the lunch period). If your program is conversational, CICS maximum
number of tasks (MXT) could quickly be reached.
When you are continuing your timeout program’s pseudoconversation, always
specify the name of your “good night” transaction (for example, GNIT) as the
next TRANSID. If you do not, CICS does not know that you are still handling the
timeout, and results may be unpredictable.
vYourprogram should always start, like the sample program, by testing the
GNTRAN_START_TRANSIDfield of the communications area passed by CICS.
If it finds that the “good night” transaction was started for any reason other than a
terminal timeout (for example, by an EXEC CICS STARTrequest), timeout
processing may not be appropriate.
vToobtain the communications area of the timed-out transaction in a
pseudoconversation, your program must issue an EXEC CICS RECEIVE
command. (The communication area passed to it on invocation is not that of the
timed-out transaction, but contains information about the timed-out transaction.)
vIf your program tries to sign off the terminal user, the result depends on what is
specified on the SIGNOFF option of the terminal’s TYPETERM definition:
YES The terminal is signed off, but not logged off.
NO The terminal remains logged on and signed on.
804 Customization Guide