Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-20 Thread CenturyLink Customer
The longest record was 222 THIS TIME.  Given that they chose that specific DCB, 
you should be prepared for a different result at some future delivery.  If you 
change your VB parameters to allow a (much) longer record,  your job will 
process the current data with the same efficiency but will process later 
deliveries without the need for you to constantly check for the max record size.

- Original Message -
From: "Farley, Peter x23353" 
To: "IBM Mainframe Discussion List" 
Sent: Thursday, June 13, 2019 5:49:16 PM
Subject: Re: Is there any way to convert RECFM=U to RECFM=V with a utility or 
script?

In fact I did try it, and Rexx ignored the LRECL=200, as expected.  As I said 
in an earlier reply, the longest actual record (block) size was 222.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Thursday, June 13, 2019 5:59 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?

I would hope that REXX would ignore LRECL for RECFM=U. If you try it, please 
let us know what happens.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, June 13, 2019 5:56 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?

On Thu, 13 Jun 2019 21:03:17 +, Seymour J Metz wrote:

>> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998)
>
>Despite the LRECL, I take this to mean that the records can be up to 27998.
>
What do Rexx (and other utilities) do if a record/block exceeds 200?  Either 
for input or output.

-- 

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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-18 Thread Farley, Peter x23353
No they are not terminated with CR or LF or anything.  They are just different 
length records with no length prefix or any suffix at all in a RECFM=U file.

I was the one who suspected that the original source file from the vendor was 
from Unix somewhere due to the content.  Goal here was to get this weird format 
file loaded on our system by the vendor into something normal for z/OS, like 
RECFM=VB.

But in any case the other application team has it under their control now, so 
it is out of my hands.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
scott Ford
Sent: Tuesday, June 18, 2019 10:48 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is there any way to convert RECFM=U to RECFM=V with a utility or 
script?

Peter,

I was scanning through this thread. It sounds like the records are terminated 
with a 'CR' or 'CRLF' , i.e.;  x'0d' or x'0d0a' , is this correct

Scott

On Tue, Jun 18, 2019 at 10:14 AM Paul Gilmartin < 
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Tue, 18 Jun 2019 03:43:18 +, Farley, Peter x23353 wrote:
>
> >Very interesting.  Collapsing the two steps and eliminating the
> intermediate Unix file also works, but I do have explicit DCB 
> information in the JCL for both SYSUT1 and SYSUT2, so maybe that's 
> what makes the IEBGENER process work here.
> >
> An early ply in this thread mentioned that the source of the data 
> appeared to be UNIX.
> Many followups assumed you wanted to reload to UNIX.
>
> >I had been told by the coworker who solicited my help that they had
> already tried IEBGENER to copy the file and that it failed, but I 
> should have asked to see the job.  I'll remember that.
> >
> It has been my experience that if no DCB information is available for
> SYSUT2 it will
> all be copied from SYSUT1.  If partial DCB information is available 
> for SYSUT2, IEBGENER reports an error.
>
--

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-18 Thread scott Ford
Peter,

I was scanning through this thread. It sounds like the records are
terminated with a 'CR' or 'CRLF' , i.e.;  x'0d' or x'0d0a' , is this correct

Scott

On Tue, Jun 18, 2019 at 10:14 AM Paul Gilmartin <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Tue, 18 Jun 2019 03:43:18 +, Farley, Peter x23353 wrote:
>
> >Very interesting.  Collapsing the two steps and eliminating the
> intermediate Unix file also works, but I do have explicit DCB information
> in the JCL for both SYSUT1 and SYSUT2, so maybe that's what makes the
> IEBGENER process work here.
> >
> An early ply in this thread mentioned that the source of the data appeared
> to be UNIX.
> Many followups assumed you wanted to reload to UNIX.
>
> >I had been told by the coworker who solicited my help that they had
> already tried IEBGENER to copy the file and that it failed, but I should
> have asked to see the job.  I'll remember that.
> >
> It has been my experience that if no DCB information is available for
> SYSUT2 it will
> all be copied from SYSUT1.  If partial DCB information is available for
> SYSUT2,
> IEBGENER reports an error.
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 



*IDMWORKS *

Scott Ford

z/OS Dev.




“By elevating a friend or Collegue you elevate yourself, by demeaning a
friend or collegue you demean yourself”



www.idmworks.com

scott.f...@idmworks.com

Blog: www.idmworks.com/blog





