Installation Instructions for Hot Fix G77006

64-bit Enabled Solaris


Hot fix G77006 addresses the issue(s) in SAS Warranty Analysis 4.31 as documented in the Issue(s) Addressed section of the hot fix download page:

http://ftp.sas.com/techsup/download/hotfix/HF2/G77.html#G77006


G77006 is a "container" hot fix that contains the following "member" hot fixes which will update the software components as indicated.

G75006  updates  SAS Warranty Analysis Client 4.31
G76006  updates  SAS Warranty Analysis Mid-Tier 4.31
G74003  updates  SAS Warranty Analysis Server 4.31

See What is a container hot fix? in the Hot Fix FAQ for more information about container hot fixes.


Before applying this hot fix, follow the instructions in SAS Note 35968 to generate a SAS Deployment Registry report, then verify that the appropriate product releases are installed on your system. The release number information in the Registry report should match the 'member' release number information provided above for the software components installed on each machine in your deployment.

The hot fix downloaded, G77006pt.zip, includes the updates required for all components listed above on all applicable operating systems. To apply this hot fix on multiple machines, you can either save G77006pt.zip on each machine or save it in a network location that is accessible to all machines.

Do NOT extract the contents of G77006pt.zip. The hot fix installation process will extract the contents as needed.


IMPORTANT NOTES

  1. Files delivered in this hot fix will be backed up during the installation process. However, it is good general practice to back up your system before applying updates to software.

  2. You must have Administrator Privileges on your CLIENT or SERVER machine.

  3. All currently active SAS sessions, daemons, spawners and servers must be terminated before applying this hot fix.

  4. This hot fix should be installed using the same userid who performed the initial software installation.



PRE-INSTALLATION INSTRUCTIONS

SAS Warranty Analysis Mid-Tier 4.31

Make backup of following set of jars and then delete any versions of them from

<SASHOME>/SASWarrantyAnalysisMidtier/4.31/Static/plugins/SWA_Eclipse_RCP


INSTALLATION

Hot Fix G77006 must be installed on each machine where the updated components of the product, listed above, are installed. During the installation process you may see references to all operating systems for which updates are provided in the hot fix. The installation process will determine the operating system and which component(s) of SAS Warranty Analysis 4.31 require updating on the machine. See SAS Note 44810 for more details.

The hot fix will be applied using the SAS Deployment Manager (SDM). By default, the SDM will search in the <SASHOME>/InstallMisc/HotFixes/New directory for hot fixes to be applied, but will also prompt for a location if you have downloaded hot fixes to a different directory.

After downloading G77006pt.zip, follow the instructions for applying hot fixes in the SAS Deployment Wizard and SAS Deployment Manager 9.3: User’s Guide.


The hot fix installation process generates the log file

<!SASHOME>/InstallMisc/InstallLogs/IT_date-and-time-stamp.log
for example, IT_2011-10-31-13.18.21.log. Each attempt to apply a hot fix results in the creation of a new log file giving detailed information regarding the installation process.

Postexec log files are created after the installation is completed and identifies the files that were added, backed up, changed and removed. These log files include the ‘member’ hot fix id in the name of the file and are also written to the <!SASHOME>/InstallMisc/InstallLogs directory. There is one postexec log for each ‘member’ hot fix applied (member hot fixes are listed at the top of these instructions).


The content of this hot fix is listed in the hot fix manifest.


POST-INSTALLATION INSTRUCTIONS

For each product installed, click the link to be redirected to post-installation instructions.

G75006  updates  SAS Warranty Analysis Client 4.31
G76006  updates  SAS Warranty Analysis Mid-Tier 4.31
G74003  updates  SAS Warranty Analysis Server 4.31


G75006  updates  SAS Warranty Analysis Client 4.31

Configuration
To enable saving of the exported csv file on a user’s machine (instead of opening it), each user should follow the steps below:

1) Go to user’s TEMP directory Location of TEMP directory assuming user name ‘dummyuser’:

