CMS/TSO Pipelines Runtime Library Distribution


The CMS Pipelines Runtime Library Distribution was updated for the final time on July 30, 2015.

This Web page serves as a distribution point for files pertaining to CMS/TSO Pipelines.

If your z/VM system has Internet access, you should ftp from your z/VM system to obtain them. Proceed with the procedure described in the paragraphs below only when you cannot get the files the easy way.

The files marked as "packed" should be downloaded in binary mode, reblocked to 1024-byte, fixed-length records (e.g., using an "fblock 1024" stage), and then unpacked using an "unpack" stage. The BOOK files should be downloaded in binary mode and reblocked using an "fblock 4096" stage.

The files in VMARC format should be downloaded in binary mode, reblocked using an "fblock 80" stage, and then unpacked using the VMARC command.

The files in LISTING format have ASA carriage control ("FORTRAN carriage control"). On CMS they should be printed with the "CC" option; on most unix systems they can be printed with "lpr -f".

Note: The runtime library is superseded by CMS Pipelines of z/VM 6.4, which is now shipping. As a result, no further maintenance is planned for the runtime library.


Contents of this Web Page

This directory is also accessable via anonymous FTP as academ:pipeline/eweb. You can use a z/VM or z/OS FTP client to fetch the files directly.


CMS Pipelines Runtime Library Distribution

CMS Pipelines Runtime Library in VMARC format. But see how to ftp from your z/VM system to obtain them more directly than from a browser (unless, of course, you are viewing this with Charlotte on VM).

Please also refer to Known bugs in 1.1.12/000C.

About the CMS Pipelines Runtime Library Distribution

When installing this version of the CMS Pipelines Runtime Library distribution, you will need to be aware of two differences from earlier versions. One is that this version can be tailored in several ways. (See "Tailoring the Runtime Library"). The other is that installations running a level of CMS earlier than CMS 14 will want to install the CSL library that is included in the Runtime distribution. (See "CSL Considerations".)

Executables

CMS/TSO Pipelines Author's Edition

Other documentation

Change history


Other CMS Pipelines Manuals and Reference Information

CMS Pipelines Tutorial

IBM Form number GG66-3158-00.

CMS Pipelines tutorial by
J. P. Hartmann
L. S. Kraines
J. C. Lynn
Edited by J. Gobeille

This book from 1990 contains a tutorial with exercises and solutions that applies to CMS Pipelines 1.1.4.

Thus, the book predates the many changes that went into 1.1.6 to reguralise the handling of null records.

While many of the solutions it describes can now be implemented directly with recent built-in programs, not to mention spec, the background information may still be of use.

Original 1990 formatting (LIST3820) (LIST3820 Packed)

2009-01-27 reprint (PDF).
Be sure to read the notice at the top of the back of the title page.

CMS/TSO Pipelines PIPE Command Programming Interface

CMS/TSO Pipelines PIPE Command Programming Interface (PDF) *UPDATED*

Formatted 2014-11-01 for 1.1.12/0A. The interface was slightly tweaked for 1.1.10 sublevel 2A, but that is not documented (other than the cryptic note below).

-------- Shipped to VMTOOLS 29 Jun 1999 10:58:08 -----------------------
         PIPELINE MODULE Modification 1.0110 sublevel 002A (42 in decimal)
 
The encoded pipeline specification (PIPSCBLK) now has an added operand
REMOTELIST.  If the value is YES, the address of the list of PIPSCSTG
blocks is indirect.  This allows one to build the list dynamically.
There is a slight performance penalty to specifying this option.
DYNAMIC=YES should be specified when the encoded pipeline is built
dynamically and does not use all stages in the order they are specified
in the PIPSCSTG macros.  Failure to observe this is likely to result
in asserts in FPLSSU.
    

CMS/TSO Pipelines popen() Sample Program

(PDF), 2015-08-13 reprint.

A sample program to build "half-pipes" into your programs. This allows you the equivalent of the ADDPIPE pipeline command for high-level languages C PL/I COBOL Assembler. UNIX programmers are already familiar with the popen() function, which this library implements.

pattern a Filter for Pattern Matching.

While IBM has no plans to ship pattern, several installations have received PIPSYSF MODULE over time and it is also available from this server (see pipsysf). For those who are still interested, the pattern documentation has been reformatted and distilled as a PDF (the 2009-03-04 reprint). This is an unchanged rendering of the June, 1992, version; bugs, omissions, warts, and all.


