BT35 - COBOL Programming and Introduction to TSO, ISPF & JCL - 10 Days

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

XML PROCESSING (z/OS Mainframe courses only)
XML Files
The XML Generate Command
XML Generation Example
The XML Parse Command
Processing XML Events
Parsing Exceptions
XML Parsing Example

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.


Course Enquiry