By "official programming interface", I'm referring to what IBM calls 
"general-use programming interface" (GUPI), which means that IBM officially 
support that usage.  There is also "product-specific programming interface" 
(PSPI), which is a "use at your own risk" interface where they are free to 
change it, even in service updates, but they will normally call attention to 
such changes as a reminder.  GUPI and PSPI constitute intended programming 
interfaces.  Listings are not even normally considered PSPI.  Message 
identifiers (where present) can be used for programming purposes, but message 
text information is primarily documented for human reference and diagnosis 
purposes.  Automation tools often rely to some extent on message text but may 
need frequent maintenance to keep track of changes.  In some cases, products 
may make message inserts available separately, for example to user exits.

For an example of how IBM document programming interfaces, see the following 
page for Db2:

https://www.ibm.com/docs/en/db2-for-zos/13.0.0?topic=notices-programming-interface-information

IBM is obviously well aware that vendors and customers are using programs to 
process listings, messages and perform screen-scraping, so it tries to avoid 
unnecessary change and calls attention to necessary change.  However, there is 
no guarantee that changes will be compatible or that existing techniques will 
continue to be supported unless IBM explicitly documents them as a general-use 
programming interface (GUPI).

Jonathan Scott

Reply via email to