GT01 - IMS/DB for Applications Programmers - 3 Days

Course Description

The course provides the COBOL or PL/1 developer with full IMS/DB (DL/I) training. It contains the detail necessary for developers maintaining or developing native batch COBOL or PL/1 programs accessing IMS databases. The course covers the use of IMS/DB, with exercises to include the necessary statements and logic into batch application programs.


Pre-requisites

Knowledge of COBOL or PL/1 is required. This can be gained by attending either course BT05 or BT06.


Objectives

Whilst covering the basics of accessing IMS databases, this course also aims to give an insight into accessing IMS databases using batch COBOL or PL/1 programs.

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

  • Understand hierarchical database structure
  • Understand the use of IMS control blocks
  • Understand and use Database Definitions
  • Understand and use Program Communication Blocks
  • Understand and use Program Specification Blocks
  • Understand and use the DL/1 'CALL' Statement and its' parameters
  • Develop programs using the various DL/1 calls available
  • Develop programs using Segment Search Arguments
  • Develop Programs using Command Codes


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

INTRODUCTION TO IMS
An Overview of IMS
IMS/DB Database Management System
Hierarchical Databases
The Relational Model
IMS Recovery

IMS CONTROL BLOCKS
IMS Control Blocks

DL/I
Database Definition - DBD
DBD Parameters
Program Communication Block - PCB
PCB Parameters
Communication PCBs
Database PCBs
Program Specification Block - PSB
PSB Parameters
DBD, PSB and ACB Load Modules

IMPLEMENTING A DATABASE
DBDGEN
PSBGEN
Physical Database Definition
Loading Data
Testing

DL/1 PROGRAM EXECUTION
Using DL/1 with IMS/DC or CICS
Running a DL/1 Batch Program
Running a DL/1 Batch Message Program

THE APPLICATION PROGRAM
Program Specification Block
Program Communication Blocks
Database PCBs
Database PCB Mask
Executing the Application Program
The xxENTRY DLITCBLxx Statement
PROCEDURE DIVISION USING Statement
Accessing IMS Databases using DL/1
The xxCALL CBLTDLIxx Statement

DL/1 CALL FUNCTIONS
What is a Call Function ?
Database Call Functions
GU - Get Unique
GHU - Get Hold Unique
GN - Get Next
GHN - Get Hold Next
GNP - Get Next Within Parent
GHNP - Get Hold Next Within Parent
ISRT - Insert
REPL - Replace
DLET - Delete
On-Line Call Functions
GU - Get Unique
GN - Get Next
ISRT - Insert
CHNG - Change
PURG - Purge

SEGMENT I/O AREAS
I/O Areas
I/O Area Size
I/O Segment Layout
Path Calls

SEGMENT SEARCH ARGUMENTS
General Use of SSAs
The Unqualified SSA
The Qualified SSA
The Boolean SSA
No SSAs

COMMAND CODES
The Null Command Code - *---
Concatenated Key - *C
Path Calls - *D
First or Last Segment Occurrence - *F or *L
Do Not Replace Segment - *N
Establishing Parentage - *P
Multiple Command Codes

DATABASE ORGANISATIONS AND ACCESS METHODS
Database Organisations
Hierarchical Indexed Sequential Access Method - HISAM
Hierarchical Indexed Direct Access Method - HIDAM
Hierarchical Direct Access Method - HDAM

FURTHER FACILITIES
IMS Utilities
Logical Databases
Secondary Indexes


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 COBOL or PL/1 batch programs to access IMS databases, using the parameters taught.

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