*The information contained in this email message and any attachment may be
privileged, confidential, proprietary or otherwise protected from
disclosure. If the reader of this message is not the intended recipient,
you are hereby notified that any dissemination, distribution, copying or
use of this message and any attachment is strictly prohibited. If you have
received this message in error, please notify us immediately by replying to
the message and permanently delete it from your computer and destroy any
printout thereof.*

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-18 Thread Paul Gilmartin
On Tue, 18 Jun 2019 03:43:18 +, Farley, Peter x23353 wrote:

>Very interesting.  Collapsing the two steps and eliminating the intermediate 
>Unix file also works, but I do have explicit DCB information in the JCL for 
>both SYSUT1 and SYSUT2, so maybe that's what makes the IEBGENER process work 
>here.
>
An early ply in this thread mentioned that the source of the data appeared to 
be UNIX.
Many followups assumed you wanted to reload to UNIX.

>I had been told by the coworker who solicited my help that they had already 
>tried IEBGENER to copy the file and that it failed, but I should have asked to 
>see the job.  I'll remember that.
>
It has been my experience that if no DCB information is available for SYSUT2 it 
will
all be copied from SYSUT1.  If partial DCB information is available for SYSUT2,
IEBGENER reports an error.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-17 Thread Farley, Peter x23353
Very interesting.  Collapsing the two steps and eliminating the intermediate 
Unix file also works, but I do have explicit DCB information in the JCL for 
both SYSUT1 and SYSUT2, so maybe that's what makes the IEBGENER process work 
here.

I had been told by the coworker who solicited my help that they had already 
tried IEBGENER to copy the file and that it failed, but I should have asked to 
see the job.  I'll remember that.

Thanks for the suggestion.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Paul Gilmartin
Sent: Monday, June 17, 2019 9:10 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?

On Tue, 18 Jun 2019 00:31:31 +, Farley, Peter x23353 wrote:

>Finally got my mount issue straightened out and got to try your suggestion. 
>IDCAMS REPRO gave errors trying to copy to the Unix output file, but IEBGENER 
>worked just fine.
>
>This did not work:
>
>//STEP0100 EXEC PGM=IDCAMS
>//SYSPRINT DD SYSOUT=*
>//INP  DD DISP=SHR,DSN=weird.recfmu.file,  
>//RECFM=U,LRECL=222,BLKSIZE=222   
>//OUT  DD PATH='/tmp/TMPFILE',   
>//FILEDATA=TEXT,PATHDISP=(KEEP,DELETE),   
>//PATHOPTS=(OWRONLY,OCREAT)   
>//SYSINDD *   
>  REPRO INFILE(INP) OUTFILE(OUT) REUSE
>//   
My experience is that IDCAMS requires DCB information on both INP and OUT.
It will not copy as IEBGENER does.  However, it will convert the format if the
information is available.

>IEBGENER with similar JCL works though:
>
>//STEP0100 EXEC PGM=IEBGENER
>//SYSPRINT DD SYSOUT=*  
>//SYSUT1   DD DISP=SHR,DSN= weird.recfmu.file,
>//RECFM=U,LRECL=222,BLKSIZE=222 
>//SYSUT2   DD PATH='/tmp/TMPFILE', 
>//FILEDATA=TEXT,PATHDISP=(KEEP,DELETE), 
>//PATHOPTS=(OWRONLY,OCREAT) 
>//SYSINDD DUMMY 
>//* 
>//STEP0200 EXEC PGM=IEBGENER
>//SYSPRINT DD SYSOUT=*  
>//SYSUT1   DD PATH='/tmp/TMPFILE', 
>//FILEDATA=TEXT,PATHDISP=(DELETE,KEEP), 
>//PATHOPTS=(ORDONLY),   
>//RECFM=V,BLKSIZE=254   
>//SYSUT2   DD  DISP=(NEW,CATLG,CATLG),
>// DSN=not.weird.vb.copy,
>// UNIT=SYSDA,SPACE=(CYL,(20,20),RLSE),  
>// DSORG=PS,RECFM=VB,LRECL=254,BLKSIZE=0
>//SYSINDD DUMMY 
>//*
What happens if you coalesce the steps and omit the UNIX temp file?

I wonder where it gets LRECL for STEP0200 SYSUT1?

-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-17 Thread Paul Gilmartin
On Tue, 18 Jun 2019 00:31:31 +, Farley, Peter x23353 wrote:

