E720: Topical Outline


  • Computer Exercise:Course Setup

Built-in functions

  • General syntax
  • Arithmetic and precision-handling built-in functions
  • String-handling built-in functions and pseudovariables
  • Array-handling built-in functions
  • Mathematical built-in functions
  • Date / time built-in functions
  • Miscellaneous built-in functions
  • Computer Exercise:String handling with built-in functions

Varying length string processing
The PL/I compiler

  • Cataloged procedures
  • Program preparation files
  • Compiler parameters


  • Invocation
  • Arguments and parameters
  • Dummy arguments

The Program Binder

  • Case study
  • Control statements
  • Parameters

Obtaining PARM data from the EXEC statement

  • Computer Exercise:Working with subroutines

Behind the scenes

  • Object modules
  • Load modules

Module maintenance 1 – Replacing a subroutine
User-written Functions

Built-in subroutines

  • Computer Exercise:Maintaining a subroutine

Module Maintenance 2 – Dynamic calls

  • Bind alternatives
  • DLLs

Memory issues

z/OS memory organization

  • Computer Exercise:A fetching program


  • Enabling / Disabling
  • User condition handling
  • Data handling, I/O, program checkout, and miscellaneous conditions
  • Using conditions

Variable record format files

  • Physical layout
  • Self-defining data
  • How you work with variable length records in PL/I
  • Computer Exercise:Variable length records

Storage management

  • Scope attributes: INTERNAL and EXTERNAL
  • Scope Rules
  • Stacks and DSAs

ALLOCATE/FREE for controlled variables
Pointers and based variables

  • Locate Mode I/O
  • Computer Exercise:Locate mode input/output

ALLOCATE for BASED Variables

Free for BASED Variables
List processing

  • Types
  • How to do list processing in PL/I
  • List processing pseudo-code
  • Computer Exercise:List processing


  • Introduction
  • Areas and storage classes
  • Extents
  • Area I/O
  • Offsets
  • Area built-in functions
  • The AREA condition

Storage and pointer built-in functions
Storage and pointer built-in subroutines

  • Computer Exercise:Areas, offsets, and sorted list processing

The PL/I Preprocessor – overview
Including files

The preprocessors: Include, Macro, SQL, and CICS
The Macro preprocessor

  • Compiler parameters
  • Compiler directives
  • Preprocessor variables
  • Preprocessor statements
  • Preprocessor built-in functions
  • Preprocessor procedures
  • Computer Exercise:Using the preprocessor

Stream I/O

  • Declaring stream files
  • Print files
  • Data directed I/O – GET DATA / PUT DATA
  • List directed I/O – GET LIST / PUT LIST
  • Edit directed /IO – GET EDIT / PUT EDIT
  • Edit format items
  • Other stream I/O options
  • Computer Exercise:Stream I/O

PL/I run-time options

  • Storage management: stack and heap Issues
  • TRAP

Performance considerations

  • Things to avoid
  • Good stuff
  • Compiler options that affect performance
  • Computer Exercise:Tuning and storage control

Odds and ends

  • Typed structures and unions
  • Introduction to multi-threading
  • Introduction to interlanguage communication
  • Introduction to XML in PL/I
  • Computer Exercise:Multi-threading

Comments are closed.