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 

DFSORT - Control cards Explanation
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 6:48 am    Post subject: DFSORT - Control cards Explanation Reply with quote

Hi In Syncsort can any one explain what are the below control cards
Code:

//CTL1CNTL  DD *
  OUTREC FIELDS=(8,2,SEQNUM,8,ZD)
  OUTFIL FNAMES=BH,INCLUDE=(1,2,CH,EQ,C'BH'),
  OUTREC=(C' OUTFIL FNAMES=BATCH',SEQNUM,3,ZD,
          C',STARTREC=',3,8,
          C',ENDREC=00000000',80:X,SEQNUM,8,ZD)
  OUTFIL FNAMES=BT,INCLUDE=(1,2,CH,EQ,C'BT'),
  OUTREC=(49X,3,8,80:X,SEQNUM,8,ZD)
//CTL2CNTL  DD *
  OPTION ZDPRINT
  SORT FIELDS=(81,8,CH,A)
  SUM FIELDS=(50,8,ZD)
  OUTFIL FNAMES=CTL3CNTL,ENDREC=8,OUTREC=(1,80)
//CTL3CNTL  DD DSN=&C1,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)

Since, I need to seperate a Single file in to 10 files. The single file will be consisting of 10 Header and n number of details records and its respective trailer record.
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


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

PostPosted: Wed Feb 08, 2006 8:42 am    Post subject: Reply with quote

ha.rajamohamed,


Code:

//CTL1CNTL DD *                                                     
 OUTREC FIELDS=(8,2,               $ COPY 2 BYTES FROM POS 8       
                SEQNUM,8,ZD)       $ SEQNUM OF 8 BYTES             
 OUTFIL FNAMES=BH,                 $ OUTPUT FILENAME BH             
 INCLUDE=(1,2,CH,EQ,C'BH'),        $ WRITE OUT ONLY BH RECORDS     
 OUTREC=(C' OUTFIL FNAMES=BATC H', $ CHARACTER STRING WITHIN QUOTES
         SEQNUM,3,ZD,              $ SEQNUM OF 3 BYTES             
         C',STARTREC=',            $ CHARACTER STRING WITHIN QUOTES
         3,8,                      $ COPY 8 BYTES FROM POS 3       
         C',ENDREC=00000000',      $ CHARACTER STRING WITHIN QUOTES
         80:X,                     $ PAD SPACES UPTO 80 BYTES       
         SEQNUM,8,ZD)              $ SEQNUM OF 8 BYTES             
                                                                   
 OUTFIL FNAMES=BT,                 $ OUTPUT FILENAME BT             
 INCLUDE=(1,2,CH,EQ,C'BT'),        $ WRITE OUT ONLY BT RECORDS     
 OUTREC=(49X,                      $ 49 SPACES                     
         3,8,                      $ COPY 8 BYTES FROM POS 3       
         80:X,                     $ PAD SPACES UPTO 80 BYTES       
         SEQNUM,8,ZD)              $ SEQNUM OF 8 BYTES             
//CTL2CNTL DD *                                                     
 OPTION ZDPRINT                    $ PRINTABLE RESULTS OPTION       
 SORT FIELDS=(81,8,CH,A)           $ SORT FOR 8 BYTES AT POS 81     
 SUM FIELDS=(50,8,ZD)              $ SUM ON 8 BYTES AT POS 50       
 OUTFIL FNAMES=CTL3CNTL,           $ OUTPUT FILENAME CTL3CNTL       
 ENDREC=8,                         $ WRITE ONLY 8 RECORDS           
 OUTREC=(1,80)                     $ COPY ONLY FIRST 80 BYTES       
//CTL3CNTL DD DSN=&C1,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)           


Quote:

Since, I need to seperate a Single file in to 10 files. The single file will be consisting of 10 Header and n number of details records and its respective trailer record.


Change ENDREC=10 instead of ENDREC=8 in CTL2CNTL

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 9:34 am    Post subject: Reply with quote

Kolusu, very thanks for the explanation,
I need to seperate it in to 10 file, with out editing on the input file.
My header record is identified by HEX"00000000" (Low values of 4 char in the first col)
and Trailer record is identified by HEX"FFFFFFFF" (Highvalues values of 4 char in the first col)

For the above, I am not sure what all need to be changed.
Can you please let me know what I need to change in the above control card.
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


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

PostPosted: Wed Feb 08, 2006 10:33 am    Post subject: Reply with quote

ha.rajamohamed,