>Finally got my mount issue straightened out and got to try your suggestion. 
>IDCAMS REPRO gave errors trying to copy to the Unix output file, but IEBGENER 
>worked just fine.
>
>This did not work:
>
>//STEP0100 EXEC PGM=IDCAMS
>//SYSPRINT DD SYSOUT=*
>//INP  DD DISP=SHR,DSN=weird.recfmu.file,  
>//RECFM=U,LRECL=222,BLKSIZE=222   
>//OUT  DD PATH='/tmp/TMPFILE',   
>//FILEDATA=TEXT,PATHDISP=(KEEP,DELETE),   
>//PATHOPTS=(OWRONLY,OCREAT)   
>//SYSINDD *   
>  REPRO INFILE(INP) OUTFILE(OUT) REUSE
>//   
My experience is that IDCAMS requires DCB information on both INP and OUT.
It will not copy as IEBGENER does.  However, it will convert the format if the
information is available.

>IEBGENER with similar JCL works though:
>
>//STEP0100 EXEC PGM=IEBGENER
>//SYSPRINT DD SYSOUT=*  
>//SYSUT1   DD DISP=SHR,DSN= weird.recfmu.file,
>//RECFM=U,LRECL=222,BLKSIZE=222 
>//SYSUT2   DD PATH='/tmp/TMPFILE', 
>//FILEDATA=TEXT,PATHDISP=(KEEP,DELETE), 
>//PATHOPTS=(OWRONLY,OCREAT) 
>//SYSINDD DUMMY 
>//* 
>//STEP0200 EXEC PGM=IEBGENER
>//SYSPRINT DD SYSOUT=*  
>//SYSUT1   DD PATH='/tmp/TMPFILE', 
>//FILEDATA=TEXT,PATHDISP=(DELETE,KEEP), 
>//PATHOPTS=(ORDONLY),   
>//RECFM=V,BLKSIZE=254   
>//SYSUT2   DD  DISP=(NEW,CATLG,CATLG),
>// DSN=not.weird.vb.copy,
>// UNIT=SYSDA,SPACE=(CYL,(20,20),RLSE),  
>// DSORG=PS,RECFM=VB,LRECL=254,BLKSIZE=0
>//SYSINDD DUMMY 
>//*
What happens if you coalesce the steps and omit the UNIX temp file?

I wonder where it gets LRECL for STEP0200 SYSUT1?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-17 Thread Farley, Peter x23353
Finally got my mount issue straightened out and got to try your suggestion. 
IDCAMS REPRO gave errors trying to copy to the Unix output file, but IEBGENER 
worked just fine.

This did not work:

//STEP0100 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=SHR,DSN=weird.recfmu.file,  
//RECFM=U,LRECL=222,BLKSIZE=222   
//OUT  DD PATH='/tmp/TMPFILE',   
//FILEDATA=TEXT,PATHDISP=(KEEP,DELETE),   
//PATHOPTS=(OWRONLY,OCREAT)   
//SYSINDD *   
  REPRO INFILE(INP) OUTFILE(OUT) REUSE
//

Results in this message in JESMSGLG:

IEC141I 013-34,IGG0199G,TSOUSER9,STEP0100,OUT

And these messages in SYSPRINT:

  REPRO INFILE(INP) OUTFILE(OUT) REUSE
IDC3300I  ERROR OPENING ...PATH=.SPECIFIED... 
IDC3321I ** OPEN/CLOSE/EOV ABEND EXIT TAKEN   
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC3003I FUNCTION TERMINATED. CONDITION CODE IS 12

IEBGENER with similar JCL works though:

//STEP0100 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*  
//SYSUT1   DD DISP=SHR,DSN= weird.recfmu.file,
//RECFM=U,LRECL=222,BLKSIZE=222 
//SYSUT2   DD PATH='/tmp/TMPFILE', 
//FILEDATA=TEXT,PATHDISP=(KEEP,DELETE), 
//PATHOPTS=(OWRONLY,OCREAT) 
//SYSINDD DUMMY 
//* 
//STEP0200 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*  
//SYSUT1   DD PATH='/tmp/TMPFILE', 
//FILEDATA=TEXT,PATHDISP=(DELETE,KEEP), 
//PATHOPTS=(ORDONLY),   
//RECFM=V,BLKSIZE=254   
//SYSUT2   DD  DISP=(NEW,CATLG,CATLG),
// DSN=not.weird.vb.copy,
// UNIT=SYSDA,SPACE=(CYL,(20,20),RLSE),  
// DSORG=PS,RECFM=VB,LRECL=254,BLKSIZE=0
//SYSINDD DUMMY 
//* 

