API Compatibility
Chapter 1. Application Programming Interface—Overview
Application programming interfaces (APIs) that are used on AS/400 business com-
puting systems provide paths into system functions. APIs are intended for experi-
enced application programmers who develop system-level applications and other
AS/400 applications.
In the broadest sense, AS/400 application programming interfaces (APIs) are
any formal interfaces that are intended to be used in the building of applications.
These interfaces can include such functions as:
Control language (CL) commands
High-level language (HLL) instructions
Machine Interface (MI) instructions
Exit programs
Callable Operating System/400 (OS/400) APIs, such as those discussed in the
System API Reference
, SC41-5801, and documentation for various licensed
programs.
The APIs discussed in this book are those callable and bindable OS/400 APIs and
OS/400 exit programs that are documented in the
System API Reference
.
Figure 1-1 on page 1-2 shows how APIs fit into the system structure.

API Compatibility

Original program model (OPM) APIs and Integrated Language Environment (ILE)
APIs must be compatible from one release to the next. To ensure this compat-
ibility, at least one of the following is true:
Any additional parameters for existing OPM APIs are placed after the current
parameters and are optional parameters. For example, the Move Program
Message (QMHMOVPM) API has a group of required parameters and two
groups of optional parameters.
Note: ILE APIs cannot have additional parameters added to existing APIs.
Any additional data structures are provided as a new format.
Any new information for a data structure is added at the end of that format or
replaces a field currently defined as reserved.
It is IBM's intention that the APIs will continue to work as they originally worked and
any existing applications that use the APIs will continue to work without changes.
However, significant architectural changes may necessitate incompatible changes.
Some API definitions (for example, the UNIX** type of API definitions) are estab-
lished by industry standards organizations where the degree of compatibility is
determined by the organizations.
Copyright IBM Corp. 1997 1-1