On 10 December 2010 14:22, Dougie Lawson <[email protected]> wrote:
> On 10 December 2010 19:03, Tony Harminc <[email protected]> wrote:
>> Should I take it from this that a prospective user of any
>> service needs to check both the macro and the book and use the most
>> restrictive interpretation?
>
> The book will have a clear definition of what part of the interface is GUPI
> vs what part is PSPI.
Well, actually, no - the books often enough do no such thing. The Data
Areas books often (but not always) have a section in front of a data
area that says "Programming Interface Information", but as often as
not it's empty. For example, here's the entire such information for
the very first data area in the book, the Abdump Exit Parameter List
(ABEP):
2.0 ABEP Programming Interface Information
------------------ Programming Interface Information -------------------
ABEP
|--------------- End of Programming Interface Information ---------------|
So how do I interpret that? "There is no programming interface
whatsoever that involves this data area?" Or perhaps "Sorry - we
neglected to copy the PI data onto this page from the macro"?
Now one might notice that the description of the IEAVTABX exit in the
MVS Installation Exits book says that the address of an ABEP is
provided to the exit, and one might therefore *assume* that the
content of the ABEP is a PI. But there is no shortage of examples of
IBM providing a pointer to a control block in which only some fields
are PI, and in some cases only a single field out of many is a PI. (I
think the OCVT (BPXZOCVT) takes this to the limit, in that one lonely
bit of the entire structure is PI.) So what ABEP fields are PI? Who
can tell?
> GUPI == general usage programming interface
> PSPI == product specific programming interface
Yeah - I'm well familiar with those terms, though plain PI seems to be
replacing them. And some macros classify some fields as "DMTI". I've
never taken the time to try to look that one up.
> PSPI code is normally reserved for IBM internal and/or OEM vendors
> rather than end users.
>
> If you use a PSPI when it breaks because IBM have changed something
> you'll get to keep both pieces.
Of course this is the world many ISVs live in. Many things cannot be
accomplished without using such interfaces, and it is our job to keep
on top of them. That's fair enough, but it would be nice if there was
consistent labelling.
> If you don't have the right Q&A
> support contracts in place with IBM you could get a bill from your
> local software support centre when IBM have spent more than a couple
> of hours debugging your bug in your code.
I've heard this one for around 30 years now, but I've never
encountered anyone who actually got that bill and paid it. Neither
have I heard of anyone getting paid by IBM when an IBM bug consumed
hours of the customer's time. Not to say neither has happened...
Tony H.