MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Splitting a File into Multiple OUTFIL for a key

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Fri Aug 25, 2017 11:44 am    Post subject: Splitting a File into Multiple OUTFIL for a key Reply with quote

Hi,

I have a following code.

Code:

OPTION COPY                                                           
INREC  IFTHEN=(WHEN=GROUP,                                             
               BEGIN=(2,6,CH,EQ,C'DDDDDD'),                           
               PUSH=(134:11,2,50,4)),
                                 
       IFTHEN=(WHEN=GROUP,                                             
               KEYBEGIN=(134,6),                                       
               PUSH=(140:ID=2))     
                                 
OUTFIL INCLUDE=(140,2,ZD,EQ,01,AND,                                   
                001,1,CH,NE,C'1',AND,                                     
                001,4,CH,EQ,C'0FOR'),
                                   
       SECTIONS=(134,6,                                               
                 HEADER3=('REP12',37X,
                          'KEKARAN M',29X,
                          'PAGE: ',&PAGE,   
                          /,                                           
                           FOR: AUGUST 18 2017',37X,'MON'))               


input
Code:

1REP12                                           KEKARAN M                         PAGE     1
0FOR: AUGUST 18 2017                                   MON
0            aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0                                                         
0              aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :  YES
0                                                       IN
0      aaaaaaaaaaaaaaaaaaaaaaaa
1REP12                                           KEKARAN M
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA     
                                                         
0                                                         
0          aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1REP12                                           KEKARAN M                         PAGE     2
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA
                                                     
0                                                    L
0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 bbbbbbbbbbbbbbbbbbbbbbbbbb
0cccccccccccccccccccccccccc
 dddddddddddddddddddddd
 eeeeeeeeeeeeeeeeeeeeeeeeee       
 ffffffffffffffffffffffffffffffffffffffff             
1REP12                                           KEKARAN M                         PAGE     3
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA                   
                                                                       
0                                                   
0eeeeeeeeeeeeeeeeeeeeeeeeeeeee             
 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 
 cccccccccccccccccccccccccccccccc             
 dddddddddddddddddddddddddd             
 eeeeeeeeeeeeeeeeeeeeeeeeeeee
 fffffffffffffffffffffffffffffffffff             
 gggggggggggggggggggggggggggggg
 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
1REP12                                           KEKARAN M                         PAGE     4     
0FOR: AUGUST 18 2017                                   MON     
0DDDDDD : 01                            IDDDDD : 00BB
                                                     
0                                                   
0  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
   ccccccccccccccccccccccccccccc
    ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd         
1REP12                                           KEKARAN M                         PAGE     5
0FOR: AUGUST 18 2017                                   MON
..
...
..
..


I have 54 files to be generated, so do i need to create 54 outfils, or do i have otherways ?

Also i am excluding header and building again, because the group starts @ 3 rd line.

Please advise.

Thanks
Magesh
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12358
Topics: 75
Location: San Jose

PostPosted: Fri Aug 25, 2017 1:28 pm    Post subject: Reply with quote

Magesh_J,

It is not clear as to what you are doing. Your OUTFIL include will ALways only pick all the records before the first DDDDD is found.

And if you want to create 54 different files then you need to have 54 OUTFIL statements. And I am not where the REPEAT comes into this requirement. REPEAT is used to repeat the inrec/sample data, but it is NOT applicable to files.

Just so you know you can use these control cards.
Code:

//SYSIN    DD *                               
  OPTION COPY                                 
  INCLUDE COND=(1,4,CH,EQ,C'0FOR',OR,         
                2,6,CH,EQ,C'DDDDDD')           
                                               
  INREC IFTHEN=(WHEN=GROUP,                   
                BEGIN=(2,6,CH,EQ,C'DDDDDD'),   
                 PUSH=(134:ID=1))             
                                               
  OUTFIL INCLUDE=(134,1,CH,EQ,C' ')           

_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Fri Aug 25, 2017 2:29 pm    Post subject: Reply with quote

Hi Kolusu,

Thanks for looking into this,

I need 54 file generated.

for each (11,2,50,4), i may have number of detail lines.

Code:

1REP12                                           KEKARAN M                         PAGE     1
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA
.
.

1REP12                                           KEKARAN M                         PAGE     2
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA 
..
..
..
1REP12                                           KEKARAN M                         PAGE     3
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00BB
..
..
1REP12                                           KEKARAN M                         PAGE     4
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00BB
..
..
1REP12                                           KEKARAN M                         PAGE     5
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00CC     
..
..


All i need to do is
Code:
 
1REP12                                           KEKARAN M                         PAGE     1
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA
.
.

1REP12                                           KEKARAN M                         PAGE     2
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00AA 
..
..
..

Above two group of records in file1

Code:

1REP12                                           KEKARAN M                         PAGE     1
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00BB
..
..
1REP12                                           KEKARAN M                         PAGE     2
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00BB
..
..

Above two group of records in File2

Code:

1REP12                                           KEKARAN M                         PAGE     1
0FOR: AUGUST 18 2017                                   MON
0DDDDDD : 01                            IDDDDD : 00CC     
..
..


Above group of records in File3
.
.
..
.llly 54 Files I need to generate.


EDITS:Removed the control card.
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12358
Topics: 75
Location: San Jose

PostPosted: Fri Aug 25, 2017 5:27 pm    Post subject: Reply with quote

Magesh_J,

So basically you want to split the input file into multiple files based on the indicator at positions (11,2,50,4).

Splitting into multiple files does require individual OUTFIL statements. Also you need to identify the individual groups. If you have gaps in the GROUP push (missing DDDDD group in between) then you need to reset it. You would need 2 passes of data.
_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Sat Aug 26, 2017 1:12 pm    Post subject: Reply with quote

Hi Kolusu,

kolusu wrote:

If you have gaps in the GROUP push (missing DDDDD group in between) then you need to reset it. You would need 2 passes of data


Thanks for the kind the advise, i checked there is no gap.

Here is the code i tried. Please advise, how can i handle page number, the page number has to be reset for every file and have to increment for every sections.



Code:

//SYSIN DD *
  OPTION COPY
  INREC IFTHEN=(WHEN=GROUP,
                BEGIN=(2,6,CH,EQ,C'DDDDDD'),
                PUSH=(134:11,2,50,4,ID=8)),
        IFTHEN=(WHEN=GROUP,
                KEYBEGIN=(134,6),
                PUSH=(148:ID=2))

  OUTFIL INCLUDE=(148,2,CH,EQ,C'01',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F1

  OUTFIL INCLUDE=(148,2,CH,EQ,C'02',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F2

  OUTFIL INCLUDE=(148,2,CH,EQ,C'03',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F3

  OUTFIL INCLUDE=(148,2,CH,EQ,C'04',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F4

  OUTFIL INCLUDE=(148,2,CH,EQ,C'05',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F5

  OUTFIL INCLUDE=(148,2,CH,EQ,C'06',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F6

  OUTFIL INCLUDE=(148,2,CH,EQ,C'07',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F7

  OUTFIL INCLUDE=(148,2,CH,EQ,C'08',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F8

  OUTFIL INCLUDE=(148,2,CH,EQ,C'09',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F9

  OUTFIL INCLUDE=(148,2,CH,EQ,C'10',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F10

  OUTFIL INCLUDE=(148,2,CH,EQ,C'11',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F11

  OUTFIL INCLUDE=(148,2,CH,EQ,C'12',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F12

  OUTFIL INCLUDE=(148,2,CH,EQ,C'13',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F13

  OUTFIL INCLUDE=(148,2,CH,EQ,C'14',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F14

  OUTFIL INCLUDE=(148,2,CH,EQ,C'15',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F15

  OUTFIL INCLUDE=(148,2,CH,EQ,C'16',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F16

  OUTFIL INCLUDE=(148,2,CH,EQ,C'17',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F17

  OUTFIL INCLUDE=(148,2,CH,EQ,C'18',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F18

  OUTFIL INCLUDE=(148,2,CH,EQ,C'19',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F19

  OUTFIL INCLUDE=(148,2,CH,EQ,C'20',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F20

  OUTFIL INCLUDE=(148,2,CH,EQ,C'21',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F21

  OUTFIL INCLUDE=(148,2,CH,EQ,C'22',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F22

  OUTFIL INCLUDE=(148,2,CH,EQ,C'23',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F23

  OUTFIL INCLUDE=(148,2,CH,EQ,C'24',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F24

  OUTFIL INCLUDE=(148,2,CH,EQ,C'25',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F25

  OUTFIL INCLUDE=(148,2,CH,EQ,C'26',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F26

  OUTFIL INCLUDE=(148,2,CH,EQ,C'27',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F27

  OUTFIL INCLUDE=(148,2,CH,EQ,C'28',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F28

  OUTFIL INCLUDE=(148,2,CH,EQ,C'29',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F29

  OUTFIL INCLUDE=(148,2,CH,EQ,C'30',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F30

  OUTFIL INCLUDE=(148,2,CH,EQ,C'31',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F31

  OUTFIL INCLUDE=(148,2,CH,EQ,C'32',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F32

  OUTFIL INCLUDE=(148,2,CH,EQ,C'33',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F33

  OUTFIL INCLUDE=(148,2,CH,EQ,C'34',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F34

  OUTFIL INCLUDE=(148,2,CH,EQ,C'35',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F35

  OUTFIL INCLUDE=(148,2,CH,EQ,C'36',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F36

  OUTFIL INCLUDE=(148,2,CH,EQ,C'37',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F37

  OUTFIL INCLUDE=(148,2,CH,EQ,C'38',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F38

  OUTFIL INCLUDE=(148,2,CH,EQ,C'39',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F39

  OUTFIL INCLUDE=(148,2,CH,EQ,C'40',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F40

  OUTFIL INCLUDE=(148,2,CH,EQ,C'41',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F41

  OUTFIL INCLUDE=(148,2,CH,EQ,C'42',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F42

  OUTFIL INCLUDE=(148,2,CH,EQ,C'43',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F43

  OUTFIL INCLUDE=(148,2,CH,EQ,C'44',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F44

  OUTFIL INCLUDE=(148,2,CH,EQ,C'45',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F45

  OUTFIL INCLUDE=(148,2,CH,EQ,C'46',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F46

  OUTFIL INCLUDE=(148,2,CH,EQ,C'47',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F47

  OUTFIL INCLUDE=(148,2,CH,EQ,C'48',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F48

  OUTFIL INCLUDE=(148,2,CH,EQ,C'49',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F49

  OUTFIL INCLUDE=(148,2,CH,EQ,C'50',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F50

  OUTFIL INCLUDE=(148,2,CH,EQ,C'51',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F51

  OUTFIL INCLUDE=(148,2,CH,EQ,C'52',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F52

  OUTFIL INCLUDE=(148,2,CH,EQ,C'53',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F53

  OUTFIL INCLUDE=(148,2,CH,EQ,C'54',AND,
                  1,1,CH,NE,C'1',AND,
                  1,4,CH,NE,C'0FOR'),
         SECTIONS=(140,8,
                   HEADER3=('1REP12',43X,
                            'KEKARAN                            ',39X,
                            'PAGE',PAGE=(EDIT=(IIIIIT)),/,
                            '0FOR: AUGUST 18 2017',33X,
                            'MON                     ',29X,
                            '                           ')),
         BUILD=(1,133),REMOVECC,FNAMES=F54



Thanks
Magesh
Back to top
View user's profile Send private message
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Mon Aug 28, 2017 10:57 am    Post subject: Reply with quote

I forgot to provide "SKIP=P".

Now it is working good. Page number is incrementing correctly.

Thanks
Magesh
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12358
Topics: 75
Location: San Jose

PostPosted: Mon Aug 28, 2017 4:52 pm    Post subject: Reply with quote

Magesh_J,

If you do NOT have gaps in between your data, then you can simplify your job control cards and eliminate multiple INCLUDE conditions on OUTFIL. The only thing you need to change is the ID number for each file.

Try these control cards
Code:

//SYSIN    DD *                                           
  OPTION COPY                                             
  OMIT COND=(1,6,CH,EQ,C'1REP12',OR,                     
             1,4,CH,EQ,C'PAGE')                           
                                                         
  INREC IFTHEN=(WHEN=GROUP,                               
                BEGIN=(2,6,CH,EQ,C'DDDDDD'),             
                END=(1,4,CH,EQ,C'0FOR'),                 
                PUSH=(134:11,2,50,4)),                   
                                                         
        IFTHEN=(WHEN=GROUP,KEYBEGIN=(134,6),             
                PUSH=(141:ID=2)),                         
        IFTHEN=(WHEN=INIT,                               
               OVERLAY=(141:141,2,ZD,SUB,+1,EDIT=(TT))), 
        IFTHEN=(WHEN=(1,4,CH,EQ,C'0FOR'),                 
               OVERLAY=(141:2X))                         
                                                         
  OUTFIL FNAMES=F1,REMOVECC,BUILD=(1,133),               
  INCLUDE=(141,2,ZD,EQ,01),                               
  SECTIONS=(134,6,                                       
  HEADER3=(001:'1REP12',                                 
           050:'KEKARAN',                                 
           124:'PAGE',PAGE=(EDIT=(IIIIIT)),/,             
           001:'0FOR: AUGUST 18 2017',                   
           054:'MON'))                                   
                                                         
                                                         
  OUTFIL FNAMES=F2,REMOVECC,BUILD=(1,133),               
  INCLUDE=(141,2,ZD,EQ,02),                               
  SECTIONS=(134,6,                                       
  HEADER3=(001:'1REP12',                                 
           050:'KEKARAN',                                 
           124:'PAGE',PAGE=(EDIT=(IIIIIT)),/,             
           001:'0FOR: AUGUST 18 2017',                   
           054:'MON'))                                   
...

_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Tue Aug 29, 2017 11:18 am    Post subject: Reply with quote

Hi Kolusu,

Thanks, yes we can skip the header @ first point, nice idea.

Code:

        IFTHEN=(WHEN=INIT,                               
               OVERLAY=(141:141,2,ZD,SUB,+1,EDIT=(TT))),


I couldnt understand why are we subtracting this.

Tried as per your adivse, except above code, it is working good.

ID=8 is not required, though it reaches 99 and become 00 it is considered as a key change, ID=2 still works correctly.

Code:

  OPTION COPY
  OMIT COND=(1,1,CH,EQ,C'1',OR,
             1,4,CH,EQ,C'0FOR')

  INREC IFTHEN=(WHEN=GROUP,
                BEGIN=(2,6,CH,EQ,C'DDDDDD'),
                PUSH=(134:11,2,50,4,ID=2)),
        IFTHEN=(WHEN=GROUP,
                KEYBEGIN=(134,6),
                PUSH=(142:ID=2))

  OUTFIL FNAMES=F1,REMOVECC,BUILD=(1,133),               
  INCLUDE=(142,2,ZD,EQ,01),                               
  SECTIONS=(140,2,SKIP=P,                                       
  HEADER3=(001:'1REP12',                                 
           050:'KEKARAN',                                 
           124:'PAGE',PAGE=(EDIT=(IIIIIT)),/,             
           001:'0FOR: AUGUST 18 2017',                   
           054:'MON'))

  OUTFIL FNAMES=F2,REMOVECC,BUILD=(1,133),               
  INCLUDE=(142,2,ZD,EQ,02),                               
  SECTIONS=(140,2,SKIP=P,                                       
  HEADER3=(001:'1REP12',                                 
           050:'KEKARAN',                                 
           124:'PAGE',PAGE=(EDIT=(IIIIIT)),/,             
           001:'0FOR: AUGUST 18 2017',                   
           054:'MON'))



thanks
Magesh
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12358
Topics: 75
Location: San Jose

PostPosted: Tue Aug 29, 2017 1:16 pm    Post subject: Reply with quote

Magesh_J wrote:
Hi Kolusu,

Thanks, yes we can skip the header @ first point, nice idea.

Code:

        IFTHEN=(WHEN=INIT,                               
               OVERLAY=(141:141,2,ZD,SUB,+1,EDIT=(TT))),


I couldnt understand why are we subtracting this.


Magesh_j,

Remember the contents in position 134,6 will have spaces until the first C'DDDDDD' record is found.

You used a KEYBEGIN on the contents 134,6 and it would start the ID at 1 for the space records too. So your first C'DDDDDD' key will have a value of 2. So subtracting 1 would make the ID begin at 1.

If you did not subtract 1 you could still split but then it would be inconsistent as you need to check for 1 extra.

OUTFIL FNAMES=F1,INCLUDE=(142,2,ZD,EQ,02)
...

OUTFIL FNAMES=F52,INCLUDE=(142,2,ZD,EQ,53)

Remember that if you have gaps also you would have incorrect data.
_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12358
Topics: 75
Location: San Jose

PostPosted: Tue Aug 29, 2017 1:21 pm    Post subject: Reply with quote

Magesh_J wrote:
PUSH=(134:11,2,50,4,ID=2)),


Why do you need an ID on the first PUSH? You don't use it anywhere.

I used END=(1,4,CH,EQ,C'0FOR'), to make sure we are stopping the key for each group. If you have any other records after the group you would pick them too.
_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Tue Aug 29, 2017 2:00 pm    Post subject: Reply with quote

kolusu wrote:
If you did not subtract 1 you could still split but then it would be inconsistent as you need to check for 1 extra.

Thanks, I understood now. I actually ignored the first file.

The problem is, this is a huge report, the software we use for reporting, has a 4gb limitation, so i am splitting the report.

Kolusu wrote:
Code:
PUSH=(134:11,2,50,4,ID=2)),
Why do you need an ID on the first PUSH? You don't use it anywhere.
    SECTIONS=(140,2,SKIP=P,

Kolusu wrote:
Remember that if you have gaps also you would have incorrect data.


I verified there is no gaps in the report between header and DDDDDD

Thanks
Magesh
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12358
Topics: 75
Location: San Jose

PostPosted: Tue Aug 29, 2017 2:21 pm    Post subject: Reply with quote

Magesh_J wrote:

I verified there is no gaps in the report between header and DDDDDD

Thanks
Magesh


Nope I meant gaps in this way. Look at the second group. You shouldn't include it.

Code:

0DDDDDD : 01                            IDDDDD : 00AA   
   DTL LINE 1                                           
   DTL LINE 2                                           
0XXXXXXX: 01    <<<< NO DDDDD RECORDS   IDDDDD : 00AA   
   DTL LINE 1                                           
   DTL LINE 2                                           
   DTL LINE 3                                           
   DTL LINE 4                                           
0DDDDDD : 01                            IDDDDD : 00AA   
   DTL LINE 1                                           
   DTL LINE 2                                           
   DTL LINE 3                                           

_________________
Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort

www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Magesh_J
Intermediate


Joined: 21 Jun 2014
Posts: 259
Topics: 54

PostPosted: Tue Aug 29, 2017 2:51 pm    Post subject: Reply with quote

Hi Kolusu,

I searched the entire file, luckily there is no gap like that.

Thanks for the kind advise.

Regards
Magesh
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group