** SNF980.TXT *** SELCOPY Rel 9.8 L=001 --- 97/04/25 17:55:27 (P21) Sourced from: g:\cd\sm980\SNF980.DOC L=020 --- 97/04/25 16:48:42 (P21) _____________________________________ | | | COPYRIGHT | |_____________________________________| Copyright in the whole and every part of this document and of the SELCOPY system and programs is owned by Compute (Bridgend) Ltd, whose registered office is located at 22 Merthyr Mawr Road, Bridgend, Wales, UK, CF31 3NR, and who reserve the right to alter at their convenience the whole or any part of this document, or the SELCOPY system and programs. No reproduction of the whole or any part of the SELCOPY system and programs, or of this document, is to be made without prior written authority from Compute (Bridgend) Ltd. Disclaimer At the time of publication, this document is believed to be correct. Where the program product differs from that stated herein, Compute (Bridgend) Ltd reserve the right to revise either the program or its documentation at their discretion. CBL do not warrant that upward compatibility will be maintained for any use made of this program product to perform any operation in a manner not documented within the user manual. *** _______________________________________________________ | | | | | SELCOPY 9.8 New Features | | | |_______________________________________________________| UK and Other Countries: COMPUTE (Bridgend) LTD Tel: +44 (1656) 65 2222 (Head Office) 8 Merthyr Mawr Road Fax: +44 (1656) 65 2227 BRIDGEND Wales CF31 3NH North America: COMPUTE (Bridgend) LTD Tel: +1 (416) 746 4447 38 Guided Court Fax: +1 (416) 746 5870 REXDALE Ontario M9V 4K6 Canada Germany: PLUS-DATA GmbH Tel: +49 (2685) 98 9013 (Agency) Lindenstrasse 11-13 Fax: +49 (2685) 98 9017 D-57630 FLAMMERSFELD Germany Information in this New Feature List, reflecting differences between SELCOPY Rel 9.7 and SELCOPY Rel 9.8, is subject to alteration at the sole discretion of Compute (Bridgend) Ltd. *** _______________________________________________________ | | | | | SELCOPY 9.8 New Feature Contents | | | |_______________________________________________________| Important Changes Expiry Date - June 2001 SELCOPY/pc Rel 2.0 - Expiry Date Default Filename Filename Restrictions Control Statement Continuation Literal Strings Standard Heading POS DATE New Facilities All: Selection Summary All: POS RPL MVS: DB2 Processing MVS: CBLNAME Fields/Attributes MVS: POS SQLCA/SQLDA/SQLMA New Messages Other Changes Distribution Medium Changes to Distribution File Packed Decimal with INTO Changed Messages Zaps Applied *** _______________________________________________________ | | | | | SELCOPY 9.8 IMPORTANT CHANGES | | | |_______________________________________________________| Expiry Date - June 2001 To facilitate user testing for Year 2000 compliance, SELCOPY Rel 9.8x has an expiry date of 12th June 2001. Four weeks prior to its expiry, from Tuesday 15th May 2001, Rel 9.8 will issue a warning message to the operator's console on every execution of SELCOPY. Further releases of SELCOPY will be distributed before the expiry of Rel 9.8. The New Features document for each release will announce the date from which the previous release will cease to be supported. SELCOPY/pc Rel 2.0 - Expiry Date As for SELCOPY Rel 9.8, SELCOPY/pc Rel 2.0 has an expiry date of 12th June 2001. A limited number of SELCOPY/pc User Licences (which has been increased) are incorporated automatically within your organization's existing mainframe SELCOPY licence, incurring no additional licence fee. See the current CBL Product Pricing Schedule, which is included in this year's distribution package, for details of how many pc machines you may install it on. The pc version of SELCOPY is now part and parcel of the SELCOPY mainframe (and unix) licence. Default Filename Dynamic allocation, using a field in the workarea for supplying the DSN, on previous releases required a mandatory fname parameter. e.g. RD ABC DSN = 44 AT 1001 where ABC, in this case is the arbitrary user chosen filename. The fname may now be omitted, in which case a default filename of DEFAULTF (for VSE, DEFAULT is used to accommodate its restriction of 7 characters) is given to the file for reference purposes. e.g. RD DSN = 44 AT 1001 will use the filename DEFAULTF/DEFAULT. On previous releases this resulted in a misleading error message. (ERROR 045 for the AT parameter.) The same principle is used for DSN literals. e.g. RD DSN='BR14.TEXT.D' will use the default filename of DEFAULTF/DEFAULT instead of the first qualifier of the dataset name BR14. Thus "IF EOF BR14" would fail. SUMMARY../ / SEL-ID \ SELTOT FILE BLKSIZE LRECL \ FSIZE CI DSN VOL/CAT ------ / ------ ---- ------- ----- / ----- -- --- ------- \ \ / Rel 9.8 format: / 1 \ 1 READ DEFAULTF 80 80 F \ 5 BR14.TEXT.D1 / / \ \ / Rel 9.7 format: / 1 \ 1 READ BR14 80 80 F \ 5 BR14.TEXT.D1 / / If DSN= is omitted and the DSN argument is provided as a string literal, then the fname continues to default to the first qualifier of the dsn. Filename Restrictions As a result of supporting DB2 (see New Facilities), the following words may no longer be used as filenames: TAB, TABLE, DB2 and SQL. (This restriction already applies to the keyword DSN.) However, they may still be coded as user labels. Control Statement Continuation Control statements (or cards) may now be continued. The continuation character is a backslash (\) as the last character of a control statement. e.g. PRINT 'THIS IS A LONGER \ THAN NORMAL LITERAL \ FOR ILLUSTRATION' If the last non blank character on a control statement is a continuation character, then the next control statement is concatenated with the continued control statement. Position 1 of the continuation control statement replaces the continuation character. This process of concatenation is repeated until a control statement is read with no continuation character. Concatenation of control statements takes place before syntax analysis. This means that continuation characters can be freely inserted at any convenient point(s) in a long SELCOPY control statement, including inside literal strings. This is particularly useful when coding long SQL statements for the new SELCOPY DB2 Processing feature. Problems could be encountered, such as: IF POS 1 \ THEN POS 1 = / will now have to read: IF POS 1 '\' THEN POS 1 = '/' * Quotes still optional here. Literal Strings Double-Quote may be used for literal strings as an alternative to the Single-Quote syntax, (as on SELCOPY/pc). e.g. PRINT "Can use 'QUOTE1' in a literal." PRINT 'Can use ''QUOTE1'' in a literal.' PRINT 'Can use "QUOTE2" in a literal.' PRINT "Can use ""QUOTE2"" in a literal." Problems could be encountered, such as: IF POS 1 = "ABC" must become IF POS 1 = '"ABC"' while IF POS 1 = " * Will now give error. Standard Heading Yr2000 Century included, to give 4-digit year in standard heading. Accommodated by reducing the number of spaces before the literal PAGE from 6 to 4. e.g. THU 27 MAR 97 PAGE 1 becomes THU 27 MAR 1997 PAGE 1 Problems could be encountered by old SELCOPY control statements that reference the 2 byte year previously at POS HEAD+116 (now at POS HEAD+118). POS DATE Yr2000 Century included in Julian Date in the DATE Control Block. e.g. POS DATE-28. Rel 9.7x format: x'0097,123c' Rel 9.8x format: x'1997,123c' *** _______________________________________________________ | | | | | SELCOPY 9.8 NEW FACILITIES | | | |_______________________________________________________| All: Selection Summary With the abend trap on, ABTRAP ON, an abend which occurs on an IF arithmetic test will display the Selection Id (SEL-ID) of the statement following the offending IF statement. (An IF statement does not have a SEL-ID.) e.g. ***WARNING*** (SEL<<<10) 88 = RETURN CODE FROM SELCOPY Indicates that the IF statement in question immediately precedes SEL-ID 10. All: POS RPL For VSAM, DB2, IMS, DL1 and ADABAS, the RPL position refers to SELCOPY's Request Parameter List for VSAM, or equivalent for the above Database Management Systems. e.g. RD ABC RRDS REC=8 PRINT FROM POS RPL+04 L=4 TYPE=B * For VSE RBA. PRINT FROM POS RPL+64 L=4 TYPE=B * For MVS RBA. MVS: DB2 Processing DB2 See separate documents, 'DB2 Processing with SELCOPY' and 'SELCOPY Installation Guide' for information regarding implementation and installation of this feature. The printed version of the 'DB2 Processing' document is included herewith as a separate document for all customers recorded by CBL as DB2 users. Please insert this in your manual following the ADA tab, in front of the ADABAS section. Machine readable versions of both documents are included in the Distribution Master file. See the accompanying 'CBL Installation Bootstrap' document for suggested methods of extracting components. MVS: CBLNAME Fields/Attributes DB2 The Installation Standard program CBLNAME now contains additional settings to accommodate the introduction of DB2 Support. The following summarises the changes to the defaults on the supplied object/load module: +X'44' CBLCDB2S DC CL4'DB2A' DB2 Default SubSystem Name. +X'48' CBLCDB2P DC CL8'CBLPLAN0' DB2 Default Plan Name. MVS: POS SQLCA/SQLDA/SQLMA DB2 For DB2 only, these positions refer to the start of the following SELCOPY SQL areas: SQLCA - SQL Communication Area. A structure to provide SELCOPY with information about the execution of its SQL statements. SQLDA - SQL Descriptor Area. A structure that describes input variables, output variables, or the columns of a result table. SQLMA - SELCOPY Message Area. The formatted message area created from the SQLCA by DB2's DSNTIAR subroutine. New Messages DB2 ERROR 148 DB2: TAB/FMT/SORT/SRCH/UPD ON 1 STMT - OMIT HERE For DB2, SELCOPY's filename is a logical "view" of the data base, according to the Table Name (TAB=), the selected fields/columns (FMT=), the order (SORT=), the conditions where data is required (SRCH=) and the fields/columns which may be updated (UPD=). Only 1 statement may define the FILE (view). Other references to the same FILE (view) must be made using only the FNAME, thereby identifying the file. ERROR 556 F=filename - DB2: CONNECT FAILED ERROR 557 F=filename - DB2: OPEN FAILED ERROR 558 F=filename - DB2: CLOSE FAILED ERROR 559 F=filename - DB2: DISCONNECT NOT CLEAN ERROR 567 CALLED RTN NOT FOUND ERROR 578 WORKLEN REQD FOR TAB=N INPUT Introduced only to match unix/pc versions of SELCOPY. On MVS/VSE/VM, error 578 will never be issued as TAB char expansion is not supported for the mainframe. *** _______________________________________________________ | | | | | SELCOPY 9.8 OTHER CHANGES | | | |_______________________________________________________| Distribution Medium SELCOPY/pc Rel 2.x is distributed on the same diskette as SELCOPY Rel 9.8x to all mainframe SELCOPY licensees. Users still requesting distribution on tape or cartridge will therefore receive two copies of mainframe SELCOPY. Please advise CBL if you would prefer future product distribution on diskette. Changes to Distribution File The file type of all machine readable documentation provided as part of the Distribution Master file (DM) has been changed from LST to TXT to conform with the pc environment standard for files containing readable character text. Any pc copies of mainframe TEXT files will be given the extension .TEX or .OBJ in order to maintain a distinction. See the accompanying 'CBL Installation Bootstrap' document for suggested methods of extracting components of the DM. The following files have been added to the Distribution Master file: SELCOPQL TEXT SELCOPY's DB2 Interface Module. Currently, for MVS users only. SELCOPQX DBRM SELCOPY's DB2 Data Base Request Module. Currently, for MVS users only. SMDB2 TXT An editable copy of SMDB2.DOC which is the paper version of SELCOPY's 'DB2 Table Processing' document. This document has been sent to those customers who have previously indicated their interest in DB2. SSDB2EQU CTL SELCOPY Control Statements to generate EQUATES for SQL rows. SSDB2LD CTL SELCOPY Control Statements to generate Control Statements for the DB2 Load Utility. SELCGEN EXEC For use under CMS, SELCGEN has been modified to additionally generate skeleton JCL for the DB2 install. See the Installation Guide for further details. Packed Decimal with INTO If a Packed Decimal arithmetic operation uses an INTO parameter to define the destination field, and the length of the INTO field is less than the length of the default destination field it replaces, then the arithmetic will be done in a SELCOPY work field, and the result placed in the INTO destination field, truncated as necessary (instead of abending). If truncation involves the loss of significant digits (non-zero), then Return Code 08 is set. Changed Messages ERROR 095 COMMAND MISSING FOR JECL/CMS/CP/STACK/DB2 (DB2 added to list.) The command needs to be in quotes, or use FROM=n AT p when a position in the workarea is required ERROR 572 --- DD/DLBL EXISTS WITH DIFF DSN --- (Removed for VSE.) When a duplicate DLBL is found, SELCOPY will replace it if it's a User Label. If the existing is a System Label, then a User Label is generated. ERROR 577 F=filename - VSAM OPEN FAILED Zaps Applied The following zaps for SELCOPY Rel 9.7 have been applied at source: 01. MVS: STOP command dumps buffer on LOG if stopped on IF DIR stmt. 02. All: ERROR 045 issued when '=' used as target for an IF Range test and PTR=@XYZ also used. 03. MVS: Abend 001 when JCL concatenation used for DIR input file. 04. MVS: Abend 013 when 1st input data set for JCL concatenation is unblocked RECFM=F, and a BLKSIZE > LRECL is coded on the DD stmt. 05. VSE: (WITHDRAWN) Zap 13 reverses Zap 05. 06. All: If OPT SEP=x is coded, when the current logical line separator is already "x", then ERROR 117 is issued. Any change to the installation default SEP char in CBLNAME is consequently made more difficult. Zap 06 causes such occurrences to be tolerated, but any data to the right of the sepchar is still treated as the next logical statement. 07. MVS: VSAM KSDS or ESDS output with the keywords KSDS, ESDS and VSAM all omitted on the SELCOPY control stmt, and either LRECL=n or RECFM=F coded on the SELCOPY control stmt, result in the output file being treated as RECFM=U, as is appropriate for a VSAM file, in which case, Return Code 5 is possible if the current LRECL exceeds the value coded. 96/05/21 - All 9.7x users sent S970.ZAP L=005 (Zaps 01-07) 08. CMS: TAPE input via CMS/OS can give 0C4 abend on earlier releases of CMS. 09. All: Nested EQU stmts, each with offsets, e.g. EQU AA 2001 ! EQU BB AA+10 EQU CC BB+10 ! and so on... EQU ZZ YY+10 give ERROR 007 when the accumulated offset string exceeds 32 bytes. Zap 09 increases this limit to 160 bytes and issues ERROR 114 if exceeded (Equate nesting exceeded). 10. CMS: Abend in System Rtn SVC 22 when output is to DDNAME and the FILEDEF for DDNAME is omitted, and both RECFM and LRECL are also omitted. 11. CMS: DMS120S with Error Code 001 when OS simulation used to read non-existent CMS file, whether or not the FILEDEF for DDNAME is omitted. 12. All: Nested EQU stmts, with no offset, but including P or POS, e.g. EQU AA P 22 EQU BB POS AA give ERROR 007. 13. All: Zap 13 reverses Zap 05 and is only required if Zap 05 has been applied. 96/08/16 - All 9.7x users sent S970.ZAP L=006 (Zaps 01-13) 96/10/20 - Rel 9.71 - incorporats Zaps 01-13 14. MVS: ERROR 505 when RECFM=V coded on SELCOPY ctl card for JCL concatenated file when RECFM=U exists on the DSCB or on the DD stmt. 15. VSE: Specification Exception when reading a file with BLKSIZE > 32K. 16. All: RC=8 and LRECL modification failure when most recent input is RECFM=V with NORDW in effect and an attempt is made to reduce the current lrecl below 5. 17. CMS: RC=16 when reading a VSAM file from CMS, with Zap 11 applied. (File treated as empty.) Zap 11 is a prerequisite. 18. All: Abend S0C6 at offset 0040D1 when TIMES=n used on a READ stmt, and IF EOF test exists, and the file is too small to satisfy the TIMES argument. 19. MVS: Abend S013-4C using Dynamic Allocn to read several separate datasets with different geometries, but using the same FNAME, by closing one and opening the next. (DCB was not refreshed.) 96/10/25 - Rel 9.72 - incorporats Zaps 01-19 --- End ---