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".
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 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).
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
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.
Formatted 2010-05-13 for 1.1.12/04. 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.
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.
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.
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.
These are the files from VMTOOLS, extracted with Steve's kind permission. Note that they have been untouched by mankind the last ten years or so; your mileage may vary.
Note that TCPCLIEN REXX supports socks level 4 only.
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.
See also, Rob van der Heij's paper Introduction to Plumbers' Workbench
All of the papers listed in this Web page, in all formats, VMARC format (5.3M), archive rebuilt 10/31/2000
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.
PIPE Command Programming Interface, LIST3820 format, packed (196K), revised 05/20/97
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.
View the Piper's Birthday
Party
Download the Piper's Birthday Party, in VMARC format (9.1M), for local viewing.
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.
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
CMS Pipelines: The SQL Stage
Employing CMS Pipes in HLL Applications
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
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
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
Be sure to read CMS Multitasking Considerations.
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.
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 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".
The following files provide working examples of using the new CMS Pipelines programming interface described in John Hartmann's paper PIPE Command Programming Interface.
See also, Dave Jones' paper Employing CMS Pipes in HLL Applications
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
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
See also, Melinda Varian's paper Plumbing the Internet
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.
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
The sample XEDIT macros also work with KEDIT.
UNIX users may find this information useful.
Here is a collection of light-hearted links (at least from a real plumber's perspective).