The following DFSORT/ICETOOL JCL will give you desired results. if your shop has syncsort then change the pgm name to synctool. I assumed your header and trlr values start in pos 1.

Code:

//STEP0100 EXEC PGM=ICETOOL                               
//TOOLMSG  DD SYSOUT=*                                   
//DFSMSG   DD SYSOUT=*                                   
//IN       DD DSN=YOUR INPUT DSN,
//            DISP=SHR                                   
//HEAD     DD DSN=&T1,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE)
//TRLR     DD DSN=&T2,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE)
//CON      DD DSN=&T1,DISP=OLD,VOL=REF=*.HEAD             
//         DD DSN=&T2,DISP=OLD,VOL=REF=*.TRLR             
//OUT001   DD SYSOUT=*                                   
//OUT002   DD SYSOUT=*                                   
//OUT003   DD SYSOUT=*                                   
//OUT004   DD SYSOUT=*                                   
//OUT005   DD SYSOUT=*                                   
//OUT006   DD SYSOUT=*                                   
//OUT007   DD SYSOUT=*                                   
//OUT008   DD SYSOUT=*                                   
//OUT009   DD SYSOUT=*                                   
//OUT010   DD SYSOUT=*                                   
//TOOLIN   DD *   
  COPY FROM(IN)  USING(CTL1)                                       
  SORT FROM(CON) USING(CTL2)                                       
  COPY FROM(IN)  USING(CTL3)                                       
//CTL1CNTL DD *                                                   
 SORT FIELDS=COPY                                                 
 OUTREC FIELDS=(1,4,SEQNUM,8,ZD)                                   
 OUTFIL FNAMES=HEAD,               $ OUTPUT FILENAME HEAD         
 INCLUDE=(1,4,CH,EQ,X'00'),        $ WRITE OUT ONLY HEAD RECORDS   
 OUTREC=(C' OUTFIL FNAMES=OUT',    $ CHARACTER STRING WITHIN QUOTES
         SEQNUM,3,ZD,              $ SEQNUM OF 3 BYTES             
         C',STARTREC=',            $ CHARACTER STRING WITHIN QUOTES
         5,8,                      $ COPY 8 BYTES FROM POS 5       
         C',ENDREC=00000000',      $ CHARACTER STRING WITHIN QUOTES
         80:X,                     $ PAD SPACES UPTO 80 BYTES     
         SEQNUM,8,ZD)              $ SEQNUM OF 8 BYTES             
                                                                   
 OUTFIL FNAMES=TRLR,               $ OUTPUT FILENAME TRLR         
 INCLUDE=(1,4,CH,EQ,X'FF'),        $ WRITE OUT ONLY TRLR RECORDS   
 OUTREC=(47X,                      $ 47 SPACES                     
         5,8,                      $ COPY 8 BYTES FROM POS 3       
         80:X,                     $ PAD SPACES UPTO 80 BYTES     
         SEQNUM,8,ZD)              $ SEQNUM OF 8 BYTES             
//CTL2CNTL DD *                                                   
 OPTION ZDPRINT                    $ PRINTABLE RESULTS OPTION     
 SORT FIELDS=(81,8,CH,A)           $ SORT FOR 8 BYTES AT POS 81   
 SUM FIELDS=(48,8,ZD)              $ SUM ON 8 BYTES AT POS 48     
 OUTFIL FNAMES=CTL3CNTL,           $ OUTPUT FILENAME CTL3CNTL     
 ENDREC=10,                        $ WRITE ONLY 3 RECORDS         
 OUTREC=(1,80)                     $ COPY ONLY FIRST 80 BYTES     
//CTL3CNTL DD DSN=&C1,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 11:07 am    Post subject: Reply with quote

Thanks Kolusu,
But the is some problem

ICE000I 0 - CONTROL STATEMENTS FOR 5740-SM1, DFSORT REL 14.0 - 11:02 ON WED FEB
OUTFIL FNAMES=OUT001,STARTREC=00000001,ENDREC=00000000
$
ICE007A F SYNTAX ERROR
OUTFIL FNAMES=OUT002,STARTREC=00000006,ENDREC=00000000
$
ICE007A F SYNTAX ERROR
ICE146I 0 END OF STATEMENTS FROM CTL3CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION LIST,MSGPRT=ALL,MSGDDN=DFSMSG,RESINV=0,SORTDD=CTL3,SORTIN=IN,D
ALLOC
SORT FIELDS=COPY
ICE052I 3 END OF DFSORT
Back to top
View user's profile Send private message
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 11:09 am    Post subject: Reply with quote

To add on My LRECL is 500, Is it any how relates to this
Back to top
View user's profile Send private message
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 11:13 am    Post subject: Reply with quote

Again to add on I have ran for only two file initially by giving ENDREC=2
Back to top
View user's profile Send private message
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 1:03 pm    Post subject: Reply with quote

Kolusu,
The below is the control card I am using from your code
Code:

//CTL1CNTL  DD *                                           
  SORT FIELDS=COPY                                         
  OUTREC FIELDS=(1,4,SEQNUM,8,ZD)                         
  OUTFIL FNAMES=HEAD,INCLUDE=(1,4,CH,EQ,X'00'),           
  OUTREC=(C' OUTFIL FNAMES=OUT',SEQNUM,3,ZD,               
          C',STARTREC=',5,8,                               
          C',ENDREC=00000000',80:X,SEQNUM,8,ZD)           
  OUTFIL FNAMES=TRLR,INCLUDE=(1,4,CH,EQ,X'FF'),           
  OUTREC=(47X,5,8,80:X,SEQNUM,8,ZD)                       
//CTL2CNTL DD *                                           
  OPTION ZDPRINT,EQUALS                                   
  SORT FIELDS=(81,8,CH,A)                                 
  SUM FIELDS=(48,8,ZD)                                     
  OUTFIL FNAMES=CTL3CNTL,ENDREC=2,OUTREC=(1,80)           
//CTL3CNTL  DD DSN=&&C1,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)
/*
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


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

PostPosted: Wed Feb 08, 2006 1:04 pm    Post subject: Reply with quote

ha.rajamohamed,

Please post the entire messages from DFSMSG dd name.

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Wed Feb 08, 2006 1:19 pm    Post subject: Reply with quote

Code:

ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001                               
ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                                 
ICE000I 0 - CONTROL STATEMENTS FOR 5740-SM1, DFSORT REL 14.0 - 12:58 ON WED FEB
            SORT FIELDS=COPY                                                   
            OUTREC FIELDS=(1,4,SEQNUM,8,ZD)                                     
            OUTFIL FNAMES=HEAD,INCLUDE=(1,4,CH,EQ,X'00'),                       
            OUTREC=(C' OUTFIL FNAMES=OUT',SEQNUM,3,ZD,                         
                    C',STARTREC=',5,8,                                         
                    C',ENDREC=00000000',80:X,SEQNUM,8,ZD)                       
            OUTFIL FNAMES=TRLR,INCLUDE=(1,4,CH,EQ,X'FF'),                       
            OUTREC=(47X,5,8,80:X,SEQNUM,8,ZD)                                   
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW   
          DEBUG NOABEND,ESTAE                                                   
          OPTION LIST,MSGPRT=ALL,MSGDDN=DFSMSG,RESINV=0,SORTDD=CTL1,SORTIN=IN,DY
                         ALLOC                                                 
          SORT FIELDS=COPY                                                     
ICE201I 0 RECORD TYPE IS F - DATA STARTS IN POSITION 1                         
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED   
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED   
ICE088I 0 XXXXXXXS.STEP0100.        , INPUT LRECL = 500, BLKSIZE = 27500, TYPE =
ICE093I 0 MAIN STORAGE = (MAX,4194304,4194304)                                 
ICE156I 0 MAIN STORAGE ABOVE 16MB = (4136944,4136944)                           
ICE127I 0 OPTIONS: OVFLO=RC4 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,
ICE128I 0 OPTIONS: SIZE=4194304,MAXLIM=2097512,MINLIM=512000,EQUALS=N,LIST=Y,ERE
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=SHORT,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=
ICE131I 0 OPTIONS: TMAXLIM=4194304,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=
ICE132I 0 OPTIONS: VLSHRT=Y,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE    ,EXITC
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=MAX ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N
ICE084I 0 EXCP ACCESS METHOD USED FOR IN                                       
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 23552, ABOVE 16M = 4200448     
ICE210I 0 HEAD     : EXCP USED, LRECL = 88, BLKSIZE = 27984, TYPE = FB   (SDB) 
ICE210I 0 TRLR     : EXCP USED, LRECL = 88, BLKSIZE = 27984, TYPE = FB   (SDB) 
ICE055I 0 INSERT 0, DELETE 0                                                   
ICE054I 0 RECORDS - IN: 10, OUT: 10                                             
ICE227I 0 HEAD     : DELETED = 8, REPORT = 0, DATA = 2                         
ICE228I 0 HEAD     : TOTAL IN = 10, TOTAL OUT = 2                               
ICE228I 0 HEAD     : TOTAL IN = 10, TOTAL OUT = 2                               
ICE227I 0 TRLR     : DELETED = 10, REPORT = 0, DATA = 0                         
ICE228I 0 TRLR     : TOTAL IN = 10, TOTAL OUT = 0                               
ICE751I 0 C5C6C7C8E9C9E5E7EFCBF0E8                                             
ICE052I 0 END OF DFSORT                                                         
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0002                               
ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED                                 
ICE000I 0 - CONTROL STATEMENTS FOR 5740-SM1, DFSORT REL 14.0 - 12:58 ON WED FEB
            OPTION ZDPRINT,EQUALS                                               
            SORT FIELDS=(81,8,CH,A)                                             
            SUM FIELDS=(50,8,ZD)                                               
            OUTFIL FNAMES=CTL3CNTL,ENDREC=2,OUTREC=(1,80)                       
ICE146I 0 END OF STATEMENTS FROM CTL2CNTL - PARAMETER LIST STATEMENTS FOLLOW   
          DEBUG NOABEND,ESTAE                                                   
          OPTION LIST,MSGPRT=ALL,MSGDDN=DFSMSG,RESINV=0,SORTDD=CTL2,SORTIN=CON,D
                         NALLOC                                                 
ICE201I 0 RECORD TYPE IS F - DATA STARTS IN POSITION 1                         
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED   
ICE088I 1 XXXXXXXS.STEP0100.        , INPUT LRECL = 88, BLKSIZE = 27984, TYPE =
ICE088I 1 XXXXXXXS.STEP0100.        , INPUT LRECL = 88, BLKSIZE = 27984, TYPE =
ICE093I 0 MAIN STORAGE = (MAX,4194304,4194304)                                 
ICE156I 0 MAIN STORAGE ABOVE 16MB = (4136944,4136944)                           
ICE127I 0 OPTIONS: OVFLO=RC4 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,
ICE128I 0 OPTIONS: SIZE=4194304,MAXLIM=2097512,MINLIM=512000,EQUALS=Y,LIST=Y,ERE
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=SHORT,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=
ICE131I 0 OPTIONS: TMAXLIM=4194304,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE    ,EXITC
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=MAX ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N
ICE084I 0 EXCP ACCESS METHOD USED FOR CON                                       
ICE750I 0 DC 27984 TC 0 CS DSVUU KSZ 12 VSZ 12                                 
ICE752I 0 FSZ=318 RC  IGN=0 E  AVG=92 0  WSP=38 C  DYN=0 0                     
ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 22528, ABOVE 16M = 2120704     
ICE210I 0 CTL3CNTL : EXCP USED, LRECL = 80, BLKSIZE = 27920, TYPE = FB   (SDB) 
ICE080I 0 IN MAIN STORAGE SORT                                                 
ICE055I 0 INSERT 0, DELETE 0                                                   
ICE054I 0 RECORDS - IN: 2, OUT: 2                                               
ICE227I 0 CTL3CNTL : DELETED = 0, REPORT = 0, DATA = 2                         
ICE227I 0 CTL3CNTL : DELETED = 0, REPORT = 0, DATA = 2                         
ICE228I 0 CTL3CNTL : TOTAL IN = 2, TOTAL OUT = 2                               
ICE134I 0 NUMBER OF BYTES SORTED: 176                                         
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0             
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES                                   
ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES                                   
ICE751I 0 C5C6C7C8E9C9E5E6E7DED5D9CBE8                                         
ICE052I 0 END OF DFSORT                                                       
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0003                             
ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                               
ICE000I 0 - CONTROL STATEMENTS FOR 5740-SM1, DFSORT REL 14.0 - 12:58 ON WED FEB
           OUTFIL FNAMES=OUT001,STARTREC=00000001,ENDREC=00000000             
                                                         $                     
ICE007A F SYNTAX ERROR                                                         
           OUTFIL FNAMES=OUT002,STARTREC=00000006,ENDREC=00000000             
                                                         $                     
ICE007A F SYNTAX ERROR                                                         
ICE146I 0 END OF STATEMENTS FROM CTL3CNTL - PARAMETER LIST STATEMENTS FOLLOW   
          DEBUG NOABEND,ESTAE                                                 
          DEBUG NOABEND,ESTAE                                                   
          OPTION LIST,MSGPRT=ALL,MSGDDN=DFSMSG,RESINV=0,SORTDD=CTL3,SORTIN=IN,DY
                         ALLOC                                                 
          SORT FIELDS=COPY                                                     
ICE052I 3 END OF DFSORT
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


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

PostPosted: Wed Feb 08, 2006 2:24 pm    Post subject: Reply with quote

ha.rajamohamed,

your TRLR file is empty. Looks like the contents are not x'ff' for the trailer record. So Check your input file and see what the trailer looks like in the first 4 bytes.

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Thu Feb 09, 2006 1:22 am    Post subject: Reply with quote

Kolusu,
The trailer contains only the X'FF' only in its first 10 charactes,
for testing I have changed the header values from high value (X'FF') to zero
and changed the TRLR control card to
OUTFIL FNAMES=TRLR,INCLUDE=(1,4,CH,EQ,X'FF'),
Its working fine. I am puzzled now.

Also there is another file which is having a concern of 12 bytes instead of 4 bytes in header and trailer, for that file i tried the below control card, it thrown a *S0C7
abort,

//CTL1CNTL DD *
SORT FIELDS=COPY
OUTREC FIELDS=(1,12,SEQNUM,8,ZD)
OUTFIL FNAMES=HEAD,INCLUDE=(1,12,CH,EQ,X'00'),
OUTREC=(C' OUTFIL FNAMES=OUT',SEQNUM,3,ZD,
C',STARTREC=',13,8,
C',ENDREC=00000000',80:X,SEQNUM,8,ZD)
OUTFIL FNAMES=TRLR,INCLUDE=(1,12,CH,EQ,C'000000000000'),
OUTREC=(39X,13,8,80:X,SEQNUM,8,ZD)
//CTL2CNTL DD *
OPTION ZDPRINT,EQUALS
SORT FIELDS=(81,8,CH,A)
SUM FIELDS=(40,8,ZD)
OUTFIL FNAMES=CTL3CNTL,ENDREC=2,OUTREC=(1,80)
//CTL3CNTL DD DSN=&&C1,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)
/*
Back to top
View user's profile Send private message
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Thu Feb 09, 2006 1:26 am    Post subject: Reply with quote

Quote:

I have changed the header values from high value (X'FF') to zero


Sorry I have changed the trailer values, I have mistyped as header..
Back to top
View user's profile Send private message
ha.rajamohamed
Beginner


Joined: 29 Jan 2006
Posts: 71
Topics: 22

PostPosted: Thu Feb 09, 2006 2:10 am    Post subject: Reply with quote

Kolusu, hats of you,
Your login is working fine for the first file; for TRLR OUTFIL, I have changed the following
OUTFIL FNAMES=TRLR,INCLUDE=(1,4,CH,EQ,X'FFFFFFFF'),

Now my concern is with the second file

In the following can you please let me

//CTL1CNTL DD *
SORT FIELDS=COPY
OUTREC FIELDS=(1,12,SEQNUM,8,ZD) --> What is that 1,12 means and why we are giving it
OUTFIL FNAMES=HEAD,INCLUDE=(1,12,CH,EQ,X'00'), --> I think 1,12 are the starting position and length.
OUTREC=(C' OUTFIL FNAMES=OUT',SEQNUM,3,ZD, --> this is ok for output file name
C',STARTREC=',13,8, --> Again here what is this 13,8 stands for
C',ENDREC=00000000',80:X,SEQNUM,8,ZD) --> where this ENDREC value gets populated
OUTFIL FNAMES=TRLR,INCLUDE=(1,12,CH,EQ,C'000000000000'), --> this is fine
OUTREC=(39X,13,8,80:X,SEQNUM,8,ZD) --> why we are padding spaces and where we are padding it, than what are all the counts stands for the 39 spaces, 13,8. ..
//CTL2CNTL DD *
OPTION ZDPRINT,EQUALS
SORT FIELDS=(81,8,CH,A) --> Is this having any impacts to the above if so what it is
SUM FIELDS=(40,8,ZD) --> Is this having any impacts to the above if so what it is
OUTFIL FNAMES=CTL3CNTL,ENDREC=2,OUTREC=(1,80)
//CTL3CNTL DD DSN=&&C1,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)
/*
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


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

PostPosted: Thu Feb 09, 2006 8:16 am    Post subject: Reply with quote

ha.rajamohamed,

Run the JCL posted by me by changing the temp files to permanent datasets and see why I am padding the spaces and how the summation is done.

http://mvsforums.com/helpboards/viewtopic.php?p=28083#28083


Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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