The "not.weird.vb.copy" file comes out as a normal VB file with all the right 
BDW/RDW prefixes and no LF or NL or other line delimiters at the end.

Thank you!

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Farley, Peter x23353
Sent: Wednesday, June 12, 2019 7:24 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?

Tried that too, but apparently my HFS file is having some trouble being mounted 
and I have to get the storage guys involved to fix it.  Bureaucratic nightmare.

When that's fixed I will definitely try it, thanks for the suggestion.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
John McKown
Sent: Wednesday, June 12, 2019 4:51 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?

EXTERNAL EMAIL

Copy it to a UNIX file with FILEDATA=TEXT using IENGENER or other. Then copy it 
back to a PS dataset with appreciate LRECL and RECFM. The first step will copy 
each physical record to UNIX, and put a LF at the end to be a regular UNIX text 
file. The second step will copy the UNIX file back to FB or VB. If FB, it will 
pad with space. If VB, it will put the right LLBB at the front.

On Wed, Jun 12, 2019, 14:06 Farley, Peter x23353 < peter.far...@broadridge.com> 
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, 

Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-14 Thread Ed Jaffe

On 6/14/2019 8:08 AM, Paul Gilmartin wrote:


Is LRECL allowed to be greater than BLKSIZE?  I could imagine coding
 RECFM=U,BLKSIZE=1000,LRECL=1
to indicate that each logical record is divided into 10 blocks with no RDW.



LRECL=X (undefined or variable-spanned) lets you have literally any 
length record composed of sub-segments.



--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-14 Thread Paul Gilmartin
On Fri, 14 Jun 2019 10:46:40 -0400, Steve Smith wrote:

>+1  LRECL for RECFM=U is basically meaningless, and seems to have no
>function other than to cause WRNG.LN.ERORS (sick (sic- it's a joke)).
> 
Is LRECL allowed to be greater than BLKSIZE?  I could imagine coding
RECFM=U,BLKSIZE=1000,LRECL=1
to indicate that each logical record is divided into 10 blocks with no RDW.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-14 Thread Steve Smith
+1  LRECL for RECFM=U is basically meaningless, and seems to have no
function other than to cause WRNG.LN.ERORS (sick (sic- it's a joke)).

sas

On Fri, Jun 14, 2019 at 10:19 AM Paul Gilmartin <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Fri, 14 Jun 2019 00:48:06 +, Farley, Peter x23353 wrote:
>
> >For RECFM=U it is not the LRECL that governs I/O behavior it is the
> BLKSIZE (I believe that LRECL is ignored for U), so in this particular case
> anything up to 27998 would be legal and allowed.
> >
> To avoid confusion, and to avoid this tedious discussion, it should have
> been
> a syntactic rule that for RECFM=U, LRECL must equal BLKSIZE, enforced for
> RECFM=U even as it's enforced for RECFM=F.
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
sas

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-14 Thread Paul Gilmartin
On Fri, 14 Jun 2019 00:48:06 +, Farley, Peter x23353 wrote:

>For RECFM=U it is not the LRECL that governs I/O behavior it is the BLKSIZE (I 
>believe that LRECL is ignored for U), so in this particular case anything up 
>to 27998 would be legal and allowed.
>
To avoid confusion, and to avoid this tedious discussion, it should have been
a syntactic rule that for RECFM=U, LRECL must equal BLKSIZE, enforced for
RECFM=U even as it's enforced for RECFM=F.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Mike Schwab
Would an IND$FILE transfer work with the CRLF option without the ASCII option?

On Fri, Jun 14, 2019 at 12:49 AM Farley, Peter x23353
 wrote:
>
> In fact I did try it, and Rexx ignored the LRECL=200, as expected.  As I said 
> in an earlier reply, the longest actual record (block) size was 222.
>
> Peter
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> Seymour J Metz
> Sent: Thursday, June 13, 2019 5:59 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?
>
> I would hope that REXX would ignore LRECL for RECFM=U. If you try it, please 
> let us know what happens.
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
> Sent: Thursday, June 13, 2019 5:56 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?
>
> On Thu, 13 Jun 2019 21:03:17 +, Seymour J Metz wrote:
>
> >> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998)
> >
> >Despite the LRECL, I take this to mean that the records can be up to 27998.
> >
> What do Rexx (and other utilities) do if a record/block exceeds 200?  Either 
> for input or output.
>
> --
>
> 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



-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Farley, Peter x23353
In fact I did try it, and Rexx ignored the LRECL=200, as expected.  As I said 
in an earlier reply, the longest actual record (block) size was 222.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Thursday, June 13, 2019 5:59 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?

I would hope that REXX would ignore LRECL for RECFM=U. If you try it, please 
let us know what happens.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, June 13, 2019 5:56 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?

On Thu, 13 Jun 2019 21:03:17 +, Seymour J Metz wrote:

>> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998)
>
>Despite the LRECL, I take this to mean that the records can be up to 27998.
>
What do Rexx (and other utilities) do if a record/block exceeds 200?  Either 
for input or output.

-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Farley, Peter x23353
For RECFM=U it is not the LRECL that governs I/O behavior it is the BLKSIZE (I 
believe that LRECL is ignored for U), so in this particular case anything up to 
27998 would be legal and allowed.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Paul Gilmartin
Sent: Thursday, June 13, 2019 5:56 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?

On Thu, 13 Jun 2019 21:03:17 +, Seymour J Metz wrote:

>> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998)
>
>Despite the LRECL, I take this to mean that the records can be up to 27998.
> 
What do Rexx (and other utilities) do if a record/block exceeds 200?  Either 
for input or output.

-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Farley, Peter x23353
In principle I agree, but in this case recording the maximum length of all 
records during the Rexx conversion process showed none longer than 222.

Whether the vendor records will always stay within that limit is of course 
unknown to me since I do not know the vendor or the product.

The team actually using the vendor and their file have it In their court now, 
so my part is done.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Thursday, June 13, 2019 5:03 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?

> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998)

