Report writing in ICETOOL

In this Mainframe Forum - You can post your queries on DFSORT, ICETOOL , SyncSort & JCL Utilities

Moderators: Frank Yaeger, Moderator Group

Post Reply
kunnu
Member
Posts: 18
Joined: Sat Jan 08, 2011 12:38 am
Location: Mumbai

Report writing in ICETOOL

Post by kunnu » Sun Jan 09, 2011 12:45 am

Hi,
As per the requirement for my project I want to develop an ICETOOL code. Please could you help me.


Input file:
Designation X(10)
Place X(10)
Country X(10)
Version X(5)
Designation Place Country Version
Software engg New york America 0.1 Software engg New york America 0.1 Software engg New york America 0.1 Proj manager New york America 0.1 Proj manager New york America 0.1 Del manager New york America 0.1 Proj manager Chicago America 0.1 Software engg Chicago America 0.1 Del manager Chicago America 0.1 Software engg Manchester England 0.2 Proj manager Manchester England 0.2 Del manager Manchester England 0.2

Output:
Silicon Valley – Version: 0.1
Organizational Details
Country : America
Place Designation Count New york Software engg 3 Proj manager 2 Del manager 1
Chicago Software engg 1 Proj manager 1 Del manager 1
-------------------------------------------------------------
Silicon Valley – Version: 0.2
Organizational Details
Country : England
Place Designation Count Manchester Software engg 1 Proj manager 1 Del manager 1

Explanation:
As mentioned above the output should be written with a header structure, the section should be broken on fields Place and Designation. The count should be written for no of records in a particular section. On the main hand the page should be broken on version and name, As mentioned above the first part of the report is written with version as 0.1 and country as America wheras second part is written with version as 0.2 and country as England.
Hope this is explanatory. Please do let me know in case if you find any concerns.

Thanks in advance
Kunnu[/u]

kunnu
Member
Posts: 18
Joined: Sat Jan 08, 2011 12:38 am
Location: Mumbai

Post by kunnu » Sun Jan 09, 2011 2:13 am

In my previous post if the requirement is not clearly understood then have a look at the below input and output

Code: Select all

Input file:
Designation	X(10)
Place		   X(10)
Country		 X(10)
Version		 X(5)

Designation	  Place		Country   Version
Software engg   New york	America	0.1 	
Software engg	New york	America	0.1 
Software engg	New york	America	0.1
Proj manager	 New york	America	0.1
Proj manager	 New york	America	0.1
Del manager 	 New york	America	0.1 
Proj manager	 Chicago	 America	0.1                                              
Software engg	Chicago	 America	0.1                                                                            
Del manager 	 Chicago	 America	0.1                                                                            
Software engg	Manchester England	0.2  
Proj manager	 Manchester England	0.2                                                                            
Del manager	  Manchester England	0.2

Code: Select all

Output:
[u]Silicon Valley – Version: 0.1[/u]
[u]Organizational Details[/u]
Country : America 

[u]Place	Designation       Count[/u]
New york	Software engg	  3                                             
           Proj manager	   2
    	    Del manager       1              								
 
Chicago	 Software engg	  1 
           Proj manager	   1 
           Del manager       1											
--------------------------------------------------------
[u]Valley – Version: 0.2[/u]
[u]Organizational Details[/u]
Country : England 

[u]Place   Designation       Count[/u]                                                                           
Manchester Software engg     1                                                             
           Proj manager      1   
           Del manager       1
--------------------------------------------------------

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Tue Jan 11, 2011 2:30 am

You show:

Designation X(10)

but then you show actual fields that are longer than 10 bytes, e.g. Software engg is 13 bytes. Please clear up the confusion and show a good example of input and expected output.

Also, give the RECFM and LRECL of the input file, and the starting position, length and format of each field in the input and output records.
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

kunnu
Member
Posts: 18
Joined: Sat Jan 08, 2011 12:38 am
Location: Mumbai

Post by kunnu » Tue Jan 11, 2011 7:18 pm

Hi Frank,

Sorry for the inconvenience created.

