Yes, the records are actually one per physical block, about 140K records 
(blocks) total.

Rexx handled it without a problem (one record at a time, EXECIO 1 ...  rather 
than EXECIO * ...).

Using Sri's JCL I did try a number of lrecl/blksize combinations, but they all 
failed in the second REPRO with wrong length record error on the first record 
(0 records copied).

I did try to use the SYNCSORT option to pad input records, but I may not have 
done it right.

It's our vendor, but I am told they are recalcitrant.  Not my application area 
(I'm just helping out a co-worker here) so I don't have any input into the 
negotiations.  I would give'em h-e-double-hockey-sticks for an attitude like 
that, but like I said, not my area.

Peter

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Joel C. Ewing
Sent: Wednesday, June 12, 2019 4:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is there any way to convert RECFM=U to RECFM=V with a utility or 
script?

Are you saying the records are just one per physical block and that by
conventional usage the file should be defined as BLKSIZE=200 with no
LRECL?   If this is a file with a very large number of unblocked records
using a physical block size of 200 or less, it would obviously be an
incredibly poor choice for DASD space utilization and performance --
which suggests the file size is not that large.

The issue of whether REXX is a good solution long term depends on the
volume of data involved.  If talking about 100,000 records daily maybe
look for more efficient solution than REXX.   For small record volume,
take the first solution that works.

If you know for certain that the maximum physical blocksize is actually
200, I would be tempted to try specifying a more-conventional overriding
"BLKSIZE=200" on an input DD for the file and see if that gets any
better results trying to use the standard utilities to generate a
RECFM=VB,LRECL=204,BLKSIZE=??? (SDB or suitable value) output file.  

At one point I think SORT required you to explicitly specify that you
wanted short records to be extended and the padding byte if you
specified fields that extended beyond the size of the record.

If the vendor-generated file is from one of your vendors, I would be
sorely tempted to do some vendor education to improve their
understanding of z/OS.  If it is a vendor of one of your customers, that
obviously is not an option.
    Joel C. Ewing


On 6/12/19 2:05 PM, Farley, Peter x23353 wrote:
> We have a vendor-generated file that comes in with 
> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998) (don't ask why please, this DCB setting 
> is out of our hands).
>
> The records are actually variable length data, up to 200 bytes of actual data 
> with no length prefix (no RDW/BDW).  No binary data, only text characters.  I 
> suspect a *ix text-format file as the vendor source but have no proof of that.
>
> We have tried every utility we could think of (IEBGENER, IDCAMS REPRO, SORT 
> INREC BUILD=(1,200)) to copy this data to a more usable z/OS record format 
> but so far nothing we tried works.
>
> Am I correct that only a Rexx or awk script could do this conversion (given 
> the update to Rexx to support RECFM=U files and awk's native capabilities) or 
> an HLL program coded to handle U-format input can do this conversion?
>
> Any other ideas you have to help us perform the conversion without writing an 
> HLL program would be much appreciated.
>
> Peter
-- 

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


----------------------------------------------------------------------
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