Despite the LRECL, I take this to mean that the records can be up to 27998.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter x23353 
Sent: Wednesday, June 12, 2019 7:08 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?

Hi Sri,

Tried that, the first step works without a problem but the second one fails 
with a SYNAD error, "WRNG.LN.RECORD".  I found out that some of the records are 
actually up to 225 or so bytes, and changed the "200" values to 250 but still 
got the SYNAD error.

The actual physical records are varying length but with no BDW/RDW prefix, the 
physical blocks are no more than about 225 bytes long, some as short as 50 
bytes or so.

A Rexx script did the job with no errors though.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Sri 
h Kolusu
Sent: Wednesday, June 12, 2019 3:21 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?

EXTERNAL EMAIL

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

Peter,

Give this JCL a try and see if it works for you

//***
//* COPY RECFM=U TO MATCH THE LRECL AND BLKSIZE *
//***
//STEP0100 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=SHR,DSN=Your input RECFM=U file,
//RECFM=U,LRECL=200,BLKSIZE=27998
//OUT  DD DSN=&,DISP=(,PASS),SPACE=(CYL,(5,5),RLSE),
//RECFM=U,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*
//***
//* OVERRIDE THE LRECL AND RECFM FOR THE COPIED JCL TO FORMAT   *
//* IT TO 200 BYTE output   *
//***
//STEP0200 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=(OLD,PASS),DSN=&,LRECL=200,RECFM=FB,BLKSIZE=27800
//OUT  DD SYSOUT=*,LRECL=200,RECFM=FB,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*


Thanks,
Kolusu
-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Seymour J Metz
I would hope that REXX would ignore LRECL for RECFM=U. If you try it, please 
let us know what happens.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, June 13, 2019 5:56 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?

On Thu, 13 Jun 2019 21:03:17 +, Seymour J Metz wrote:

>> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998)
>
>Despite the LRECL, I take this to mean that the records can be up to 27998.
>
What do Rexx (and other utilities) do if a record/block exceeds 200?  Either
for input or output.

-- gil

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Paul Gilmartin
On Thu, 13 Jun 2019 21:03:17 +, Seymour J Metz wrote:

>> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998) 
>
>Despite the LRECL, I take this to mean that the records can be up to 27998.
> 
What do Rexx (and other utilities) do if a record/block exceeds 200?  Either
for input or output.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Seymour J Metz
> DCB=(RECFM=U,LRECL=200,BLKSIZE=27998) 

Despite the LRECL, I take this to mean that the records can be up to 27998.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter x23353 
Sent: Wednesday, June 12, 2019 7:08 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?

Hi Sri,

Tried that, the first step works without a problem but the second one fails 
with a SYNAD error, "WRNG.LN.RECORD".  I found out that some of the records are 
actually up to 225 or so bytes, and changed the "200" values to 250 but still 
got the SYNAD error.

