IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Section & sub total report


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rakesha.hg

Active User


Joined: 21 Mar 2008
Posts: 161
Location: bangalore

PostPosted: Sat Jul 17, 2010 5:19 pm
Reply with quote

hi all,

I'm trying to implement a Sectioned report Using the below input file.I want to use reporting features of sort or Icetool.

Input File - LRECL - 120, Recfm = fb

Code:
CUSTOMER      RCVD DATE      STRT DATE           STORE               UT TYP    MSPN      QTY            MESSAGE         
(1-10)        (15-24)        (30-39)             (50-64)             (70-71)   (80-84)   (90-100)       (105-120)       
LT=10         LT=10          LT=10               LT=15               LT=2      LT=5      LT=10(ZD)      LT=16           
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2
1002722       2010-07-14     2010-07-13          100                 QS                  000000000A     INVLAID STORE   
1002722       2010-07-13     2010-07-12          008                 QS                  000000000A     LOADED SUCCESSFU
1002722       2010-07-13     2010-07-12          008                 QS        87037     000000000A     INVLAID MSPN   
1002722       2010-07-13     2010-07-12          012                 QS                  000000000A     LOADED SUCCESSFU
1002722       2010-07-13     2010-07-12          012                 QS        05491     000000000A     INVLAID MSPN   
1002722       2010-07-13     2010-07-12          830                 QS                  000000000A     LOADED SUCCESSFU
1002722       2010-07-13     2010-07-12          830                 QS        05491     000000000A     INVLAID MSPN   
1002722       2010-07-13     2010-07-12          100                 QS                  000000000A     INVLAID STORE   

1) The Report will need to have a header on RCVD date - one for different RCVD date in Input file
2) In this header, the report should have a detail entry on start date,store, UT & Message - one different details for each store
3) Subtotal of above details by Loaded successful, Invalid Store, invalid mspn by start date & also the total on start date.

The expected output is - 133 lrecl, fb
Code:
DATE RECEIVED: 2010-07-14                                                       
                                                                                 
START DATE     STORE           MESSAGE                  QTY          MSPN      UT
---------------------------------------------------------------------------------
2010-07-13     100             INVALID STORE              1                    QS
                                                                                 
DAY SUB TOTAL FOR START DATE: 2010-07-13                                         
START DATE     MESSAGE                                                       QTY
--------------------------------------------------------------------------------
2010-07-13     LOADED SUCCESSFUL                                              0 
2010-07-13     INVALID MSPN                                                   0 
2010-07-13     INVALID STORE                                                  1 
2010-07-13     TOTAL RECEIVED                                                 1 
                                                                                 
DATE RECEIVED: 2010-07-13                                                       
                                                                                 
START DATE     STORE           MESSAGE                  QTY          MSPN      UT
---------------------------------------------------------------------------------
2010-07-12     008             LOADED SUCCESSFUL          1                    QS
2010-07-12     008             INVALID MSPN               1          87037     QS
                                                                                 
START DATE     STORE           MESSAGE                  QTY          MSPN      UT
---------------------------------------------------------------------------------
2010-07-12     012             LOADED SUCCESSFUL          1                    QS
2010-07-12     012             INVALID MSPN               1          05491     QS
                                                                                 
START DATE     STORE           MESSAGE                  QTY          MSPN      UT
---------------------------------------------------------------------------------
2010-07-12     830             LOADED SUCCESSFUL          1                    QS
2010-07-12     830             INVALID MSPN               1          05491     QS
                                                                                 
START DATE     STORE           MESSAGE                  QTY          MSPN      UT
---------------------------------------------------------------------------------
2010-07-12     100             INVALID STORE              1                    QS
                                                                                 
DAY SUB TOTAL FOR START DATE: 2010-07-12                                         
START DATE     MESSAGE                                                       QTY
--------------------------------------------------------------------------------
2010-07-12     LOADED SUCCESSFUL                                              3 
2010-07-12     INVALID MSPN                                                   3 
2010-07-12     INVALID STORE                                                  1 
2010-07-12     TOTAL RECEIVED                                                 7 


Let me know any more details required. i've been trying the program approach of doing this, having difficulty in controlling the sub totals.

My sort function level is ICE201I E REC

Thanks,
Rakesh
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Tue Jul 20, 2010 12:00 am
Reply with quote

rakesha.hg,

Use the following DFSORT JCL which will give you the desired results

Code:

//STEP0100 EXEC PGM=SORT                         
//SYSOUT   DD SYSOUT=*                           
//SORTIN   DD DSN=your input fb 120 byte file,DISP=SHR   
//SORTOUT  DD SYSOUT=*                           
//SYSIN    DD *                             
  SORT FIELDS=COPY                                                     
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(121:3C'0',C'1')),                   
  IFTHEN=(WHEN=(105,16,CH,EQ,C'LOADED SUCCESSFU'),OVERLAY=(121:C'1')), 
  IFTHEN=(WHEN=(105,16,CH,EQ,C'INVLAID MSPN    '),OVERLAY=(122:C'1')), 
  IFTHEN=(WHEN=(105,16,CH,EQ,C'INVLAID STORE   '),OVERLAY=(123:C'1')), 
  IFTHEN=(WHEN=NONE,OVERLAY=(124:C'0'))                                 
                                                                       
  OUTFIL REMOVECC,IFOUTLEN=133,                                         
  IFTHEN=(WHEN=INIT,BUILD=(01:30,10,16:50,15,32:105,16,                 
          57:90,10,ZD,M10,LENGTH=10,77:80,5,88:70,2,                   
          134:30,10,50,15)),                                           
  IFTHEN=(WHEN=INIT,OVERLAY=(160:SEQNUM,8,ZD,RESTART=(134,25))),       
  IFTHEN=(WHEN=(160,8,ZD,EQ,1),                                         
  BUILD=(/,C'START DATE     STORE           MESSAGE',26X,               
         C'QTY          MSPN      UT',/,133C'-',/,1,120)),             
  SECTIONS=(30,10,                                                     
   HEADER3=('DATE RECEIVED: ',15,10),                                   
   TRAILER3=(/,'DAY SUB TOTAL FOR START DATE: ',30,10,/,/,             
             'START DATE     MESSAGE',42X,C'QTY',/,133C'-',/,           
            30,10,16:C'LOADED SUCCESSFUL',                             
            57:TOT=(121,1,ZD,M10,LENGTH=10),/,                         
            30,10,16:C'INVALID MSPN',                                   
            57:TOT=(122,1,ZD,M10,LENGTH=10),/,                         
            30,10,16:C'INVALID STORE',                                 
            57:TOT=(123,1,ZD,M10,LENGTH=10),/,                         
            30,10,16:C'TOTAL RECEIVED',                                 
            57:TOT=(124,1,ZD,M10,LENGTH=10),/))                         
//*
Back to top
View user's profile Send private message
rakesha.hg

Active User


Joined: 21 Mar 2008
Posts: 161
Location: bangalore

PostPosted: Tue Jul 20, 2010 8:43 am
Reply with quote

thanks for your time kulosu .... i haven tested it yet .... will modify per my needs & let you know.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts COBOL -Linkage Section-Case Sensitive COBOL Programming 1
No new posts Using Dynamic file handler in the Fil... COBOL Programming 2
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
No new posts Need help on formatting a report DFSORT/ICETOOL 14
No new posts Creating Report using SORT DFSORT/ICETOOL 7
Search our Forums:

Back to Top