DISPLAY Operator (for Experienced)


Summary

For basic information, go through the DISPLAY Operator (for Beginners)

  • DISPLAY operator prints the values or characters of specified numeric or character fields in separate list data set.
  • The fields are printed in columns in the same order in which they are specified.
  • DISPLAY operators can produce simple, tailored, or sectioned reports.
  • DISPLAY can also produce maximums, minimums, totals, averages, and counts.

Syntax -

DISPLAY Operator

Required Operands


FROM -

  • FROM parameter specifies ddname of the input file.
  • indd DD statement is mandatory if FROM operand specified.

LIST -

  • listdd specifies the list dataset ddname to be created by ICETOOL LIST operation.
  • A listdd DD statement should be provided.

ON -

  • ON operator specifies the field(s) used for DISPLAY operation.
  • 1 to 50 ON fields can be specified with the DISPLAY operation.
    • (p,m,f) gives the position, length, and format of a numeric or character field. The field should not be beyond position 32752 or the end of the record.
    • (p,m,f, formatting) gives a numeric or character field's position, length, and format. It also specifies how the data is to be formatted for printing for this field. The field should not be beyond position 32752 or the end of the record.
    • VLEN is equivalent to ON(1,2, BI) for variable-length records, representing each record's record length.

Optional Operands


TITLE, PAGE, DATE, DATENS, YDDD, YDDDNS, TIME and TIMENS -

  • Specify the elements in the title lines at the top of each page.
  • Only specified details appear in the order given.
  • Each title string can consist of up to three individual strings.
  • A string can be 1 to 50 characters.

TLEFT -

  • Specifies title strings are left-justified for each other.

TFIRST -

  • Specifies the title lines are only printed on the first page.

NOCC -

  • Suppresses carriage control characters.

HEADER -

  • Specifies one, two, or three lines heading to be printed for the corresponding ON the field.
  • A heading string can be 1 to 50 characters.
  • NONE can suppress the heading for the corresponding ON the field.

NOHEADER -

  • Suppresses the heading line.

LINES -

  • Specifies the number of lines per page.
  • n can be 10 to 999.

BLANK and PLUS -

  • It forces the column widths to be dynamically adjusted as needed.
  • It suppresses leading zeros for numeric fields.
  • BLANK causes a blank, rather than a +, for the positive sign.

TOTAL, MAXIMUM, MINIMUM, AVERAGE and COUNT –

  • Specifies the overall statistics to appear after the data columns for the report.
  • Only the selected statistics appear in the given order.
  • Each string can be 1 to 50 characters.

EDCOUNT -

  • Specifies how the overall count is formatted for printing.
  • Formatting items can be used in any order, but each can only be used once.
  • EDCOUNT can only be coded if COUNT('string') is used.
  • The formatting items used are - mask, E'pattern', L'string', F'string', T'string', LZ and Udd.

LIMIT -

  • Specifies the limit for the number of invalid decimal values.
  • If 'n' invalid decimal values are found, ICETOOL terminates the process.
  • 'n' can be 1 to 15 decimal digits but should be greater than 0.

VSAMTYPE -

  • VSAMTYPE operand specifies the record format for a VSAM input file (F or V).

WIDTH -

  • Specifies the line length and LRECL length for the list data set.
  • 'n' can be 121 to 8192.
  • If the WIDTH specified is less than the calculated line length, ICETOOL terminates the operation.
  • If WIDTH is not specified, the calculated line length is used as the line length and LRECL for the list data set.

LONGLINE -

  • Specifies the calculated line length to be a maximum of 8191 bytes.

BREAK -

  • Specifies the break field to be used to divide the report into sections.
  • Each set of sequential input records with the same break field value is treated as a section in the report.
  • Each section starts on a new page with its section title and section statistics.

BTITLE -

  • Specifies a string to appear in the section title.
  • The break field and string uses the same order provided to appear in the section title.
  • The string length can be 1 to 50 characters.

BTOTAL, BMAXIMUM, BMINIMUM, BAVERAGE and BCOUNT –

  • Specify the section where the statistics appear after each section's data is displayed.
  • Only the coded statistics appear for each section in the coded order.
  • Each string can be 1 to 50 characters.

EDBCOUNT -

  • Specifies how the section count is formatting for printing.

INDENT -

  • Specifies the number of blanks used to indent the report.
  • Overrides the default value 0.
  • 'n' can range from 0 to 50.

BETWEEN -

  • Specifies the number of blanks used between the data columns.
  • Overrides the default value of 3.
  • 'n' can range from 0 to 50.

TBETWEEN -

  • Specifies the number of blanks used between title elements.
  • Overrides the default value of 8.
  • 'n' can be from 0 to 50.

STATLEFT -

  • Aligns the statistic strings to the left from the first column.

UZERO -

  • Causes -0 to be treated as unsigned, that is, as 0.

LISTSDB -

  • LISTSDB specifies to ICETOOL that the BLKSIZE should select as the system-determined optimum block size for the LIST data set in the same way as for installation option SDBMSG=YES.

LISTNOSDB -

  • LISTSDB specifies to ICETOOL that the BLKSIZE should select as the system-determined optimum block size for the LIST data set in the same way as for installation option SDBMSG=NO.

Example -


Scenario - Adds a header to the list file and displays rows statistics information.

