BT35 - COBOL Programming and Introduction to TSO, ISPF & JCL
Duration10 Days (for delegates new to z/OS - includes ISPF and JCL training) (customisation)
Availability

Course Description

The course is aimed at developers new to the z/OS development environment and covers the usage of TSO/ISPF, JCL and COBOL programming.

The ISPF section of the course covers all main ISPF Options (Dataset Utilities, Editing, Browsing etc) and includes many recently added new features.

The JCL section of the course teaches the writing of JCL statements using the options and parameters available, and the creation of in-stream and cataloged procedures including the use of symbolic parameter substitution. All of the latest release features such as SMS, JCLLIB, SET statement and If/Then/Else/End-if Testing are included.

The COBOL section course (approx 7 of the 10 days) is aimed at developers not familiar with COBOL program development. This course covers all aspects of Programming with COBOL. The course teaches the design, writing and testing of COBOL programs. Many exercises are performed by the developer to ensure that the statements taught are fully understood and practical experience is gained.

COBOL, COBOL2 and Enterprise COBOL syntax is included.

Our 10 day course is intended for delegates new to IT, such as new graduates. It contains many 'hands on' exercises and incorporates additional time to cover program design, program editing, program testing, JCL submission, test plan creation, error checking and debugging. The delegate writes many COBOL programs which contain the full set of COBOL verbs.

This course is recommended for new graduates and programmers new to the z/OS operting system.

Unlike many other training companies who choose to run 2 separate COBOL training courses (e.g. COBOL Programming Part 1 - Foundation Level and COBOL Programming Part 2 - Advanced Level) our COBOL courses include full coverage of COBOL syntax (other than the SORT command which is rarely used). The course also includes KSDS VSAM file access (if required).

Pre-requisites

None.

Objectives

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

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

  • Navigate ISPF screens to perform a variety of tasks
  • Use the correct options to create datasets
  • Use the correct options and commands to edit data within a dataset
  • Use the correct options to perform various utility functions
  • Understand and code a valid JCL JOB statement
  • Understand, code and execute simple JCL jobs
  • Understand, code and execute JCL using Generation Data Groups
  • Understand, code and execute JCL in-stream and catalogued procedures using symbolic variables
  • Understand, code and execute JCL dynamically overriding JCL parameters
  • Understand, code and execute JCL using JCLLIB, INCLUDE and SET Statements
  • Develop Structured COBOL Programs
  • Understand and Use COBOL Verbs
  • Develop COBOL programs using the available verbs
  • Develop and Test COBOL print programs
  • Develop and Test COBOL programs accessing different types of files

Environment

Development will be performed using an 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

INTRODUCTION
Introduction to Program Development
ISPF OVERVIEW
Introduction to ISPF
STORAGE OF DATA
Disk Drives
Tapes
Cartridges
Datasets
ISPF MAIN MENU
ISPF Main Menu Options
ISPF Fastpath
STANDARD PRIMARY COMMANDS
ISPF Primary Commands
Programmable Function Keys
DATASET NAME ENTRY
ISPF Dataset Name Entry
Manipulating Member Lists
BROWSING A DATASET
ISPF Option 1 - Viewing a Dataset
EDITING A DATASET
ISPF Option 2 - Editing a Dataset
Edit Primary Commands
Edit Line Commands
Scroll Commands
COBOL INTRODUCTION
Introduction To Program Development
Introduction To COBOL
COBOL Language
Compilation
Input Of Source Code
COBOL Program Structure
Program Divisions
COBOL Program
MetaCOBOL Notation
IDENTIFICATION DIVISION
Identification Division
ENVIRONMENT DIVISION
Environment Division
Configuration Section
Files
Input-Output Section
DATA DIVISION
Data Division Sections
File Section
Working-Storage Section
Linkage Section
DATA DIVISION: DATA ITEMS
Data Items
Variables
Literals
Figurative Constants
Data Types
Declaring Data Items
Group and Elementary Data Items
Elementary Items
Group Data Items
Level Numbers
Picture Clauses
Compressed Format Picture Clauses
Synchronized Storage
Numeric Edited Picture Clauses
Insertion Editing
Simple Insertion
Special Insertion
Fixed Insertion
Floating Insertion
Suppression and Replacement Editing
Numeric Edited Picture Clauses
DATA DIVISION: CONDITION NAMES
Level 88's
DATA DIVISION: INITIALISATION
Initialising Variables
Filler
DATA DIVISION: TABLES
Tables
Occurs Clause
Occurs Depending
Tables with Group Items
Two-Dimensional Tables
Three-Dimensional Tables
Pre-filled Tables
Occurs Indexed By
DATA DIVISION: REDEFINITIONS
Redefinitions
COPY STATEMENT
Copy Statement Overview
Copy Statement
Copy Replacing
Copy Replacing Syntax
Copy Replacing Rules
PROCEDURE DIVISION
Procedure Division
Sections And Paragraphs
Program Termination
Procedure Division Statements
Program Structure
COBOL ITERATION
Iterations
Open and Closed Subroutines
Sections and Paragraphs
Perform and Perform Thru
Perform Scope
In-Line and Out-of-Line Performs
Perform Times
Perform Until
Perform Varying
Perform Varying After
In-Line Performs
Go To Statement
COBOL SELECTION
Overview
IF Statement
Relational Operators
Collating Sequence
Complex Conditions
Condition Names
Class Conditions
Evaluate
Continue
Next Sentence
FILE ACCESS
Files
Sequential Files
Opening Files
Closing Files
Opening and Closing Files
Read Statement
Read Into
Write Statement
Write From
Writing Reports
Carriage Control Characters
DISPLAY AND ACCEPT
Display Statement
Accept Statement
Accept New Format
MANIPULATING VARIABLES
Manipulating Variables
Move Statement
Truncation
Move Variations
Group Moves
Move Corresponding
Set Statement
Initialising Variables
ARITHMETIC STATEMENTS
Arithmetic
Rounded Option
On Size Error
Add
Subtract
Multiply
Divide
Compute
Exponentiation
Symbol Evaluation
STRING MANIPULATION
String
Unstring
Inspect
Inspect Tallying
Inspect Replacing
Inspect Tallying/Replacing
Inspect Converting
REFERENCE MODIFICATIONS & FUNCTIONS
Reference Modification / Substrings
Intrinsic Functions
String Functions
Date Functions
Miscellaneous Functions
TABLES / DATA SEARCHES
Tables
Referencing Table Elements
Referencing Multi-dimensional Tables
Indexed By Tables
Key Is Indexed By Tables
Subscript or Index
Set Statement
Searching Tables
Sequential Search - Search
Binary Search / Search All
Searching Multi-Dimensional Tables
SUBROUTINES / SUB-PROGRAMS
Subroutines / Sub-Programs
Call Statement
Call By Reference
Call By Content
Executing A Sub-program
Is Initial Clause
Cancel Statement
Static and Dynamic Call
VSAM PROCESSING (z/OS Mainframe courses only)
VSAM Files
Relative Record Files
Key Sequenced Files
File Definition / Select Statement
Opening VSAM Files
Indexed Read
Sequential Read
Write Records
Rewriting Records
Deleting Records
Positioning Within A File - Start
SORT & MERGE PROCESSING
Sort Processing
Sort Statement
Sort Procedures
Sort In/Sort Out Programs
Input Procedures
Release Statement
Input Procedure/Sort Out Programs
Output Procedures
Return Statement
Sort In/Output Procedure Programs
Input Procedure/Output Procedure Programs
Merge Processing
COBOL DEBUGGING
COBOL Debugging Lines
COBOL Debugging Trace
TEST PLANS
Test Plans And Testing
Test Plans
Test Plan Results
JOB CONTROL LANGUAGE OVERVIEW
An Overview of JCL
THE JOB STATEMENT
The Format of a JOB Statement
Job Account
Programmer Name
MSGLEVEL
MSGCLASS
Notify
Time
Typrun
Region
Bytes and Lines
MISCELLANEOUS JCL STATEMENTS
Statement Continuation
Comments
The Null Statement
The SYSUID Variable
The JCLLIB Statement
The INCLUDE Statement
THE EXEC STATEMENT
The Format of an EXEC Statement
Time and Region Statement
The PARM Statement
The COND Staement
IF..ELSE Condition Code Testing
THE DD STATEMENT
The Format of a DD Statement
The DISP Statement
The VOLUME Statement
The UNIT Statement
The SPACE Statement
The DCB Statement
Temporary Datasets
The SYSOUT Datasets
The DUUMMY Dataset
In-Stream Data / Delimiters
SPECIAL DD STATEMENT
The SYSIN DD Name
The SYSOUT DD Name
JOBLIBs and STEPLIBs
SYSUDUMP, SYSABEND, SYSABOUT and SYSDBOUT DD Names
Dataset Concatenation
GENERATION DATA GROUPS
GDG Overview
Creating GDG Base Entries
Deleting GDG Base Entries
Referring to GDGs
JCL PROCEDURES
Procedure Execution
In-Stream Procedures
Cataloged Procedures
Dynamically Modifying Procedures
Symbolic Variables
The SET Statement
UTILITY PROGRAMS
IEBGENER
IEFBR14
SORT
Common System ADBEND Codes
JCL Modifications Using SMS

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 COBOL programs using the various COBOL verbs 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.