z/OS ISPF Planning and Customizing
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Customizing member list panels

z/OS ISPF Planning and Customizing
GC19-3623-00

Dialog developers can also provide customized member list display panels for their dialogs. The name of the customized member list display panel is passed as a parameter to the LMMDISP service.

A customized member list panel should be modeled after the LMMDISP default member list panel, ISRML000.

Note: Panel ISRML000 is provided as both source code (written in Dialog Tag Language, or DTL) and as generated output. If you use this panel as a model for creating your own customized panel, be sure to copy the DTL source code for modification, as it is easier to modify than the generated output panel. The DTL source code can be found in one of the SISPGxxx libraries, where xxx is the designator for a specified language.

The customized panel must include a Command field named ZCMD and a dynamic area named ZDATA. In addition, for customized member list panels, the dynamic area must be 80 characters wide. The Scroll field is optional. The name of the Scroll field on member list panels is ZSCML. This same name can be used on a customized member list panel. Inclusion of the variables that output the data set name, relative row number, and total number of rows is optional. If you want to display the volume of the data set you can use variable ZDSVOL. Customized member list panels should also meet the requirements for a movable Command line. Figure 1 shows an example of a customized member list panel that was generated by Dialog Tag Language code.

See the z/OS ISPF Dialog Developer's Guide and Reference for a discussion of these needs.

Figure 1. Customized member list panel (Part 1 of 3)
)PANEL KEYLIST(ISRSPBC,ISR)
)ATTR DEFAULT(???) FORMAT(MIX)
 0B TYPE(AB)
 0D TYPE(PS)
 2D TYPE(ABSL) GE(ON)
 2E TYPE(PT)
 28 TYPE(FP)
 0A TYPE(NT)
 13 TYPE(NEF) PADC(USER)
 16 TYPE(VOI) PADC(USER)
 26 AREA(DYNAMIC)
 08 TYPE(DATAOUT) PAS(ON) CSRGRP(99)
 09 TYPE(DATAOUT)
 29 AREA(DYNAMIC) EXTEND(ON) SCROLL(ON)
 01 TYPE(DATAIN) CAPS(ON) PADC(&ZMLPAD) PAS(ON)
 02 TYPE(DATAOUT) INTENS(&MLI2) SKIP(ON) COLOR(&MLC2) HILITE(&MLH2)
 03 TYPE(DATAIN) INTENS(&MLI5) CAPS(ON) COLOR(&MLC5) HILITE(&MLH5)
 04 TYPE(DATAOUT) INTENS(&MLI3) COLOR(&MLC3) HILITE(&MLH3)
 05 TYPE(DATAOUT)
 06 TYPE(DATAOUT) INTENS(LOW)
 14 TYPE(NEF) CAPS(ON) PADC(USER)
)ABC DESC('Menu') MNEM(1)
PDC DESC('Settings') UNAVAIL(ZPM1) MNEM(1) ACC(CTRL+S)
 ACTION RUN(ISRROUTE) PARM('SET')
PDC DESC('View') UNAVAIL(ZPM2) MNEM(1) ACC(CTRL+V)
 ACTION RUN(ISRROUTE) PARM('BR1')
PDC DESC('Edit') UNAVAIL(ZPM3) MNEM(1) ACC(CTRL+E)
 ACTION RUN(ISRROUTE) PARM('ED1')
PDC DESC('ISPF Command Shell') UNAVAIL(ZPM4) MNEM(6) ACC(CTRL+C)
 ACTION RUN(ISRROUTE) PARM('C1')
PDC DESC('Dialog Test...') UNAVAIL(ZPM5) MNEM(8) ACC(CTRL+T)
 ACTION RUN(ISRROUTE) PARM('DAL')
PDC DESC('Other IBM Products...') UNAVAIL(ZPM6) MNEM(1) ACC(CTRL+O)
 ACTION RUN(ISRROUTE) PARM('OIB')
PDC DESC('SCLM') UNAVAIL(ZPM7) MNEM(3) ACC(CTRL+L)
 ACTION RUN(ISRROUTE) PARM('SCL')
PDC DESC('ISPF Workplace') UNAVAIL(ZPM8) MNEM(6) ACC(CTRL+W)
 ACTION RUN(ISRROUTE) PARM('WRK')
PDC DESC('Status Area...') UNAVAIL(ZPMS) MNEM(8) ACC(CTRL+A)
 ACTION RUN(ISRROUTE) PARM('SAM')
