Students who complete this course will be able to write or maintain COBOL programs that do not require advanced capabilities of the language. The emphasis here is learning the basics of the language, along with developing program design skills using pseudocode.
Audience
Topics
Fundamentals
A. Hardware and Software
B. Instructions and Programs
C. Compiling and Binding
D. COBOL Basics
Computer Exercise: Starting a COBOL Program
Describing Data
A. Concepts
B. Records and Files
C. Fields
D. Structures
E. Introduction to PICTURE
F. Working-Storage
G. Tips in Defining Data
• Computer Exercise: Defining Working-Storage
Processing Data
A. File Handling
B. Record Building
C. Loop Control
D. The PROCEDURE Division
E. Qualification of names
F. OPEN, READ, WRITE, CLOSE
G. Control Flow: GO TO, EXIT PROGRAM, STOP RUN, GOBACK
H. Data Manipulation
I. MOVE and MOVE CORRESPONDING
J. Program Building Strategy
• Computer Exercise: A
/O Processing Options
A. Buffers
B. Move Mode and Locate Mode Processing
C. End of File Processing
D. Data Element Naming
• Computer Exercise: Variations on a Theme
More on Data Items
A. Figurative Constants
B. Data Editing
• Computer Exercise: Editing
PERFORM Statements
A. Un-structured Programming
B. Alternatives to "GO TO"
C. Perform Procedure
D. Perform ... Thru
E. Perform Until
• Computer Exercise: Using Perform
Program Design
A. Program Execution Principles
B. Program Design Paradigms and Techniques
C. Pseudocode
• Computer Exercise: Using Pseudocode
Conditional Statements
A. More PERFORM statements
B. Conditions and Conditional Expressions
C. IF / [THEN] / ELSE
D. Scope Terminators
E. CONTINUE
F. In-Line PERFORM
G. SET ... TO TRUE
• Computer Exercise: Conditional Statements
Describing Numeric Data
A. USAGE Clause
B. Display data
C. Packed decimal data
D. Binary integer data
• Computer Exercise: Creating Numeric Fields Data Alignment
Data Alignment
A. Slack Bytes and Sync
B. Numeric Data Transmission Considerations
• Computer Exercise: Ensuring Proper Alignment
Arithmetic Instructions
A. ADD, SUBTRACT, MULTIPLY, DIVIDEa
B. Roundinga
C. Arithmetic expressions
D. COMPUTE
E. Planning calculation results
F. SIZE ERROR Condition
• Computer Exercise: Using Arithmetic Verbs
EVALUATE
A. Syntax
B. EVALUATE and conditions
C. EVALUATE with ANY and ALSO
D. EVALUATE and truth tables
E. Points and Tips • Computer Exercise: Using EVALUATE
Basic String Manipulation
A. INITIALIZE, ACCEPT / DISPLAY
B. Conceptual Data Items (DATE [YYYYMMDD], DAY [YYYYDDD],
C. DAY-OF-WEEK, TIME)
D. Reference Modification
E. Hex Notation • Computer Exercise: DATE, TIME, and DISPLAY
Introduction to Intrinsic Functions
A. Concepts and Syntax
B. Lists of Intrinsic Functions
C. Date and Time Related Functions
D. String Related Functions
E. Arithmetic, Business, and Mathematical Functions • Computer Exercise: Using Functions
Working with Print Files
A. Carriage Control
B. Report Dates
C. Report Components
D. Line Counting
E. Page Break Logic
F. Report Break Logic
G. Report Design Pseudocode
Computer Exercise: Report Creation
Control Breaks
A. Concepts
B. Break Processing
C. Control Break Pseudocode
• Computer Exercise: Two-level Control Break Program
Match Merge Logic
A. Update in Place (REWRITE)
B. Match Merge Concepts
C. Match Merge Pseudocode
• Computer Exercise: Match Merge
Miscellaneous Topics
A. File Status
B. Coding Styles
C. REDEFINES and RENAMES
D. User-defined Classes
E. The COPY Statement
F. Advanced Currency capabilities
G. Line sequential files
A background in using text editor, experience submitting jobs and examining the output, as well as introduction to data processing concepts are required for this course. Students should have a basic familiarity with TSO/ISPF (or equivalent) for editing programs and submitting jobs. Knowledge of another programming language is helpful but not required.