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

Reply via email to