MVSFORUMS.com A Community of and for MVS Professionals
View previous topic :: View next topic
Author
Message
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Fri Aug 25, 2017 11:44 am Post subject: Splitting a File into Multiple OUTFIL for a key
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
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12357 Topics: 75 Location: San Jose
Posted: Fri Aug 25, 2017 1:28 pm Post subject:
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
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Fri Aug 25, 2017 2:29 pm Post subject:
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
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12357 Topics: 75 Location: San Jose
Posted: Fri Aug 25, 2017 5:27 pm Post subject:
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
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Sat Aug 26, 2017 1:12 pm Post subject:
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
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Mon Aug 28, 2017 10:57 am Post subject:
I forgot to provide "SKIP=P".
Now it is working good. Page number is incrementing correctly.
Thanks
Magesh
Back to top
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12357 Topics: 75 Location: San Jose
Posted: Mon Aug 28, 2017 4:52 pm Post subject:
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
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Tue Aug 29, 2017 11:18 am Post subject:
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
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12357 Topics: 75 Location: San Jose
Posted: Tue Aug 29, 2017 1:16 pm Post subject:
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
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12357 Topics: 75 Location: San Jose
Posted: Tue Aug 29, 2017 1:21 pm Post subject:
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
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Tue Aug 29, 2017 2:00 pm Post subject:
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.
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
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12357 Topics: 75 Location: San Jose
Posted: Tue Aug 29, 2017 2:21 pm Post subject:
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
Magesh_J Intermediate Joined: 21 Jun 2014 Posts: 259 Topics: 54
Posted: Tue Aug 29, 2017 2:51 pm Post subject:
Hi Kolusu,
I searched the entire file, luckily there is no gap like that.
Thanks for the kind advise.
Regards
Magesh
Back to top
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