- Tel: +44 (0)1275 859666
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
- PL/1 Identifiers
- 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
- Writing Constants in PL/1
- STRUCTURES
- Structure Definition
- Multi-Level Structures
- Structure Assignments
- Like Statement
- By Name Statement
- Multi-Level Structures
- 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
- Character Assignment
- 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
- Do; and End; Statement
- INTERNAL AND EXTERNAL PROCEDURES
- External Procedure Overview
- Internal Procedure Overview
- Dividing a Program Into Blocks
- Internal Procedure Overview
- 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
- Passing Arguments to Procedures
- 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
- Declaring a PL/1 Sequential File
- PRINTING
- Picture Variables
- Pic Characters
- Insertion Characters
- Carriage Control Characters
- Pic Characters
- ARRAYS
- Basic Data Types
- Declaring Arrays
- Upper and Lower Bounds
- Accessing Array Elements
- Array Operations
- Arrays and Structures
- Multi-Dimensional Arrays
- Declaring Arrays
- BIT DATA
- Operations on Bit Variables
- Declaring Bit Variables
- Bit Alignment
- Bit Operators
- Bit Masks
- Declaring Bit Variables
- 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
- Fixed Bin to Fixed Dec
- INTERRUPTS
- Begin Statement
- Error
- Zerodivide
- Endfile
- Signal
- On Procedures
- On Begin
- On System
- On Conditions
- Built-in Functions
- Error
- BUILT-IN FUNCTIONS
- Classes of Built-in Functions
- String Handling Functions
- Arithmetic Functions
- Array Handling Functions
- Date and Time Functions
- String Handling 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
- Pointer Manipulation
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.