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
Comments are closed.