The Cobol Ninja Course

The Four Pillars of the Cobol Ninja Course

Welcome to the threshold of transformation, where the legacy of computing meets the innovation of today. In an era where new programming languages emerge with the dawn of each day, there exists a titan, steadfast and unwavering, that continues to underpin the critical systems that our modern world relies on. This titan is COBOL - the Common Business-Oriented Language. At COBOL Ninja, we recognize the undiminished importance and enduring demand for COBOL expertise. Thus, we have meticulously crafted the COBOL Ninja Course, a comprehensive journey designed to equip you with the skills to master this venerable language and become a true COBOL Ninja.

What subjects will we learn?

Introduction to programming

If you do not have any background or prior knowledge related to computer programming, you will first learn the basic fundamentals of computer programming. This part is not related to Cobol and is applicable to any programming language.

The basics

  • The Computer model
  • The Algorithm
  • The Flowchart

 

Flowcharts – Basic symbols
  • Start
  • Accept
  • Display
  • End
  • Defining/assigning storage

 

Flowcharts – Advanced symbols
  • Complex assignment (Compute)
  • Conditions – Basic, Complex (AND/OR), Nested
  • Loops – Numbered, Indexed, Conditioned
  • Evaluate
  • Functions
  • Sort
  • Initialize

 

Flowcharts – File Handling
  • Sequential
  • Break levels
  • Adding direct reads

 

COBOL

This part of the course goes beyond simply learning the syntax rules of Cobol – you will learn how to analyze, design and structure solutions to real world problems.

You will implement advanced programming techniques that will enable you to design programs that are easy to understand and maintain, perform better, and will stand the test of time.

Program structure

  • Columns
  • Divisions/Sections

Variables

  • Basic variable definition
  • Variable assignment
  • Negative values
  • Decimal values
  • Variable storage methods (ZONED,PACKED,BINARY)
  • Edit masking
  • Group items
  • Levels (01,03…66,77,88)
  • REDEFINES
  • Arrays (OCCURS) – Single/multi level

Commands

  • DISPLAY
  • ACCEPT
  • MOVE
  • COMPUTE
  • EXIT PROGRAM
  • Compile & Run
  • SEARCH
  • Subscripting
  • MOVE by name (CORRESPONDING)
  • Alternative math functions (ADD,SUBTRACT,DIVIDE BY, MULTIPLY)
  • INSPECT TALLYING/REPLACING
  • STRING/UNSTRING
  • Initialize
  • Conditions – IF, ELSE, END-IF, NEXT SENTENCE, CONTINUE
  • Tests – IF NUMERIC, VALUE TESTING, AND/OR/NOT logic
  • PERFORM, INLINE PERFORM, PERFORM VARYING
  • Getting DATE, TIME, LDA

Files

  • INPUT-OUTPUT SECTION definitions – Select/Organization/Access
  • FILE SECTION definitions – FD file structure
  • OPEN/CLOSE
  • READ, READ INTO
  • WRITE, WRITE FROM
  • AT END/File Status
  • Simple sequential read program
  • Defining Indexed/Direct Access
  • INVALID KEY/File Status
  • Creating and populating reference tables
  • Checking for record locks
  • Sequential read program template
  • Break level programs
  • Direct reads
  • Updates & Deletes

Interactive Screen programming I

  • Creating a simple screen (DDS)
  • Creating first screen program template
  • Defining/using INDICATORS
  • Using FEEDBACK-AREA, ONTROL-AREA
  • COPY variations – DD, DDR, DDS, DDSR
  • Creating “WORK WITH” program (Parent/Child)

Program calls

  • CALL … USING
  • LINKAGE SECTION

Print files

  • Creating print/report programs
  • Understanding printer queues and spool files

 

IBMi and zOS systems

A Cobol programmer needs to have a basic understanding of what computer operating systems are, what they do, and how to run Cobol under them. Cobol, like any computer language, can run under a variety of operating systems, but is found predominantly in large organizations (government, finance, transportation) running enterprise systems created by IBM.

In order to prepare you for the real world, we will learn Cobol programming on two of the leading systems today: The IBMi (also known as the AS/400), and the zOS Mainframe.

IBMi

Objects

  • Libraries
  • Commands
  • Programs
  • Files

 

Database Management

  • Native DDS (PF, LF)
  • Source Files
  • DB2/400
  • SQL (Interactive, RUNSQLSTM, RUNSQL)
  • Query/400
  • File Commands – DSPPFM, DSPFD, DSPFFD, DSPDBR

 

Work Management

  • What Is A Job
  • Job Attributes
  • WRK*JOB Commands
  • Batch/Online Jobs
  • QTEMP
  • LDA
  • The Job log
  • Library list & commands
  • Subsystems/Job Queues
  • Submitting/Running Jobs

 

Development Environment

  • PDM (WRKMBRPDM, WRKOBJPDM, Functions & Options)
  • SEU (Functions & Options)
  • The Edit-Comile-Run Cycle
  • Debugging
  • Change Management

 

The Multi-user Environment

  • User Profile
  • Initial Program
  • Object locks
  • Messages

 

zOS

Introduction to Mainframe and z/OS

  • TSO/ISPF
  • Working with Data sets – CREATE/COPY/MOVE/COMPARE

Cobol

  • Creating and editing Cobol members
  • VSAM (Creating files, accessing in Cobol)
  • Embedded SQL (Cobol)

JCL

  • Using JCL for compiling and running Cobol programs
  • JOB, EXEC and DD statements
  • Conditional execution (COND, IF, ELSE)
  • Procedures, parameters, file overrides and other features
  • Job Output
  • Steps
  • Abends
  • Using IBM programs (IDCAMS, SORT)
  • Save and Restore

DB2

  • Using SPUFI to run online SQL commands
  • Using DB2 in Cobol and CICS programs

CICS

  • Overview
  • Map sets, Maps, Groups, Programs, Transactions, Files
  • Editing, compiling and testing CICS maps and program
  • Running CICS programs in the CICS environment
  • Calling other Cobol/CICS programs
  • Using VSAM and SQL in Cobol CICS programs
  • Using Channels/Containers and Queues

 

DB2/400

Cobol programs can do many things, but they are best known for their exceptional ability to access and process data stored in a Database Management System. In this course your will learn how to use IBM’s flagship database – DB2, the most powerful and stable database for large enterprises. You will learn how to create, update and access database tables from within Cobol programs, as well as directly using SQL. DB2 runs on both the IBMi and zOS systems.

Data Definition

  • Create
  • Drop
  • Alter
  • Schema
  • Tables
  • Indexes

Data Manipulation

  • Insert
  • Update
  • Delete
  • Select (Functions, View, Join)
  • SELECT statement structure
  • GROUP BY
  • ORDER BY
  • Column Heading Change
  • Predicates
  • Select Conditions

Embedded SQL

  • Host Variables
  • Using SELECT INTO host variable
  • Cursor – Declare, Open, Fetch, Close

Advanced

  • Performance considerations
  • Transaction (Commit/Rollback)