On Mon, Mar 20, 2017 at 3:36 PM, Paul Gilmartin < 0000000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
> On 2017-03-20, at 12:45, R.S. wrote: > > > > //SYSIN DD * > > OPTION COPY,SPANINC=RC4 > > SRSK.INPUT.BROKEN dataset is DSORG=PS,RECFM=VBS,LRECL= > 32760,BLKSIZE=27998 > > > It appears not to tell you which record is broken. Alas. > > > BTW: Using STOPAFT=nnnn I found the first 27019 records are OK, the next > one causes RC16 and ICE141A > > Tools like IEBGENER or IDCAMS simply abend with S002. > > > Rather than leaping without looking, it would be valuable to have > a tool that identifies and dumps the broken record. > The aforementioned code at https://gist.github.com/JohnArchieMckown/ d7ddef0c7ddf95c72c5978b099768d9b will do this. Sort of. It puts the valid records out to one DD and the invalid ones out to another. What it doesn't do is tell you the relative record number(s) of the invalid ones in the original dataset. One possible problem with trying to do that is how to count the number of records. That is, is the number the logical record number (reassembled VBS) or the relative segment number. That is, suppose you have 3 logical records. The first is broken into three segments and the second has two segments (and is "broken") and the third has one segment. How would your report that? Something like: Second logical record is broken. Or: Third logical record, from relative segments 4 & 5, are broken. > > -- gil > > -- "Irrigation of the land with seawater desalinated by fusion power is ancient. It's called 'rain'." -- Michael McClary, in alt.fusion Maranatha! <>< John McKown ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN