Introduction to PL/1 Programming

This 5 day class will introduce students to the skills necessary to code PL/I programs in
z/OS and OS/390 environments.  The student will learn to:

  •  Use PL/I statements to perform stream I/O.
  • Perform arithmetic calculations and character operations.
  • Use such PL/I programming constructs as; IF statements, SELECT‑WHEN constructs and Do‑WHILE and iterative DO loop sequences.
  • Read and write sequential datasets.
  • Code user‑developed PL/I subroutines and
  • Use list-directed and edit-directed stream I/O.
  • Use structures and picture variables.
  • Use record I/O.
  • Create, load, and search tables.
  • Use automatic, static, based, and controlled
  • Compile and linkedit PL/I programs.

A series of written and lab exercises will be used to reinforce the classroom


Programmer, technical support personnel, and any other individuals that need to write or maintain PL/I programs.


  • Introduction to z/OS, or equivalent experience.
  • TSO/ISPF, or equivalent experience.
  • Previous experience in designing and coding
    application programs will enhance the results of this course.

Course Agenda

Introduction to PL/I    

PL/I Language Basics   

  • Statement Syntax
  • Variables
  • Assignment Statement
  • GET LIST Statement
  • PUT LIST Statement

Compiling and Executing Your Program   

  • JCL Requirements for Compiling and Linkediting
    the Program
  • Interpreting the Compiler Output
  • PL/I Compiler Directives
  • Executing the PL/I program
  • PL/I Debugging Facilities

Conditional Processing

  • IF‑THEN‑ELSE Statement
  • Do-Groups
  • SELECT‑WHEN Sequence
  • Conditions and ON Units

DO Loops

  • Iterative DO Sequence
  • DO‑WHILE‑END Sequence
  • DO‑UNTIL Sequence
  • DO LOOP Sequence
  • LEAVE Statement
  • ITERATE Statement
  • EXIT Statement
  • GOTO Statement

PL/I Built-in Functions 

  • String Functions
  • Date/time Functions
  • Arithmetic Functions
  • Mathematical Functions
  • Array-handling Functions

User‑defined Subroutines and Functions   

  • Defining Subroutines
  • Using Subroutines
  • Defining Functions
  • Using Functions
  • External Functions
  • User-Defined Conditions

Files and Stream I/O  

  • Declaring Files
  • List-directed I/O
  • Edit-directed I/O

Record I/O and Structures

  • Declaring Files
  • READ Statement
  • WRITE Statement
  • Structures
  • Pictures

Table Processing 

  • Overview
  • Declaring Tables
  • Loading Tables
  • Searching Tables
  • Limiting Table Searches

Advanced Variable Topics

  • Unions
  • Named constants and restricted expressions
  • Scope Of Variables
  • AUTOMATIC Variables
  • STATIC Variables
  • BASED Variables
  • Pointer Variables
  • CONTROLLED Variables
  • Dynamic Arrays
  • The DATE attribute for variables

To Hire a proven PL/1 Programmer / Subject Matter Expert Consultant and Instructor that teaches this class, call 800-798-3901 today!

Leave a Reply