Display with Subfile
DDS to create full-screen display with subfile.
5250 Panel with Subfile
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 using a subfile. 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. The DDS 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 at the top of the panel. A data list occupies the main sectio of the panel 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 - SC0320DF * A* * A* FUNCTION - This display is a list inquiry over the softcode * A* object list * A* * A* PROGRAMMER - STEVE CROY 09/03/09 * A******************************************************************** A******************************************************************** A* MODIFICATION LOG * A* * A* DATE PROGRAMMER DESCRIPTION * A* * A******************************************************************** A* Include PRINT and INVITE at the file level to allow PRINT A* function and device file time out coding in applications A* A*%%EC A DSPSIZ(24 80 *DS3) 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 SC032001 A*%%TS SD 20100331 131540 SCROY REL-V5R4M0 5722-WDS A CHANGE(22) A BLINK A OVERLAY A JOBNAM 10A O 1 2COLOR(BLU) A PRGNAM 10A O 1 13COLOR(BLU) A 1 29'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$OPT1 60 O 4 11COLOR(BLU) A Z$OPT2 60A O 5 11COLOR(BLU) A 7 2' Cat Seq Object Type - A Description - A ' A DSPATR(HI) A 8 2'Op' A DSPATR(HI) A ZFCAT 3Y 0B 8 5DSPATR(HI) A EDTCDE(Z) A ZFSEQ 7Y 0B 8 9DSPATR(HI) A EDTCDE(Z) A ZFOBJ 10A B 8 17DSPATR(HI) A ZFTYP 10A B 8 28DSPATR(HI) A ZFDSC 30A B 8 39DSPATR(HI) A ZFSTS 1A B 8 70DSPATR(HI) A 8 72'Status' A DSPATR(HI) A R SC0320S1 SFL A*%%TS SD 20091130 125427 SCROY REL-V5R4M0 5722-WDS A 58 SFLNXTCHG A EXOMBR R H REFFLD(RSCOBJS/EXOMBR *LIBL/SCOBJSP- A F) A EXOBSR R H REFFLD(RSCOBJS/EXOBSR *LIBL/SCOBJSP- A F) A EXOBNM R H REFFLD(RSCOBJS/EXOBNM *LIBL/SCOBJSP- A F) A EXOBTP R H REFFLD(RSCOBJS/EXOBTP *LIBL/SCOBJSP- A F) A EXOBLB R H REFFLD(RSCOBJS/EXOBLB *LIBL/SCOBJSP- A F) A Z$RRN1 4S 0H A Z$OPT 2A B 9 2DSPATR(HI) A 30 DSPATR(PR) A EXCATS R O 9 5REFFLD(RSCOBJS/EXCATS *LIBL/SCOBJSP- A F) A EXCSEQ R O 9 9REFFLD(RSCOBJS/EXCSEQ *LIBL/SCOBJSP- A F) A ZFOBNM 21A O 9 17 A Z$DESC 30A O 9 39 A ZFSTAT 10A O 9 70 A R SC0320C1 SFLCTL(SC0320S1) A*%%TS SD 20100331 131540 SCROY REL-V5R4M0 5722-WDS A SFLSIZ(0013) A SFLPAG(0012) A BLINK A OVERLAY A 51 SFLDSP A 50 SFLDSPCTL A 53 SFLINZ A 55 SFLDLT A 52 SFLCLR A 54 SFLEND(*MORE) A CSRLOC(#ROW #COL) A #ROW 3S 0H A #COL 3S 0H A Z$RRN2 4S 0H SFLRCDNBR(CURSOR) A Z$KEY1 60A O 22 11COLOR(BLU) A Z$KEY2 60A O 23 11COLOR(BLU) A*---------------------------------------------------------------- A* SUBFILE MESSAGE QUEUE A*---------------------------------------------------------------- A R SC0320S2 SFL A SFLMSGRCD(24) A MSGKEY SFLMSGKEY A PRGNAM SFLPGMQ A R SC0320C2 SFLCTL(SC0320S2) 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 29'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)
This kind of code is not a requirement but it can save time and grief when it comes to debugging and testing interactive applications.