Web Age Solutions Inc
Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA1999

Introduction to PL/I Programming Training

This 5 day course will introduce students to the skills necessary to code PL/I programs in z/OS environments.

What you will learn

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.
    • DO‑WHILE and iterative DO loop sequences.
  • Read and write sequential datasets.
  • Code user‑developed PL/I subroutines and functions.
  • 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 variables.
  • Compile and linkedit PL/I programs.

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


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.


5 Days

Outline of Introduction to PL/I Programming Training

1. Introduction to PL/I

2. PL/I Language Basics

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

3. 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

4. Conditional Processing

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

5. DO Loops

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

6. PL/I Built-in Functions

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

7. User‑defined Subroutines and Functions

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

8. Files and Stream I/O

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

9. Record I/O and Structures

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

10. Table Processing

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

11. 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
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887