INPUT - MATEPK.INPUT.PSFILE

 BROWSE    MATEPK.INPUT.PSFILE                        Line 00000000 Col 001 080 
 Command ===>                                                  Scroll ===> CSR  
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
********************************* Top of Data **********************************
001  PAWAN         MAINFRAME           JPM       AP        IN                   
002  SRINIVAS      TESTING             ORACLE    TG        IN                   
003  SRIDHAR       SAS                 CG        OR        US                   
004  VENKATESH     ABAP                CSC       CA        US                   
005  RAVI          HADOOP              CTS       FL        US                   
006  PRASAD        HR                  INFOSYS   MI        US                   
007  RAJA          TESTING             IBM       CA        US                   
******************************** Bottom of Data ********************************

JCL -

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
***************************** Top of Data ******************************
//MATEPKDI JOB (123),'MATEPK',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),        
//             NOTIFY=&SYSUID                                           
//*                                                                     
//STEP01   EXEC PGM=ICETOOL                                             
//INDD     DD DSN=MATEPK.INPUT.PSFILE,DISP=SHR                          
//LISTDD   DD DSN=MATEPK.OUTPUT.PSFILED,                                
//            DISP=(NEW,CATLG,DELETE),VOLUME=SER=DEVHD4,                
//            SPACE=(TRK,(1,1),RLSE),UNIT=SYSDA,                        
//            DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800)              
//TOOLIN   DD *                                                         
   DISPLAY FROM(INDD) LIST(LISTDD) -                                    
     TITLE('EMPLOYEE REPORT') -                                         
     PAGE DATE TIME -                                                   
    HEADER('ENO') HEADER('NAME') HEADER('TECHNOLOGY') HEADER('COMPANY')-
     ON(1,3,CH)   ON(6,14,CH)    ON(20,19,CH)         ON(40,10,CH) -    
     BLANK -                                                            
     COUNT('NUMBER OF RECORDS: ') EDCOUNT(U04)                          
/*                                                                      
//TOOLMSG  DD SYSOUT=*                                                  
//DFSMSG   DD SYSOUT=*                                                  
**************************** Bottom of Data ****************************

OUTPUT - MATEPK.OUTPUT.PSFILED

 BROWSE    MATEPK.OUTPUT.PSFILED                      Line 00000000 Col 001 080 
 Command ===>                                                  Scroll ===> CSR  
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
********************************* Top of Data **********************************
EMPLOYEE REPORT        - 1 -        03/05/22        03:14:08                    
                                                                                
ENO   NAME             TECHNOLOGY            COMPANY                            
---   --------------   -------------------   ----------                         
001   PAWAN            MAINFRAME             JPM                                
002   SRINIVAS         TESTING               ORACLE                             
003   SRIDHAR          SAS                   CG                                 
004   VENKATESH        ABAP                  CSC                                
005   RAVI             HADOOP                CTS                                
006   PRASAD           HR                    INFOSYS                            
007   RAJA             TESTING               IBM                                
                                                                                
NUMBER OF RECORDS:     7                                                        
******************************** Bottom of Data ********************************

TOOLMSG (SDSF SPOOL) - Verify TOOLMSG for the return code of the submitted job.

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9
********************************* TOP OF DATA ********************************************
1ICE600I 0 DFSORT ICETOOL UTILITY RUN STARTED                                   
                                                                                
 ICE650I 0 VISIT http://www.ibm.com/storage/dfsort FOR ICETOOL PAPERS, EXAMPLES AND MORE 
                                                                                
 ICE632I 0 SOURCE FOR ICETOOL STATEMENTS:  TOOLIN                               
                                                                                
                                                                                
 ICE630I 0 MODE IN EFFECT:  STOP                                                
                                                                                
             DISPLAY FROM(INDD) LIST(LISTDD) -                                  
               TITLE('EMPLOYEE REPORT') -                                       
               PAGE DATE TIME -                                                 
              HEADER('ENO') HEADER('NAME') HEADER('TECHNOLOGY') HEADER('COMPANY')-
               ON(1,3,CH)   ON(6,14,CH)    ON(20,19,CH)         ON(40,10,CH) -  
               BLANK -                                                          
               COUNT('NUMBER OF RECORDS: ') EDCOUNT(U04)                        
ICE643I 0 WIDTH OF REPORT IS 0121 BYTES                                         
ICE627I 0 DFSORT CALL 0001 FOR COPY FROM INDD     TO E35 EXIT COMPLETED         
ICE603I 0 INFORMATION PRINTED IN LISTDD   DATA SET                              
ICE628I 0 RECORD COUNT:  000000000000007                                        
ICE602I 0 OPERATION RETURN CODE:  00                                            
                                                                                
                                                                                
 ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE:  00                  
******************************** BOTTOM OF DATA ******************************************

Explaining Solution -

  • INDD - Specifies the ddname for input file.
  • OUTDD - Specifies the ddname for output file.
  • TOOLIN DD * - Specifies the ICETOOL statements for DFSORT.
  • TOOLMSG - Specifies where to write the ICETOOL processing messages.
  • DFSMSG - Specifies where to write the DFSORT processing messages.
  • DISPLAY FROM(INDD) LIST(LISTDD) - Prints the report into LISTDD using INDD records.
  • TITLE('EMPLOYEE REPORT') - Places the title left justified.
  • PAGE DATE TIME - Prints page number, printed date and time on the same line where title printed.
  • HEADER('ENO') HEADER('NAME') HEADER('TECHNOLOGY') HEADER('COMPANY') - Prints the headers based on the ON parameter length and with three lines gap in between headers.
  • ON(1,3,CH) ON(6,14,CH) ON(20,19,CH) ON(40,10,CH) - Conditions for headers.
  • BLANK - Prints blank line.
  • COUNT('NUMBER OF RECORDS: ') EDCOUNT(U04) - Prints the count at the end.