For Windows 7: C:\Users\dummyuser\AppData\Local\Temp
For Windows XP: C:\Documents and Settings\dummyuser\Local Settings\Temp
For Windows Server 2008: C:\Users\dummyuser\AppData\Local\Temp\2
2) Create a file in the TEMP directory with name DO_NOT_EXPORT.txt (it can be empty)

3) In Warranty Analysis, right-click on analysis result table and choose Export Table to Spreadsheet.

4) Exported file should get saved in temp directory with naming convention .CSV. For example: -for a Details Analysis having the name 'DetailsTable1', the file name would be 'DetailsTable1_DETAIL_2013_06_11_05_49_23.CSV' -for a Pareto Analysis having the name 'Pareto1', the file name would be 'Pareto1_PARETO_2013_06_11_05_42_27.CSV'

5) The UI will display a message containing the location of the saved file.

6) The behavior of exporting to CSV files from places other than analysis/report output will work as it used to work before applying this fix. (i.e. there is no change to the naming convention or the launch behavior)


Troubleshooting
If the fix is not working, probably the location of TEMP directory is not correct. TEMP location can change from operating system to operating system. To find the exact location of the TEMP directory on a user’s machine:

1) Go to command prompt
2) Type javaws -viewer, press enter, java console dialog will be opened
3) Go to advanced tab->Java Console
4) Select show console
5) Click OK
6) Launch the SWA client
7) Java webstart console dialog will be launched along with SWA client.
8) On the console, press clear button to clear the messages.
9) Press 's' key, List of environment variables will be displayed on the console
10) In those variables look for variable with name 'java.io.tmpdir' which points to location of TEMP directory
11) Create a file named DO_NOT_EXPORT.txt in that location and retry the export using SWA client

To disable this fix (i.e. to revert back to normal mode), delete the DO_NOT_EXPORT.txt from TEMP directory. After that export to CSV should work as it used to work before applying this fix.


G76006  updates  SAS Warranty Analysis Mid-Tier 4.31

Web application Update

Updates to the SAS Warranty Analysis Mid-Tier 4.31 provided in this hot fix require that Web Applications be rebuilt and redeployed. If this component is installed on Unix, follow the steps below to rebuild and redeploy the web application:

Remove com.sas.app.launcher.cacheFile

1. Delete

<SASHOME>/SASVersionedJarRepository/eclipse/com.sas.app.launcher.cacheFile

Step 1: Re-build Web Applications

In order for this step to execute correctly, the Metadata Server must be running.

1.1 Invoke the SAS Deployment Manager 9.3

From the SASDeploymentManager directory launch sasdm.sh.
SAS Deployment Manager is installed in the following default location:

<SASHOME>/SASDeploymentManager/9.3

1.2 Select a language in the Choose Language box

1.3 Select Rebuild Web Applications

1.4 Select Configuration Directory or Enter the Configuration Directory and Level that needs to be updated

1.5 Specify Connection Information, including the sasadm User ID and Password

1.6 Select Warranty Analysis 4.3 as the Web Application to Rebuild

1.7 Verify the information on the Summary screen and select Start

1.8 Select Finish when the deployment is complete


This process will update the SAS Warranty Analysis Mid-Tier 4.31 ear in

<CONFIGDIR>\Lev1\Web\Staging
A backup of the original ear file will be placed in the Backup directory.


Step 2: Re-deploy Web Applications

Follow the steps provided for your initial Solution deployment to re-deploy the updated ear to your web application.


G74003  updates  SAS Warranty Analysis Server 4.31

