![](https://images.credly.com/images/cf6b7dce-292f-4c95-8feb-1de8a70dea71/Control_Language_Programming_Workshop_for_IBM_i_-_Code_-_OL20G.png)
![](/site/images/common/badges/https%3A//images.credly.com/images/cf6b7dce-292f-4c95-8feb-1de8a70dea71/Control_Language_Programming_Workshop_for_IBM_i_-_Code_-_OL20G.png)
Control Language Programming Workshop for IBM i
(OL20G)
Overview
Learn to write easy to use and efficient control language (CL) programs which may be used to perform a variety of system and application control functions. You are taught to write basic and intermediate level, interactive, and batch CL programs, user commands, and CL programs that function as user tools (programs that use the output of display commands as input).
You will learn to write Control Language (CL) programs which may be used to perform a variety of system and application control functions. You will be taught to write basic and intermediate level interactive and batch CL programs as well as programs that function as user tools (programs that use the output of display commands as input).
Audience
This intermediate course is for application programmers, system programmers, and others who have a need to write control language programs.
Prerequisites
You should be able to:
- Write simple programs in another programming language
- Perform basic IBM i operations
- Code the commands necessary to send inquiry and information messages
- Use data description specifications (DDS) and the Rational Development Studio (formerly known as Websphere Development Studio, WDS) tools (Programming Development Manager (PDM) and source entry utility (SEU)) to create physical, logical, and display files
- Use the WDS tools to enter CL source statements and create CL programs
- Describe basic work management
- Create a library, output queue, and a job description
These prerequisites can be met through successful completion of the following courses:
- Introduction to IBM i for New Users (OL98G)
- IBM i Technical Introduction (OL4AG)
Objective
- Create CL programs that incorporate the full range of language operations and functions:
- Arithmetic, string, and boolean expressions
- Relational operations
- Built-in functions
- File handling
- Message handling
- Retrieving IBM i information
- Program interaction and parameter passing
- Use the interactive source debugging facilities of STRDBG
- Describe how to create and call Integrated Language Environment (ILE) modules, programs, and service programs
- Create user-defined commands with and without parameters
- Create a control language program that processes a database file
- Create and invoke a program that is activated periodically and executes asynchronously from other jobs
- State the purpose of the parameters on the CRTBNDCL command and each section of the control language compiler listing
Course Outline
CL programming concepts
- Lab - Set up your environment (required)
Basic CL programming
- Lab - Write a basic CL program (required)
- Lab - Initial program (required)
- Lab - Menu-like program (required)
- Lab - Call/Transfer control (required)
- Lab - Calculator (required)
Program creation and debugging
- Lab - Debugging (required)
Intermediate CL programming
- Lab - Data area retrieval (recommended)
- Lab - External attributes CVAT, SST (recommended)
CL message programming (topic 1)
- Lab - Basic message handling (required)
- Lab - Send user message command (required)
CL message programming (topic 2)
- Lab - Monitor message (required)
- Lab - Message programming (required)
- Lab - Inquiry messages (recommended)
User-written tools
- Lab - User-written tool (optional)
Batch jobs
- Lab - SBMJOB and LDA (recommended)
- Lab - Data queues (recommended)
Commands
- Lab - Commands (recommended)