Summary Report in Sort or Icetool?



IBM's flagship sort product DFSORT for sorting, merging, copying, data manipulation and reporting. Includes ICETOOL and ICEGENER

Summary Report in Sort or Icetool?

Postby MitchellSTL » Fri Sep 27, 2013 12:43 am

I haven't been able to determine if sort or icetool can accomplish this. The file is already sorted by Unit and by state. I just need a summary by unit number and state. TIA

I have a file that has the following data:

Positions 1-8 - Unit Number (CH)
Positions 9-10 State (CH)
Positions 11,15 Miles (PD)
Positions 16,20 Gallons (PD)

U1290013GA....@.....
U1290013GA....@.....
U1290013MA....@.....
U1290013MO....@.....
U1290013MO....@.....
U3000100MO....@.....
U3000100MO....@.....


Report:

Unit: U1290013

State         Miles           Gallons
-----     ---------        ----------
GA            1,234               100
MA            2,345               125
MO            5,432               375

Unit Total    9,011               600     

Unit: 3000100

State         Miles           Gallons
-----     ---------        ----------
MO            5,432               215

Unit Total    5,432               215

Cmpy Total   14,443               815

MitchellSTL
 
Posts: 27
Joined: Wed Feb 16, 2011 8:57 am
Has thanked: 1 time
Been thanked: 0 time

Re: Summary Report in Sort or Icetool?

Postby MitchellSTL » Fri Sep 27, 2013 12:57 am

And just in case you need to know... Here's my dfsort version

ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1                                           
ICE751I 0 C5-K76982 C6-K90026 C7-K82419 C8-K91592 E9-K60824 C9-BASE   E5-K80744 E7-K79990       
ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                                                 
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE           
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 14:23 ON THU SEP 26, 2013 -     
            OPTION COPY
MitchellSTL
 
Posts: 27
Joined: Wed Feb 16, 2011 8:57 am
Has thanked: 1 time
Been thanked: 0 time

Re: Summary Report in Sort or Icetool?

Postby BillyBoyo » Fri Sep 27, 2013 3:50 am

You need to look at the OUTFIL reporting functions. HEADERn, TRAILERn, TOT and suchlike. You will find good summary reports in the Getting Started and Application Programming Guide manuals.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: Summary Report in Sort or Icetool?

Postby MitchellSTL » Fri Sep 27, 2013 10:39 pm

Thanks - The "getting started" guide gave me some good examples to start at, but I'm not sure how to get summary totals when using the OUTFIL. Disclaimer - the positions that are in my SYSIN are based on the production file layout (which has waaaaaaay more fields than I need). My initial post was a simplified version. :)

This is what I've got so far in my SYSIN. It produces a report showing all the unit numbers and the summed miles & gallons per state. Is there a way to get summed miles for each unit as well? I'm not sure I'm asking it correctly, so I 'll give an example of what my report is producing and what I really want.

//SYSIN    DD *                                                       
 INCLUDE COND=(15,6,CH,EQ,C'U00013')                                   
 INREC FIELDS=(25,8,    UNIT NUMBER                                   
 11,2,         STATE                                                   
 75,5,         MILES                                                   
 80,5,         GALLONS                                                 
 70:X) ENSURE DATA LENGTH GREATER THAN HEADER/TRAILER LENGTH           
 SORT FIELDS=(25,8,CH,A,11,2,CH,A,1,10,CH,A)                           
 OUTFIL FNAMES=RPT6,                                                   
 NODETAIL,                                                             
 HEADER2=(/,3:DATE,15:C'MILEAGE / GALLONS BY UNIT & STATE',50:PAGE,/,/,
          3:'UNIT NBR ',13:'ST',17:'MILES',32:'GALLON',/,             
          3:'--------',13:'--',17:'-------------',32:'-------------'),
 SECTIONS=(1,8,SKIP=0L,9,2,SKIP=0L,                                   
 TRAILER3=(3:1,8,                                                     
           13:9,2,                                                     
           17:TOT=(11,5,PD,EDIT=(I,III,III,IIT)),                     
           32:TOT=(16,5,PD,EDIT=(I,III,III,IIT))))                     