Input file:
Designation X(20) - starting pos - 1
Place X(10) - starting pos - 21
Country X(10) - starting pos - 31
Version X(5) - starting pos – 41

Output file:
The fields mentioned in the output file should have same length as input file.
The Count field is 9(8).
Note: The format of the output report and input fields is char, only count should be 9(8).
LRECL – 80 – input file
LRECL – 80 – output file

RECFM - FB

Please do let me know if you find any concerns.

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Wed Jan 12, 2011 3:19 am

Hopefully, this DFSORT job will give a report close enough to what you asked for:

Code: Select all

//S1 EXEC PGM=SORT                                               
//SYSOUT DD SYSOUT=*                                             
//SORTIN DD DSN=...  input file (FB/80)
//SORTOUT DD SYSOUT=*                                            
//SYSIN DD *                                                     
  OPTION COPY                                                    
  OUTFIL NODETAIL, REMOVECC,                                              
    SECTIONS=(41,5,                                              
               HEADER3=(56'-',/,                                 
                'Silicon Valley - Version: ',41,5,/,             
                'Organizational Details'),                       
       31,10,HEADER3=('Country : ',31,10,X,/,X,/,                
                      'Place',12:'Designation',33:'   Count'),   
       21,10,SKIP=L,                                             
       1,20,TRAILER3=(21,10,12:1,20,33:COUNT=(M10,LENGTH=8)))    
SORTOUT would have:

Code: Select all

--------------------------------------------------------     
Silicon Valley - Version: 0.1                                
Organizational Details                                       
Country : America                                            
                                                             
Place      Designation             Count                     
New york   Software engg               3                     
New york   Proj manager                2                     
New york   Del manager                 1                     
                                                             
Chicago    Proj manager                1                     
Chicago    Software engg               1                     
Chicago    Del manager                 1                     
--------------------------------------------------------     
Silicon Valley - Version: 0.2                       
Organizational Details                              
Country : England                                   
                                                    
Place      Designation             Count            
Manchester Software engg               1            
Manchester Proj manager                1            
Manchester Del manager                 1            
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

kunnu
Member
Posts: 18
Joined: Sat Jan 08, 2011 12:38 am
Location: Mumbai

Post by kunnu » Thu Jan 13, 2011 4:49 pm

Thanks a lot Frank....;-:

In the above report for the place field, it should print only once as shown in my output report above. Please do let me know how to achieve this scenario.

Thanks in advance.
Kunnu

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Fri Jan 14, 2011 2:13 am

That's tricky, but hopefully this DFSORT/ICETOOL job will give you what you want:

Code: Select all

//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=...  input file (FB/80)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//OUT DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN) TO(T1) USING(CTL1)
COPY FROM(T1) TO(OUT) USING(CTL2)
//CTL1CNTL DD *
  OUTFIL FNAMES=T1,NODETAIL,REMOVECC,
    SECTIONS=(41,5,
               HEADER3=(56'-',/,
                'Silicon Valley - Version: ',41,5,/,
                'Organizational Details'),
       31,10,HEADER3=('Country : ',31,10,X,/,X,/,
                      'Place',12:'Designation',33:'   Count'),
       21,10,HEADER3=(C'00000'),TRAILER3=(C'99999',2/),
       1,20,TRAILER3=(21,10,12:1,20,33:COUNT=(M10,LENGTH=8)))
/*
//CTL2CNTL DD *
  INREC IFOUTLEN=80,
   IFTHEN=(WHEN=GROUP,BEGIN=(1,5,CH,EQ,C'00000'),
    END=(1,5,CH,EQ,C'99999'),PUSH=(81:SEQ=8)),
   IFTHEN=(WHEN=(81,8,CH,NE,C' ',AND,81,8,ZD,NE,2,AND,
     1,5,SS,NE,C'00000,99999'),
     OVERLAY=(1:10X))
  OUTFIL OMIT=(1,5,SS,EQ,C'00000,99999')
/*
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

Post Reply

FREE TUTORIALS

Tutorials
Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions



Other References
Mainframe Tools and others