Home Page of Oakwood Computing Ltdhome contact us

about Oakwood Computing Ltd
new recruits and graduate training schemes
programming languages, report and file manipulation utilities
z/OS, OS/390, MVS, CICS, DB2, IMS, ISPF courses
UNIX, Linux, VSE courses
Oakwood Computing Ltd
1 Dornton Road
South Croydon
Surrey CR2 7DR
UK
Tel: +44 (0) 20 8686 7266
courses@oakwoodcomputing.co.uk
Updated 18 November, 2003

 

PL/1 Conversion

Duration: 5 days

Audience: Experienced programmers

Prequisites: Good working knowledge of a programming language

The contents are similar to the PL/1 for Beginners course, but are presented at a faster pace.

Objectives: Top Contents

On successful completion of this course each student will be able to:

* define data fields and structures
* explain the meaning of common PL/1 terms such as automatic storage
* code instructions which test conditions
* code DO and SELECT instructions
* use builtin functions such as VERIFY, TRANSLATE, STRING, SUBSTR
* code instructions which write data to SYSPRINT
* code instructions which process data records from a SAM file
* code instructions which process VSAM files
* compile a PL/1 program
* locate and identify compilation error messages
* code instructions which declare and process arrays
* code PIC definitions for edited picture fields
* code ON blocks
* code and invoke procedures
* code and invoke functions

* invoke built-in functions

Contents: Top Objectives

Introduction to PL/1
Character set, data names, comments, statements, program structure, scope of data declared in procedures.

Defining data
Variables: names, values, attributes; string data, bit strings, arithmetic data: fixed point decimal and binary, floating point, precision, picture variables, decimal point, constants; structures, initialising structures; redefining fields; LIKE; static and automatic variables, aligned data.

Operations, expressions, and assignments
PL/1 operators: arithmetic, comparison, logical, string; expressions; delimiters; boolean conditions; assignments, conversion during evaluation of expressions, intermediate fields.

Program control statements
DO groups; IF - THEN - ELSE; compound conditions; nested IF statements, labels; SELECT; DO WHILE, DO UNTIL, controlled DO; common errors with DO groups; CALL with procedures.

Built-in functions (1)
SUBSTR, STRING, INDEX, VERIFY, DATETIME, ADDR, ABS, ROUND, SUM, ADD, MULTIPLY, DIVIDE, MIN, MAX, HIGH, LOW, TRANSLATE, pseudovariables. (Other built-in functions will be covered later.)

Stream and consecutive record I/O
Declaring files; GET, PUT, EDIT, SKIP, DATA, LIST; record processing, ON ENDFILE, READ, WRITE.

Processing VSAM files
Declaring VSAM files, ENV options and file attributes; error handling, ONCODES; processing statements for sequential and random access: READ, WRITE, REWRITE, DELETE.

Compiling programs
Compile-time options, output, nesting levels, procedure block levels; link editor options and map.

Arrays
Defining arrays; cross section of an array; array of structures; HBOUND, LBOUND; array operations; multi-dimensional arrays.

Edited picture fields and printer files
Zero suppression, decimal point, CR, DB, insertion characters, sign, £, *, page handling, ON ENDPAGE.

Error handling and ON conditions
ON units, SIGNAL, common conditions.

Procedures, functions, and program control
Procedures, BEGIN blocks, CALL, RETURN, procedure calls with and without parameters; function calls with and without parameters; PLIRETC; ENTRY, external CALLs.

Built-in functions (2)
Arithmetic functions: ABS, MAX, MIN, ROUND, SIGN, MOD, ADD, MULTIPLY, DIVIDE, FLOOR, CEIL; character functions: HIGH, LOW; array functions: DIM, HBOUND, LBOUND; miscellaneous functions: ANY, ALL, SUM, REPEAT, LENGTH, LINENO, UNSPEC.

Advanced topics

Using based variables and pointers; creating and processing linked lists.

Top Objectives Contents