PDC DESC('Exit') MNEM(2) PDSEP(ON) ACC(CTRL+X) ACTION RUN(EXIT)
)ABCINIT
.ZVARS=ISR@OPT
)ABC DESC('Functions') MNEM(1)
PDC DESC('Save List') MNEM(1) ACTION RUN(>SAVE)
PDC DESC('Change Colors') MNEM(1) ACTION RUN(>MLC)
)ABCINIT
.ZVARS=MEMOPT
)ABC DESC('Utilities') MNEM(1)
Figure 2. Customized member list panel (Part 2 of 3)
PDC DESC('Library') UNAVAIL(ZUT1) MNEM(1) ACC(ALT+1)
 ACTION RUN(ISRROUTE) PARM('U1')
PDC DESC('Data set') UNAVAIL(ZUT2) MNEM(1) ACC(ALT+2)
 ACTION RUN(ISRROUTE) PARM('U2')
PDC DESC('Move/Copy') UNAVAIL(ZUT3) MNEM(1) ACC(ALT+3)
 ACTION RUN(ISRROUTE) PARM('U3')
PDC DESC('Data Set List') UNAVAIL(ZUT4) MNEM(2) ACC(ALT+4)
 ACTION RUN(ISRROUTE) PARM('U4')
PDC DESC('Reset Statistics') UNAVAIL(ZUT5) MNEM(5) ACC(ALT+5)
 ACTION RUN(ISRROUTE) PARM('U5')
PDC DESC('Hardcopy') UNAVAIL(ZUT6) MNEM(1) ACC(ALT+6)
 ACTION RUN(ISRROUTE) PARM('U6')
PDC DESC('Download...') UNAVAIL(ZUTDT) MNEM(2) ACC(ALT+7)
 ACTION RUN(ISRROUTE) PARM('UDT')
PDC DESC('Outlist') UNAVAIL(ZUT7) MNEM(2) ACC(ALT+8)
 ACTION RUN(ISRROUTE) PARM('U8')
PDC DESC('Commands...') UNAVAIL(ZUT8) MNEM(1) ACC(ALT+9)
 ACTION RUN(ISRROUTE) PARM('U9')
PDC DESC('Reserved') UNAVAIL(ZUT9) MNEM(6) ACTION RUN(ISRROUTE) PARM('U10')
PDC DESC('Format') UNAVAIL(ZUT10) MNEM(1) ACC(ALT+F1)
 ACTION RUN(ISRROUTE) PARM('U11')
PDC DESC('SuperC') UNAVAIL(ZUT11) MNEM(1) PDSEP(ON) ACC(CTRL+F2)
 ACTION RUN(ISRROUTE) PARM('U12')
PDC DESC('SuperCE') UNAVAIL(ZUT12) MNEM(3) ACC(CTRL+F3)
 ACTION RUN(ISRROUTE) PARM('U13')
PDC DESC('Search-For') UNAVAIL(ZUT13) MNEM(2) ACC(CTRL+F4)
 ACTION RUN(ISRROUTE) PARM('U14')
PDC DESC('Search-ForE') UNAVAIL(ZUT14) MNEM(4) ACC(CTRL+F5)
 ACTION RUN(ISRROUTE) PARM('U15')
PDC DESC('Table Utility') UNAVAIL(ZUT15) MNEM(3) ACC(CTRL+F6)
 ACTION RUN(ISRROUTE) PARM('U16')