The actual physical records are varying length but with no BDW/RDW prefix, the 
physical blocks are no more than about 225 bytes long, some as short as 50 
bytes or so.

A Rexx script did the job with no errors though.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Sri 
h Kolusu
Sent: Wednesday, June 12, 2019 3:21 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?

EXTERNAL EMAIL

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

Peter,

Give this JCL a try and see if it works for you

//***
//* COPY RECFM=U TO MATCH THE LRECL AND BLKSIZE *
//***
//STEP0100 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=SHR,DSN=Your input RECFM=U file,
//RECFM=U,LRECL=200,BLKSIZE=27998
//OUT  DD DSN=&,DISP=(,PASS),SPACE=(CYL,(5,5),RLSE),
//RECFM=U,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*
//***
//* OVERRIDE THE LRECL AND RECFM FOR THE COPIED JCL TO FORMAT   *
//* IT TO 200 BYTE output   *
//***
//STEP0200 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=(OLD,PASS),DSN=&,LRECL=200,RECFM=FB,BLKSIZE=27800
//OUT  DD SYSOUT=*,LRECL=200,RECFM=FB,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*


Thanks,
Kolusu


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-13 Thread Wayne Bickerdike
Peter said...
*Yes, I did one in Rexx and it worked without an issue.*

Well done. I was a bit glib about 2 lines. One at a time is always safer.

I'm always amazed how REXX can crunch these oddball files.

Off topic but I've had some great success with SDSF RGEN this week. Solved
an issue we've had for months...




On Thu, Jun 13, 2019 at 9:31 AM Farley, Peter x23353 <
peter.far...@broadridge.com> wrote:

> That wouldn't work here I'm afraid.  Nothing against Paul, he does some
> amazing stuff,  just not here.
>
> Peter
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Mike Schwab
> Sent: Wednesday, June 12, 2019 6:58 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?
>
> I think Paul wrote one for his MVS 380 project.
>
> On Wed, Jun 12, 2019 at 10:43 PM Tom Marchant
> <000a2a8c2020-dmarc-requ...@listserv.ua.edu> wrote:
> >
> > On Wed, 12 Jun 2019 19:05:55 +, Farley, Peter x23353wrote:
> >
> > >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.
> >
> > No binary data at all?
> > ASCII or EBCDIC text? Or perhaps Unicode?
> > Or is it text with CR LF or something to delineate the records?
> > If not, how can you tell that the records are up to 200 bytes?
> >
> > Sorry, no answers, just questions.
> >
> > --
> > Tom Marchant
> --
>
> 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
>


-- 
Wayne V. Bickerdike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
That wouldn't work here I'm afraid.  Nothing against Paul, he does some amazing 
stuff,  just not here.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Mike Schwab
Sent: Wednesday, June 12, 2019 6:58 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?

I think Paul wrote one for his MVS 380 project.

On Wed, Jun 12, 2019 at 10:43 PM Tom Marchant
<000a2a8c2020-dmarc-requ...@listserv.ua.edu> wrote:
>
> On Wed, 12 Jun 2019 19:05:55 +, Farley, Peter x23353wrote:
>
> >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.
>
> No binary data at all?
> ASCII or EBCDIC text? Or perhaps Unicode?
> Or is it text with CR LF or something to delineate the records?
> If not, how can you tell that the records are up to 200 bytes?
>
> Sorry, no answers, just questions.
>
> --
> Tom Marchant
-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
Yes, definitely no binary data at all, no trailing CR or NL or LF at all.

I guessed at the max size by browsing the file in HEX mode (too big to EDIT in 
TSO), and browse in HEX shows you where the physical end of the record is.

And I did find some records longer than 200, max about 225, so I had to 
increase the final VB LRECL to 250 to accommodate all of them.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Tom 
Marchant
Sent: Wednesday, June 12, 2019 6:43 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?

On Wed, 12 Jun 2019 19:05:55 +, Farley, Peter x23353wrote:

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

No binary data at all?
ASCII or EBCDIC text? Or perhaps Unicode?
Or is it text with CR LF or something to delineate the records?
If not, how can you tell that the records are up to 200 bytes?

Sorry, no answers, just questions.

-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
Tried that too, but apparently my HFS file is having some trouble being mounted 
and I have to get the storage guys involved to fix it.  Bureaucratic nightmare.

When that's fixed I will definitely try it, thanks for the suggestion.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
John McKown
Sent: Wednesday, June 12, 2019 4:51 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?

