TTFlogo2.gif (2585 bytes)

 

Secrets of Inter-Language 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
    Addresses
    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
   Assembler
   COBOL
   PL/I
   C
   LE Services: CEEMOUT
   What's Going On Here?
   Computer Exercise: Static Calls

 

Day Two

Object Code
   Modules
   Module Translations
   Sections
   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

 

AMODE / RMODE Issues
   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
   Multi-Tasking
   Dispatching
   Reusable, Reenterable, Refreshable Attributes
   LPA, JPA, LLA
   The Search for Modules

 

DLLs - Dynamic Link Libraries
   DLL Concepts
   Creating DLLs
   Using DLLs
   DLLs - Binder
   DLL Applications - Finding the DLLs


DLLs - in C
    Building DLLs
    Building DLL Applications
    C DLLs - An example
    DLLs - CBA
    DLLs - New services


DLLs - COBOL
    COBOL DLL Examples 1, 2
    COBOL and C DLLs
    COBOL DLL Examples 3, 4


DLLs - PL/I
    Building DLLs in PL/I
    PL/I DLL Application programs
    Naming issues
    PL/I DLL example
    Packages
    Packages and DLLs together
    OPTIONS(FETCHABLE)
    DLLINIT compiler option


DLLs - Assembler
    Assembler Language Support for DLLs - original
    Assembler Support: HLASM 1.5+ and z/OS 1.6+
    The CEEENTRY macro
    The CEEPDDA macro
    The CEEPLDA macro
    The CEEPCALL macro
    Assembler DLL considerations

Conclusions
    Loading DLLs - Tradeoffs
    Subroutine linkages - options
    Computer Exercise (Optional): Creating and Using DLLs

 

 

Course information: Code: M-520; Duration: 3.5 Days: Course version: 1.x
        These Materials © Copyright 2008 by Steven H. Comstock

 

Course Objectives
Home page

 

this page last updated: 08 February, 2008
this page copyright © 2008 by The Trainer's Friend, Inc.