PDC DESC('Directory List') UNAVAIL(ZUT16) MNEM(2) ACC(CTRL+F7)
 ACTION RUN(ISRROUTE) PARM('U17')
)ABCINIT
.ZVARS=PDFUTIL
     &zut9 = '1'
)ABC DESC('Help') MNEM(1)
PDC DESC('General') MNEM(1) ACTION RUN(TUTOR) PARM('ISR01130')
PDC DESC('Scrolling') MNEM(1) ACTION RUN(TUTOR) PARM('ISR01131')
PDC DESC('Pattern matching') MNEM(1) ACTION RUN(TUTOR) PARM('ISR01232')
PDC DESC('LOCATE command') MNEM(1) ACTION RUN(TUTOR) PARM('ISR01132')
PDC DESC('SORT command') MNEM(2) ACTION RUN(TUTOR) PARM('ISR01226')
PDC DESC('SAVE command') MNEM(2) ACTION RUN(TUTOR) PARM('ISR01229')
PDC DESC('REFRESH command') MNEM(1) ACTION RUN(TUTOR) PARM('ISR01142')
PDC DESC('RESET command') MNEM(2) ACTION RUN(TUTOR) PARM('ISR01138')
PDC DESC('SELECT command') MNEM(5) ACTION RUN(TUTOR) PARM('ISR01133')
PDC DESC('MLC command') MNEM(1) ACTION RUN(TUTOR) PARM('ISR01237')
PDC DESC('S line command') MNEM(4) ACTION RUN(TUTOR) PARM('ISR01134')
PDC DESC('Statistics') MNEM(2) ACTION RUN(TUTOR) PARM('ISR01140')
PDC DESC('Appendices') MNEM(5) ACTION RUN(TUTOR) PARM('ISR00004')
PDC DESC('Index') MNEM(3) ACTION RUN(TUTOR) PARM('ISR91000')
)ABCINIT
Figure 3. Customized member list panel (Part 3 of 3)
.ZVARS=MEMLHELP
)BODY  CMD(ZCMD)
## Menu# Functions# Utilities# Help#
#------------------------------------------------------------------------------
#MEMBER LIST #Z                                         #Row#Z      #of#Z      #
#Command ===>#Z                                               #Scroll ===>#Z   #
#ZMLCOLD                                                                       #
#ZDATA                                                                         #
#                                                                              #
)INIT
.ZVARS = '(ZDSN ZMLCR ZMLTR ZCMD ZSCML)'
.HELP = ISR01130
.ATTR(ZMLCR)='JUST(RIGHT) PAD(''0'')'
.ATTR(ZMLTR)='JUST(RIGHT) PAD(''0'')'
&zds   = &zdsn
&zscr = 'OFF'
&zt = LENGTH(zds)
IF (&zt > 42)
  &zscr = 'ON'
VGET (MLC1 MLC2 MLC3 MLH1 MLH2 MLH3 ZMLPD ZSCML) PROFILE
VGET (ZGUI)
&ZMLPAD = 'USER'                     /* Init to user pad char OW18007*/
IF (&ZGUI = ' ')                     /* Not GUI mode          OW18007*/
  IF (&ZMLPD = ' ')                  /* User pad not wanted   OW18007*/
    &ZMLPAD = '.'                    /* Use default pad char  OW18007*/
ELSE                                 /* GUI mode              OW18007*/
  IF (&ZGUI NE 'CLIENT')             /* Not for Web                  */
    .ATTRCHAR(01) = 'TYPE(DATAOUT)'  /* Set to output         OW18007*/
IF (&MLC1 = ' ') &MLC1 = 'TURQ'
IF (&MLC2 = ' ') &MLC2 = 'BLUE'
IF (&MLC3 = ' ') &MLC3 = 'GREEN'
                                         /* Fill Scroll Vars if       */
IF (&ZSCML = ' ') &ZSCML = 'PAGE'        /* Blank with page.          */
)PROC
VPUT (ZSCML) PROFILE
IF (.CURSOR = ZDATA OR .CURSOR = ZMLCOLD) &ZMSCPOS = &ZCURPOS
ELSE &ZMSCPOS = '0000'
)FIELD
FIELD(ZDSN) SCROLL(ZSCR)
)PNTS
)END
/* 5650-ZOS     COPYRIGHT IBM CORP 1994, 2013 */
/* ISPDTLC Release: 7.1.  Level: PID                                  */
/* z/OS 02.01.00.  Created - Date: 1 Mar 2013, Time: 11:47            */

As with edit and browse customized panels, the distributed member list panels have a dynamic area that extends to fill the available depth of the screen. But, unlike edit and browse panels, (the dynamic area on a member list panel does not expand to fill the width of the screen), it must be 80 characters wide. The dynamic area can also be fixed in length by removing the EXTEND keyword from the )ATTR section of the panel definition.

See the description of dynamic areas in the z/OS ISPF Dialog Developer's Guide and Reference.

See Customizing Browse and Edit for a more complete discussion on customizing panels.

Table 1 lists the ISPF-provided output-only variables you can use on member list panels.

Table 1. Member list panel output-only variables
Variable Description Format/Length
ZDAZWD Width of dynamic area (ZDATA) CHAR 4
ZDAMLN Length of dynamic area (ZDATA) CHAR 4
ZDSN First or only data set in concatenation CHAR 44
ZMLCOLS Member statistics column headings CHAR 80
ZMLCR Relative row number of top row FIXED 4
ZMLTR Total number of rows in member list FIXED 4
ZDSVOL Volume of the data set or first library in the concatenation. CHAR 6

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014