Display without Subfile
DDS to create full-screen display without subfile.
Device Files
The Create Device File (CRTDSPF) command may be used to create a DISPLAY file. The device file contains the file description, which identifies the device used and, optionally, the record formats used by the device (if specified in data description specifications (DDS)); the device file does not contain data. The display device file sends records to one or more display devices associated with the device file, and to receive records from the display devices.
Full 5250 Panel
Depending on the DDS, a display file may paint an entire 5250 panel, or using specific keywords, overlay an existing 5250 display with a pop-up window. The DDS on this page is a full-screen display, without windows keywords. It has a subfile, though not a subfile for a list presentation. The subfile format defined on this DDS functions as a message queue.
Common User Access
The example below is based on a common skeleton for displays. In preparation to use the softcoded functions described on the DESIGN page of the iSoftwerks Factory, the function keys are defined at the file level. It is one that follows a standard pattern. The panel layout follows the same rules as IBM display panels--what used to be termed CUA (Common User Access). The heading are the first two lines of the panel. Data is presented following the heading and the function keys are listed the bottom of the display.
Adopting a standard is a sound practice. If the UI presentation is consistent, once a user learns how to navigate one interactive session, they have learned to navigate all standard applications. If the standard follows the IBM rules of UI presentation, it becomes possible to mix and match application panels and system panels without fear of confusing the user community.
A******************************************************************** A* DISPLAY NAME - SC0335DF * A* * A* FUNCTION - This display provides a maintenance panel for * A* object entries. * A* * A* PROGRAMMER - STEVE CROY * A******************************************************************** A******************************************************************** A* FILE ATTRIBUTE SECTION * A* * A* RSTDSP : *YES * A* MAXDEV : 1 * A* * A******************************************************************** A******************************************************************** A* MODIFICATION LOG * A* * A* DATE PROGRAMMER DESCRIPTION * A******************************************************************** A*%%EC A DSPSIZ(24 80 *DS3 - A 27 132 *DS4) A PRINT A INDARA A CF01 A CF02 A CA03 A CF04 A CF05 A CF06 A CF07 A CF08 A CF09 A CF10 A CF11 A CF12 A CF13 A CF14 A CF15 A CF16 A CF17 A CF18 A CF19 A CF20 A CF21 A CF22 A CF23 A CF24 A ROLLUP(90) A ROLLDOWN(91) A HOME A HELP A R SC033501 A*%%TS SD 20100106 081113 SCROY REL-V5R4M0 5722-WDS A BLINK A OVERLAY A CSRLOC(#ROW #COL) A #ROW 3S 0H A #COL 3S 0H A R1 3S 0H A C1 3S 0H A CHGFLDS 1A P A KEYFLDS 1A P A CMDFLDS 1A P A STSFLDS 1 P A JOBNAM 10A O 1 2COLOR(BLU) A PRGNAM 10A O 1 13COLOR(BLU) A 1 27' iSoftwerks, Inc ' A 1 61SYSNAME A COLOR(BLU) A 1 70DATE A EDTCDE(Y) A COLOR(BLU) A USER 10A O 2 2COLOR(BLU) A JOBNBR 6A O 2 13COLOR(BLU) A Z$SEQ1 30A O 2 23DSPATR(HI) A FMTNAM 8A O 2 61COLOR(BLU) A 2 70TIME A COLOR(BLU) A Z$MODE 10A O 3 61 A 4 2'Object........:' A ZFOBNM R B 4 18REFFLD(RSCOBJS/EXOBNM *LIBL/SCOBJSP- A F) A DSPATR(&KEYFLDS) A 5 2'Object type...:' A ZFOBTP R B 5 18REFFLD(RSCOBJS/EXOBTP *LIBL/SCOBJSP- A F) A DSPATR(&KEYFLDS) A 6 2'Description...:' A ZFDESC R B 6 18REFFLD(RSCOBJS/EXDESC *LIBL/SCOBJSP- A F) A CHECK(LC) A DSPATR(&CHGFLDS) A 7 2'Obj category..:' A ZFCATS R B 7 18REFFLD(RSCOBJS/EXCATS *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A EDTCDE(Z) A 8 2'Obj sequence..:' A ZFCSEQ R B 8 18REFFLD(RSCOBJS/EXCSEQ *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A EDTCDE(Z) A EXPROC R O 8 35REFFLD(RSCOBJS/EXPROC *LIBL/SCOBJSP- A F) A DSPATR(&STSFLDS) A ZFSTAT 30 O 8 38DSPATR(&STSFLDS) A 9 2'Obj source....:' A ZFOBSR R B 9 18REFFLD(RSCOBJS/EXOBSR *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A 9 37'Added' A DSPATR(HI) A 9 48'Changed' A DSPATR(HI) A 9 59'Processed' A DSPATR(HI) A 10 2'Source member.:' A ZFOMBR R B 10 18REFFLD(RSCOBJS/EXOMBR *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A ZFADDT R O 10 35REFFLD(RSCOBJS/EXADDT *LIBL/SCOBJSP- A F) A EDTWRD(' / / ') A ZFCHDT R O 10 47REFFLD(RSCOBJS/EXCHDT *LIBL/SCOBJSP- A F) A EDTWRD(' / / ') A ZFPRDT R O 10 59REFFLD(RSCOBJS/EXPRDT *LIBL/SCOBJSP- A F) A EDTWRD(' / / ') A 11 2'Source lib....:' A ZFOBSL R B 11 18REFFLD(RSCOBJS/EXOBSL *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A ZFADTM R O 11 35REFFLD(RSCOBJS/EXADTM *LIBL/SCOBJSP- A F) A EDTWRD(' : : ') A ZFCHTM R O 11 47REFFLD(RSCOBJS/EXCHTM *LIBL/SCOBJSP- A F) A EDTWRD(' : : ') A ZFPRTM R O 11 59REFFLD(RSCOBJS/EXPRTM *LIBL/SCOBJSP- A F) A EDTWRD(' : : ') A 12 2'Object lib....:' A ZFOBLB R B 12 18REFFLD(RSCOBJS/EXOBLB *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A ZFADUS R O 12 35REFFLD(RSCOBJS/EXADUS *LIBL/SCOBJSP- A F) A ZFCHUS R O 12 47REFFLD(RSCOBJS/EXCHUS *LIBL/SCOBJSP- A F) A ZFPRUS R O 12 59REFFLD(RSCOBJS/EXPRUS *LIBL/SCOBJSP- A F) A 13 2'Compile Y/N...:' A ZFCOMP R B 13 18REFFLD(RSCOBJS/EXCOMP *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A 14 2'Move obj Y/N..:' A ZFMOVO R B 14 18REFFLD(RSCOBJS/EXMOVO *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A 15 2'Move src Y/N..:' A ZFMOVS R B 15 18REFFLD(RSCOBJS/EXMOVS *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A 16 2'Use Alt cmd...:' A ZFACMD R B 16 18REFFLD(RSCOBJS/EXACMD *LIBL/SCOBJSP- A F) A DSPATR(&CHGFLDS) A ZFC001 60A O 17 11DSPATR(&CMDFLDS) A ZFC002 60A O 18 11DSPATR(&CMDFLDS) A ZFC003 60A O 19 11DSPATR(&CMDFLDS) A ZFC004 60A O 20 11DSPATR(&CMDFLDS) A ZFC005 16A O 21 11DSPATR(&CMDFLDS) A****** A Z$KEY1 60A O 22 11COLOR(BLU) A Z$KEY2 60A O 23 11COLOR(BLU) A*---------------------------------------------------------------- A* SUBFILE MESSAGE QUEUE A*---------------------------------------------------------------- A R SC0335S2 SFL A SFLMSGRCD(24) A MSGKEY SFLMSGKEY A PRGNAM SFLPGMQ A R SC0335C2 SFLCTL(SC0335S2) A SFLSIZ(2) SFLPAG(1) A 59 SFLEND A 59 SFLDSP A SFLDSPCTL A N59 SFLCLR A 59 SFLINZ A PRGNAM SFLPGMQ
Standard Heading
There is a valid reason for adopting a standard heading. The following code shows that the job name, program name, user name and job number are a part of the standard heading (along with a system name, date and time). This can short circuit trouble-shooting a reported problem. A screen capture will tell an analyst what program to examine, and what statement to begin the search (the last record format read!). Including the system name will identify whether the error occurred in the production environment or in on a test system.
A JOBNAM 10A O 1 2COLOR(BLU) A PRGNAM 10A O 1 13COLOR(BLU) A 1 27' iSoftwerks, Inc ' A 1 61SYSNAME A COLOR(BLU) A 1 70DATE A EDTCDE(Y) A COLOR(BLU) A USER 10A O 2 2COLOR(BLU) A JOBNBR 6A O 2 13COLOR(BLU) A Z$SEQ1 30A O 2 23DSPATR(HI) A FMTNAM 8A O 2 61COLOR(BLU) A 2 70TIME A COLOR(BLU) A Z$MODE 10A O 3 61
This kind of code is not a requirement but it can save time and grief when it comes to debugging and testing interactive applications.