/*                                                                     


produces:

  09/27/13    MILEAGE / GALLONS BY UNIT & STATE       1
                                                       
  UNIT NBR  ST  MILES          GALLON                 
  --------  --  -------------  -------------           
  U1260013  AZ            779            180           
  U1260013  CA            388              0           
  U1260013  LA            189              0           
  U1260013  MS             50              0           
  U1260013  NM            313             78           
  U1260013  NV            228              0           
  U1260013  TX            827            198           
  U1290013  AB            116              0           
  U1290013  AL          4,210            545           
  U1290013  AR          1,910            398           
  U1290013  AZ          6,271          1,174           
  U1290013  BC            999              0           
  U1290013  CA          6,608            623           
  U1290013  CO          1,828             74 


What I'm trying to accomplish...

  09/27/13    MILEAGE / GALLONS BY UNIT & STATE       1
                                                       
  UNIT NBR  ST  MILES          GALLON                 
  --------  --  -------------  -------------           
  U1260013  AZ            779            180           
  U1260013  CA            388              0           
  U1260013  LA            189              0           
  U1260013  MS             50              0           
  U1260013  NM            313             78           
  U1260013  NV            228              0           
  U1260013  TX            827            198           
               ==============  =============
TOTALS                  2,774            456                   

  U1290013  AB            116              0           
  U1290013  AL          4,210            545           
  U1290013  AR          1,910            398           
  U1290013  AZ          6,271          1,174           
  U1290013  BC            999              0           
  U1290013  CA          6,608            623           
  U1290013  CO          1,828             74 
               ==============  =============
TOTALS                 21,942          2,814                   
MitchellSTL
 
Posts: 27
Joined: Wed Feb 16, 2011 8:57 am
Has thanked: 1 time
Been thanked: 0 time

Re: Summary Report in Sort or Icetool?

Postby skolusu » Tue Oct 01, 2013 2:26 am

MitchellSTL,

DISPLAY operator works with PRE-SORTED data, so you need to have the data sorted before you can use it. However you can use OUTFIL report processing and get everything done in the same pass of data.
There seems to be some inconsistency describing the positions of the input data vs the positions shows in the control cards. You also seem to go back and forth about the report layout. I am going with your first version of the report. Here is a job which will give you the desired results. I assumed the positions of the data as follows
Positions 1-8 - Unit Number (CH)
Positions 9-10 State (CH)
Positions 11,15 Miles (PD)
Positions 16,20 Gallons (PD)


//STEP0100 EXEC PGM=SORT                                     
//SYSOUT   DD SYSOUT=*                                       
//SORTIN   DD DISP=SHR,DSN=Your Input file
//SORTOUT  DD SYSOUT=*                                       
//SYSIN    DD *                                             
  SORT FIELDS=(01,8,CH,A,               $ UNIT NUMBER       
               09,2,CH,A)               $ STATE             
                                                             
  OUTFIL REMOVECC,                                           
  BUILD=(03:09,2,                        $ STATE             
         07:11,5,PD,M12,LENGTH=14,       $ MILES             
         25:16,5,PD,M12,LENGTH=14,       $ GALLONS           
         80:X),                          $ SPACES           
                                                             
  SECTIONS=(1,8,SKIP=P,                                     
  HEADER3=(/,3:DATE,15:C'MILEAGE / GALLONS BY UNIT & STATE',
           50:PAGE,/,/,                                     
           3:'UNIT NBR : ',1,8,/,/,                         
           3:'ST',16:'MILES',33:'GALLON',/,                 
           3:'--',07:14'-',25:14'-'),                       
   TRAILER3=(07:14'=',25:14'=',/,                           
             'TOTALS',                                       
             07:TOT=(11,5,PD,M12,LENGTH=14),                 
             25:TOT=(16,5,PD,M12,LENGTH=14)))               
                                                             
//*


The report from this job is

                                                         
  09/30/13    MILEAGE / GALLONS BY UNIT & STATE       1   
                                                         
  UNIT NBR : U1260013                                     
                                                         
  ST           MILES            GALLON                   
  --  --------------    --------------                   
  AZ             779               180                   
  CA             388                 0                   
  LA             189                 0                   
  MS              50                 0                   
  NM             313                78                   
  NV             228                 0                   
  TX             827               198                   
      ==============    ==============                   
TOTALS         2,774               456                   
                                                         
  09/30/13    MILEAGE / GALLONS BY UNIT & STATE       2   
                                                         
  UNIT NBR : U1290013                                     
                                                         
  ST           MILES            GALLON                   
  --  --------------    --------------                   
  AB             116                 0                   
  AL           4,210               545                   
  AR           1,910               398                   
  AZ           6,271             1,174                   
  BC             999                 0                   
  CA           6,608               623                   
  CO           1,828                74                   
      ==============    ==============                   
TOTALS        21,942             2,814                   
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
skolusu
 
Posts: 586
Joined: Wed Apr 02, 2008 10:38 pm
Has thanked: 0 time
Been thanked: 39 times


Return to DFSORT/ICETOOL/ICEGENER

 


  • Related topics
    Replies
    Views
    Last post