Okay, I think I picture this thing. Your customers write programs. The
programs invoke, by calling your API, some function that is a part of your
product. The users who run those programs have the ability to change the
behavior of that function, let's call it making the function left-handed or
right-handed. You can't have them set the handedness by coding //S1 EXEC
PGM=USERPROG,PARM=LEFT because the customer application thinks it "owns" the
PARM=string, and in any event has no logic to parse the parm and pass it to
you on the API. So the way the user makes it left-handed is to code
//PHILLEFT DD DUMMY and your function finds that in the TIOT and operates
left-handed.

(I'm remembering Abend-Aid and parametizing it with //ABNLIGN DD DUMMY.)

The question on the table is "some of these customer programs now get run
from the USS shell. How do they define the PHILLEFT DD?"

Right?

If I'm right, then aren't UNIX environment variables the answer? I am not
much of a UNIX guy but can't the shell user set the environment variable
PHIL_HAND=LEFT without upsetting any other applecart, and then your function
could find that environment variable and operate left-handed?

Or do you want to solve this problem without actually enhancing your
function, or at least without forcing customers to upgrade your product and
re-link their programs?  You want some magic little thing they could do in
the shell that would run their application program with whatever arguments
it expects but first define PHILLEFT? You want some little "meta-program"
wrapper that would (a.) first define some specified DD as DUMMY and (b.)
then run some other named program with whatever arguments it expects and are
specified?

I'm not enough of a UNIX guy to solve that problem, but I suspect others
here are.

Or am I miles off-base?

Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Phil Smith III
Sent: Wednesday, December 07, 2016 6:01 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: DDs in USS?

Paul Gilmartin wrote:

>It's the UNIX way: lotsa little things that connect, or perhaps nest,
nicely.

 

>Can we take this out of the hypothetical arena?  May I infer that today

>the "application" is being happily called from JCL or TSO, and a user 
>who

>wishes to enable the option adds a DD statement to JCL or an ALLOCATE

>to TSO?

 

>Is the application in LINKLIST?  STEPLIB?  Elsewhere (specify)  
>LINKLIST

>is the only easy case.  It's always pretty hard to change STEPLIB.  I

>might be able to suggest a way; another doll I haven't played with.  
>But

>not if it's a STEPLIB involving uncatalogued data sets.

 

>And you want to make this application available under UNIX with as

>little cognitive dissonance to the user as possible?

 

It's not a specific application: we have an API that any random application
can use. So yes, today there are applications that are being happily called
from wherever. They want to add calls to our API, so they do so. Sometimes
they need to enable things via the DD DUMMY. And yes, cognitive dissonance
is what we'd like to avoid! Not sure what LINKLIST and STEPLIB have to do
with anything here-those aren't the DD involved.

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