IBM Support

IBM APL2 - APL2 Version 2 Release 2 Technical Brief

Product documentation


Technical details of APL2 for mainframes, including features and system requirements.


Technical Detail

APL2 Version 2 (Program Product 5688-228)
APL2 Application Environment Version 2 (Program Product 5688-229)

Now Available - Version 2 Release 2


APL2 Version 2, developed by the APL Products and Services Team at the IBM Silicon Valley Lab in San Jose, California, provides users of IBM mainframe machines with a full-function APL2 environment for the CMS and TSO operating systems.

APL2 is a programming language useful to both application program developers and interactive end-users. Data processing professionals find APL2 to be a highly productive tool for developing both commercial and scientific applications. APL2 is also considered to be extremely effective in such diverse areas as what-if modeling, exploratory programming, interactive computing, decision support, and data analysis.

APL2 Version 2 is compatible with Workstation APL2 Version 2.0, which runs on IBM pSeries and RISC/6000 machines with AIX/6000, the Sun SPARCstation with Solaris, and personal computers with Linux or Windows. All of the APL2 systems permit transparent import and export of programs and data and allow for a high degree of application portability.


  • Features flexible, nested data structures in which each item in an array can itself be an array.
  • Uses 31-bit addressing by:
    • Allowing user workspaces to be up to nearly a gigabyte in size
    • Allowing much of the product to reside above the 16-megabyte line.
  • Provides the ability to distribute data and processing among multiple APL2 systems connected through TCP/IP. The APL2 systems on CMS, TSO, AIX, Linux, Solaris and Windows all contain the following cooperative processing features:
    • Cross-system shared variables for synchronization and data transfer in a distributed processing environment.
    • A TCP/IP socket interface for communicating with non-APL applications.
    • Program control of an APL2 session by another application or APL2 user.
    • Remote session manager capability.
  • Provides access to the IBM relational data base products (SQL/DS or DB2), both directly using the Structured Query Language, and through a callable interface to the Query Management Facility (QMF).
  • Allows an APL application in an APL2 workspace to be "packaged" and converted to a load module, known as a namespace. Namespaces have an independent name scope, improved maintenance, and, in some cases, reduced storage requirements.
  • Provides ability to call, and be called by, non-APL language programs.
  • Provides file support, including the ability to manipulate files using APL2 constructs, even if the file is larger than the workspace size.
  • Provides national language support, including:
    • Application development in 13 different national languages
    • System messages and help text in several national languages
    • DBCS support. APL2 accepts double-byte data from, and passes it to, other IBM products, and supports double-byte data in error messages, session manager logs, and copy files. The session manager, APL editors, APL statements, library commands, and relational databases provide additional DBCS support.
  • Supports use of operating system or user-written editors for editing APL2 programs
  • Is upward compatible from APL2 Version 1 and generally upward compatible from VS APL.

The APL2 Version 2 Products

The APL2 full product consists of the APL2 language, interfaces to system services, development tools (editors, session manager), and sample applications and utilities which can be imbedded in user applications.

The APL2 Application Environment consists of the APL2 language and interfaces to system services. It can be used to run applications written and packaged using the full APL2 product.

APL2 interfaces to system services are supplied as Associated Processors and Auxiliary Processors. Associated processors provide a synchronous interface to services via the name association facility of the APL2 language. Auxiliary processors provide an asynchronous interface to services using the shared variable facility.

Associated Processors Included:

REXX Processor. Allows use of REXX functions as APL2 functions, access to REXX variables, manipulation of REXX programs as APL2 arrays, and access to CMS files or MVS sequential data sets.
Calls to External Routines. Allows an APL2 program to call routines residing outside the APL2 workspace. The called routines can be written in compiled languages such as FORTRAN, Assembler, C and PL/I, or in APL2.
Files as Variables. Allows manipulation of files with APL primitives functions and operators. Files can be operating system sequential files or APL files in the same format as those accessed with AP 121.
Auxiliary Processors Included:

Host System Command processor. Supports the submission of host operating system commands from an APL2 application.
Alternate Input (Stack) processor. Allows the creation of a stack of programmable input to either APL2 or the host system.
Main Storage Access processor. Used by system programmers to obtain the contents of specified areas of main storage.
CMS file processor. Accesses records on a CMS file sequentially or directly. Files may be created, updated, or read.
QSAM File Processor. Processes sequential data files on I/O devices supported by the operating system. These devices include printers, punches, readers, disks and tapes.
TCP/IP Socket API. Passes requests to TCP/IP, which provides communication facilities across networks.
Session Manager Command processor. Allows use of APL2 session manager commands under program control.
APL2 Data File processor. Stores APL2 arrays outside the APL2 workspace in a sequential or direct access file.
VSAM File Processor. Performs file operations on entry-sequenced, key-sequenced, or relative-record VSAM files.
Text display processor. Allows reading from and writing to a formatted screen.
GDDM Processor. Passes requests to the Graphical Data Display Manager, allowing creation and printing of full-screen panels and graphical objects.
SQL Processor. Provides access to IBM relational database products DB2 (on TSO) and SQL/DS (on CMS), including remote access to distributed databases, via the SQL structured query language.
BDAM File Processor. Provides relative record access to fixed-length, unkeyed disk files on TSO.
APL2 Object Library. Provides a facility for storing APL2 arrays by name in an object file. Files created by AP 211 are directly portable across AIX, Solaris, Linux, Windows, CMS and TSO.
Technical Information

Machine Requirements:

APL2 is designed to run on any IBM mainframe system that includes the extended floating point feature and has sufficient storage to meet the combined storage requirements of the host operating system, access methods, interactive subsystem, APL2 (including the installed auxiliary processors), GDDM, and database system when used. APL2 uses the System/370 mathematical assists as available, including models with built-in square root instructions.

APL2 is designed to run on the IBM 3270 Information Display System family of products with the appropriate APL feature. For those installations and users who elect to use GDDM, APL2 also supports any additional terminals for which GDDM provides a compatible interface. APL2 should also run on other terminals or terminal emulators that are functionally equivalent.

Programming Requirements:

APL2 Version 2 Release 2 operates under the following operating system environments:

  • MVS/ESA, OS/390 and z/OS. TSO/E is required.
  • VM/ESA and z/VM.


Title Order Number
APL2 Family of Products GH21-1090
APL2 at a Glance SC26-4676
An Introduction to APL2 SH21-1073
APL2 Programming: Language Reference SH21-1061
APL2 Reference Summary SX26-3999
APL2 GRAPHPAK: User's Guide and Reference SH21-1074
APL2 Programming: Using Structured Query Language SH21-1057
APL2 Migration Guide SH21-1069
APL2 Systems Service Reference SH21-1054
APL2 Programming: Using the Supplied Routines SH21-1056
APL2 Processor Interface Reference SH21-1058
APL2 Programming: Messages and Codes SH21-1059
APL2 Installation and Customization under TSO SH21-1055
APL2 Installation and Customization under CMS SH21-1062
APL2 Diagnosis LY27-9601
APL2 Keyboard Decals SC33-0604
Additional Information

This web page is for general guidance only. All products referred to here are subject to availability. IBM, AIX, APL2, and DB2 are trademarks of the IBM Corporation. Sun and Solaris are trademarks of Sun Microsystems, Inc. Windows is a trademark of Microsoft Corporation. Linux is a trademark of Linus Torvalds.

Document information

More support for: APL2
Mainframe APL2

Software version: 2.2

Operating system(s): z/OS, z/VM

Reference #: 7050709

Modified date: 11 January 2018