Filter Packages

A filter package is a module that seamlessly adds built-in programs to the base library, a "plugin" in youngspeak. A number of modules are installed automatically when the pipeline initialises itself on CMS. (Filter packages must be installed explicitly on TSO.)


Distinguishing Levels of CMS/TSO Pipelines

Developers producing software that uses CMS Pipelines may encounter a variety of Pipelines versions. Distinguishing the various versions can be confusing. The easiest solution is simply to package the CMS Pipelines Runtime Library with one's software product. If that is not feasible, this discussion should make the task easier.


Tools for Use in Conjunction with the CMS Pipelines Runtime Library Distribution


QDI, John Hartmann's XEDIT Macro for Coloring Program Syntax Elements


John Hartmann's Sample IUCV Server


John Hartmann's POPEN Interface to CMS/TSO Pipelines Copipes


Steve Hayes' FTP Client

The files are from VMTOOLS, extracted with Steve's kind permission. Enhanced and packaged up for the VM download page by Bruce Hayden.


Other Samples


BatchPipeWorks: Pipelines for TSO

The BatchPipeWorks feature of BatchPipes for OS/390 is an implementation of TSO Pipelines at level 1.1.9 sublevel X'1A'.

BatchPipes customers who want more complete documentation for the version of TSO Pipelines shipped as BatchPipeWorks should get the CMS/TSO Pipelines Reference from the Runtime Library Distribution or order the VM Collection CD-ROM (SK2T-2067). The CMS/TSO Pipelines Reference is on Disc 1 of SK2T-2067 as SL26-0018-02 in bookshelf IKJ2P401.

BatchPipes customers who wish more complete online help for the version of TSO Pipelines shipped as BatchPipeWorks can install the author's help library.


The Plumbers' Workbench: CMS Pipelines and Workstation Synergy

Now supports Windows 95 and Windows NT

See also, Rob van der Heij's paper Introduction to Plumbers' Workbench


Papers on CMS/TSO Pipelines

All of the papers listed in this Web page, in all formats, VMARC format (5.3M), archive rebuilt 10/31/2000


Papers by John Hartmann, IBM Danmark, Author of CMS/TSO Pipelines

CMS Pipelines Explained, PDF format (117K), revised 2007-09-10

CMS Pipelines Enhancements for Shared File System and Byte File System, LIST3820 format, packed (24K); PDF format (44K)

Writing Assembler Filters for Use with CMS Pipelines, LIST3820 format, packed (104K); PDF format (92K) Note that the information in this paper is to a large extent obsolete.

See PIPE Command Programming Interface.

CMS Pipelines Procedures Macro Language, LIST3820 format, packed (360K) PDF format (449K) Note that while the PDF file shows a formatting date of July 18 2006, the contents are unchanged from the 1997 edition. In particular, the paper makes no mention of the current location of things, such as FPLGPI and FPLOM MACLIBs.

The papers by John Hartmann are available only in LIST3820 format and require BookManager fonts in order to print properly. They can be converted to PostScript (and various PC printer formats) using Ken Borgendale's LP3820 for CMS or LP3820 for OS/2 (which also runs as a DOS application on Windows, including 95 and NT). Note, however, that LP3820 will render some ligatures (e.g., "ff" and "ffi") imperfectly. If your printing procedures on CMS expect PostScript files to be in EBCDIC, the output of LP3820 can be converted to EBCDIC by piping it through BORG REXX (which may need modification to accord with your system's translate tables). You may also need the LP3820 font package.


The Piper's Birthday Party

View the Piper's Birthday Party

Download the Piper's Birthday Party, in VMARC format (9.1M), for local viewing.


Paper by Yuichi Ishikawa, IBM Japan

CMS Pipelines Visualized

The paper cited above is in English. Plumbers who read Japanese are advised to obtain a copy of Yuichi's extensive CMS Pipelines Guide Book. The IBM order number is GE88-0024.


Papers by Rob van der Heij

The latest What's New in CMS Pipelines.
Session V56 IBM System z Technical Conference, Dresden 2008 (PDF format)

Piping through IUCV

Writing a Piped TN3270 Client

Introduction to Plumbers' Workbench

LZW Compression Using CMS Pipelines

LOOKUP: A Plumber's Swiss Army Knife


Paper by Nick Laflamme, Sterling Software

CMS Pipelines: The SQL Stage


Paper by Dave Jones, V/Soft Software

