There's a big difference between stuff that can be used in practice for programming purposes and official programming interfaces, which are expected to be long-term stable. It's only a programming interface if it is documented as such.
Compiler listings for C and PL/I are clearly documented as not being programming interfaces in IBM Docs as follows: > Note: Although the compiler listing is for your use, it is not a programming > interface and is subject to change. Example: https://www.ibm.com/docs/en/zos/3.1.0?topic=options-using-zos-xl-c-compiler-listing I can't find any similar statement regarding messages in general, although some older messages manuals contain what appears to be a boilerplate "Programming Interface Information" section, for example as follows from the "z/OS V1R5.0 DFSORT Messages, Codes and Diagnosis Guide": > Programming Interface Information > > This publication primarily documents information that is NOT intended to be > used as > Programming Interfaces of DFSORT. > > This publication also documents intended Programming Interfaces that allow the > customer to write programs to obtain the services of DFSORT. This information > is > identified where it occurs, either by an introductory statement to a chapter > or > section or by the following marking: > +---Programming Interface information---+ > +---End of Programming Interface information---+ In this case, there is no occurrence of the "Programming Interface Information" markings in the book. Message identifiers are expected to be stable enough to be used for product-specific programming purposes, but I would certainly not rely on the exact text of a message (especially as for many products it can be in multiple languages). Jonathan Scott