There are a lot of commands in TSO and some started tasks which allow
specification of a dataset name as an output. Some examples would be XD
in TSO SDSF. Or the ODS parameter on many DFHSM commands.

But there are times when I would wish that I could direct the output to
a UNIX file instead of a sequential file. In a flash of insight or
insanity, I thought of the IEFDB401 dynamic allocation exit. One use of
this exit is to modify, add, and/or delete text units from a dynamic
allocation. Well, would it be possible to look at a DSN in a dynamic
allocation request and modify the text units so that some pattern
triggers a change to temporarily remove the DSN & DISP text units and
replace them with a set of PATH, PATHMODE, PATHOPTS, PATHDISP, and
FILEDATA parameters.

I know this would not be easy. First is how to tell if a substitution is
desired? I had first thought of seeing if the DSN starts with a slash.
But that's not valid in a DSN (usually) and most commands validate the
DSN and reject it out-of-hand if it is invalid. So we need some way to
figure out how to trigger. Next idea: a hard-coded HLQ which is used for
no other purpose. Perhaps @UNIX. ? But now, the really had part. How to
map the rest of the DSN to a UNIX path and file name. So I thought, why
not a special node, say @, which separates the path from the file name?
So a DSN is parsed @UNIX.<path>....@.<filename> . We're still a bit stuck
because all the letters in a z/OS dataset name are usually UPPER CASE
whereas most letters in a UNIX file name are lower case. And we can't
easily map special characters which are invalid in a DSN. So, for those
invalid charaters: sorry, can't use them. But we now need a way to map
the <path> to an actual UNIX pathname. It needs to be a "low cost"
method. Perhaps an STC which implements a PC which does a in-memory look
from a table which is loaded into memory and does a binary search to do
the map. If the map fails, the result in the IEFDB401 routine is to "do
nothing" to the request and let it go through as-is. We could determine
to either leave the UNIX file name "as is" in UPPER CASE or
unconditionally translate it to lower case.

Am I serious? Well, likely not. But I really would like many TSO and
other "commands" to be able to output to a UNIX file. Why? So that I can
look at the output "on the fly" using OBROWSE or tail. What really
started this is that I am doing a massive DFHSM recycle right now. About
4,000 tapes worth. My command was like:

F DFHSM,RECYCLE ALL PERCENTVALID(2) ODS(SOME.DATA.SET.NAME)

But SOME.DATA.SET.NAME is allocated DISP=MOD and I cannot view it until
the command completes. I know that I can see these messages in the DFHSM
JESMSGLG or even the z/OS SYSLOG or OPERLOG. But this is not always true
with some other commands. 

And my other main desire is to direct SDSF's XD to a UNIX file. And I
don't want to first put it in a sequential file and then copy it. Nor do
I want to SE and use EDIT to put it into a UNIX file either. Yea - I'm
being a bit unreasonable. Perhaps SDSF could use an XU command? OK - I
could use the XF command and use the standard TSO ALLOCATE to allocate
the DDNAME to a UNIX file. I'm lazy, sue me. I guess what I'll do, for
now, is write an ISPF REXX dialog "ALCUNIX" to put up a panel to take in
my UNIX data and do a TSO ALLOCATE. <sigh> I'm just too lazy for my own
good, sometimes.

And it still doesn't address the general case of how to direct output
from a program which only supports dynamic allocation of a sequential
dataset to a UNIX file. Maybe I'd like do to the same for INPUT as well
as output? But then I have problems with LRECL, RECFM, and other DCB
parameters. Which could also bite me with an OUTPUT dataset too, I
guess.

Well, feeling free to ignore me if you think this is stupid. Or just say
that it isn't worth the effort. 

-- 
John McKown
Maranatha! <><

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to