htalogo2.gif

Advanced Topics in PL/I - Topical Outline

Introduction

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

Subroutines

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

FETCH and RELEASE

Bind alternatives

DLLs

Packages

Memory issues

z/OS memory organization

Computer Exercise:A fetching program


Conditions

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

Storage Attributes: STATIC, AUTOMATIC, CONTROLLED, BASED

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

NULL

Free for BASED Variables

List processing

Types

How to do list processing in PL/I

List processing pseudo-code

Computer Exercise:List processing

Areas

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

 

These Materials © Copyright 2013 by Hunter Cobb

Materials version: V5.x

 

Course Description
Course Objectives
PL/I curriculum
Home page