Edit macro @VP Edit macro @VP Author: David McRitchie formatted on 1995/04/01 06:54 for assistance contact: D. McRitchie DMcRitchie@hotmail.com -------------------------------------------------------------------------------- Macro name. @VP users. PDF EDIT users particularly SCRIPT users type. Edit Macro resides in SYS1.TSOCLIST -------------------------------------------------------------------------------- @VP Creates a SYSOUT dataset from a non-VSAM dataset VPSPRINT Creates a SYSOUT dataset from a non-VSAM dataset -------------------------------------------------------------------------------- related @PRINT, PRINTOFF, DSPRINT -------------------------------------------------------------------------------- The @VP edit macro invokes the VPSPRINT tso command with the dsname and membername of the member in edit being supplied as the dataset name included on the command. The remainder of the operands are those of the VPSPRINT command. The description of the VPSPRINT command which follows is the same as the HELP information supplied with VPSPRINT. One particulary useful feature of using @VP is that you can be in edit of a se- quential dataset or one that you hold exclusively and still be able to print without leaving edit. If you do not save, you will be provided with the ability to print the old version. Normally you would save first and then issue @VP. -------------------------------------------------------------------------------- ISREDIT @VP ISREDIT @VP P100E | SYSTECH ISREDIT @VP CFO.LASER TSO VPSPRINT 'dataset.name' LOCAL TSO VPSPRINT 'dataset.name' P100E TSO VPSPRINT 'dataset.name' CFO.LASER FUNCTION - VTAM printer support (VPS) (C) LEVI, RAY & SHOUP, INC. 1984,1985,1986,1987,1988,1989 the VPSPRINT command is used to print all or part of a sequential data set or member of a partitioned data set on a 3284, 3286, 3287, 3288, or 3790 line printer. Printers attached by means of a protocol converter to an IBM 3274 cluster controller may also be considered as valid candidates for use of this command. Allowable record sizes: 10-32767 In, 1-32767 out. -------------------------------------------------------------------------------- Note: To get help for one or more parameters only use o(...,...,etc). Example: H VPSPRINT o(col) -------------------------------------------------------------------------------- SYNTAX - VPSPRINT 'dsname' 'printer-name' REQUIRED - Dsname and printer-name (if missing you will be prompted) DEFAULTS - NONUM BMARGIN(installation-defined) * CLASS(A) * COPIES(1) EOJMESS FOLD(installation-defined) * HEADER * NOHOLD PAGELEN(installation-defined) SINGLE TMARGIN(installation-defined) OPTIONAL PARAMETERS (IN ALPHABETICAL ORDER) : * APL * ASA/ASC * ASIS * BEGSTR(STRING,COLUMN) * BINARY * BLKSIZE/BLOCK ('BLOCK-SIZE') BMARGIN('integer') CCHAR * CLASS('OUTPUT CLASS') COLUMN('integer':'integer' ...) * COPIES('integer') DDNAME('ddname') * DFDD(DDNAME) * DFDS(DSNAME) DIRECT(keep/delete) DOUBLE --- double spacing EJECT/NOEJECT * ENDSTR(STRING,COLUMN) * EOJMESS * FCB('FCB IMAGE NAME') FOLD('width')/truncate('width') * FORMS('FORM NAME') * HEADER/NOHEADER * HEXSP/HEXS2('BYTES-ACROSS') * HOLD/NOHOLD * HX/HEX4/HEX8/X4/X8/XX LINES('line-num1' : 'Line-num2') * LMARGIN('integer') * LOG * MCH * MEMBERS * NOCHAR NOEJECT * NOEJMESS * NOHEADER (OR NOHDR) NONUM * NOTIFY * NOTSTR(STRING,COLUMN) NUM('loc','len') * OUTDD('ddname') * OUTPUT('NAME','NAME',...)/OTPT('NAME','NAME',...) PAGELEN('integer') * PAGES('PAGE-FROM:PAGE-TO') * PASS * PASSWORD * PC * PREDSN(DSNAME) * PRINT * REMARKS/COMMENTS/NOTES ('comments.........') * RMARGIN('integer') SINGLE/DOUBLE/CCHAR SNUM('loc','len') * STRING(STRING,COLUMN) * SUBSYS(STRING) * TERMINAL TMARGIN('integer') * TRACE(DDNAME,CLASS,DESTINATION,WTR)/NOTRACE TRUNC('integer') * UCS('NAME',FOLD,VERIFY) * UNCHAR * VASA,VASC,VMCH * VOL('SERIAL-NUMBER','UNIT-NAME') * WTO * WTR('WRITER NAME') NOTES - all items marked above with an asterisk (*) are VPS exten- sions to the IBM dsprint fdp (5798-CPF) as provided by LEVI, RAY, & SHOUP. If an application is to be designed to remain totally compatible with the IBM product offering, it is recommended that these keywords not be used. Unlike dsprint, VPSPRINT also supports printing to any local or remote non-VPS printer. Installation-defined destination names may be specified as a valid 'printer- name' as outlined below. An installation-defined table is supplied with the program. The CSECT desttabl contains defaults for printer-name, page-length, line-width, top-margin and bottom-margin. Abbreviated commands: VP dataset.name keywords inserts local destination vu dataset.name keywords inserts u200 destination OPERANDS - dsname required positional parameter 'dsname' ('member-name') ('*') ('xxx*') - The data set or data set and member to be printed. (If password protected, suffix with / and the data set password.) the record format may be fixed, variable or undefined. It may be blocked or unblocked. The records may contain ANSI or machine-code forms control characters or no forms control characters. Spanned records are not supported. Note: Anything after the / suffix will be assumed to be the password. There are two ways to get prompted for a password(the 2nd is preferable): 1. Add / and hit enter. After entering password you will be prompted for print-name; Enter all remaining parameters on that line. 2. Do not enter the / and you will be prompted by the open routine. This way you are able to enter the entire command on one line. Member-name may also be specified as '*', in which case all members will be printed. A prefix may be specified as in 'xxx*', in which case all members beginning with 'xxx*' will be printed. 'Lines', if specified will pertain to each member. 'Pages' will pertain to each member, but there must be channel 1's present in the members. ('dsname1','dsname2','dsname3',...etc) <--dataset list a list of dataset-names may be specified. The output RECFM is always VB, vba or VBM. The output RECFM used will be determined by the first dataset in the list that has carriage controls(FBA,FBM...etc). If none have ctls, then the output RECFM will be VB. PRINTER-NAME REQUIRED POSITIONAL PARAMETER. 'Printer-name' - The installation-defined name of the 3284, 3286, 3287, 3288, or 3790 batch function line printer to receive the output of this request. This name may also be the jes2 local destination name (e.g. U2, u23, u236, etc.). Any printer attached to a 3274 cluster controller by means of a third-party protocol converter may also be considered as a valid printer destination (e.g. PRINTRONIX, Diablo, tally, XEROX laser printer, etc.). APL - A null parameter for DPS compatibility. ASC/MCH/VASC/VMCH - Treat the input dataset as though it had carriage control although it is FB or VB. Use ASA/mch for fixed and VASA/vmch for variable. ASIS - This operand forces the output to be a copy of the input. No carriage controls are added or deleted. The output RECFM will be the same as the input. The only parameter affecting the output that may be used is LINES(). For example, ASIS against an assembly listing will print the carriage controls. BEGSTR(STRING,COLUMN)/('STRING',COLUMN) - Do not print until "string" is found. Begstr has precedence over endstr,str and NOTSTR. BINARY - A null parameter for DPS compatibility. BLKSIZE/BLOCK ('BLOCK-SIZE') - For use with the above hex modes. It forces RECFM=U and use of the specified block size. Without this parameter the hex modes force RECFM=U with a blksize of 4096. BMARGIN('integer') - Specifies the minimum number of blank lines to be left at the bottom of each printed page. The default is installation-defined, and may vary from one printer to the next. CCHAR - Indicates that ANSI or machine-code spacing control characters will be used for inter-record spacing. Only SINGLE, DOUBLE, and triple spacing or page EJECT requests will be honored. Intra-record spacing for multiple-line records will always be SINGLE. If a dataset has no controls, SINGLE spacing machine controls will be used. CLASS('OUTPUT CLASS') - System output ("sysout") class in which output is to be placed for printing. The default is "a". COL('integer':'integer' ...) - Indicates that only selected columns from each record are to be printed. Each integer pair designates a range of columns. Up to 32 pairs may be given, to be concatenated across the page. A range ending beyond the end of a record will produce blank columns. However, if a starting COLUMN is given that is beyond the end of a record, and no ending range is specified, the range will be considered empty. The second integer in any range may be omitted resulting in end-of-record being treated as the end of the range. COMMENTS - see remarks. COPIES('integer') - Specifies the number of copies to be printed. The default is one (1). DDNAME('ddname') - If your data set is currently allocated, you may optionally specify its DDNAME and thereby decrease allocation overhead. However, the DDNAME is not crosschecked against the dsname. Note: DDNAME(sysin) will take input from the terminal, if sysin is allocated to da(*). DFDD(DDNAME) - Used to specify an external defaults dataset by DDNAME. DFDS(DSNAME) - Used to specify an external defaults dataset by dsname. DIRECT(KEEP/DELETE) - This operand is named for compatibility purposes with the IBM dsprint fdp (5798-CPF). It is used to specify a disposition for the input dataset. The default is 'keep'. If 'delete' is specified for a PDS it will not be honored. If 'delete' is specified for a PDS and member name is not specified you will get a 001 abend. DOTRACE('ddname','SYSOUT-CLASS','DESTINATION','WTR-NAME') - (formerly "TRACE"). Write a TRACE report to a separate sysout file. The sub-parameters are optional. Default class is "a". Default destination is "u100". DOUBLE - Indicates that DOUBLE spacing is to be used. This causes machine controls to be used. EJECT - Indicates that a page EJECT will take place after the data set header is printed. ENDSTR(STRING,COLUMN)/('STRING',COLUMN) - Print until "string" is found, and include the line where "string" was found. EOJMESS - Produce an end of job display. Endstr has precedence over str and NOTSTR. FCB('FCB IMAGE NAME') - Specifies the forms control buffer print image to be used for printing. There is no default fcb if none is specified. FOLD('WIDTH') - Indicates that records too long to be printed within the given 'width' will be folded and will occupy multiple print lines. The default for width is installation-defined and may vary from one printer to the next. FORMS('FORM NAME') - Specifies the name of a special form to be mounted prior to initiating a print request. Note that specification of this operand requires manual intervention on the part of the user and may require additional knowledge of the VPS control TSO interface. Consult the latest version of the "VPS TSO command processor user's guide" for further details on special forms requests. HDR/HEADER - Add the VPSPRINT header (4 lines) to the beginning of the output dataset. HEXSP/HEXS2 ('BYTES-ACROSS') - The dataset will be printed in SRCHPRNT dump format. That is, 4 lines: 1. A line of characters in normal print mode. 2 A line representing the left half of the hex mode. 3. A line representing the right half of the hex mode. 4. A blank line. (The blank line may be eliminated by specifying 'hexs2') the length of the lines is controlled by 'bytes-across': Default: 70 For the terminal, 120 for the printer. Forces RECFM=U and blksize 4096 if 'blksize' not present. HOLD - Specifies that generated output is to be placed on a hold queue upon deallocation of the print request. HX/HEX4/HEX8/X4/X8/XX - The dataset will be printed in dump format. If terminal is specified with hx/xx then the format will be 4 words, otherwise 8 words across will print. The other keywords specify how many words across(hex4 etc.). Forces RECFM=U and blksize 4096 if 'blksize' not present. LINES('LINE-NUM1' : 'LINE-NUM2') - The range of lines to be printed, either in terms of embedded line-number fields, or relative records if the file is unnumbered("NONUM" operand). 'Line-num2' will default to last line. If "lines" operand is omitted, entire data set or member will be printed. See 'pages'. LMARGIN('integer') - Specifies the number of blank columns to be inserted to the left of each printed line. Header lines are not affected. LOG - Write-to-log a message at the end of job. "VPSPRINT-dataset.name destination class". MCH/VMCH - Treat the input dataset as though it had carriage control although it is FB or VB. Use mch for fixed and vmch for variable. MEMBERS - For obtaining a member list on SYSPRINT(normally the terminal). A prefix may be specified. Examples: 'Sys1.maclib(ihas*)' clist(g*) cntl(assem*) NOCHAR - Do not add any carriage controls to the output. NOEJECT - Indicates that the text of the data set will print starting on the same page as the data set header. The top margin (minus one line) will appear between the header and the text on the first page. This is the default. NOEJMESS - Suppresses the display at the terminal of the message text indicating that the print request has been queued for processing. This message text generally consists of the data set name, the number of print records, output class, copies, form name, and destination. NOHEADER/NOHDR - Indicates that the data set header will not be printed. If specified in addition to the EJECT option, the EJECT option will be ignored. NOHOLD - Specifies that generated output is not to be placed on a hold queue upon deallocation of the print request. This is the default. NONUM - Indicates the records are treated as though there were no embedded line numbers. NOTERM - Do not send to SYSPRINT (terminal). NOTES - See remarks NOTIFY - A null parameter for DPS compatibility. NOTRACE - Do not TRACE. NOTSTR(STRING,COLUMN)/('STRING',COLUMN) - Do not print a line if "string" is found in it. NUM('LOC','LEN') - Indicates the data set contains a line-number field which is to be printed: 'Loc' and 'len' are integers that define the rel. Position of the field within the record. 'Len' is one digit and may not be greater than 8(default is 8). The default 'loc' will depend on the record format: The beginning of the record for variable or undefined formats, and the end of the record for fixed formats. OUTDD('ddname') - If you do not specify this parameter, VPSPRINT will use a system generated DDNAME for the output dataset. OUTPUT('NAME','NAME','NAME',...ETC) OR OTPT(....) - ALLOWS REFERENCING "//NAME OUTPUT" CARDS. For example, output(oname1,oname2) would produce two output files, the first using the parms from //ONAME1 OUTPUT, THE SECOND USING THE PARMS FROM //ONAME2 OUTPUT. Note: Destination and class from the output cards will not be used. PAGELEN('integer') - Specifies the length of a printed page in terms of number of lines (perforation to perforation). The default is installation-defined, and may vary from one printer to the next. PAGES - ('page-num1:page-num2') - The range of pages(channel 1's) to be printed. If the file has no channel 1's, nothing will print. 'Page-num2' will default to last page. If "lines" is specified, and NONUM is specified, then "lines" is assumed to be relative to these page numbers. PASS - Return a pointer to an interprogram area in r15. Can be used when linking VPSPRINT from a program. See the "VPSPRINT" CSECT. PASSWORD - A null parameter for DPS compatibility. PC - Convert uploaded carriage controls and tabs. (X'08' to spaces, x'0c' to x'f1'). PREDSN('DATASET NAME') - Add the dataset named to the beginning of the dsn list. PRINT - A null parameter for DPS compatibility. REMARKS/COMMENTS/NOTES ('comments.....') - For commenting the header line. Anything is acceptable except commas and spaces. Even with spaces or commas the command will run, but the extraneous information message will be displayed(which does not affect the header). Will be displayed on the first header line. REPORT - See remarks. RMARGIN('integer') - Specifies the number of blank columns to be inserted to th right of each printed line. Header lines are not affected. SINGLE - Indicates that SINGLE spacing is to be used. This causes machine controls to be used. This is the default if CCHAR is specified on a dataset without controls(not FBA or FBM). SNUM('LOC','LEN') - Indicates the data set contains a line-number field which is not to be printed: 'Loc' and 'len' are integers that define the position of this field within the record. 'Len' is one digit and may not be greater than 8(default is 8). The default 'loc' will depend on the record format: The beginning of the record for variable or undefined formats, and the end of STRING(STRING,COLUMN)/('STRING',COLUMN) - Do not print a line unless "string" is found in it. String has precedence over NOTSTR. SUBSYS(STRING) - Adds subsys=name to the input dataset allocation the record for fixed formats. TERMINAL - If the user has a "SYSPRINT" dd statement allocated to the terminal, a display of the dataset will be "written" to the terminal. In effect, this allows viewing of the -------------------------------------------------------------------------------- :hp2. Page @SPELLS-1 :ehp2. SYSTECH NOTICE -- CLISTS dataset prior to printing; In addition, a "copy" of the data set could be "written" to a pre-allocated data set allocated by the "SYSPRINT" dd name for subsequent modification or backup. TMARGIN('integer') - Specifies the number of blank lines to be left at the top of each printed page. The default is installation- defined, and may vary from one printer to the next. TRACE - See dotrace. "TRACE" is no longer a keyword. TRUNCATE('WIDTH') - Indicates that records too long to be printed within the given 'width' will be truncated to fit on one print line. The default for 'width' is installation-defined, and may vary from one printer to the next. UNCHAR - Remove all carriage controls from the output dataset. UCS('NAME',FOLD,VERIFY) - Specify "ucs" to JES. VASA/VMCH - Treat the input dataset as though it had carriage control although it is VB. VERSION - This is not actually a keyword. To obtain version info enter VPSPRINT with no operands;-when prompted just hit enter, and you will see a version display. VOL ('SERIAL-NUMBER','UNIT-NAME') - For specifying an uncataloged dataset. Specify the volume upon which the dataset resides. This is an alternative to 'ddname'. Unit-name is optional. WTO - Write-to-operator a message at end of job. "VPSPRINT-dataset.name destination class". The system will prefix time and id. WTR('WRITER NAME') - Indicates the name of a special external writer to be used when processing the print request. Under general circumstances this operand should not be specified. There is no default writer name if this operand is not specified.