EXTERNAL EMAIL

Copy it to a UNIX file with FILEDATA=TEXT using IENGENER or other. Then
copy it back to a PS dataset with appreciate LRECL and RECFM. The first
step will copy each physical record to UNIX, and put a LF at the end to be
a regular UNIX text file. The second step will copy the UNIX file back to
FB or VB. If FB, it will pad with space. If VB, it will put the right LLBB
at the front.

On Wed, Jun 12, 2019, 14:06 Farley, Peter x23353 <
peter.far...@broadridge.com> 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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
Well, 6 lines (DO WHILE RC = 0 ... END added for one-record-at-a-time 
processing, plus 2 EXECIO ... (FINIS at the end.

Overkill, I know, but that's just me.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Wayne Bickerdike
Sent: Wednesday, June 12, 2019 4:32 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?

Hmmm,

2 ines of REXX in batch, a couple more if run interactively for the ALLOC
statements...

On Thu, Jun 13, 2019 at 5:21 AM Sri h Kolusu  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).
>
> Peter,
>
> Give this JCL a try and see if it works for you
>
> //***
> //* COPY RECFM=U TO MATCH THE LRECL AND BLKSIZE *
> //***
> //STEP0100 EXEC PGM=IDCAMS
> //SYSPRINT DD SYSOUT=*
> //INP  DD DISP=SHR,DSN=Your input RECFM=U file,
> //RECFM=U,LRECL=200,BLKSIZE=27998
> //OUT  DD DSN=&,DISP=(,PASS),SPACE=(CYL,(5,5),RLSE),
> //RECFM=U,BLKSIZE=27800
> //SYSINDD *
>   REPRO INFILE(INP) OUTFILE(OUT)
> //*
> //***
> //* OVERRIDE THE LRECL AND RECFM FOR THE COPIED JCL TO FORMAT   *
> //* IT TO 200 BYTE output   *
> //***
> //STEP0200 EXEC PGM=IDCAMS
> //SYSPRINT DD SYSOUT=*
> //INP  DD DISP=(OLD,PASS),DSN=&,LRECL=200,RECFM=FB,BLKSIZE=27800
> //OUT  DD SYSOUT=*,LRECL=200,RECFM=FB,BLKSIZE=27800
> //SYSINDD *
>   REPRO INFILE(INP) OUTFILE(OUT)
> //*
>
>
> Thanks,
> Kolusu
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
-- 

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
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  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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
Hi Sri,

Tried that, the first step works without a problem but the second one fails 
with a SYNAD error, "WRNG.LN.RECORD".  I found out that some of the records are 
actually up to 225 or so bytes, and changed the "200" values to 250 but still 
got the SYNAD error.

The actual physical records are varying length but with no BDW/RDW prefix, the 
physical blocks are no more than about 225 bytes long, some as short as 50 
bytes or so.

A Rexx script did the job with no errors though.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Sri 
h Kolusu
Sent: Wednesday, June 12, 2019 3:21 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?

EXTERNAL EMAIL

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

Peter,

Give this JCL a try and see if it works for you

//***
//* COPY RECFM=U TO MATCH THE LRECL AND BLKSIZE *
//***
//STEP0100 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=SHR,DSN=Your input RECFM=U file,
//RECFM=U,LRECL=200,BLKSIZE=27998
//OUT  DD DSN=&,DISP=(,PASS),SPACE=(CYL,(5,5),RLSE),
//RECFM=U,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*
//***
//* OVERRIDE THE LRECL AND RECFM FOR THE COPIED JCL TO FORMAT   *
//* IT TO 200 BYTE output   *
//***
//STEP0200 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=(OLD,PASS),DSN=&,LRECL=200,RECFM=FB,BLKSIZE=27800
//OUT  DD SYSOUT=*,LRECL=200,RECFM=FB,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*


Thanks,
Kolusu


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Farley, Peter x23353
Yes, I did one in Rexx and it worked without an issue.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Wednesday, June 12, 2019 3:15 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?

Well, I would probably do it with assembler, but what's wrong with writing a 
REXX script? or a Perl script, for that matter?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter x23353 
Sent: Wednesday, June 12, 2019 3:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Is there any way to convert RECFM=U to RECFM=V with a utility or 
script?

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


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Mike Schwab
I think Paul wrote one for his MVS 380 project.

On Wed, Jun 12, 2019 at 10:43 PM Tom Marchant
<000a2a8c2020-dmarc-requ...@listserv.ua.edu> wrote:
>
> On Wed, 12 Jun 2019 19:05:55 +, Farley, Peter x23353wrote:
>
> >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.
>
> No binary data at all?
> ASCII or EBCDIC text? Or perhaps Unicode?
> Or is it text with CR LF or something to delineate the records?
> If not, how can you tell that the records are up to 200 bytes?
>
> Sorry, no answers, just questions.
>
> --
> Tom Marchant
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Tom Marchant
On Wed, 12 Jun 2019 19:05:55 +, Farley, Peter x23353wrote:

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

No binary data at all?
ASCII or EBCDIC text? Or perhaps Unicode?
Or is it text with CR LF or something to delineate the records?
If not, how can you tell that the records are up to 200 bytes?

Sorry, no answers, just questions.

-- 
Tom Marchant

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread John McKown
Copy it to a UNIX file with FILEDATA=TEXT using IENGENER or other. Then
copy it back to a PS dataset with appreciate LRECL and RECFM. The first
step will copy each physical record to UNIX, and put a LF at the end to be
a regular UNIX text file. The second step will copy the UNIX file back to
FB or VB. If FB, it will pad with space. If VB, it will put the right LLBB
at the front.

On Wed, Jun 12, 2019, 14:06 Farley, Peter x23353 <
peter.far...@broadridge.com> 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
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Wayne Bickerdike
Hmmm,

2 ines of REXX in batch, a couple more if run interactively for the ALLOC
statements...

On Thu, Jun 13, 2019 at 5:21 AM Sri h Kolusu  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).
>
> Peter,
>
> Give this JCL a try and see if it works for you
>
> //***
> //* COPY RECFM=U TO MATCH THE LRECL AND BLKSIZE *
> //***
> //STEP0100 EXEC PGM=IDCAMS
> //SYSPRINT DD SYSOUT=*
> //INP  DD DISP=SHR,DSN=Your input RECFM=U file,
> //RECFM=U,LRECL=200,BLKSIZE=27998
> //OUT  DD DSN=&,DISP=(,PASS),SPACE=(CYL,(5,5),RLSE),
> //RECFM=U,BLKSIZE=27800
> //SYSINDD *
>   REPRO INFILE(INP) OUTFILE(OUT)
> //*
> //***
> //* OVERRIDE THE LRECL AND RECFM FOR THE COPIED JCL TO FORMAT   *
> //* IT TO 200 BYTE output   *
> //***
> //STEP0200 EXEC PGM=IDCAMS
> //SYSPRINT DD SYSOUT=*
> //INP  DD DISP=(OLD,PASS),DSN=&,LRECL=200,RECFM=FB,BLKSIZE=27800
> //OUT  DD SYSOUT=*,LRECL=200,RECFM=FB,BLKSIZE=27800
> //SYSINDD *
>   REPRO INFILE(INP) OUTFILE(OUT)
> //*
>
>
> Thanks,
> Kolusu
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Wayne V. Bickerdike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Joel C. Ewing
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


