Not disagreeing with Charles at all, his response in this thread triggered more thoughts on this end.

As I said privately to the OP, there are really only two options when transferring files between mainframe op sys (MVS, VM, VSE, TPF) and PC (Windoze, Mac, Linux): binary and plain text. Anything else really needs to be considered a special case. "text" should be ASCII (or a variant*) with CR/LF, "binary" means no translation and no record interpolation.

*ASCII is actually a 7-bit character set. But we commonly use ISO-8859-1, which maps almost perfectly with CP1047 on the EBCDIC side. More recently, the "ASCII" side uses UTF-8, but that's a rabbit trail we don't chase ... yet.

Now ... if someone really wants to pull down ASCII records and tack-on CR/LF, let em. But that's the exception. The point here is the _default details_ behind "text" and "binary" modes. By default, "text" implies do translate and do interpolate records at CR/LF, and, by default, "binary" implies no translation and no record markers or interpolation.

Phil, if your customer doesn't know this, you should add a paragraph or three to your maint doc. This isn't rocket surgery.


-- R; <><



On 1/17/25 12:14 PM, Charles Mills wrote:
I think the problem is that the option is confusingly named. The question is "should IND$FILE 
translate the data from ASCII to EBCDIC? Yes or No." The word "binary" implies data 
that might well contain all 256 possible 8-bit values. That might not be the case at all. Perhaps 
it is all valid ASCII characters that you simply do not want translated from ASCII to EBCDIC, as 
@Michael suggests, or perhaps the data is already in EBCDIC.

The actual IND$FILE option is ASCII, which is either specified or not specified. The 
keyword "binary" is an invention of the emulator authors.

Charles

On Thu, 16 Jan 2025 21:35:35 -0500, Phil Smith III<li...@akphs.com> wrote:

Ah, thanks, Charles (and Michael). That makes a LOT more sense. Still, it's rare enough that having 
the option there so prominently seems odd. I'd think it would be so rare that a dialog saying 
"Are you sure?" with a "Don't show this again" might be worthwhile. Of course 
that requires more tests, so maybe not...

-----Original Message-----
From: IBM Mainframe Discussion List<IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Schmitt, Michael
Sent: Thursday, January 16, 2025 8:15 PM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: File transfer question

My guess is the use case is that you have an ASCII text file, with ASCII CR/LF, 
and you want to upload it as ASCII, but have the CR/LR determine the records. I 
can think of one example right now: uploading .JSON files. When I’ve used them 
in Enterprise COBOL, they have to be ASCII.

So the Binary option is because you don’t want it to convert ASCII to EBCDIC, 
but the CR/LF is because you don’t have fixed length data; it really is a text 
file.

From: IBM Mainframe Discussion List<IBM-MAIN@LISTSERV.UA.EDU> on behalf of Phil Smith 
III<li...@akphs.com>
Reply-To: IBM Mainframe Discussion List<IBM-MAIN@LISTSERV.UA.EDU>
Date: Thursday, January 16, 2025 at 10:24 AM
To:"IBM-MAIN@LISTSERV.UA.EDU" <IBM-MAIN@LISTSERV.UA.EDU>
Subject: File transfer question

A customer just had a problem uploading some service we'd released. It was an XMIT file, and they 
did transfer it as binary F 80, but TSO RECEIVE was failing. After some tinkering and comparing 
screenshots of the file, they eventually found that they had "the CR/LF option" checked 
in their emulator, which they called "the Rocket emulator" (I suspect that is/was 
BlueZone). They sent a screenshot that shows the file transfer options: Binary vs. text, plus 
checkboxes for Append and CR/LF.

My question is: Can you devise a scenario where a binary transfer "with CR/LF" 
makes sense? I can't even think how it would decide where to put them in--it's just a 
byte stream! The only linends are whatever the native platform uses, but if it's binary 
those wouldn't seem to me to be meaningful. And of course a binary file could well have 
those bytes in the data.

Maybe I'm missing something obvious [as usual]?

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



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

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

--
-- R; <><

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