The following set of instructions are only applicable if G77005 has not been applied. There are no updates for the Server Tier being delivered in this Hotfix.

  1. The following files are delivered to the SAS install area. Take a backup of below files from configuration directory and then copy files locations mentioned below:

         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/smd/analysisoptionattributes_nls.smd
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/smd
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/swa43_migration.sql
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/swa42_migration.sql
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/swa431_hotfix.sas
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/swa431_migration.sql
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/templates/util_allocWARRUSER.sas
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/templates
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/templates/sgTemplate_LineOverlay.sas
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/templates
    
         From: <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/install/configure/analysisoptions.csv
         To:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/configure
    

  2. The following file is also delivered to the SAS install area. In case given line of code does not exists in the file, this file should be manually merged with the existing file in the Config area. Otherwise ignore this step:
         From:         <SASHOME>/SASFoundation/9.3/misc/wrtyanlmva/interactionxml/analysisSetup.xml
         Merge With:   <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/interactionxml/analysisSetup.xml
    
    To do a manual merge, open the existing analysissetup.xml and the updated analysissetup.xml in
    side-by-side text editor windows.  Compare section by section.  If the existing analysissetup.xml
    has been heavily customized for your installation, the interaction sections in the 2 files may not
    correspond well. If that is the case, then add the following 3 interaction sections to the end of
    your existing file.  If the 2 files do basically match, then when you reach line 328 in the updated file,
    the following 3 interaction sections should be inserted into the existing file following the interaction
    section just prior that matches.  Please contact SAS Technical Support if you have questions about this step.
    
    <Interaction>
         <!--
         //If Exposure Type = Usage
         //   Disable Apply Usage Profile and set to Yes
         //      Disable Calculation Method and set to Adjusted
         //      Disable Warranty Usage Max Mileage combo box
         //End If
         -->
        <FieldSelected fieldId="AOA163">
        <Value label="Usage">USAGE</Value>
        </FieldSelected>
        <Field fieldId="AOA5" fieldVisibility="DISABLED" requiresValue="true" minSelections="1" maxSelections="1">
        <SelectedValue>True</SelectedValue>
        </Field>
        <Field fieldId="AOA30" fieldVisibility="DISABLED" requiresValue="true" minSelections="1" maxSelections="1">
        <SelectedValue>projected</SelectedValue>
        </Field>
        <Field fieldId="AOA8" fieldVisibility="DISABLED" requiresValue="true" minSelections="1" maxSelections="1">
            <SelectedValue>100000-UNLIMITED</SelectedValue>
        </Field>
        <Field fieldId="AOA134" fieldVisibility="DISABLED" requiresValue="true" minSelections="1" maxSelections="1">
            <SelectedValue>frombuild</SelectedValue>
        </Field>
    </Interaction>
    
    <Interaction>
                    <!--
                    //Applicable to Summary Tables
                    //If Exposure Type = TIS
                    //            Enable Apply Usage Profile and set to Yes
                    //      Enable Calculation Method and set to Adjusted
                    //      Enable Warranty Usage Max Mileage combo box
                    //End If
                    -->
        <FieldSelected fieldId="AOA163">
                    <Value label="TIS">TIS</Value>
        </FieldSelected>
        <Field fieldId="AOA5" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
                    <SelectedValue>True</SelectedValue>
        </Field>
        <Field fieldId="AOA30" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
                    <SelectedValue>projected</SelectedValue>
        </Field>
        <Field fieldId="AOA8" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
            <SelectedValue>36000</SelectedValue>
        </Field>
        <Field fieldId="AOA134" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
            <ResetField keepCurrentValuesIfValid="true"/>
        </Field>
    </Interaction>
    
    <Interaction>
                    <!--
                    //Applicable to Summary Tables
                    //If Exposure Type = none
                    //            Enable Apply Usage Profile and set to Yes
                    //      Enable Calculation Method and set to Adjusted
                    //      Enable Warranty Usage Max Mileage combo box
                    //End If
                    -->
        <FieldSelected fieldId="AOA163">
                    <NoValues/>
        </FieldSelected>
        <Field fieldId="AOA5" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
                    <SelectedValue>True</SelectedValue>
        </Field>
        <Field fieldId="AOA30" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
                    <SelectedValue>projected</SelectedValue>
        </Field>
        <Field fieldId="AOA8" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
            <SelectedValue>36000</SelectedValue>
        </Field>
        <Field fieldId="AOA134" fieldVisibility="ENABLED" requiresValue="true" minSelections="1" maxSelections="1">
            <ResetField keepCurrentValuesIfValid="true"/>
        </Field>
    </Interaction>
    
    

  3. In case given line of code does not exists in the file, make a backup of following file and then manually edit this file. Otherwise ignore this step:
    <CONFIGDIR>/Lev1/SASApp/SASEnvironment/SASWarrantyAnalysis4.3/SASMacro/util_allocWARRUSER.sas
    and replace this section of code:

       %util_assignUserLibname(p_username=&l_personname,
          p_libname=WARRUSER, p_subDirPath=filteredData,
          p_options=%str(access=readonly));
    

    With this section of code:

    
       /* *****************************************************
       * not using this call because it will create the directory if it does not exist;
       %util_assignUserLibname(p_username=&l_personname,
          p_libname=WARRUSER, p_subDirPath=filteredData,
          p_options=%str(access=readonly));
       ***************************************************** */
    
       %global g_serverPath g_guarc;        /* cis: S0796738 */
       %local l_dirpath nummems;
       %let nummems = 0;
       %util_getuserattributes(p_personomrname=&l_personname,
                               servername_mv=g_servername,
                               serverpath_mv=g_serverPath
                              );
       %if &g_guarc EQ 0 %then  /* user's data directory exists in the PARMSL.USERATTRIBUTES table */
       %do;
          %let l_dirpath = &g_serverPath.&g_slash.filteredData;
          data _null_;
             rc = filename("tempdir", "&l_dirpath");
             dirid = dopen("tempdir");
             if dirid GT 0 then
                members = dnum(dirid);
             dirid = dclose(dirid);
             call symput("nummems",members);
          run;
    
          %if &nummems GT 0 %then  /* USERFDL physical directory exists and contains data */
             libname WARRUSER "&l_dirpath" access=readonly;
       %end;
    	/* -------------------------------------- */
    