Employing CMS Pipes in HLL Applications


Papers by Melinda Varian, Princeton University

Plunging into Pipes: An Introduction to CMS Pipelines

Plunging On: Apprentice Plumbing

Cramming for the Journeyman Plumber Exam; Part I: Record Flow in CMS Pipelines, revised 07/07/97

Cramming for the Journeyman Plumber Exam; Part II: CMS Pipelines Initiation and Termination, revised 02/21/00

Cramming for the Journeyman Plumber Exam; Part III: Dynamic Reconfiguration in CMS Pipelines, revised 03/01/99

Pipe Dreams: What's New in CMS/TSO Pipelines in CMS 8-12

What's New in CMS/TSO Pipelines in CMS 12 and Beyond, revised 06/03/98

Plumbing the Internet: CMS/TSO Pipelines Support for TCP/IP, revised 06/09/97

Streamlining Your Pipelines

Building an ESM with CMS Pipelines

An Introduction to Writing Webshare CGI Scripts

See also, Les Cottrell's really good paper on writing CGI scripts in REXX

Building Piped Servers using CMS/TSO Pipelines


MTREXX, CMS REXX thread creation tool, Perry Ruiter

Be sure to read CMS Multitasking Considerations.


HEXSORT XEDIT Macro, Roger Deschner, University of Illinois at Chicago


VM Development Tools, Melinda Varian, Princeton University

The following XEDIT macros understand traditional VM source maintenance techniques, including the use of UPDATE control files and auxiliary control files. They were developed to assist in refitting system modifications to new releases of VM.


Skeleton REXX Pipeline Stages by Steve Hayes, IBM UK

These REXX pipeline stages show how to write REXX stages that behave like the built-in programs. Where appropriate, they use the new EOFREPORT command to propagate end-of-file backwards "quickly".


ANYOF and ALLOF Stages by Jonathan Scott, IBM Hursley

ANYOF VMARC contains Jonathan Scott's two REXX stages and their help files. Jonathan writes:

These simply provide a compact notation for logical "OR" and logical "AND" between selection stages without needing extra pipeline segments and labels. Of course, under the covers, that's exactly what they generate.

They can be combined with the existing "NOT" stage to form general logical expressions. I personally find them particularly convenient when combined with the "IF" stage, in that combinations of selection conditions can be written using "IF ANYOF" or "IF ALLOF".


Examples of Using CoPipes and Encoded Pipeline Specifications

The following files provide working examples of using the new CMS Pipelines programming interface described in John Hartmann's paper PIPE Command Programming Interface.


VPIPE, Brent Longborough's Vertical Pipelines

The VPIPE package allows the user of CMS Pipelines to store pipeline definitions as CMS files, with comments, and run them as pipelines or stages of pipelines. Stages may be parameterized and generated from REXX expressions.

Executables

Documentation

Examples of VPipes


PIPESERV, Finn Skovgaard's Pipeline Server Facility


NASHVSAM, Guy Nash's VSAM read pipeline stage


Rita, the Pipeline Execution Profiler

RITA MODULE is now shipped with z/VM on the CMS Samples disk, usually MAINT 193.

See also, Melinda Varian's paper Streamlining Your Pipelines


Tools for Use in Conjunction with the CMS/TSO Pipelines TCP and UDP Support

See also, Melinda Varian's paper Plumbing the Internet


WEENYWEB, Rob van der Heij's Pipelined Web Server

A working example of a very simplistic (but multi-threading) HTTP server. The HTML pages and images to be served must be stored in an SFS directory. Comments with the code illustrate where to customize it. Included is an assembler written high-speed HTTP deblocking stage.


PIPEDEMO, the Pipeline Animator

About PIPEDEMO

Executables

PIPEDEMO source, updates, and update tools

PIPEDEMO documentation and HELP files

PIPEDEMO demonstration programs and test data

PIPEDEMO packaged in knapsack format

Mike Walter's PDEM command to invoke PIPEDEMO as a MODULE


Other Pipeline Debugging Tools


Pipeline Stages for Encoding and Decoding


SHARE Requirements for Enhancements to CMS/TSO Pipelines, revised March 12, 2000


Other Sources of CMS/TSO Pipelines Information


Kedit Information

The sample XEDIT macros also work with KEDIT.

UNIX users may find this information useful.


Cross compiling GCC to CMS

This project has moved to GitHub.


Other GitHub Stuff


Updated by John P. Hartmann July 24, 2016.