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:[email protected]] On Behalf
Of Norbert Friemel
Sent: Saturday, September 15, 2012 2:45 AM
To: [email protected]
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 [email protected] with the message: INFO IBM-MAIN