-------- Shipped to VMTOOLS 12 Jan 1994 20:41:51 ----------------------- PIPELINE MODULE Modification 1.0108 sublevel 28 ( 1C in hex) APLxxCODE Support 32777, 3278, or 3279 as the first operand in addition to the encoded value (which is often supplied by FULLSCRS). Support additional keyword operand TEXT/APL to indicate if TEXT (the default) mapping or APL mapping is to be used. BUILDSCR Support hexadecimal notation for the attribute bytes (the first four words). The word must be *, three characters, or Xxxxxxx (six digits). Support machine number for the seventh operand (3278 or 3277). Add a keyword operand TEXT/APL to indicate if TEXT (default) or APL is to be used for the APL/TEXT characters. This assumes that the seventh operand is 1 or 2. Delete usage note 1. Control records can be any length now (but it may still be difficult to generate long ones). Fix bugs and quirks. PIPCMD Support the REXX pipeline command. Terminate with return code 0 even when a command consumes the last input record. RUNPIPE and global/local options now support the MSGLEVEL as a decimal number or an X followed by hexadecimal digits. These are equivalent: | runpipe msglevel x100 | | runpipe msglevel 256 | PIPMOD MSGLEVEL is unchanged; it only supports a decimal number. -------- Shipped to VMTOOLS 20 Nov 1993 17:22:54 ----------------------- PIPELINE MODULE Modification 1.0108 sublevel 24 ( 18 in hex) CHOP Support the number 0 for completeness. DMSDFSRT A raw interface to DFSORT. You must global the DFSRTLIB TXTLIB, ensure that variable records are |block n v|, and supply the RECORD statement as well. FULLSCRx Issue correct message when used in a disconnected virtual machine (!) FULLSCRC (Undocumented.) But fixed. (It is a replacement for FULLSCRC that goes to read the device rather than get CP's cached information.) FULLSCRS Process all input records. PICK Select records that satisfy a relation. PICK [NOPAD | PAD ] {|} {|} is one of == ^== >> >>= << <<=. /== and \== are synonyms for ^==. Select the records for which the relation holds. Reject those for which it does not. XRANGE Support two operands as documented. -------- Shipped to VMTOOLS 28 Oct 1993 20:23:32 ----------------------- PIPELINE BOOK PIPELINE HELPLIB PIPELINE LIST3820 -------- Shipped to VMTOOLS 23 Oct 1993 13:50:07 ----------------------- PIPELINE MODULE Modification 1.0108 sublevel 17 ( 11 in hex) AGGRC Aggregate return codes read from the primary input stream (one return code per record). The aggregate return code is written to the output at end-of-file on the input. If the write fails with a positive return code, the stage's return code is set to the aggregate return code; otherwise the stage's return code is zero. If any return code is negative, the aggregate is the minumum of the return codes. Otherwise it is the maximum. CP/COMMAND/CMS The return code is now zero when a secondary output stream is defined. DEBLOCK ONEBYTE Deblock logical records that are prefixed by a one-byte length field. The length count includes the length byte. FULLSCRC Like FULLSCRQ, except that a read is performed. (FULLSCRQ uses CP's cached reply which may not show the current status of symbol sets.) FULLSCRS Format additional words containing information from colour, highlighting, and reply modes structured fields. The last word contains the cell size in pels. REXXVARS Fetch a dummy variable to ensure that the get next pointer is reset before commencing to read variables. SPEC WRITETO deleted. STARMSG Support an input stream. When STARMSG is not first in a pipeline it issues input lines as CMS commands. It terminates when the input reaches end-of-file. Thus, to issue a command and trap output: pipe literal | starmsg or: pipe hole | starmsg SUBCOM The return code is now zero when a secondary output stream is defined. UNIQUE Terminates earlier when its output streams are at EOF. With pairwise, it no longer ignores the return code on write. VARFETCH Support a secondary output stream. When the secondary output is defined, the input record is copied to the secondary output if the variable is not exposed (or does not exist). VARSET Support a secondary output stream. When the secondary output is defined, the input record is copied to the secondary output if the variable is not exposed (or does not exist) before it is set to a value. XMSG Issue the messages as COMMAND MSG. This avoids tripping up when MSG is synonymed to a macro, or when MACRO is ON. 3270QREP Generate the data stream to perform a query for the device characteristics. -------- Shipped to VMTOOLS 18 Sep 1993 12:58:13 ----------------------- PIPELINE MODULE Modification 1.0107 sublevel 141 ( 8D in hex) CMS/COMMAND Do not issue message 162 (and with garbage to boot) during abend processing. CP Prefix a plus to the return code written to the secondary stream after a command has been truncated. CRC CRC CRC-16 uses the CCITT-16 polynominum rather than the SDA-II one. And vice versa. The options were inverted. REXXVARS New optional operands: WIDTH COMMENTS | NOCOMMENTS TOLOAD Use WIDTH to extend the space for the longest variable. The number is a minimum; REXXVARS may provide any buffer size greater than this minimum. Thus, truncation is not guaranteed. Support keyword TOLOAD to indicate that the output should be in a format that can be passed to VARLOAD. A delimiter is determined dynamically. The keyword COMMENTS specifies a delimited string that contains characters that should not be used for delimiters. The default is COMMENTS /* / (which corresponds to VARLOAD's default). NOCOMMENTS specifies that all 256 EBCDIC characters may be used. A message is issued if the variable and the comment string span all 256 characters. When TOLOAD is specified, the WIDTH should be specified as 260 plus the length of the longest variable expected. REXXVARS/STEM/VAR/VARLOAD Support MAIN to indicate that the variables in the environment that issued the PIPE command (or the one for RUNPIPE) are to be operated upon. This allows a subroutine pipeline to set variables in the caller irrespective of the number of REXX environments in its path. A number is optional after PRODUCER and MAIN. Zero is assumed if the following word is missing or not decimal. A negative number is rejected. STEM hole|stem x. from 3 now sets x.0=2. (It set it to zero before). STEM/VAR/VARLOAD Support SYMBOLIC and DIRECT to indicate if the variable names are to be substituted further (default for STEM and VAR) or to be taken as is (default for VARLOAD). VARDROP [|PRODUCER []|MAIN []] [SYMBOLIC | DIRECT] Drop variables in the environment specified. The variable names are specified in separate input records. Use the option DIRECT to drop stemmed variables reliably. SYMBOLIC is the default. The input record is copied to the output after the variable has been dropped. It is not an error to drop a non-extant variable. Null input records are copied to the output. VARFETCH [|PRODUCER []|MAIN []] [SYMBOLIC | DIRECT] [NOCOMMENTS|COMMENTS ] [TOLOAD] Fetch variables from the specified environment. The variable names are specified in separate input records. Use the option DIRECT to fetch stemmed variables reliably. SYMBOLIC is the default. The output record contains the value of the variable; when TOLOAD is specified, the value is prefixed the name of the variable (as it was in the input record) in a suitably delimited string (see REXXVARS). The default is NOCOMMENTS. The asterisk and the blank are used as the last resort; this will minimise the exposure if the records are passed to VARLOAD. Null input records are discarded. Null values are written. VARLOAD Support COMMENTs | NOCOMMENTS. The delimited string enumerates the characters that begin a comment. The default is COMMENTS /* / (that is, lines beginning with an asterisk or a blank are ignored). NOCOMMENTS is a convenience for COMMENT //. VARSET Synonym for VARLOAD SYMBOLIC NOCOMMENT. Same arguments and behaviour as existing VARLOAD. -------- Shipped to VMTOOLS 11 Sep 1993 19:24:45 ----------------------- PIPELINE MODULE Modification 1.0107 sublevel 121 ( 79 in hex) The scanner has been cleaned out so that it does support C370 and PL/I filters; this has been broken for about a year. The NAME option is no longer truncated after 8 bytes. This will allow you to add further description after the name inserted by FMTP. (And --the difference--see these names in messages.) The encoded pipeline specification now is level=2. It adds the original pipeline specification (if it exists) and a long name to the PIPSCBLK data area. This is written as part of the Event record type 04--the record is now 56 bytes. > >> DISK now close the file also when the disk runs full. (And in case of other errors.) COLLATE Terminate when all output streams are severed. CASEI All stages that issue "encoded" pipelines under the cover have ELASTIC issued them with the NOLONG option (despite it being impossible ZONE to do so by hand). They now support records that are longer than 64K. COUNT Make RECORDS synonym for LINES. CRC Recognise the keyword COMPLEMENT. Rolled into the main module. CRC supports the options: CRC-32 (the default). 32-bit CRC using the standard which originated on the AUTODIN-II network. Also used on Ethernet. CRC-16 The 16-bit CRC used on the 2701 DAU. CCITT-16 CCITT's 16-bit CRC (different from above). CRC-16I Same polynominum as CRC-16, but CRC register preloaded with 8000. Used by the IUPDATE command. In addition, custom CRCs can be generated. Call for details. LISTPDS Do not write spurious lines when a library has been compressed. REXX Support compiled rexx in filter packages and on the input steams. SORT Fixed bug when (1) sorting descending (2) not all of the sort field is present in the records (3) records are shorter than 16M and (4) buffer storage is not zeroed when obtained from CMS. This could lead to the wrong result of the compare. Condition (4) requires at least RELPAGES OFF. (UN)TERSE are now rolled into the main module. The problem with TERSE FIXED generating a file that contains a logical record length of zero is fixed in the PIPELINE module, but not in PIPSYSF. Use (UN)PACK as documentation until I get this one done. Do remember to write the file Fixed-format! -------- Shipped to VMTOOLS 4 Jul 1993 18:57:48 ------------------------ PIPELINE MODULE Modification 1.0107 sublevel 111 ( 6F in hex) The keyword STRing is now recognised wherever a delimitedString is scanned. The keyword indicates not to test for hex or binary. Thus, LOCATE STRING xABCx. Note that CHOP/STRIP/SPLIT scan for STRING as an alternative to ANYOF. Thus you'll have to stutter a bit: chop string string xabcx chop anyof string xabcx but this will continue to attract a syntax error because the string is not hexadecimal: chop string xabcx COMBINE Support KEYLENgth (instead of the number). This indcates the number of leading columns that contain a key. Runs of records that have a common key are combined. CMS/COMMAND/CP If the secondary output stream is defined, return codes are written to this stream after the response is written to the primary output. No command string may be specified with the argument. They do not terminate on unknown commands when they have a secondary stream, but they do terminate as soon as they discover that the secondary output is not connected. CONSOLE Write a blank for a null line to keep CMS 5.6 happy. DEBLOCK NETDATA should consume the last card of the file. DELAY Revert to using own timer management. This means that PROFS and pipes get into each other's hair. Just upgrade your CMS to ESA release 2 (CMS9). DROP Propagate eof on the output. Support * to mean everything. LOCATE and NLOCATE Input ranges now follow the SPECs style. That is, words, fields, relative to the end of the record, and what not. FS can precede a range to specify the field separator character. WS to specify the word separator character (blank by default). RUNPIPE Support the option MSGlevel followed by a *hexadecimal* word. The message level applies to the pipeline sets created by the runpipe stage. Remember to set all the bits needed; to time stages and add message 1: literal hole | runpipe msg 2001 | cons NB: This has been changed. See above. SPEC I2C conversion incorrect for centuries other than 19xx. WS to specify the word separator character (blank by default). WORDSEPARATOR is the longwinded name for this option. SPLIT Add MINimum as an option that must be specified before the "old" plist. When a number is specified, SPLIT keeps at least that many characters together. This is good to deblock a 3270 inbound data stream where the buffer addresses are 14-bit. They could contain x'11'. SPLIT MINIMUM 3 BEFORE 11 fixes this. SUBCOM If the secondary output stream is defined, return codes are written to this stream (after the input record is copied to the primary output). No command string may be specified with the argument. SUBCOM continues also after a negative return code when it has a secondary stream; it terminates as soon as it discovers that the secondary output is not connected. TAKE Support * to mean everything. VCHAR No change to externals, but special cases have been speeded up considerably. Idioms that truncate records at byte boundaries are now recognised (eg, VCHAR 16 16). XLATE The initial translate table is read from the secondary input stream when it is defined. One record is read; it contains the translate table; it is padded with the remainder of the neutral table if requierd. A null record (or no record) on the secondary input stream causes the null table to be used initially. Arguments will modify this table. There is no default if arguments are omitted; the assumption is that you then want exactly the table you provided. Input ranges now follow the SPECs style. That is, words, fields, relative to the end of the record, and what not. FS can precede a range to specify the field separator character. WS to specify the word separator character (blank by default). The ISO 8859-1 translation can now also be specified by codepage 819. Codepage 850 (PC variant) is now also supported. As are codepages 437, 863, and 865 (whatever they are). XRANGE New program. It must be first in a pipeline. It writes one record. With no arguments that record contains 256 bytes that are the collating sequence ('00'x through 'ff'x). One argument is allowed; it must be an XRANGE; if it is specified the output record contains this range of hex values. 3277BFRA TO16BIT. Performs the reverse mapping of the of the function already in 1.1.7. An event record with type=13 is now issued when a stage has issued a subroutine pipeline and is waiting for it to complete. The data word in this record is the reference for the pipeline specification that the stage is waiting for. A type-12 record is cut when the stage is made dispatchable again. The flag byte in the type-4 record is now set correctly and the end and escape characters are set to blanks when they have not been specified. The address and length of the pipeline specification are appended to the type-04 record (at offset 40); these are zero for an encoded pipeline specification. -------- Shipped to VMTOOLS 5 May 1993 08:35:51 ------------------------ PIPELINE MODULE Modification (Version.Release/Mod) sublevel 99 ( 63 in hex) CONSOLE Write a blank for a null line to keep CMS 5.6 happy. -------- Shipped to VMTOOLS 24 Apr 1993 14:45:06 ----------------------- PIPELINE MODULE Modification 1.0107 sublevel 87 ( 57 in hex) The final 1.1.7 module linked below the 16M line so that it should be useful on CMS5 as well. For enhancements from 1.1.6 (VM/ESA 1.1) see PIPELINE NEWS117 on IBMVM