View previous topic :: View next topic
Author
Message
spamidighantam New User Joined: 30 Aug 2006Posts: 8
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
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
vasanthz Global Moderator Joined: 28 Aug 2007Posts: 1742 Location: Tirupur, India
If file size is small, REXX can do this 'with less amount of code' not necessarily resource-effecient than SORT.
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10873 Location: italy
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
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
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
sqlcode1 Active Member Joined: 08 Apr 2010Posts: 577 Location: USA
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
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
sqlcode1,
a nice way to start the weekend......
Back to top
spamidighantam New User Joined: 30 Aug 2006Posts: 8
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
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
for f*** sake,
look at sqlcode1's solution..................................
Back to top
Garry Carroll Senior Member Joined: 08 May 2006Posts: 1193 Location: Dublin, Ireland
dbzTHEdinosauer wrote:
sqlcode1,
a nice way to start the weekend......
... and it's Paddy's Day tomorrow !!!
Garry
Back to top
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
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
spamidighantam New User Joined: 30 Aug 2006Posts: 8
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
spamidighantam New User Joined: 30 Aug 2006Posts: 8
sorry here is the input file
ugly image deleted
Back to top
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
is it a fixed length or variable length record?
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10873 Location: italy
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
spamidighantam New User Joined: 30 Aug 2006Posts: 8
It is variable length like below.
Code:
EEGqd0100EEGqb0110EEGqa0120EEGqc0130EEGsJ0140EEGqZ0150EEGZZ
HVAb80040HVPb80045EHSb80045704000050704100100RIV5T0200
REBXd0010REBXe0020REBXf0030REBXg0040REBXI0050
REAaM0010READs0020
CCPVh0010CCPDq0020
639100010
RMMaV0010
CMGLo0010
639200010
621400010621500020
TORLm0010
RZZF60100RZZrj0150909600200
THMy50010THMy60020THMrj0030
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10873 Location: italy
the code tags ...
Your post was edited to provide them
Back to top
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
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
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
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
spamidighantam New User Joined: 30 Aug 2006Posts: 8
Just came to know from user that we need to add delimiter after every 9 bytes instead of 5 bytes..
Back to top
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
Bill Woodger Moderator Emeritus Joined: 09 Mar 2011Posts: 7309 Location: Inside the Matrix
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
Please enable JavaScript!