GDDM V3R2 Base Application Programming Guide
|
Previous topic |
Next topic |
Contents |
Index |
Contact z/OS |
Library |
PDF |
BOOK
A CICS pseudoconversational programming example GDDM V3R2 Base Application Programming Guide SC33-0867-01 |
|
The following program shows a reentrant GDDM mapping application written as a CICS pseudoconversation. There are several points to note about the program:
________________________________________________________________________
MENUP1: PROC(COMAP) OPTIONS(MAIN);
/********************************************************************/
/* Test Program to display a set of panels using Mapping. */
/* MENU00 is displayed first, and PF Keys 3 or 4 entered from this */
/* panel causes the end of the application with either an erased */
/* screen or not respectively. */
/* Entering options '1', '2' or '3' from MENU00 causes the display */
/* of MENUs 01, 02, and 03 respectively, each with their own */
/* legends displayed in a color generated by the program. */
/* MENU00 is then re-displayed after input. */
/* */
/* This program is pseudoconversational. */
/* */
/* The logic is as follows: */
/* On first invocation (COMMAREA length = 0) */
/* Display MENU00 */
/* Save Application data in the COMMAREA */
/* Return to CICS requesting transaction DFP1 next time */
/* On subsequent invocations (COMMAREA length =0) */
/* Restore Application data from COMMAREA */
/* Re-define appropriate Map */
/* Receive Input */
/* If Finish not requested */
/* Display MENU00 */
/* Return to CICS requesting transaction DFP1 next time */
/* Else */
/* Return to CICS */
/********************************************************************/
DCL
COMAP PTR; /* COMMAREA PTR */
%INCLUDE ADMUPIRA;
%INCLUDE ADMUPIRD;
%INCLUDE ADMUPIRF;
%INCLUDE ADMUPIRM;
DCL
1 MENU00, /* ADS */
10 MSG_SEL CHAR(1),
10 MSG_COL_SEL CHAR(1),
10 MSG_COL CHAR(1),
10 MSG_PS_SEL CHAR(1),
10 MSG_PS CHAR(1),
10 MSG CHAR(78),
10 OPT CHAR(2),
MENU00_ASLENGTH FIXED BIN(31,0) STATIC
INIT(85);
DCL
1 MENU01, /* ADS */
10 MSG_SEL CHAR(1),
10 MSG_COL_SEL CHAR(1),
10 MSG_COL CHAR(1),
10 MSG_PS_SEL CHAR(1),
10 MSG_PS CHAR(1),
10 MSG CHAR(42),
MENU01_ASLENGTH FIXED BIN(31,0) STATIC
INIT(47);
DCL
1 MENU02, /* ADS */
10 MSG_SEL CHAR(1),
10 MSG_COL_SEL CHAR(1),
10 MSG_COL CHAR(1),
10 MSG_PS_SEL CHAR(1),
10 MSG_PS CHAR(1),
10 MSG CHAR(39),
MENU02_ASLENGTH FIXED BIN(31,0) STATIC
INIT(44);
DCL
1 MENU03, /* ADS */
10 MSG_SEL CHAR(1),
10 MSG_COL_SEL CHAR(1),
10 MSG_COL CHAR(1),
10 MSG_PS_SEL CHAR(1),
10 MSG_PS CHAR(1),
10 MSG CHAR(60),
MENU03_ASLENGTH FIXED BIN(31,0) STATIC
INIT(65);
DCL
DEVID FIXED BIN(31) INIT(0),
FAMID FIXED BIN(31) INIT(1),
PCCNT FIXED BIN(31) INIT(2),
NMCNT FIXED BIN(31) INIT(0),
PCLSTS(2) FIXED BIN(31) INIT(25,1), /* START */
PCLSTC(2) FIXED BIN(31) INIT(25,2), /* CONTINUE */
DEVTK CHAR(8) INIT('*'),
NMLST(1) CHAR(8) INIT(' ');
DCL
COPTES FIXED BIN(31) INIT(0),
COPTLS FIXED BIN(31) INIT(1),
COPTEU FIXED BIN(31) INIT(2),
COPTLU FIXED BIN(31) INIT(3);
DCL TRANID CHAR(8) INIT('DFP1');
DCL (ATYPE,AVAL,AMOD) FIXED BIN(31); /* I/P CONTROL FLDS */
DCL FINISH BIT(1) INIT('0'B);
DCL PICOPT PIC'99'; /* NUMERIC OPTION */
DCL AAB CHAR(8); /* ANCHOR BLOCK */
DCL MAPG CHAR(8) /* MAP GROUP NAME */
INIT('DFMGC1D5');
DCL SSID CHAR(1); /* SYMBOL SET ID */
DCL SSID_BIT BIT(8) DEF(SSID); /* SYMBOL SET ID */
DCL X41 BIT(8) INIT('01000001'B);
DCL MAP(0:3) CHAR(8) /* MAP NAMES */
INIT('MENU00','MENU01','MENU02','MENU03');
DCL
1 COMMAREA BASED(COMAP), /* COMMAREA */
2 MAPNO FIXED BIN(15), /* MAP NAME ARRAY NO */
2 COL PIC'9', /* CURRENT COLOR */
2 COUNT FIXED BIN(31),
2 PSSID CHAR(1),
2 CLSOPT FIXED BIN(31);
/* CODE STARTS HERE */
|
Copyright IBM Corporation 1990, 2012 |