The sample “good night” program, DFH0GNIT
The sample “good night” program is a pseudoconversational COBOL program named DFH0GNIT.
What the sample program does
The DFH0GNIT sample program:
- Checks that it has been invoked for a terminal timeout, by testing the GNTRAN_START_TRANSID field of the communications area passed by CICS®. If this contains anything other than 'CEGN', it quits.
- If a flag within GNTRAN_USER_FIELD shows that this is the first invocation for this timeout:
- If GNTRAN_PSEUDO_CONV_FLAG indicates that the terminal timed out during a pseudoconversation, issues EXEC CICS RECEIVE to retrieve the communications area.
- Saves the length of the communications area in another field within GNTRAN_USER_FIELD.
- Writes the communication area, if any, to a temporary storage queue.
- Displays a screen asking the user to input his or her password, and sets the flag indicating that this has been done.
- Issues EXEC CICS RETURN with TRANSID GNIT and the COMMAREA option, to continue the timeout process as a pseudoconversation.
- If this is not the first invocation for this timeout:
- Recovers the original communication area, if any, from the temporary storage queue.
- Checks the password received from the user, and redisplays the timeout screen with an error message if it is incorrect.
- If the number of incorrect responses exceeds the maximum specified to RACF®, DFH0GNIT returns immediately with TRANSID CESF, which tries to sign off the userid.
- If the correct password is entered, DFH0GNIT:
- Restores the screen contents.
- Restores the cursor position.
If the terminal timed out during a pseudoconversational transaction, DFH0GNIT also:- Restores the communications area of the timed-out transaction.
- Returns with the TRANSID of the next transaction in the interrupted conversation.
Where is the sample program supplied
Copybooks of the communications area passed to the “good night” program are supplied in assembler language, COBOL, PL/I, and C®. CICS libraries are defined as CICSTSnn.CICS. For example, CICSTS63.CICS. The names of the supplied program, copybooks, and mapset, and the CICS libraries in which they can be found, are summarized in Table 1.
| Language | Member name | Library |
|---|---|---|
| Program source: COBOL only | DFH0GNIT | SDFHSAMP |
| Copybooks: Assembler COBOL PL/I C | DFHSNGSD DFHSNGSO DFHSNGSL DFHSNGSH | SDFHMAC SDFHCOB SDFHPL1 SDFHC370 |
| Mapset: | DFH$GMAP | SDFHSAMP |