-- 
Joel C. Ewing

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Sri h Kolusu
> 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).

Peter,

Give this JCL a try and see if it works for you

//***
//* COPY RECFM=U TO MATCH THE LRECL AND BLKSIZE *
//***
//STEP0100 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=SHR,DSN=Your input RECFM=U file,
//RECFM=U,LRECL=200,BLKSIZE=27998
//OUT  DD DSN=&,DISP=(,PASS),SPACE=(CYL,(5,5),RLSE),
//RECFM=U,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*
//***
//* OVERRIDE THE LRECL AND RECFM FOR THE COPIED JCL TO FORMAT   *
//* IT TO 200 BYTE output   *
//***
//STEP0200 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INP  DD DISP=(OLD,PASS),DSN=&,LRECL=200,RECFM=FB,BLKSIZE=27800
//OUT  DD SYSOUT=*,LRECL=200,RECFM=FB,BLKSIZE=27800
//SYSINDD *
  REPRO INFILE(INP) OUTFILE(OUT)
//*


Thanks,
Kolusu


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is there any way to convert RECFM=U to RECFM=V with a utility or script?

2019-06-12 Thread Seymour J Metz
Well, I would probably do it with assembler, but what's wrong with writing a 
REXX script? or a Perl script, for that matter?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter x23353 
Sent: Wednesday, June 12, 2019 3:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Is there any way to convert RECFM=U to RECFM=V with a utility or 
script?

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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN