IBM SC34-6814-04 User Manual
Page 555
![background image](/manuals/129742/555/background.png)
/* Now access the screen PS area in the portion of the BIND
image presented in the CINIT RU */
/* using the screen alternate height as a guide to the model
of terminal attempting logon. If this cannot be determined
then default to the first model in the table */
SELECT (AHGT);
/* NOW GET SCRN ALTERNATE HEIGHT */
WHEN (12)
NAME = ’M1’;
/* MODEL 1 */
WHEN (32)
NAME = ’M3’;
/*
3 */
WHEN (43)
NAME = ’M4’;
/*
4 */
WHEN (27)
NAME = ’M5’;
/*
5 */
OTHERWISE
NAME = ’M2’;
/*
2 */
END;
/* Search the model entries for a matching entry.
*/
/* The criterion here is that a model definition should*/
/* contain the chars M2 for a model 2, and so on.
*/
/* For example, L3270M2, L3270M5
*/
/*
TERMM2,
TERMM5
*/
IF MODELNAME_COUNT = 0
THEN GO TO EXIT;
DO I = 1 TO MODELNAME_COUNT;
IF INDEX(MODELNAME(I),NAME)
THEN GO TO FOUND_MODEL;
END;
NO_MODEL: /* Matching entry was not found, default to first model*/
SELECTED_MODELNAME = MODELNAME(1);
GO TO MODEL_EXIT;
FOUND_MODEL: /* Move the selected model name to the return area */
SELECTED_MODELNAME = MODELNAME(I);
MODEL_EXIT: /* ENQ to stop multiple updates of counter.
*/
/* A simple counter is used to generate unique
*/
/* terminal identities, so concurrent access to */
/* this counter is denied to ensure no two get
*/
/* the same identifier or update the counter.
*/
/* To use this method the program must be defined as resident.*/
EXEC CICS ENQ RESOURCE(ENQ);
SELECTED_TERMID = TERMID; /* Set SELECTED_TERMID to
count value
*/
TERMID = TERMID + 1; /* Increase the count value by 1
*/
IF TERMID = 9999 THEN TERMID = 1;
/* Reset if too large*/
EXEC CICS DEQ RESOURCE(ENQ);
NAME_EXIT:
INSTALL_RETURN_CODE = LOW(1);
/* Set stat field to X’00’ to allow
logon to be processed */
GO TO EXIT;
END INSTALL;
Figure 43. Example of how to customize the DFHZPTDX sample program (part 2)
Chapter 10. Writing a program to control autoinstall of terminals
533