htalogo2.gif

Developing Applications for z/OS UNIX - Topical Outline

Day One

Introduction to the class

Applications for z/OS UNIX

Setting the stage: A Level Set

Setting the stage: Skills to Acquire

The Ubiquitousness of C

Computer exercise: Class Lab Set Up

File Access in z/OS UNIX Applications

What We Already Know

C functions for accessing QSAM and HFS files

COBOL - QSAM access

COBOL - native access to HFS files

PL/I - accessing QSAM and HFS files

Assembler - accessing QSAM and HFS files

Computer exercise: Accessing HFS files under OMVS

Interacting with the user at the OMVS terminal

COBOL - Using DISPLAY and ACCEPT

PL/I - Using PUT LIST and GET EDIT

C printf() and scanf() functions - an introduction

The CALL interface

Function references

Interpreting C language descriptions

Computer exercise: Using printf() and scanf() - C programmers only

Calling C functions from COBOL

General notes

fopen(), fread(), fwrite(), fclose(), printf(), scanf()

Computer exercise: Using printf() and scanf() - COBOL programmers only

Calling C functions from PL/I

General notes

fopen(), fread(), fwrite(), fclose(), printf(), scanf()

Computer exercise: Using printf() and scanf() - PL/I programmers only

Calling C functions from Assembler

General notes

fopen(), fread(), fwrite(), fclose(), printf(), scanf()

Computer exercise: Using printf() and scanf() - Assembler programmers only

Day Two

Compiling / Assembling, and binding Under OMVS

Compiling and binding under OMVS

Archive libraries

Shell commands: ar

C370LIBs

Shell commands: c89

Computer Exercise: Using c89 to compile and bind

Computer Exercise: Using c89 to Assemble and bind

Assembling - a new alternative

The as command

Computer Exercise (Optional): Using as to Assemble a program

Compiling COBOL and binding executables

Shell commands: cob2

Computer Exercise: Using cob2 to Compile and bind

Compiling PL/I and binding executables

Shell commands: pli

Computer Exercise: Using pli to Compile and bind

Binding: the ld command

Shell commands: ld

Computer Exercise (Optional, for Assembler programmers): Bind a module

Introduction to Callable UNIX services

Dynamic calls

Callable UNIX services

The BPX1LOD service

Assembler calling BPX1LOD

COBOL calling BPX1LOD

PL/I calling BPX1LOD

C calling BPX1LOD

A selection of callable services

BPX1... services, concluded

Computer Exercise: Dynamic calls

Day Three

Parms and Environment Variables

How the PARM field is set up

Accessing the PARM field - Assembler

Accessing the PARM field - COBOL

Accessing the PARM field - PL/I

Accessing the PARM field - C

Accessing the PARM field using CEE3PRM and CEE3PR2

Parms for subroutines

The PARM set up under the shell

Accessing the parm from a program run under the shell

Determining the environment (CEE3INF)

Using Environment Variables Under the Shell

C functions clearenv(), getenv(), putenv(), setenv()

Using the CEEENV callable LE service

Computer Exercise: Working With Environment Variables

Managing Applications: Scripts and make

Application management

Using shell scripts for application management

make - the big picture

Introduction to makefiles

Makefiles by example

Computer Exercise: Basic Makefiles

Archive files and make syntax

Archive files and make

Target attributes

Designing makefiles

Recursive make

Include files for make

Special target directives

The syntax for make

Computer Exercise: Combining makefiles

More on make

Target lines: rule operators

Runtime macros

Command line prefixes

Group recipes

Special target directives, revisited

Macro modifiers

Conditionals

Conclusion

Appendices

Source programs

HFS File I/O and C Functions

Kernel functions for working with HFS files

HFS File I/O and integrity

Make and inference rules

Index

 

These Materials © Copyright 2012 by Steven H. Comstock

Materials version: V5.x

Course description
Course Objectives
z/OS UNIX curriculum
Home page