Frank, that is a pretty slick trick! Simple and yet still elegant!
Billy

On Thu, Apr 19, 2012 at 2:43 PM, Frank Swarbrick
<[email protected]>wrote:

> My very own local sysprog came up with the ideal solution.
>
> //TC33COPY JOB NOTIFY=&SYSUID
> //CONDCOPY EXEC PGM=IDCAMS
> //SYSPRINT DD SYSOUT=*
> //SYSIN    DD *
>  PRINT INFILE(TC33IN) CHAR COUNT(1)
>  IF LASTCC = 0 THEN REPRO INFILE(TC33IN) OUTFILE(TC33OUT)
>  ELSE IF LASTCC = 4 THEN SET MAXCC=0
> /*
> //TC33IN   DD DISP=SHR,DSN=PROD.VISAEP4.TC33EX
> //TC33OUT  DD DSN=DEV.CVSC.TC33EX,
> //            DISP=SHR,
> //            LIKE=PROD.VISAEP.TC33EX
>
> Results:
>
> IDCAMS  SYSTEM SERVICES
>
>  PRINT INFILE(TC33IN) CHAR COUNT(1)
>
>
> IDCAMS  SYSTEM SERVICES
> LISTING OF DATA SET -PROD.VISAEP4.TC33EX
> IDC11462I REQUESTED RANGE END BEYOND END OF DATA SET.
> IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
> IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 4
>
>
> IDCAMS  SYSTEM SERVICES
>
>  IF LASTCC = 0 THEN REPRO INFILE(TC33IN) OUTFILE(TC33OUT)
> IDC0204I PRECEDING COMMAND BYPASSED DUE TO CONDITION CODES
>
>  ELSE IF LASTCC = 4 THEN SET MAXCC=0
>
> IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
>
>
> Exactly what I was looking for.  Thanks Bill!!
>
> Frank
>
>
>
>
> >________________________________
> > From: Frank Swarbrick <[email protected]>
> >To: [email protected]
> >Sent: Thursday, April 19, 2012 12:16 PM
>  >Subject: Re: DFSORT, no records for SORTOUT
> >
> >That works.  Thanks!  I've not used ICETOOL before.
> >One minor thing.  I wish I could skip steps (or conditionally execute
> them) rather than having the job set RC12.  Something like how IDCAMS works:
> >
> > COUNT FROM(TC33IN) EMPTY RC4
> >
> > IF LASTCC = 0
> >   THEN
> >     COPY FROM(TC33IN) TO(TC33OUT)   ELSE
> >     IF LASTCC = 4
> >       THEN SET MAXCC=0
> >
> >
> >Oh well!
> >
> >Thanks again,
> >Frank
> >
> >
> >
> >
> >
> >>________________________________
> >> From: Frank Yaeger <[email protected]>
> >>To: [email protected]
> >>Sent: Thursday, April 19, 2012 11:38 AM
> >>Subject: Re: DFSORT, no records for SORTOUT
> >>
> >>Frank Swarbrick at IBM Mainframe Discussion List <[email protected]>
> >>wrote on 04/19/2012 10:22:56 AM:
> >>> I know of the NULLOUT and NULLOFL options to specify return code
> >>> setting if there are no records to be written to the output file.
> >>> I'm wondering if there is any option I can specify so that the
> >>> SORTOUT file will not even be opened if there are no records to be
> >>> written to it.  Basically, I want to leave the "old" records that
> >>> were in SORTOUT alone if there is nothing new to go in to it for this
> >>run.
> >>>
> >>> At this point the best thing I can think of is to run SORT twice;
> >>> the first time copying one record to a dummy file with NULLOUT=RC4
> >>> set.  Then skipping step 2, the actual copy into the real SORTOUT,
> >>> if the RC from step 1 is not 0.
> >>>
> >>> If there is a program other than SORT (IDCAMS?) that I can use to
> >>> accomplish this, that's fine as well.  No actual sorting is being
> >>> done; just a straight copy.
> >>
> >>Frank,
> >>
> >>You could use a DFSORT ICETOOL job with COUNT and COPY like this:
> >>
> >>//S1    EXEC  PGM=ICETOOL
> >>//TOOLMSG DD SYSOUT=*
> >>//DFSMSG  DD SYSOUT=*
> >>//IN DD DSN=...  input file
> >>//OUT DD DSN=...  output file
> >>//TOOLIN DD *
> >>MODE STOP
> >>COUNT FROM(IN) EMPTY RC12
> >>COPY FROM(IN) TO(OUT)
> >>/*
> >>
> >>If IN is emtpy, the COUNT operator will set RC=12 and
> >>the COPY operator will NOT be executed so OUT will not be
> >>opened.  The step will give back cc=12.  COUNT does not
> >>require an output data set.
> >>
> >>If IN is not empty, the COUNT operator will set RC=0 and
> >>the COPY operator will be executed so OUT will be
> >>opened and IN will be copied to it.  The step will give
> >>back cc=0
> >>
> >>Note that MODE STOP is the default so you don't have to
> >>specify it, but I put it in for doc purposes.
> >>
> >>Frank Yaeger - DFSORT Development Team (IBM) - [email protected]
> >>Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
> >>
> >>=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
> >>----------------------------------------------------------------------
> >>For IBM-MAIN subscribe / signoff / archive access instructions,
> >>send email to [email protected] with the message: INFO IBM-MAIN
> >>
> >>
> >>
> >
> >----------------------------------------------------------------------
> >For IBM-MAIN subscribe / signoff / archive access instructions,
> >send email to [email protected] with the message: INFO IBM-MAIN
> >
> >
> >
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>



-- 
Thank you and best regards,
*Billy Ashton*

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to