I'm going to pivot here. I'm putting my support behind putting BatchPipes in the z/OS base (rather than just Pipes). If you agree, please write/support such a requirement and/or educate your management to get interested. BatchPipes includes BatchPipesWorks, a not so current, but still highly useful, version of TSO Pipelines.
The reasons are: 1. The audience that could benefit from BatchPipes in the base is much larger than that of TSO Pipes in the base. The former includes organizations that: - Have a limited batch window or want to reduce JOB run times. - Are constrained on developer resources. - Want to reduce hardware requirements. - Require quick resolution to production problems. - Have a policy to reduce their carbon footprint and/or their contribution to the climate crisis. 2. It is unrealistic to expect wide buy-in for TSO Pipes since most z/OS sites are highly dependent on JCL. 3. BatchPipes in the z/OS base would be the biggest enhancement to JCL since it (JCL) came into existence. 4. BatchPipes in the base would improve the competitiveness of z/OS. 5. IBM, vendors, and customers would benefit from the capability by being able to write quicker running, more general, less complicated JCL, knowing that BatchPipes would be available on all target systems. 6. All parties could potentially benefit from having the PIPE command available on all target systems. 7. BatchPipes fittings could enhance and extend existing programs and utilities with a consistent, intuitive, and uncomplicated control language. Too many utilities have unique, inconsistent, and/or complex control languages. 8. Contribute to global warming mitigation by reducing electricity usage due to processors, storage hardware and cooling. This is more significant with BatchPipes as there is likely to be a larger impact in a shorter amount of time than with just Pipes alone. The latter would be adopted more slowly and less broadly. Climate crisis mitigation efforts may be exempt from the rumored requirement that IBM is legally barred from offering software at a loss. (IMHO, the huge number of competitors to IBM in today's market, suggests that any such requirement is obsolete and should be removed.) 9. There would be some portability between z/VM and z/OS. 10. Despite wide support, Pipes requirements have not budged for decades . Anyone so inclined, is welcome to submit such a requirement, adapt my Pipes requirement, and/or work with me on a new requirement. Of course, if you agree, vote for the requirement. Can the current Pipes requirement be construed to support BatchPipes? Is it too much to expect BatchPipes to be added to the z/OS base without the delay of waiting for requirement(s), voting, and acceptance. Alternatively, BatchPipes and the REXX Compiler, possibly along with other software, could be packaged together as a combined product, perhaps with a performance or global warming mitigation theme . Another possibility would be to offer BatchPipes Light, where the intra-JOB piping was offered free or in the base. Half pipe fitting might be a loss-leader to attract customers to the full product. As a developer, I love REXX and I love Pipes. Together, they are programmer heaven, more so than OO. Whenever I write something new, whether in z/OS or z/VM, I write a REXX EXEC. Under z/OS, I SPAWN the EXEC when I want to run it in batch. I have used BatchPipes only briefly, but I know Pipes fairly well. Pipes are the language of BatchPipes fittings, which essentially is an enhancement that allows Pipes stages to run on most DDs between the program and the storage media. I don't like BatchPipes. They require opsys or sysprog assistance and are too much trouble to use. They support inter-JOB piping which requires a subsystem and makes the real valuable part (Half Pipe Fittings) complicated and hard to use. Since I almost never use JCL, I have no use for them. I can, however, see their use and, as listed above, their value to the z/OS community as a whole. That said, for the rest of this note, I will PRETEND to be someone with production support responsibilities. If some of these things have no connection to anything that any site would actually do, I apologize. I'm just a color-blind painter trying to paint a picture that will give you the idea. ---------------------------------------------------------------------------------------------------------------- In an imaginary future, some production control person may write: I love BatchPipes! Since we started using it, our batch production run time has steadily dropped and is now just 20% of what it was. We were able to shorten the run-times of the longest running JOBs to a small fraction. The DBAs love that they can start their maintenance and backups earlier and with plenty of time to spare. Much of the time, instead of writing a new step or a new JOB, we can accomplish the same thing with no new code, other than a JCL change. We just put a Pipe fitting on a DD. It can be a temporary override or a permanent change. Did we get a dataset with the wrong DCB? Add a pipe fitting to the DD. No need to copy over the dataset. Did we get raw, unconverted ASCII data in transmission? No problem. Pipe fitting! Did the developer forget to add record counts to the summary report ? Easy-peasy! Add pipe fitting to the DDs. The list goes on. It doesn't matter if it's too big for ISPF EDIT. The size of the files that we can fix are not limited to available memory. There seems no noticeable increase in resource usage or run time when we address a production problem this way. All data is passed in locate-mode. One of our developers had this crazy idea to convert all our JCL and COBOL to REXX and Pipes. That's not happening, ever. On the other hand, I'm going to propose that special approval be required to develop and put into production any new JCL streams or COBOL programs. That guy had taken a 600+ line COBOL program and rewrote it in a Pipe command of a dozen lines. Granted the COBOL had been over-maintained and was filled with lots of unreachable, fossil code. That's the problem with JCL and COBOL. There are not enough real comments and it's all too verbose to understand the big picture; plus the important code interacts in two or more separate modules. You can't know what a step is doing without knowing about both the JCL and the program. BatchPipes Fittings and the PIPE command put everything together, visible at once. BatchPipes Fittings are the greatest enhancement to JCL since the first days of OS/360 JCL in the 1960s. I'm so glad IBM put BatchPipes and the REXX compiler in the z/OS base. It's made my job so much easier. No panic fixes or work-arounds. No complicated control cards. No OPENs, READ-WRITE loops, EOF logic or CLOSEs. Just simple, reliable changes, done right the first time. We haven't needed to use the REXX Compiler, but we're glad to have it in case we need a Plan B. End of fictional "production control person" comments. ---------------------------------------------------------------------------------------------------------------------------- Granted, it 's not the most entertaining fiction ever written, not by a long shot. I hope it got the idea across. If you think BatchPipes could be helpful to your organization in some way, talk it up with anyone who could move it forward in your organization. Try to get it installed. OREXXMan Would you rather pass data in move mode (*nix piping) or locate mode (Pipes) or via disk (JCL)? Why do you think you rarely see *nix commands with more than a dozen filters, while Pipelines specifications are commonly over 100s of stages, and 1000s of stages are not uncommon. IBM has been looking for an HLL for program products; REXX is that language. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN