Kolusu, thanks for the fix - I had not noticed this problem in my test cases, but now believe I have a more accurate process. I appreciate your time and attention! Have a magnificent Monday!
On Fri, Apr 21, 2017 at 5:51 PM, Sri h Kolusu <skol...@us.ibm.com> wrote: > Bill, > > I apologize for the oversight in parsing the dataset name. As soon as I > sent my earlier reply I realized that I did not cover all the scenarios > for the dataset name. If the HLQ is less than 6 bytes the parse would > grab the time which starts before the dataset name. > > for example the records in red color > > Dec 29 10:23 HOLDDATA.BIN > Apr 3 12:28 REPORT1.TXT > Nov 15 11:33 NEWDATA.BIN > Nov 15 11:34 a.BIN > Nov 15 11:35 abc.BIN > Nov 15 11:36 abcd.BIN > Nov 15 11:37 abcde.BIN > Nov 15 11:38 abcdef.BIN > Nov 15 11:39 abcdefg.BIN > Nov 15 11:40 abcdefgh.BIN > > So you need to change your INREC IFTHEN statements to handle these dataset > names. Here are the updated control cards ( Only the INREC IFTHEN > statments need to be changed.) > > INREC IFOUTLEN=80, > IFTHEN=(WHEN=(1,3,CH,EQ,C'250'), > PARSE=(%01=(STARTAFT=C'"',ENDBEFR=C'"',FIXLEN=50)), > BUILD=(C'250 ',%01)), > > IFTHEN=(WHEN=(1,3,CH,EQ,C'EZA'), > PARSE=(%=(ENDAT=C'.BIN'), > %02=(SUBPOS=12,FIXLEN=12)), > BUILD=(C'BIN ',%02),HIT=NEXT), > > IFTHEN=(WHEN=(1,3,CH,EQ,C'BIN'), > OVERLAY=(5:5,12,JFY=(SHIFT=LEFT)),HIT=NEXT), > > IFTHEN=(WHEN=(1,3,CH,EQ,C'BIN',AND,5,8,SS,EQ,C' '), > PARSE=(%03=(ABSPOS=5,STARTAFT=C' ',ENDAT=C'.BIN',FIXLEN=12)), > BUILD=(01:C'BIN ',56:%03)), > > IFTHEN=(WHEN=(1,3,CH,EQ,C'BIN',AND,5,8,SS,NE,C' '), > BUILD=(01:C'BIN ',56:5,12)) > > > > Further if you have any questions please let me know > > Thanks, > Kolusu > DFSORT Development > > > > From: Bill Ashton <bill00ash...@gmail.com> > To: IBM-MAIN@LISTSERV.UA.EDU > Date: 04/21/2017 01:41 PM > Subject: Re: How to parse rows using SORT > Sent by: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> > > > > Thanks, Kolusu - that is better now! I will go and learn about HIT=NEXT, > as > I have not run into that before. > > Have a good weekend! > > > On Fri, Apr 21, 2017 at 4:24 PM, Sri h Kolusu <skol...@us.ibm.com> wrote: > > > Bill, > > > > You really don't need to complicate the control to get the desired > > results. I have optimized your control cards a bit which would give you > > the desired results > > > > //SYSIN DD * > > OPTION COPY > > INCLUDE COND=(1,003,CH,EQ,C'250',OR, > > 1,100,SS,EQ,C'.BIN ') > > > > INREC IFOUTLEN=80, > > IFTHEN=(WHEN=(1,3,CH,EQ,C'250'), > > PARSE=(%01=(STARTAFT=C'"',ENDBEFR=C'"',FIXLEN=50)), > > BUILD=(C'250 ',%01)), > > > > IFTHEN=(WHEN=(1,3,CH,EQ,C'EZA'), > > PARSE=(%=(ENDAT=C'.BIN'), > > %02=(SUBPOS=12,FIXLEN=12)), > > BUILD=(C'BIN ',%02),HIT=NEXT), > > > > IFTHEN=(WHEN=(1,3,CH,EQ,C'BIN'), > > PARSE=(%03=(STARTAFT=C' ',ENDAT=C'.BIN',FIXLEN=12)), > > BUILD=(01:C'BIN ',56:%03)) > > > > OUTREC IFTHEN=(WHEN=GROUP,BEGIN=(1,3,CH,EQ,C'250'),PUSH=(05:5,50)) > > > > OUTFIL INCLUDE=(1,3,CH,EQ,C'BIN'), > > BUILD=(05,75,SQZ=(SHIFT=LEFT,LEAD=C'get ',MID=C'/', > > TRAIL=C' //DD:LIST',LENGTH=80)) > > //* > > > > The output from this job is > > > > get /sys01/new2017/input/TESTFL1.BIN //DD:LIST > > get /sys12/y2017/processed/HOLDDATA.BIN //DD:LIST > > get /sys12/y2017/processed/NEWDATA.BIN //DD:LIST > > > > > > Further if you have any questions please let me know > > > > Thanks, > > Sri Hari Kolusu > > DFSORT Development > > IBM Corporation > > Email: skol...@us.ibm.com > > Phone: 520-799-2237 Tie Line: 321-2237 > > > > IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> wrote on > > 04/21/2017 12:45:56 PM: > > > > > From: Bill Ashton <bill00ash...@gmail.com> > > > To: IBM-MAIN@LISTSERV.UA.EDU > > > Date: 04/21/2017 12:46 PM > > > Subject: Re: How to parse rows using SORT > > > Sent by: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> > > > > > > Hi Kolusu, I think I messed up my original note by trying to keep the > > > characters in order. > > > > > > I have attached a file that shows my JCL with input and output > expected. > > > The current run, though has a problem with the Parse for %02 and %03. > I > > > hope you can help me with this - it is probably simple. > > > > > > Thanks! > > > B > > > > > > On Fri, Apr 21, 2017 at 2:05 PM, Sri h Kolusu <skol...@us.ibm.com> > > wrote: > > > > > > > Bill, > > > > > > > > Why bother about the position. From the looks of it, you need to > pick > > the > > > > last qualifier. So go find the last byte space and then subtract 12 > > bytes > > > > to get to your dataset name. > > > > > > > > something like this > > > > > > > > //STEP0100 EXEC PGM=SORT > > > > //SYSOUT DD SYSOUT=* > > > > //SORTIN DD * > > > > > > > EZA2284I`-RW-R--R--```1`FTPUSER``FTPUSERS```42160`SEP``2``2016`TESTFL1.BIN > > > > > > > > > > EZA2284I`-RW-R--R--```1`FTPUSER``FTPUSERS``442160`NOV`10`15:26`TEST2.TXT > > > > //SORTOUT DD SYSOUT=* > > > > //SYSIN DD * > > > > OPTION COPY > > > > INREC IFTHEN=(WHEN=INIT, > > > > PARSE=(%=(ENDBEFR=C' '), > > > > %01=(SUBPOS=12,FIXLEN=12)), > > > > BUILD=(%01)), > > > > > > > > IFTHEN=(WHEN=(1,12,SS,EQ,C'`'), > > > > PARSE=(%02=(STARTAFT=C'`',FIXLEN=12)), > > > > BUILD=(%02)) > > > > > > > > OUTREC BUILD=(1,12,SQZ=(SHIFT=LEFT,LENGTH=80, > > > > LEAD=C' get /thisdirectory/', > > > > TRAIL=C' //DD:LIST')) > > > > //* > > > > > > > > > > > > The outout from this job is > > > > > > > > get /thisdirectory/TESTFL1.BIN //DD:LIST > > > > get /thisdirectory/TEST2.TXT //DD:LIST > > > > > > > > > > > > Further if you have any questions please let me know > > > > > > > > > > > > Thanks, > > > > Kolusu > > > > DFSORT Development > > > > IBM Corporation > > > > > > > > > > > > > > > > From: Bill Ashton <bill00ash...@gmail.com> > > > > To: IBM-MAIN@LISTSERV.UA.EDU > > > > Date: 04/21/2017 10:47 AM > > > > Subject: How to parse rows using SORT > > > > Sent by: IBM Mainframe Discussion List > > <IBM-MAIN@LISTSERV.UA.EDU> > > > > > > > > > > > > > > > > Hello friends! > > > > > > > > I just ran into a problem, and am a bit confused how to correct > this. > > > > > > > > I am reading the output of an FTP list command, and using SORT to > > capture > > > > and format the FTP GET commands I need. This process is working fine > > for > > > > the most part, and it produces the correct commands most of the > time. > > > > However, I just noticed that the file list is different in one of my > > > > folders, causing me to lose the first character of the filename. > > > > > > > > I had been using this: > > > > PARSE=(%02=(ABSPOS=65,ENDBEFR=C'.',FIXLEN=8), > > > > %03=(FIXLEN=3)), > > > > > > > > but now I find that one of my folders starts the file name in pos > 64, > > and > > > > not 65. > > > > > > > > Is there a way to not use ABSPOS=65, but instead to say I want to > > start > > > > following a space after Col 60? In Rexx, I could say to use the 10th > > word, > > > > but I don't want to change the SORT to Rexx now, as this input is > > doing a > > > > number of different things. > > > > > > > > Here is a sample of the file listing (with ` replacing blanks to > keep > > > > spacing intact): > > > > > > > > > > > EZA2284I`-rw-r--r--```1`ftpuser``ftpusers```42160`Sep``2``2016`TESTFL1.BIN > > > > > > EZA2284I`-rw-r--r--```1`ftpuser``ftpusers``442160`Nov`10`15:26`TEST2.TXT > > > > > > > > My output from the Sort is going to say > > > > get /thisdirectory/TESTFL1.BIN //DD:LIST > > > > get /thisdirectory/TEST2.TXT //DD:LIST > > > > > > > > Thanks for your help with this troublesome question! > > > > > > > > -- > > > > Thank you and best regards, > > > > *Billy Ashton* > > > > > > > > > ---------------------------------------------------------------------- > > > > For IBM-MAIN subscribe / signoff / archive access instructions, > > > > send email to lists...@listserv.ua.edu with the message: INFO > IBM-MAIN > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > > For IBM-MAIN subscribe / signoff / archive access instructions, > > > > send email to lists...@listserv.ua.edu with the message: INFO > IBM-MAIN > > > > > > > > > > > > > > > > -- > > > Thank you and best regards, > > > *Billy Ashton* > > > > > > ---------------------------------------------------------------------- > > > For IBM-MAIN subscribe / signoff / archive access instructions, > > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > [attachment "SORTFILE.txt" deleted by Sri h Kolusu/Silicon Valley/IBM] > > > > > > ---------------------------------------------------------------------- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > > -- > Thank you and best regards, > *Billy Ashton* > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Thank you and best regards, *Billy Ashton* ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN