BT06 - PL/1 Programming Workshop - 5 Days

Course Description

This course is aimed at developers not familiar PL/1 program development. This course covers all aspects of Programming with PL/1. The course teaches the design, writing and testing of PL/1 programs. Many exercises are performed by the developer to ensure that the statements taught are fully understood and practical experience is gained.

This course can be compressed if the student only requires basic knowledge (for example - to use an Applications Generator).


Pre-requisites

Knowledge of TSO/ISPF and JCL is required. This can be gained by attending course BT02.


Objectives

Whilst covering the basics of PL/1 programming and how it is used, this course also aims to give an insight into structuring PL/1 programs, PL/1 statements, manipulating data, and testing PL/1 programs.

On completion of this course the student will be able to:

  • Develop Structured PL/1 Programs
  • Understand and Use PL/1 Statements
  • Develop PL/1 programs using the available statements
  • Develop and Test PL/1 print programs
  • Develop and Test PL/1 programs accessing different types of files


Environment

Development will be performed using:

  • IBM Mainframe


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

BASIC PL/1
PL/1 Character Set
PL/1 Identifiers
Internal Names
External Names
PL/1 Statements
Labels
Procedure Statement
Comments
Variable Declaration
Coding PL/1 Statements
End Statement
Compiling and Linking
Running the Program

VARIABLES, DATA TYPES AND CONSTANTS
Declaration of Variables
Writing Constants in PL/1
Character String Constants
Defining Variables in PL/1
Declare Statement
Arithmetic Data Types
Fixed Decimal
Fixed Binary
String Data
Bit Data
Variable Initialisation
INIT With Structures
INIT With Arrays
Defined Statement
Position Statement

STRUCTURES
Structure Definition
Multi-Level Structures
Structure Assignments
Like Statement
By Name Statement

EXPRESSIONS, ASSIGNMENTS AND OPERATORS
Assignment Statement
Character Assignment
Arithmetic Operators
Bitwise Operators
Expressions
Data Type Conversion in Assignments
Relational Operators
Conditional Operators
Priority of Operators
Using Parentheses

PROGRAM FLOW AND CONTROL
Control Flow Statements
Do; and End; Statement
If Statement
Nested If Statements
Select Statement
Do While Statement
Do Until Statement
Nested Loops
Continue Statement
Goto Statement
Conditional Expressions
Comma Operator

INTERNAL AND EXTERNAL PROCEDURES
External Procedure Overview
Internal Procedure Overview
Dividing a Program Into Blocks

PROCEDURES
External Procedures
Passing Arguments to Procedures
Call Statement
Proc Statement
Entry Statement
Returning Arguments from Functions
Return Statement
Internal Procedures
Variable Scope
Call Statement
Storage Classes

FILE ACCESS
Data Input / Output
Declaring a PL/1 Sequential File
Declaring an Input File
Declaring an Output File
Declaring an Update File
File Access
File Open and Close
Open Statement
Close Statement
Reading and Writing to a File
Read Statement
Write Statement
Rewrite Statement
End of File Handling
Environment Option
Sorting Data
Locate Statement

PRINTING
Picture Variables
Pic Characters
Insertion Characters
Carriage Control Characters

ARRAYS
Basic Data Types
Declaring Arrays
Upper and Lower Bounds
Accessing Array Elements
Array Operations
Arrays and Structures
Multi-Dimensional Arrays

BIT DATA
Operations on Bit Variables
Declaring Bit Variables
Bit Alignment
Bit Operators
Bit Masks

DATA CONVERSION
Fixed Dec to Fixed Bin
Fixed Bin to Fixed Dec
Fixed Dec to Character
Character to Fixed Dec
Fixed Dec to Pic
Pic to Fixed Dec

INTERRUPTS
Begin Statement
Error
Zerodivide
Endfile
Signal
On Procedures
On Begin
On System
On Conditions
Built-in Functions

BUILT-IN FUNCTIONS
Classes of Built-in Functions
String Handling Functions
Arithmetic Functions
Array Handling Functions
Date and Time Functions

ADDRESSES AND POINTERS
Declaring Pointers
Pointer Manipulation
Pointers to Pointers
Passing Pointers to Functions
Returning Pointers from Functions
Pointers and Arrays
Pointer Comparison
Using Pointers to Pass Arrays to Functions


Course Format

Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will gain experience of writing and testing different types of PL/1 programs using the various PL/1 statements available.

Examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.

These examples are available to take away, along with the delegate's own work.

The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.


Course Enquiry