Well, that's certainly pretty clear and explicit. Thanks. But unless I am 
losing my mind, that is not the behavior I am used to seeing.

It would also be nice if they put this all in one place. I have read Chapter 5, 
"Opening Files," about ten times. That's where I would expect to find 
information on, well, opening files -- not under "Performing OS I/O Operations."

I am going to play with this some more. As I say, I don't think my other 
programs see this behavior. fopen("FOO.BAR", ... tries to open FOO.BAR, not 
MYUSER.FOO.BAR. (Yes, we run RACF.)

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Norbert Friemel
Sent: Saturday, September 15, 2012 2:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: C and LE -- when prepend userid on file names?

On Fri, 14 Sep 2012 17:02:39 -0700, Charles Mills wrote:

>No doubt this is wonderfully documented somewhere but I am sitting here 
>tearing my hair out.
>
>I have a C++ *batch* program that I could not get to open a 
>conventional z/OS dataset by name to save my life until I finally 
>figured out it was prepending my userid onto the specified name a la TSO.
>
>If I have encountered this behavior before and/or how to turn it on and 
>off I have forgotten. It sure does not jump out at me from the manuals.
>
>IBM LE C running in batch: what determines whether it prepends your 
>userid onto a conventional z/OS dataset name?
>

Quote from 
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CBCPG1C0/2.9.1.1.1

"When you enclose a name in single quotation marks, the name is fully 
qualified. The file opened is the one specified by the name inside the 
quotation marks. If the name is not fully qualified, z/OS XL C/C++ does one of 
the following:

  -  If your system does not use RACF, z/OS XL C/C++ does not add a high-level 
qualifier to the name you specified.

  -  If you are running under TSO (batch or interactive), z/OS XL C/C++ appends 
the TSO user prefix to the front of the name. For example, the statement 
fopen("a.b","w"); opens a data set tsoid.A.B, where tsoid is the user prefix. 
If the name is fully qualified, z/OS XL C/C++ does not append a user prefix. 
You can set the user prefix by using the TSO PROFILE command with the PREFIX 
parameter.

  -  If you are running under z/OS batch or IMS (batch or online), z/OS XL 
C/C++ appends the RACF user ID to the front of the name."

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