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

How to insert a delimiter after every 5 bytes using sort


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

New User


Joined: 30 Aug 2006
Posts: 8

PostPosted: Fri Mar 16, 2012 11:57 am
Reply with quote

Hi,

Would you please help to insert a delimiter '+' in between every 5 bytes in a file. The record length is 6000. It should insert '+' after every 5 bytes till it reaches of end of record or a blank space. For example,

input
Code:
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234


output
Code:
ABCDE+FGHIJ+KLMNO+PQRST+UVWXY+Z1234
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Mar 16, 2012 1:00 pm
Reply with quote

Well, what is wrong with typing-up a BUILD with 1,200 different elements? :-)

We know the LRECL of your file, what is the RECFM? How many records will be processed?
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Fri Mar 16, 2012 1:03 pm
Reply with quote

If file size is small, REXX can do this 'with less amount of code' not necessarily resource-effecient than SORT.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Mar 16, 2012 1:09 pm
Reply with quote

as usual there is something untold here ...

if the input record length is 6000 and all the columns are filled,
then the output record length will be 7199

unless each 5 bytes chunk must be + terminated and in this case,
the output record length will be 7200

meditate and consider describing better the whole requirement
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 1:54 pm
Reply with quote

if the delimiters were to be inserted at irregular intervals,
this requirement could make sense.

but, since every 5 bytes is to be delimited,
one asks: Why is this necessary?

A REXX Script could generate the BUILD control cards very easily.
Back to top
View user's profile Send private message
sqlcode1

Active Member


Joined: 08 Apr 2010
Posts: 577
Location: USA

PostPosted: Fri Mar 16, 2012 8:04 pm
Reply with quote

spamidighantam,
May be a crude way but see if below works... (UNTESTED)....
Code:
//STEP0001 EXEC PGM=ICETOOL                     
//TOOLMSG  DD  SYSOUT=*                         
//DFSMSG   DD  SYSOUT=*                         
//IN       DD  INPUT FB/6000                   
//OUT      DD  OUTPUT FB/6                     
//TOOLIN   DD  *                               
 RESIZE FROM(IN) TO(OUT) TOLEN(5) USING(CTL1)   
/*                                             
//CTL1CNTL DD *                                 
   OUTFIL FNAMES=OUT,BUILD=(1,5,C'+')           
/*                                             
//SYSOUT   DD  SYSOUT=*                         
//*                                             
//STEP0002 EXEC PGM=ICETOOL                     
//TOOLMSG  DD  SYSOUT=*                         
//DFSMSG   DD  SYSOUT=*                         
//IN       DD  INPUT FB/6 FROM STEP0001 ABOVE   
//FINOUT   DD  OUTPUT FB/6                     
//TOOLIN   DD  *                               
 RESIZE FROM(IN) TO(OUT) TOLEN(6120) USING(CTL1)
/*                                             
//CTL1CNTL DD *                                 
 OUTFIL FNAMES=FINOUT,BUILD=(1,6199)           
/*                                             
//SYSOUT   DD  SYSOUT=*                         
//*                                             

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

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 8:12 pm
Reply with quote

sqlcode1,
a nice way to start the weekend......
Back to top
View user's profile Send private message
spamidighantam

New User


Joined: 30 Aug 2006
Posts: 8

PostPosted: Fri Mar 16, 2012 8:17 pm
Reply with quote

Thank you all for your responses.

Hi enrico-sorichetti,

The input file record length is 6000. Of course, when we insert '+' after every 5 bytes the length will be increased as you said. Can this be achieved through SORT ? Please advice.

Hi dbzTHEdinosauer,

Yes, you got my requirement. If REXX can create BUILD script. Could you please let me know the necessary BUILD script. So that I can write REXX program to repeat the BUILD script. Thank you.


Thanks,
Sreedhar
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 8:22 pm
Reply with quote

for f*** sake,

look at sqlcode1's solution..................................
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Fri Mar 16, 2012 8:41 pm
Reply with quote

dbzTHEdinosauer wrote:
sqlcode1,
a nice way to start the weekend......


... and it's Paddy's Day tomorrow !!!

Garry
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Mar 16, 2012 8:45 pm
Reply with quote

I asked how many records. I asked about your RECFM.

If you have a lot of records, you may not want to chop them and put them together.

If we go with RECFM F, you have explain the bit about the blanks arriving. If one record has 50 of your groups and another 1200 and another one or three, what do you want to do? Get rid of the blanks? Or, if RECFM V, are there still blanks, etc.

If you are complete in your description, input, sample output, rules from how to get there, anything you can think of that we can otherwise only guess, then you'll get answers to match.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 8:52 pm
Reply with quote

though i would not worry too much about number of records,
since the temp file is only 5 char,
Bill you are correct about the space stuff.

Sqlcode1,

would a
SQZ spaces to nothing and then a REP '++' ' ' after the BUILD work?

anything would be better than 1200 BUILD statements
Back to top
View user's profile Send private message
spamidighantam

New User


Joined: 30 Aug 2006
Posts: 8

PostPosted: Fri Mar 16, 2012 9:23 pm
Reply with quote

Record length is 6000. Its is variable format.. I have attached the screen shot of actual input file. I need to insert '+' after every 5 bytes till I reach a space or end of record.
Back to top
View user's profile Send private message
spamidighantam

New User


Joined: 30 Aug 2006
Posts: 8

PostPosted: Fri Mar 16, 2012 9:28 pm
Reply with quote

sorry here is the input file
ugly image deleted icon_cool.gif
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 9:40 pm
Reply with quote

is it a fixed length or variable length record?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Mar 16, 2012 9:48 pm
Reply with quote

do not post screen shots they just clutter the forum, nothing that a text cut and paste would not do.

apart that the jpeg posted is unreadable because of the ugly colors.

image deleted
Back to top
View user's profile Send private message
spamidighantam

New User


Joined: 30 Aug 2006
Posts: 8

PostPosted: Fri Mar 16, 2012 10:19 pm
Reply with quote

It is variable length like below.


Code:
EEGqd0100EEGqb0110EEGqa0120EEGqc0130EEGsJ0140EEGqZ0150EEGZZ
HVAb80040HVPb80045EHSb80045704000050704100100RIV5T0200                         
REBXd0010REBXe0020REBXf0030REBXg0040REBXI0050                                   
REAaM0010READs0020                                                             
CCPVh0010CCPDq0020                                                             
639100010                                                                       
RMMaV0010                                                                       
CMGLo0010                                                                       
639200010                                                                       
621400010621500020                                                             
TORLm0010                                                                       
RZZF60100RZZrj0150909600200                                                     
THMy50010THMy60020THMrj0030
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Mar 16, 2012 10:20 pm
Reply with quote

the code tags ... icon_evil.gif
Your post was edited to provide them
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 10:35 pm
Reply with quote

i would like to see the 3.2 I for the input file,
to insure that it is a variable and not fixed length file,
as the control cards will be different.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Mar 16, 2012 10:45 pm
Reply with quote

Some of that data only has nine bytes before the first space. How is that supposed to work?

EDIT: In fact, only one of the sample records shown is a multiple of five. What was that? Mass typo?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Mar 16, 2012 11:00 pm
Reply with quote

no, the TS did stipulate in his first post,
end of record or space.
he never indicated
that there would be an evenly divisible by 5
number of non/space characters in each record.
Back to top
View user's profile Send private message
spamidighantam

New User


Joined: 30 Aug 2006
Posts: 8

PostPosted: Fri Mar 16, 2012 11:06 pm
Reply with quote

Just came to know from user that we need to add delimiter after every 9 bytes instead of 5 bytes..
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Mar 16, 2012 11:15 pm
Reply with quote

Yes, dbz, but the only example given showed five characters as the final element, implying (to me) that that was the only possibility.

Where it might matter for a solution is if the records are variable, can you end up with a final element that is, if treated as being five bytes, beyond the record-length? Or will there always be a "balancing" number of spaces, or is there some other reason why the data is variable-length (if indeed it is) yet there are some trailing blanks which are vital enough to be included until they are excluded.

I now notice the records won't even fit exactly any more - or has the lrecl changed as well? was the lrecl ever correct, at 6000...

If you want a solution, tell everything you know...
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Mon Apr 02, 2012 3:41 pm
Reply with quote

TS/OP has done a bunk, but developing sqlcode1's solution with variable file...

Just a step to make the test data...

Code:

//MAKEVART EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTOUT  DD DSN=variable-length, (will be lrecl 84 from sort)
//SYSIN    DD *
  SORT FIELDS=COPY
  OUTFIL FTOV,VLTRIM=C' '
//*
//SORTIN   DD *
EEGqd0100EEGqb0110EEGqa0120EEGqc0130EEGsJ0140EEGqZ0150EEGZZ
HVAb80040HVPb80045EHSb80045704000050704100100RIV5T0200                         
REBXd0010REBXe0020REBXf0030REBXg0040REBXI0050                                   
REAaM0010READs0020                                                             
CCPVh0010CCPDq0020                                                             
639100010                                                                       
RMMaV0010                                                                       
CMGLo0010                                                                       
639200010                                                                       
621400010621500020                                                             
TORLm0010                                                                       
RZZF60100RZZrj0150909600200                                                     
THMy50010THMy60020THMrj0030
//*


Convert to a fixed-length file.

Code:
//MAKEFIXD EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTOUT  DD fixed-length (will be lrecl 80 from sort)
//SYSIN    DD *
  SORT FIELDS=COPY
  OUTFIL VTOF,BUILD=(5,80)
//*
//SORTIN   DD DSN=variable-length
//*

Chop the records into 9-byte pieces. If 9-bytes-blank (after chopping), append space, else append "+".

Code:
//MAKESML EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=fixed-length (80)
//OUT1 DD DSN=fixed-length (10)
//TOOLIN DD *
  RESIZE FROM(IN1) TO(OUT1) TOLEN(9) USING(CTL1)
//CTL1CNTL DD *
  OPTION COPY
  OUTFIL IFTHEN=(WHEN=(1,9,CH,EQ,C' '),
                  OVERLAY=(10:C' ')),
         IFTHEN=(WHEN=NONE,
                  OVERLAY=(10:C'+'))
Make big records from the small ones, ensuring that the re-sizing gets all the original parts into one record. In the example, nine small records were created from the 80-byte variable-made-fixed input record (the ninth being space-padded).

Code:
//MAKEBIG EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=fixed-length (10)
//OUT1 DD DISP=fixed-length (90)
//TOOLIN DD *
  RESIZE FROM(IN1) TO(OUT1) TOLEN(90)

Return the input to a variable-length record, dropping off trailing blanks. Blanks which are trailing but are part of the data are protected by the "+" added earlier.

Code:
//MAKEVAR  EXEC PGM=SORT
//SORTIN DD DSN=fixed-length (90)
//SYSOUT   DD SYSOUT=*
//SORTOUT DD DSN=variable-length (94)
//SYSIN    DD *
  SORT FIELDS=COPY
  OUTFIL FTOV,VLTRIM=C' '
//*


Output is:

Code:
EEGQD0100+EEGQB0110+EEGQA0120+EEGQC0130+EEGSJ0140+EEGQZ0150+EEGZZ    +
HVAB80040+HVPB80045+EHSB80045+704000050+704100100+RIV5T0200+           
REBXD0010+REBXE0020+REBXF0030+REBXG0040+REBXI0050+                     
REAAM0010+READS0020+                                                   
CCPVH0010+CCPDQ0020+                                                   
639100010+                                                             
RMMAV0010+                                                             
CMGLO0010+                                                             
639200010+                                                             
621400010+621500020+                                                   
TORLM0010+                                                             
RZZF60100+RZZRJ0150+909600200+                                         
THMY50010+THMY60020+THMRJ0030+                                         


The multiple steps can be rationalised.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Apr 04, 2012 5:59 am
Reply with quote

In a single step. TS/OP still missing. Only tested with 80-byte records.

Despite the title, the requirement changed to 9-byte fields along the way. Therefore original LRECL is extended by 5. Final LRECL is extended by a further 689.

The work is done with a BUILD containing 690 elements from the input record (including RDW) and 689 delimiters (including after the final field).

The two other important bits are the extension of the record to its maximum size with OVERLAY and the FINDREP at the end to remove the "empty" delimited fields. NB. If there is a "genuine" empty field, it will disappear too :-)

This is going to be less resource-hungry than multiple passes of the file.

The BUILD has not been coded by hand. Here is how it was generated, then it was copied and the final part of it was edited for the closing of the IFTHEN.

689 records are generated, with a sequence number starting at zero.

Using each sequence number the start position is calculated for each group of 9 bytes, and adjusting for the start position of the first field (5) after the RDW. The word DELIM is included in the element being built, which will later be resolved on the SYMNAMES of the step that is doing the work.

After the records are generated, they are "stacked up" into groups of five, to make things more compact.

Code:

//GENEM EXEC PGM=SORT
//SORTOUT DD DSN=&&OUT,UNIT=SYSDA,SPACE=(CYL,1),DISP=(,PASS)
//SORTIN DD *
CONTENT NOT RELEVANT
//SYSOUT DD SYSOUT=*
//SYSIN DD *
 SORT FIELDS=COPY
 OUTFIL REPEAT=689,
 IFTHEN=(WHEN=INIT,BUILD=(SEQNUM,2,BI,START=0)),
 IFTHEN=(WHEN=INIT,BUILD=(1,2,BI,MUL,+9,ADD,+5,TO=ZD,LENGTH=4,
                              C',9,DELIM,'))
//stackem EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=&&OUT,DISP=(OLD,PASS)
//OUT1 DD fb 80 dataset
//TOOLIN DD *
 RESIZE FROM(IN1) TO(OUT1) TOLEN(65) USING(CTL1)
//CTL1CNTL DD *
 OPTION COPY
 OUTFIL BUILD=(2X,1,65)



Code:
//ADDDELIM EXEC PGM=SORT
//SYMNAMES DD *
DELIM,C'+'
//SYMNOUT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//* SORTOUT  DD DSN=&&FIX,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,PASS)
//SORTOUT  DD vb 6293
//SYSIN    DD *
  SORT FIELDS=COPY
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(6898:X)),
        IFTHEN=(WHEN=INIT,
           BUILD=(1,4,
  0005,9,DELIM,0014,9,DELIM,0023,9,DELIM,0032,9,DELIM,0041,9,DELIM,
  0050,9,DELIM,0059,9,DELIM,0068,9,DELIM,0077,9,DELIM,0086,9,DELIM,
  0095,9,DELIM,0104,9,DELIM,0113,9,DELIM,0122,9,DELIM,0131,9,DELIM,
  0140,9,DELIM,0149,9,DELIM,0158,9,DELIM,0167,9,DELIM,0176,9,DELIM,
  0185,9,DELIM,0194,9,DELIM,0203,9,DELIM,0212,9,DELIM,0221,9,DELIM,
  0230,9,DELIM,0239,9,DELIM,0248,9,DELIM,0257,9,DELIM,0266,9,DELIM,
  0275,9,DELIM,0284,9,DELIM,0293,9,DELIM,0302,9,DELIM,0311,9,DELIM,
  0320,9,DELIM,0329,9,DELIM,0338,9,DELIM,0347,9,DELIM,0356,9,DELIM,
  0365,9,DELIM,0374,9,DELIM,0383,9,DELIM,0392,9,DELIM,0401,9,DELIM,
  0410,9,DELIM,0419,9,DELIM,0428,9,DELIM,0437,9,DELIM,0446,9,DELIM,
  0455,9,DELIM,0464,9,DELIM,0473,9,DELIM,0482,9,DELIM,0491,9,DELIM,
  0500,9,DELIM,0509,9,DELIM,0518,9,DELIM,0527,9,DELIM,0536,9,DELIM,
  0545,9,DELIM,0554,9,DELIM,0563,9,DELIM,0572,9,DELIM,0581,9,DELIM,
  0590,9,DELIM,0599,9,DELIM,0608,9,DELIM,0617,9,DELIM,0626,9,DELIM,
  0635,9,DELIM,0644,9,DELIM,0653,9,DELIM,0662,9,DELIM,0671,9,DELIM,
  0680,9,DELIM,0689,9,DELIM,0698,9,DELIM,0707,9,DELIM,0716,9,DELIM,
  0725,9,DELIM,0734,9,DELIM,0743,9,DELIM,0752,9,DELIM,0761,9,DELIM,
  0770,9,DELIM,0779,9,DELIM,0788,9,DELIM,0797,9,DELIM,0806,9,DELIM,
  0815,9,DELIM,0824,9,DELIM,0833,9,DELIM,0842,9,DELIM,0851,9,DELIM,
  0860,9,DELIM,0869,9,DELIM,0878,9,DELIM,0887,9,DELIM,0896,9,DELIM,
  0905,9,DELIM,0914,9,DELIM,0923,9,DELIM,0932,9,DELIM,0941,9,DELIM,
  0950,9,DELIM,0959,9,DELIM,0968,9,DELIM,0977,9,DELIM,0986,9,DELIM,
  0995,9,DELIM,1004,9,DELIM,1013,9,DELIM,1022,9,DELIM,1031,9,DELIM,
  1040,9,DELIM,1049,9,DELIM,1058,9,DELIM,1067,9,DELIM,1076,9,DELIM,
  1085,9,DELIM,1094,9,DELIM,1103,9,DELIM,1112,9,DELIM,1121,9,DELIM,
  1130,9,DELIM,1139,9,DELIM,1148,9,DELIM,1157,9,DELIM,1166,9,DELIM,
  1175,9,DELIM,1184,9,DELIM,1193,9,DELIM,1202,9,DELIM,1211,9,DELIM,
  1220,9,DELIM,1229,9,DELIM,1238,9,DELIM,1247,9,DELIM,1256,9,DELIM,
  1265,9,DELIM,1274,9,DELIM,1283,9,DELIM,1292,9,DELIM,1301,9,DELIM,
  1310,9,DELIM,1319,9,DELIM,1328,9,DELIM,1337,9,DELIM,1346,9,DELIM,
  1355,9,DELIM,1364,9,DELIM,1373,9,DELIM,1382,9,DELIM,1391,9,DELIM,
  1400,9,DELIM,1409,9,DELIM,1418,9,DELIM,1427,9,DELIM,1436,9,DELIM,
  1445,9,DELIM,1454,9,DELIM,1463,9,DELIM,1472,9,DELIM,1481,9,DELIM,
  1490,9,DELIM,1499,9,DELIM,1508,9,DELIM,1517,9,DELIM,1526,9,DELIM,
  1535,9,DELIM,1544,9,DELIM,1553,9,DELIM,1562,9,DELIM,1571,9,DELIM,
  1580,9,DELIM,1589,9,DELIM,1598,9,DELIM,1607,9,DELIM,1616,9,DELIM,
  1625,9,DELIM,1634,9,DELIM,1643,9,DELIM,1652,9,DELIM,1661,9,DELIM,
  1670,9,DELIM,1679,9,DELIM,1688,9,DELIM,1697,9,DELIM,1706,9,DELIM,
  1715,9,DELIM,1724,9,DELIM,1733,9,DELIM,1742,9,DELIM,1751,9,DELIM,
  1760,9,DELIM,1769,9,DELIM,1778,9,DELIM,1787,9,DELIM,1796,9,DELIM,
  1805,9,DELIM,1814,9,DELIM,1823,9,DELIM,1832,9,DELIM,1841,9,DELIM,
  1850,9,DELIM,1859,9,DELIM,1868,9,DELIM,1877,9,DELIM,1886,9,DELIM,
  1895,9,DELIM,1904,9,DELIM,1913,9,DELIM,1922,9,DELIM,1931,9,DELIM,
  1940,9,DELIM,1949,9,DELIM,1958,9,DELIM,1967,9,DELIM,1976,9,DELIM,
  1985,9,DELIM,1994,9,DELIM,2003,9,DELIM,2012,9,DELIM,2021,9,DELIM,
  2030,9,DELIM,2039,9,DELIM,2048,9,DELIM,2057,9,DELIM,2066,9,DELIM,
  2075,9,DELIM,2084,9,DELIM,2093,9,DELIM,2102,9,DELIM,2111,9,DELIM,
  2120,9,DELIM,2129,9,DELIM,2138,9,DELIM,2147,9,DELIM,2156,9,DELIM,
  2165,9,DELIM,2174,9,DELIM,2183,9,DELIM,2192,9,DELIM,2201,9,DELIM,
  2210,9,DELIM,2219,9,DELIM,2228,9,DELIM,2237,9,DELIM,2246,9,DELIM,
  2255,9,DELIM,2264,9,DELIM,2273,9,DELIM,2282,9,DELIM,2291,9,DELIM,
  2300,9,DELIM,2309,9,DELIM,2318,9,DELIM,2327,9,DELIM,2336,9,DELIM,
  2345,9,DELIM,2354,9,DELIM,2363,9,DELIM,2372,9,DELIM,2381,9,DELIM,
  2390,9,DELIM,2399,9,DELIM,2408,9,DELIM,2417,9,DELIM,2426,9,DELIM,
  2435,9,DELIM,2444,9,DELIM,2453,9,DELIM,2462,9,DELIM,2471,9,DELIM,
  2480,9,DELIM,2489,9,DELIM,2498,9,DELIM,2507,9,DELIM,2516,9,DELIM,
  2525,9,DELIM,2534,9,DELIM,2543,9,DELIM,2552,9,DELIM,2561,9,DELIM,
  2570,9,DELIM,2579,9,DELIM,2588,9,DELIM,2597,9,DELIM,2606,9,DELIM,
  2615,9,DELIM,2624,9,DELIM,2633,9,DELIM,2642,9,DELIM,2651,9,DELIM,
  2660,9,DELIM,2669,9,DELIM,2678,9,DELIM,2687,9,DELIM,2696,9,DELIM,
  2705,9,DELIM,2714,9,DELIM,2723,9,DELIM,2732,9,DELIM,2741,9,DELIM,
  2750,9,DELIM,2759,9,DELIM,2768,9,DELIM,2777,9,DELIM,2786,9,DELIM,
  2795,9,DELIM,2804,9,DELIM,2813,9,DELIM,2822,9,DELIM,2831,9,DELIM,
  2840,9,DELIM,2849,9,DELIM,2858,9,DELIM,2867,9,DELIM,2876,9,DELIM,
  2885,9,DELIM,2894,9,DELIM,2903,9,DELIM,2912,9,DELIM,2921,9,DELIM,
  2930,9,DELIM,2939,9,DELIM,2948,9,DELIM,2957,9,DELIM,2966,9,DELIM,
  2975,9,DELIM,2984,9,DELIM,2993,9,DELIM,3002,9,DELIM,3011,9,DELIM,
  3020,9,DELIM,3029,9,DELIM,3038,9,DELIM,3047,9,DELIM,3056,9,DELIM,
  3065,9,DELIM,3074,9,DELIM,3083,9,DELIM,3092,9,DELIM,3101,9,DELIM,
  3110,9,DELIM,3119,9,DELIM,3128,9,DELIM,3137,9,DELIM,3146,9,DELIM,
  3155,9,DELIM,3164,9,DELIM,3173,9,DELIM,3182,9,DELIM,3191,9,DELIM,
  3200,9,DELIM,3209,9,DELIM,3218,9,DELIM,3227,9,DELIM,3236,9,DELIM,
  3245,9,DELIM,3254,9,DELIM,3263,9,DELIM,3272,9,DELIM,3281,9,DELIM,
  3290,9,DELIM,3299,9,DELIM,3308,9,DELIM,3317,9,DELIM,3326,9,DELIM,
  3335,9,DELIM,3344,9,DELIM,3353,9,DELIM,3362,9,DELIM,3371,9,DELIM,
  3380,9,DELIM,3389,9,DELIM,3398,9,DELIM,3407,9,DELIM,3416,9,DELIM,
  3425,9,DELIM,3434,9,DELIM,3443,9,DELIM,3452,9,DELIM,3461,9,DELIM,
  3470,9,DELIM,3479,9,DELIM,3488,9,DELIM,3497,9,DELIM,3506,9,DELIM,
  3515,9,DELIM,3524,9,DELIM,3533,9,DELIM,3542,9,DELIM,3551,9,DELIM,
  3560,9,DELIM,3569,9,DELIM,3578,9,DELIM,3587,9,DELIM,3596,9,DELIM,
  3605,9,DELIM,3614,9,DELIM,3623,9,DELIM,3632,9,DELIM,3641,9,DELIM,
  3650,9,DELIM,3659,9,DELIM,3668,9,DELIM,3677,9,DELIM,3686,9,DELIM,
  3695,9,DELIM,3704,9,DELIM,3713,9,DELIM,3722,9,DELIM,3731,9,DELIM,
  3740,9,DELIM,3749,9,DELIM,3758,9,DELIM,3767,9,DELIM,3776,9,DELIM,
  3785,9,DELIM,3794,9,DELIM,3803,9,DELIM,3812,9,DELIM,3821,9,DELIM,
  3830,9,DELIM,3839,9,DELIM,3848,9,DELIM,3857,9,DELIM,3866,9,DELIM,
  3875,9,DELIM,3884,9,DELIM,3893,9,DELIM,3902,9,DELIM,3911,9,DELIM,
  3920,9,DELIM,3929,9,DELIM,3938,9,DELIM,3947,9,DELIM,3956,9,DELIM,
  3965,9,DELIM,3974,9,DELIM,3983,9,DELIM,3992,9,DELIM,4001,9,DELIM,
  4010,9,DELIM,4019,9,DELIM,4028,9,DELIM,4037,9,DELIM,4046,9,DELIM,
  4055,9,DELIM,4064,9,DELIM,4073,9,DELIM,4082,9,DELIM,4091,9,DELIM,
  4100,9,DELIM,4109,9,DELIM,4118,9,DELIM,4127,9,DELIM,4136,9,DELIM,
  4145,9,DELIM,4154,9,DELIM,4163,9,DELIM,4172,9,DELIM,4181,9,DELIM,
  4190,9,DELIM,4199,9,DELIM,4208,9,DELIM,4217,9,DELIM,4226,9,DELIM,
  4235,9,DELIM,4244,9,DELIM,4253,9,DELIM,4262,9,DELIM,4271,9,DELIM,
  4280,9,DELIM,4289,9,DELIM,4298,9,DELIM,4307,9,DELIM,4316,9,DELIM,
  4325,9,DELIM,4334,9,DELIM,4343,9,DELIM,4352,9,DELIM,4361,9,DELIM,
  4370,9,DELIM,4379,9,DELIM,4388,9,DELIM,4397,9,DELIM,4406,9,DELIM,
  4415,9,DELIM,4424,9,DELIM,4433,9,DELIM,4442,9,DELIM,4451,9,DELIM,
  4460,9,DELIM,4469,9,DELIM,4478,9,DELIM,4487,9,DELIM,4496,9,DELIM,
  4505,9,DELIM,4514,9,DELIM,4523,9,DELIM,4532,9,DELIM,4541,9,DELIM,
  4550,9,DELIM,4559,9,DELIM,4568,9,DELIM,4577,9,DELIM,4586,9,DELIM,
  4595,9,DELIM,4604,9,DELIM,4613,9,DELIM,4622,9,DELIM,4631,9,DELIM,
  4640,9,DELIM,4649,9,DELIM,4658,9,DELIM,4667,9,DELIM,4676,9,DELIM,
  4685,9,DELIM,4694,9,DELIM,4703,9,DELIM,4712,9,DELIM,4721,9,DELIM,
  4730,9,DELIM,4739,9,DELIM,4748,9,DELIM,4757,9,DELIM,4766,9,DELIM,
  4775,9,DELIM,4784,9,DELIM,4793,9,DELIM,4802,9,DELIM,4811,9,DELIM,
  4820,9,DELIM,4829,9,DELIM,4838,9,DELIM,4847,9,DELIM,4856,9,DELIM,
  4865,9,DELIM,4874,9,DELIM,4883,9,DELIM,4892,9,DELIM,4901,9,DELIM,
  4910,9,DELIM,4919,9,DELIM,4928,9,DELIM,4937,9,DELIM,4946,9,DELIM,
  4955,9,DELIM,4964,9,DELIM,4973,9,DELIM,4982,9,DELIM,4991,9,DELIM,
  5000,9,DELIM,5009,9,DELIM,5018,9,DELIM,5027,9,DELIM,5036,9,DELIM,
  5045,9,DELIM,5054,9,DELIM,5063,9,DELIM,5072,9,DELIM,5081,9,DELIM,
  5090,9,DELIM,5099,9,DELIM,5108,9,DELIM,5117,9,DELIM,5126,9,DELIM,
  5135,9,DELIM,5144,9,DELIM,5153,9,DELIM,5162,9,DELIM,5171,9,DELIM,
  5180,9,DELIM,5189,9,DELIM,5198,9,DELIM,5207,9,DELIM,5216,9,DELIM,
  5225,9,DELIM,5234,9,DELIM,5243,9,DELIM,5252,9,DELIM,5261,9,DELIM,
  5270,9,DELIM,5279,9,DELIM,5288,9,DELIM,5297,9,DELIM,5306,9,DELIM,
  5315,9,DELIM,5324,9,DELIM,5333,9,DELIM,5342,9,DELIM,5351,9,DELIM,
  5360,9,DELIM,5369,9,DELIM,5378,9,DELIM,5387,9,DELIM,5396,9,DELIM,
  5405,9,DELIM,5414,9,DELIM,5423,9,DELIM,5432,9,DELIM,5441,9,DELIM,
  5450,9,DELIM,5459,9,DELIM,5468,9,DELIM,5477,9,DELIM,5486,9,DELIM,
  5495,9,DELIM,5504,9,DELIM,5513,9,DELIM,5522,9,DELIM,5531,9,DELIM,
  5540,9,DELIM,5549,9,DELIM,5558,9,DELIM,5567,9,DELIM,5576,9,DELIM,
  5585,9,DELIM,5594,9,DELIM,5603,9,DELIM,5612,9,DELIM,5621,9,DELIM,
  5630,9,DELIM,5639,9,DELIM,5648,9,DELIM,5657,9,DELIM,5666,9,DELIM,
  5675,9,DELIM,5684,9,DELIM,5693,9,DELIM,5702,9,DELIM,5711,9,DELIM,
  5720,9,DELIM,5729,9,DELIM,5738,9,DELIM,5747,9,DELIM,5756,9,DELIM,
  5765,9,DELIM,5774,9,DELIM,5783,9,DELIM,5792,9,DELIM,5801,9,DELIM,
  5810,9,DELIM,5819,9,DELIM,5828,9,DELIM,5837,9,DELIM,5846,9,DELIM,
  5855,9,DELIM,5864,9,DELIM,5873,9,DELIM,5882,9,DELIM,5891,9,DELIM,
  5900,9,DELIM,5909,9,DELIM,5918,9,DELIM,5927,9,DELIM,5936,9,DELIM,
  5945,9,DELIM,5954,9,DELIM,5963,9,DELIM,5972,9,DELIM,5981,9,DELIM,
  5990,9,DELIM,5999,9,DELIM,6008,9,DELIM,6017,9,DELIM,6026,9,DELIM,
  6035,9,DELIM,6044,9,DELIM,6053,9,DELIM,6062,9,DELIM,6071,9,DELIM,
  6080,9,DELIM,6089,9,DELIM,6098,9,DELIM,6107,9,DELIM,6116,9,DELIM,
  6125,9,DELIM,6134,9,DELIM,6143,9,DELIM,6152,9,DELIM,6161,9,DELIM,
  6170,9,DELIM,6179,9,DELIM,6188,9,DELIM,6197,9,DELIM)),
       IFTHEN=(WHEN=INIT,FINDREP=(IN=C'         +',
                                  OUT=C''))
//*
//SORTIN   DD DSN=&&VAR,DISP=(OLD,PASS)
//*
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
Search our Forums:

Back to Top