Cross Program Communication in z/OS - Topical Outline

Day One

Introduction to the Course

Interesting Applications

Coding Notes For Examples in the Class

Computer Exercise: Setting Up for the Labs

Defining Elementary Data Items

General Concerns

Data Types - zSeries Hardware

Data Types

Character String

Packed Decimal

Binary Integer - halfword, fullword

Floating Point - short, long, extended


Other Data Types - Edited strings, Bit strings, Null terminated strings

Working With Null Terminated Strings

Rules for Names

Computer Exercise: Defining Elementary Items

Defining Data Aggregates

Data Aggregates - An Introduction

Data Alignment

Defining Aggregates - Assembler, COBOL, PL/I, C

Alignment - Another Perspective

Working With Halfword Prefixed Strings

Computer Exercise: Defining Aggregates

Accessing PARM data and Setting the Return Code

How the PARM field is set up

Accessing the PARM Field - Assembler, COBOL, PL/I, C

Accessing the PARM Field Using LE Services

Setting the Return Code

Computer Exercise: Getting the Parm and Setting the Return Code

Calling Subroutines Statically





LE Services: CEEMOUT

What's Going On Here?

Computer Exercise: Static Calls

Day Two

Object Code


Module Translations


Object Modules

Object Modules: XOBJ

Generated Object Modules

Passing Arguments and Receiving Returned Values

How Arguments Are Passed - Styles and Options

How Arguments Are Passed - Assembler, COBOL, PL/I, C

How Arguments Are Passed - Lessons

Receiving Parameters and Setting Return Values

Mainlines and Subroutines

Subroutine declarations

Declaring Parameters

Parameters - Assembler, COBOL, PL/I, C

Computer Exercise: Assemble / compile, bind subroutines

The Program Binder

Compiles and Binds

Assemble / Compile and Bind Data Flow

An Example

Program Binder PARM Options

Program Binder Control Statements: ENTRY, NAME

A Load Module

Program Binder Control Statements: INCLUDE, LIBRARY, REPLACE

How The Program Binder Works

Basic Maintenance Using the Program Binder

Computer Exercise: Program Binder and Maintenance

Alternate Entry Points

Why Have Alternate Entry Points?

Alternate Entry Points: Assembler, COBOL, PL/I, C

Alternate Entry Points - How Does It Work?

Program Binder Control Statement: ALIAS

Computer Exericse: Alternate Entry Points

Day Three

External Data

External Data - Assembler, COBOL, PL/I, C

External Data - ILC

Calling Subroutines Dynamically

Dynamic Calls - An Introduction

Dynamic Calls - Assembler, COBOL, PL/I, C

Computer Exercse: Dynamic Calls


z/OS Addressing

Specifying AMODE and RMODE

GOFF - The Generalized Object File Format

More About the Program Binder

Load Modules vs. Program Objects

Binder versions

Binder Parms

Binder Inputs and Outputs

Multi-Tasking and Program Reusability



Reusable, Reenterable, Refreshable Attributes


The Search for Modules

These Materials © Copyright 2012 by Steven H. Comstock

Materials version: V3.x

Course description
Course Objectives
LE curriculum
Home page