DCL SYSPTR .MISCRNIO; DCL DD RESOLVE CHAR(34); DCL DD RESOLVE-TYPE CHAR( 2) DEF(RESOLVE) POS( 1) INIT(X'0201'); DCL DD RESOLVE-NAME CHAR(30) DEF(RESOLVE) POS( 3); DCL DD RESOLVE-AUTH CHAR( 2) DEF(RESOLVE) POS(33) INIT(X'0000'); DCL SPCPTR .CONTROL INIT(CONTROL); DCL DD CONTROL CHAR(8); DCL DD CTRL-OPCODE CHAR(1) DEF(CONTROL) POS(1); DCL DD CTRL-CMD-KEY ZND(2,0) DEF(CONTROL) POS(2); DCL DD CTRL-CURSOR-POSITION CHAR(5) DEF(CONTROL) POS(4); DCL DD CTRL-CURSOR-ROW ZND(2,0) DEF(CTRL-CURSOR-POSITION) POS(1); DCL DD CTRL-CURSOR-COL ZND(3,0) DEF(CTRL-CURSOR-POSITION) POS(3); DCL SPCPTR .SCREEN INIT(SCREEN); DCL DD SCREEN CHAR(10) INIT("T010310010"); DCL DD TITLE CHAR(10) INIT("Testscreen"); DCL DD * CHAR(10) INIT("L010420000"); DCL DD * CHAR(10) INIT("T030010030"); DCL DD * CHAR(30) INIT("Strong Input . . . . . . . . "); DCL DD * CHAR(10) INIT("q030310010"); DCL DD STRONG-INPUT CHAR(10) INIT(" "); DCL DD * CHAR(10) INIT("L030420030"); DCL DD * CHAR(30) INIT(" <== Convert input to UPPER "); DCL DD * CHAR(10) INIT("L040010030"); DCL DD * CHAR(30) INIT("Normal Input . . . . . . . . "); DCL DD A-NORMAL-INPUT CHAR(10) INIT("I040310010"); DCL DD NORMAL-INPUT CHAR(10) INIT(" "); DCL DD * CHAR(10) INIT("L040420030"); DCL DD * CHAR(30) INIT(" <== No conversion "); DCL DD * CHAR(10) INIT("L050010030"); DCL DD * CHAR(30) INIT("Protected Input . . . . . . "); DCL DD * CHAR(10) INIT("P050310010"); DCL DD PROTECTED-INPUT CHAR(10) INIT(" "); DCL DD * CHAR(10) INIT("L050420032"); DCL DD * CHAR(32) INIT(" <== Copy of above after ENTER"); DCL DD * CHAR(10) INIT("L060010030"); DCL DD * CHAR(30) INIT("Secret Input . . . . . . . . "); DCL DD * CHAR(10) INIT("s060310010"); DCL DD SECRET-INPUT CHAR(10) INIT(" "); DCL DD * CHAR(10) INIT("L060420030"); DCL DD * CHAR(30) INIT(" <== Will not display "); DCL DD * CHAR(10) INIT("L070010030"); DCL DD * CHAR(30) INIT("Option Field . . . . . . . . "); DCL DD * CHAR(10) INIT("O070310010"); DCL DD OPTION-FIELD CHAR(10) INIT("Option 1"); DCL DD * CHAR(10) INIT("L070420030"); DCL DD * CHAR(30) INIT(" <== You can TAB to this "); DCL DD * CHAR(10) INIT("L080010030"); DCL DD * CHAR(30) INIT("Choice Field . . . . . . . . "); DCL DD * CHAR(10) INIT("C080310010"); DCL DD CHOICE-FIELD CHAR(10) INIT("Choice 1"); DCL DD * CHAR(10) INIT("L080420030"); DCL DD * CHAR(30) INIT(" <== You can TAB to this "); DCL DD * CHAR(10) INIT("L100010030"); DCL DD * CHAR(30) INIT("Highlighted text . . . . . . "); DCL DD * CHAR(10) INIT("H100310020"); DCL DD HIGHLIGHTED-TEXT CHAR(20) INIT("Highlighted"); DCL DD * CHAR(10) INIT("L100520020"); DCL DD * CHAR(20) INIT(" "); DCL DD * CHAR(10) INIT("L110010030"); DCL DD * CHAR(30) INIT("Severe message text . . . . "); DCL DD * CHAR(10) INIT("M110310020"); DCL DD FATAL-ERROR-TEXT CHAR(20) INIT("Fatal error"); DCL DD * CHAR(10) INIT("L110520020"); DCL DD * CHAR(20) INIT(" "); DCL DD * CHAR(10) INIT("T150300016"); DCL DD * CHAR(16) INIT("One large field:"); DCL DD * CHAR(10) INIT("L150470000"); DCL DD * CHAR(10) INIT("I150800400"); /* WALL-TO-WALL FIELD */ DCL DD * CHAR(400) INIT(" "); DCL DD * CHAR(10) INIT("L210010000"); DCL DD * CHAR(10) INIT("U230010079"); /* INFORMATIONAL */ DCL DD PF CHAR(79) INIT("F3=Exit F12=Cancel"); DCL DD * CHAR(10) INIT("T240010079"); /* MESSAGE LINE */ DCL DD MESSAGE-TEXT CHAR(79) INIT(" "); DCL DD * CHAR(10) INIT(".000000000"); /* END OF SCREEN */ DCL OL MISCRNIO(.CONTROL, .SCREEN); CPYBLAP RESOLVE-NAME, "MISCRNIO", " "; RSLVSP .MISCRNIO, RESOLVE, *, *; CPYBLA CTRL-OPCODE, "O"; CALLX .MISCRNIO, MISCRNIO, *; SHOW-SCREEN: CPYBREP CTRL-CURSOR-POSITION, "0"; CPYBLA CTRL-OPCODE, "W"; CALLX .MISCRNIO, MISCRNIO, *; CPYBREP MESSAGE-TEXT, " "; CPYBLA CTRL-OPCODE, "R"; CALLX .MISCRNIO, MISCRNIO, *; CMPNV(B) CTRL-CMD-KEY, 3/EQ(DONE); CMPNV(B) CTRL-CMD-KEY,12/EQ(DONE); CPYBLA PROTECTED-INPUT, NORMAL-INPUT; CMPBLAP(B) NORMAL-INPUT, " ", " "/NEQ(=+3); CPYBLA A-NORMAL-INPUT, "E"; /* MARK AS ERROR */ CPYBLAP MESSAGE-TEXT, "Must not be blank", " ";: B SHOW-SCREEN; DONE: CPYBLA CTRL-OPCODE, "C"; CALLX .MISCRNIO, MISCRNIO, *; RTX *;