INSTALLATION INSTRUCTIONS FOR HOT FIX 82BC14 ON OS/390 BEFORE DOWNLOADING: The hot fix 82BC14 addresses the issue(s) in Release 8.2 (TS2M0) of Base SAS software on OS/390 as documented in SAS Note(s): SN-004241 PROC SQL may return incorrect number of observations when using unique index SN-003976 Inconsistent results returned from the PROC SQL pass-through facility versus the LIBNAME Access engine SN-005899 PROC SQL set operators UNION and OUTER UNION CORRESPONDING return the wrong number of rows when used with subqueries SN-005712 ERROR: where clause processing could not obtain memory SN-006247 Reflexive join operations which execute successfully using the SQL procedure in previous releases of SAS fail in Release 8.2 SN-006274 Error: sqlplan internal error: cannot find symbol RIFNOTE, var=1 tag=3 occurs using SQL view SN-006741 PROC SQL syntax errors occur when using SET operators UNION and/or OUTER UNION CORR within subqueries SN-004536 PROC SQL UPDATE statement may use excessive CPU time SN-006773 Calls to the CONSTANT function can cause READ ACCESS violations in PROC SQL SN-004451 Query submitted to DBMS may generate incorrect results SN-006403 "ERROR: Invalid position -2147483308 for utility file" may be issued when using PROC SQL against SAS/ACCESS SQL views SN-006582 Opening a PROC SQL view twice using %SYSFUNC(OPEN()) causes SAS to terminate and the Display Manager windows to disappear SN-006768 Incorrect results from PROC SQL when a query contains the UNION operator and subqueries SN-006624 SQLPLAN Internal Error occurs when grouping by variable created by subquery SN-006772 Incorrect results from PROC SQL when UNION operator used in a subquery SN-005608 SQL views cannot be used with procedures that do multipass processing SN-005808 PROC SQL ORDER BY uses additional disk space to cache intermediate utility file SN-006829 SAS 8.2 PROC SQL appears to loop when using multiple reflexive join references SN-007824 Incorrect implicit pass-through SQL can be generated from PROC SQL queries leading to incorrect results SN-007820 Dataset options IDXWHERE and IDXNAME available for use with PROC SQL SN-007319 Downloading a SAS Version 6 data set using the V6TRANSPORT option may corrupt data SN-007829 PROC SQL query containing boolean logic can return incorrect results in specific cases SN-007827 Segmentation violation produced from PROC SQL query containing subqueries where both a SAS data set and a DBMS table are referenced SN-007831 PROC SQL join of a view and a SAS data set can return different results SN-007822 Access violation or system abend when executing a PROC SQL direct join against an Oracle table SN-007636 DISTINCT keyword in SQL subquery produces incorrect results or no results in SAS/ACCESS to ODBC or SAS/ACCESS to DB2 SN-007826 PROC SQL generates incorrect pass through code when there are multiple OR'd expressions in the WHERE clause SN-007871 Password value is displayed in SAS log when defining an SQL view with a USING clause which contains a password parameter SN-008356 Integer divide by zero error when displaying column with length of 32767 SN-008314 SASHELP.VTABLE displays data set labels unexpectedly SN-007222 Outer join of two (2) DBMS tables via a LIBNAME engine with WHERE clause subsets may generate incorrect results SN-009491 Implicit SQL Passthru may drop important parenthesis from WHERE condition SN-009727 Aliased columns in SQL views which perform a simple calculation may lose part of the condition SN-009529 Performing a COUNT or COUNT DISTINCT on a renamed column that is part of a view may result in performance degradation SN-010745 Part of join criteria is lost joining DBMS tables via LIBNAME engine SN-011220 Numeric literals in an ON clause with outer join of some DBMS tables may not return correct results SN-011239 Final WHERE clause not included in the SQL to be proccessed by the database when using the LIBNAME ACCESS engine SN-011210 Incorrect results from PROC SQL using WHERE= option with indexed tables SN-011802 "Error: sqlplan internal error" when joining a table with an inline view SN-012854 Using LIBNAME engine may result in an incorrect query being generated SN-009514 Accessing DBMS tables with column aliases defined via a view may prevent implicit pass-thru SN-012757 SAS/ACCESS query may return incorrect results when duplicate variable names exist SN-012760 Applying hotfix 82BB70 causes SQLPLAN Internal Error SN-004451 Query submitted to DBMS may generate incorrect results which may be reviewed at: http://support.sas.com/techsup/unotes/SN/004/004241.html http://support.sas.com/techsup/unotes/SN/003/003976.html http://support.sas.com/techsup/unotes/SN/005/005899.html http://support.sas.com/techsup/unotes/SN/005/005712.html http://support.sas.com/techsup/unotes/SN/006/006247.html http://support.sas.com/techsup/unotes/SN/006/006274.html http://support.sas.com/techsup/unotes/SN/006/006741.html http://support.sas.com/techsup/unotes/SN/004/004536.html http://support.sas.com/techsup/unotes/SN/006/006773.html http://support.sas.com/techsup/unotes/SN/004/004451.html http://support.sas.com/techsup/unotes/SN/006/006403.html http://support.sas.com/techsup/unotes/SN/006/006582.html http://support.sas.com/techsup/unotes/SN/006/006768.html http://support.sas.com/techsup/unotes/SN/006/006624.html http://support.sas.com/techsup/unotes/SN/006/006772.html http://support.sas.com/techsup/unotes/SN/005/005608.html http://support.sas.com/techsup/unotes/SN/005/005808.html http://support.sas.com/techsup/unotes/SN/006/006829.html http://support.sas.com/techsup/unotes/SN/007/007824.html http://support.sas.com/techsup/unotes/SN/007/007820.html http://support.sas.com/techsup/unotes/SN/007/007319.html http://support.sas.com/techsup/unotes/SN/007/007829.html http://support.sas.com/techsup/unotes/SN/007/007827.html http://support.sas.com/techsup/unotes/SN/007/007831.html http://support.sas.com/techsup/unotes/SN/007/007822.html http://support.sas.com/techsup/unotes/SN/007/007636.html http://support.sas.com/techsup/unotes/SN/007/007826.html http://support.sas.com/techsup/unotes/SN/007/007871.html http://support.sas.com/techsup/unotes/SN/008/008356.html http://support.sas.com/techsup/unotes/SN/008/008314.html http://support.sas.com/techsup/unotes/SN/007/007222.html http://support.sas.com/techsup/unotes/SN/009/009491.html http://support.sas.com/techsup/unotes/SN/009/009727.html http://support.sas.com/techsup/unotes/SN/009/009529.html http://support.sas.com/techsup/unotes/SN/010/010745.html http://support.sas.com/techsup/unotes/SN/011/011220.html http://support.sas.com/techsup/unotes/SN/011/011239.html http://support.sas.com/techsup/unotes/SN/011/011210.html http://support.sas.com/techsup/unotes/SN/011/011802.html http://support.sas.com/techsup/unotes/SN/012/012854.html http://support.sas.com/techsup/unotes/SN/009/009514.html http://support.sas.com/techsup/unotes/SN/012/012757.html http://support.sas.com/techsup/unotes/SN/012/012760.html http://support.sas.com/techsup/unotes/SN/004/004451.html The following file(s) will be installed: * 82bc14os.xmit CNTL PDS in XMIT format. It contains all of the XMIT code necessary to apply the hotfix. IMPORTANT NOTE(S): 1. You must have Release 8.2 (TS2M0) installed on your system before applying this hot fix. 2. Before proceeding with STEP 5 of the INSTALLATION INSTRUCTIONS, insure no Version 8.2 SAS jobs are running because this step requires exclusive access to the SASHELP library. INSTALLATION INSTRUCTIONS: The following instructions describe the steps for extracting the contents of the downloaded file, moving the files to your OS/390 system and installing the hot fix. Please be sure to read the 'ADDITIONAL NOTES' section for situations where additional actions may be required. STEP 1: PRE-ALLOCATE THE XMIT FILE ON MVS Pre-allocate a file on MVS with the following DCB. Be sure to check the space requirement on the download page: Organization : PS Record format : FB Record length : 80 Block size : 3120 STEP 2: FTP THE XMIT FILE TO MVS FTP the XMIT file into this newly created file. This can be done in one of 2 ways: Method 1) Download the packaged hot fix to your PC. The packaged hot fix is a is a self extracting executable. Launching the executable will extract the OS/390 files to a default location example: C:\os390\82bc14os You will be prompted during the extraction process to accept or overwrite the default unzip location. The remaining steps in these installation instructions assume that you have unzipped the files to the default location After extracting the file, FTP the 82bc14os.xmit file to your MVS system doing a BINARY upload into the preallocated file created in step 1. Method 2) From MVS, FTP to ftp.sas.com using userid=anonymous and password=your.email@address Once you're logged on, cd into the following directory: /techsup/download/hotfix/DBCS/v82/base/82bc14/mvs Issue the following commands where 'sas.hotfix.xmit' is the filename you created in step 1. binary get 82bc14os.xmit 'sas.hotfix.xmit' (rep STEP 3: RECEIVE THE XMIT FILE TO CREATE THE CNTL PDS On MVS do a RECEIVE command on the uploaded XMIT file as follows where 'sas.hotfix.xmit' is the preallocated file in step 1. receive indataset('sas.hotfix.xmit') After doing this you will be prompted with something similar to the following: INMR901I Dataset DATA.SET.NAME from USERID on ???????? INMR906A Enter restore parameters or 'DELETE' or 'END' + at this prompt you sould enter: DA('sas.hotfix.cntl') ... where sas.hotfix.cntl will be a new PDS that contains all of the parts necessary to apply this hot fix. STEP 4: EXECUTE THE REXX EXEC In your new CNTL data set is a REXX exec that will, if applicable, create any new load libraries and, if applicable, generate any JCL required to modify SAS catalogs in your SAS system. Execute this REXX exec from ISPF prompt: ex 'sas.hotfix.cntl(rexx)' STEP 5: RUN ANY GENERATED JCL If the REXX exec generated any JCLxxxxx members in your CNTL dataset you will need to edit the JCL to make any site specific modifications and then run the JCL. Note that the output data sets in this JCL requires DISP=OLD, so you will have to run it at a time when this would be possible. STEP 6: MERGE GENERATED LIBRARIES WITH SAS If the REXX exec created: * '&prefix.HF82BC14.LIBRARY' then you will need to replace the like-named modules in your current Release 8.2 (TS2M0) installation library with the modules loaded to '&prefix.HF82BC14.LIBRARY'. We suggest you rename the modules in the current Release 8.2 (TS2M0) installation library before replacing. * '&prefix.HF82BC14.DBCS.LIBRARY' then you will need to replace the like-named modules in your current Release 8.2 (TS2M0) installation DBCS library with the modules loaded to '&prefix.HF82BC14.DBCS.LIBRARY'. We suggest you rename the modules in the current Release 8.2 (TS2M0) installation library before replacing. * '&prefix.HF82BC14.SASMSG' then you will need to replace the like-named members in your current Release 8.2 (TS2M0) installation SASMSG library with the members loaded to '&prefix.HF82BC14.SASMSG'. We suggest you rename the members in the current Release 8.2 (TS2M0) installation SASMSG library before replacing. * '&prefix.HF82BC14.AUTOLIB' then you will need to replace the like-named members in your current Release 8.2 (TS2M0) installation AUTOLIB library with the members loaded to '&prefix.HF82BC14.AUTOLIB'. We suggest you rename the members in the current Release 8.2 (TS2M0) installation AUTOLIB library before replacing. * '&prefix.HF82BC14.ITSV.CPMISC' then you will need to replace the like-named members in your current Release 8.2 (TS2M0) installation CPMISC library with the members loaded to '&prefix.HF82BC14.ITSV.CPMISC'. We suggest you rename the members in the current Release 8.2 (TS2M0) installation CPMISC library before replacing. ADDITIONAL NOTES: * If the REXX exec created a '&prefix.HF82BC14.LIBRARY' that contains a SASHOST, SASXAL, or SASXA1 module, and if you set SAS System options by assembling the DEFAULT OPTIONS TABLE using the BAOPTS1 member of the original CNTL data set, then you must re-assemble this table after applying this hot fix. To re-assemble this table do the following: 1) Edit the BAOPTS1 member in the original CNTL data set. 2) Change the SYSLMOD DD in all three LINK EDIT steps to point to the new HLQ.LIBRARY 3) rerun BAOPTS1. * If the REXX exec created a '&prefix.HF82BC14.LIBRARY' and you run with an entry point of SASXAL then you will need to look in the unloaded library to see if any of the new modules are installed in your LPA. If so, then you will need to replace them with the new modules. In the installation guide, the modules recommended for installation in the LPA are SASXAL SASXAL2 SABXSPL SABXDML SABDS SABSCLL SABDBGM SABZPLH SABXGPH Please note that if you use the BNDLSUFX option, you will have to rename the modules appropriately in your LPA. For more information about the LPA bundled configuration and information about using the BNDLSUFX option, please refer to the section entitled "Installing The SAS System Into The LPA" in the "Installation Instructions and System Manager's Guide" appropriate to the Version and maintenance level for your SAS System. This completes the installation of hot fix 82BC14 on OS/390.