z/OS TSO/E Programming Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Example Using ICQGCL00

z/OS TSO/E Programming Services
SA32-0973-00

The CLIST in Figure 1 is a sample application that invokes ISPF dialog management services to display input and output panels. The application displays an input panel on which user enters the information to be used as criteria for searching the user catalog. The input panel is shown in Figure 2. The application invokes ICQGCL00 using the search criteria that the user specified. The application displays the results on an output panel (Figure 3), which lists the data sets matching the search criteria.

Figure 1. A Sample Application Using ICQGCL00
  /*******************************************************************/
  /*                                                                 */
  /* THIS SAMPLE APPLICATION SEARCHES THE USER CATALOG FOR DATA SET  */
  /* NAMES THAT MATCH THE CRITERIA SPECIFIED BY THE USER.  IT        */
  /* RETURNS A LIST OF DATA SET NAMES THAT ARE DISPLAYED ON AN       */
  /* OUTPUT PANEL.                                                   */
  /*                                                                 */
  /*******************************************************************/
  PROC 0
  CONTROL END(ENDO)

  /*  PROCESSING
  /*      .
  /*      .
  /*      .
  SET LOOP = YES
  ISPEXEC DISPLAY PANEL(PANEL1)     /* DISPLAY PANEL TO USER
  IF &LASTCC = 8 THEN + 
    SET LOOP = NO                   /* END PRESSED, DON'T CONTINUE
  DO WHILE &LOOP = YES              /* REPEAT UNTIL END PRESSED
    ISPEXEC TBCREATE QCLDSNTB + 
        NAMES(QCLPREF QCLDSN1 QCLDSN2 QCLDSN QCLACT) + 
             NOWRITE REPLACE        /* CREATE TABLE TO DISPLAY
        SET PARM1 = PREFIX(&NRSTR(&USER))    /* SET UP PARAMETERS
        SET PARM2 = QUAL1(&NRSTR(&QCLDSN1))
        SET PARM3 = QUAL2(&NRSTR(&QCLDSN2))
        SET PARM4 = EXACT(Y)
        SET PARM5 = TABLE(QCLDSNTB)
        ICQGCL00 &PARM1 &PARM2 &PARM3 &PARM4 &PARM5  /* CALL ICQGCL00+ 
                                       TO GET LIST OF DATA SET NAMES
        SET LCC = &LASTCC
        IF &LCC = 0 THEN + 
          DO                        /* MATCH FOUND
            ISPEXEC TBTOP QCLDSNTB  /* GO TO TOP OF TABLE
            ISPEXEC TBDISPL QCLDSNTB PANEL(PANEL2)
            IF &LASTCC ¬= 8 THEN + 
              DO
                 .
                 .                 /* PROCESS SELECTIONS
                 .
              ENDO
          ENDO
        ELSE + 
          DO
            .
            .                      /* ISSUE APPROPRIATE MESSAGE
            .
          ENDO
    ISPEXEC DISPLAY PANEL(PANEL1)  /* DISPLAY PANEL TO USER
    IF &LASTCC = 8 THEN + 
      SET LOOP = NO                /* END PRESSED, DON'T CONTINUE
  ENDO
  /*
  /*  PROCESSING
  /*    .
  /*    .
  /*    .
Figure 2. Sample Application Input Panel Definition (PANEL1)
)ATTR
       %   TYPE(TEXT) INTENS(HIGH)
       +   TYPE(TEXT) INTENS(LOW)
       _   TYPE(INPUT) INTENS(HIGH) CAPS(ON) JUST(LEFT)
       ¬   TYPE(INPUT) INTENS(HIGH) PAD(_) CAPS(ON)
)BODY
+                List of Data Set Names - Specification
+COMMAND%===>_ZCMD                                       + 
+ 
+Specify criteria to use in searching for data set names below.
+ 
+ISPF Library:
+   Project          %===>_USER    + 
+   Group            %===>_Q2      + 
+   Type             %===>_Q3      + 
+ 
+ 
+ 
)PROC
 VER (&USER,NB)                /* ensure PROJECT is specified
 IF (&Q2 = ' ')                /* if second qualifier is blank
   &Q2 = '*'                   /* default it to asterisk
 IF (&Q3 = ' ')                /* if third qualifier is blank
   &Q3 = '*'                   /* default it to asterisk
 &QCLPREF = &USER
 &QCLDSN1 = &Q2
 &QCLDSN2 = &Q3
)END
Figure 3. Sample Application Output Panel Definition (PANEL2)
)ATTR DEFAULT(%+_)
        % TYPE(TEXT) INTENS(HIGH)
        + TYPE(TEXT) INTENS(LOW)
        _ TYPE(INPUT) CAPS(ON) JUST(LEFT) PAD(_) INTENS(HIGH)
        @ TYPE(INPUT) CAPS(ON) JUST(LEFT) INTENS(HIGH)
        $ TYPE(OUTPUT) CAPS(ON) INTENS(HIGH)
)BODY
+                          Data Set List
+Command ===>@Z                                         %SCROLL ===>@Z   + 
+ 
+Type action to be performed to the right of the data set name.
+ 
)MODEL
$QCLDSN                                      +@QCLACT
)INIT
 .ZVARS = '(ZCMD ZSCML)'
 IF (&ZSCML = ' ')              /* if scroll is blank,
   &ZSCML = 'PAGE'              /* default it to PAGE
 .CURSOR = QCLACT               /* set cursor at first action field
)PROC
)END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014