Update the Graphics Templates Catalog

Make a backup of existing Graphics Template Catalog which is located in USERTL library before running below mentioned code.
  1. Start an interactive SAS session using the configuration file
    <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/sasv9_swaconn.cfg
    to ensure that the USERTL library reference is properly assigned.

  2. Modify the path in the following code to point to your configuration directory, and modify the g_slash to run in your environment:

    Options validvarname=v7;
    %let g_swaConfigRoot = <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install;
    %let g_slash = /;

    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTagsets_GTL.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_BarChart.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_BarChart_MVA.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_BarChartOverlay.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_ControlChart.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_Dummy.sas";

    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_LineOverlay.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_ProbPlot.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_SDChart.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_SolidDashLines.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.styleTemplate_SWAStyle.sas";
    %include "&g_swaConfigRoot.&g_slash.templates&g_slash.sgTemplate_OverlayTrend.sas";

    Note: this code was excerpted from <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/runinstall.sas.

  3. Run this code in your interactive SAS session, and it will update the contents of your Graphics Template Catalog.

Update the PARMSL datasets

Make a backup of existing PARMSL library before running below script to update the datasets.
  1. Start an interactive SAS session using the configuration file
    <CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/sasv9_swaconn.cfg
    to ensure that the PARMSL library reference is properly assigned.

  2. Run
    "<CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install/swa431_hotfix.sas"
    in your interactive SAS session, and it will update the PARMSL datasets.


Update the ‘init.sas’ file

Take a backup of existing ‘init.sas’ file which is located at "<CONFIGDIR>/Lev1/Applications/SASWarrantyAnalysis4.3/install path. Configure the ‘g_dpi’ global variable setting in init.sas file.
  1. Edit the init.sas file in a text editor and declare the g_dpi global variable.
    Go to ‘%global’ statement and add g_dpi variable at the end of line but before the semi-colon.

  2. Initialize the g_dpi variable.
    Add the following line after the below the %global statement after semi-colon.
    %let g_dpi=300;


This completes the installation of hot fix G77006 on 64-bit Enabled Solaris.