Installation Instructions for Hot Fix D81028

Windows


Hot fix D81028 addresses the issue(s) in SAS Merchandise Intelligence 4.2_M2 on Windows as documented in the Issue(s) Addressed section of the hot fix download page:

http://ftp.sas.com/techsup/download/hotfix/HF2/D81.html#D81028


D81028 is a "container" hot fix that contains the following "member" hot fixes which will update the software components as indicated. See the Container Hot Fixes section in the Maintenance Install Tool (MIT) Usage Guide for more information about container hot fixes.

D86015 for SAS Merchandise Intelligence Client 4.2_M2
D83016 for SAS Merchandise Intelligence Mid-Tier 4.2_M2
D85015 for SAS Merchandise Intelligence Plug-in for SAS Management Console 4.2_M2
D82024 for SAS Merchandise Intelligence Server 4.2_M1
D84015 for SAS Merchandise Solutions Configuration Workbench 4.2_M2
E28009 for SAS Pack Optimization Server 2.2_M1
D87008 for SAS Promotion Optimization 4.2_M1
E62007 for SAS Regular Price Optimization 4.2_M1
D88005 for SAS Size Profiling 2.2_M1

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 software components and release numbers should match the list of software components updated by the individual hot fix installers.


IMPORTANT NOTES

  1. You must have SAS Merchandise Intelligence 4.2_M2 installed on your system before applying this hot fix. Refer to SN-35968 for instructions on how to determine which product releases you have installed.

  2. At a minimum, back up your system:
    a.    For SAS, refer to the SAS 9.2 maintenance release documentation about back up tasks:
    http://support.sas.com/documentation/cdl/en/whatsdiff/63928/HTML/default/viewer.htm#p083vd5jhklkfun1dxrana9mo7co.htm

    b.    For SAS Merchandise Intelligence, backup the MI data mart and database.
    Technical Support strongly suggests that you back up all of your files. You should always try to include the current date in the name of the backup file created to distinguish between versions of backup files. By doing this, you will maintain a history of the file, which will be helpful when multiple iterations of a maintenance release have been applied to the same file. For example:
           cp com.sas.solutions.di.server.jar com.sas.solutions.di.server.jar.02232009
           where 02232009 is the date when the maintenance release is applied. The extension must be appended after the .jar extension, as it appears above.

  3. You must have the appropriate administrative privileges to perform the steps described in these instructions.

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

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

  6. You must deploy the hot fix in the following timeframe


INSTALLATION

This hot fix must be installed on each machine where the updated components of the product, listed above, are installed. The installation process will determine which components of SAS Merchandise Intelligence 4.2_M2 are installed on each machine, and apply the appropriate updates.

If the updated components of this product are installed on multiple operating systems, you must download the hot fix for the appropriate operating system(s) and follow the installation instructions provided to complete the deployment of this hot fix.

The installer downloaded is D81028wn.exe.

When downloading SAS 9.2 hot fix packages, you must choose to Save the hot fix to disk, then execute the install from the saved location. Attempting to install a hot fix directly from the download page results in the error documented in SAS Note 37104.

This will initiate the installation wizard, which will guide you through the hot fix installation process.

Note: If your Windows operating system is Windows Vista, Windows 7 or Windows Server 2008, it may be necessary to "right-click" D81028wn.exe and select "Run as administrator".

See the Maintenance Install Tool (MIT) Usage Guide for more details on the installation of hot fixes.


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


This completes the installation of D81028. You must perform any "Post-Installation Instructions" documented below to successfully complete the deployment of this hot fix.


POST-INSTALLATION INSTRUCTIONS

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

D86015 for SAS Merchandise Intelligence Client 4.2_M2
D83016 for SAS Merchandise Intelligence Mid-Tier 4.2_M2
D85015 for SAS Merchandise Intelligence Plug-in for SAS Management Console 4.2_M2
D82024 for SAS Merchandise Intelligence Server 4.2_M1
D84015 for SAS Merchandise Solutions Configuration Workbench 4.2_M2
E28009 for SAS Pack Optimization Server 2.2_M1
D87008 for SAS Promotion Optimization 4.2_M1
E62007 for SAS Regular Price Optimization 4.2_M1
D88005 for SAS Size Profiling 2.2_M1


D86015 for SAS Merchandise Intelligence Client 4.2_M2

The installation of the hot fix to the SAS Merchandise Intelligence Client assumes that the client is installed in

C:\Program Files\SAS\
If the client is installed in a location other than C:\Program Files\SAS, the file
<SASHOME>\SASMerchandiseIntelligenceClient\4.2\configuration\config.ini
must be manually modified. All occurences of
C:\Program Files\SAS\
must be changed the location to where the client is installed. You should confirm that the SASVersionedJarRepository paths are correct for your installation.


D83016 for SAS Merchandise Intelligence Mid-Tier 4.2_M2

Updates to the SAS Merchandise Intelligence Mid-Tier provided in this hot fix require that the Web Application be rebuilt and redeployed.

If this component is installed on Windows, follow the steps below to rebuild and redeploy the web application:

Note: The metadata server must be up and running before the web application is re-built.

Re-build Web Application

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

1. Invoke the SAS Deployment Manager 9.2

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

<SASHOME>\SASDeploymentManager\9.2

2. Select a language in the Choose Language box

3. Select Rebuild Web Applications

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

5. Specify Connection Information, including the sasadm User ID and Password

6. Select SAS Merchandise Intelligence Mid-Tier 4.2 as the Web Application to Rebuild

7. Verify the information on the Summary screen and select Start

8. Select Finish when the deployment is complete

This process will update the SAS Merchandise Intelligence Mid-Tier 4.2 ear in

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

Re-deploy Web Application

1. Re-deploy the SAS Merchandise Intelligence Mid-Tier 4.2 web application (only). Details are provided at

http://support.sas.com/documentation/cdl/en/biwaag/63536/HTML/default/viewer.htm#/documentation/cdl/en/biwaag/63536/HTML/default/a003308992.htm

Note: Select sas.miserver4.2.ear when re-deploying the web application.
2. Stop and restart the Web application server.
Note for WebLogic: If the SAS Merchandise Intelligence Mid-Tier is not started automatically after following the instructions in the link above, you will need to manually start it from the WebLogic Admin Console.


Alternative Method: The SAS Merchandise Intelligence Mid-Tier can be re-deployed to WebLogic using the following steps. The equivalent steps for WebSphere are documented in the Replace the entire application method in the detailed document link above.

1. Ensure all the services are running, including WebLogic Admin Console and Managed Server, i.e. SASServer1.

2. Login to WebLogic Admin Console.

3. Click on Lock and Edit.

4. Select the sas.miserver4.2 ear and click on the Update button.

5. Accept the default path and click on OK.

6. Click on the Activate changes button.

The web application server does not need to be restarted after using the alternative method. The Activate changes step will restart the SAS Merchandise Intelligence Mid-Tier internally.


SAS REVENUE OPTIMIZATION ONLY: UPDATE DAV CONTENT

If you have a new install or have NOT already applied Hot Fix 4 or 5 (D81006), do the following:

Note:  To use DAVTree on UNIX, you must have a graphical interface. If you do not have a graphical interface, use a UNIX command line tool that supports upload to WebDAV. For example, use DAVExplorer instead of DAVTree to perform the following steps.

If you have performed XML configuration modifications to rpp-vendor-spreadsheet-forms.xml that are currently stored on a DAV server and you have your own template xls files, then perform the following steps:

  1. Edit the existing rpp-vendor-spreadsheet-forms.xml file in WebDAV, so that for all "form" elements the "template-url" attribute points only to filename (without any path), e.g. if it was "template-url=’c://mypath//my_template.xls’" change it to "template-url=’my_template.xls’"

  2. Use DavTree to upload into WebDAV all template xls files that are referenced from rpp-vendor-spreadsheet-forms.xml.
    Note: There is no need to upload real vendor deal files - only templates.

If you did NOT modify rpp-vendor-spreadsheet-forms.xml and do NOT have your own template xls files, then perform the following steps:
  1. Edit the existing rpp-vendor-spreadsheet-forms.xml file in WebDAV, so that the "form" element has text "template-url=’Sample Vendor Deal.xls’"

  2. Use DavTree to upload new vendor deal template xls file into WebDAV:


D85015 for SAS Merchandise Intelligence Plug-in for SAS Management Console 4.2_M2

NONE


D82024 for SAS Merchandise Intelligence Server 4.2_M1



FOR SAS REVENUE OPTMIZATION ONLY, NEW OPTIONAL ARGUMENT FOR DI_JOB_RO

For information about the new enable_chain_effect argument for di_job_ro, refer to the Errata of the SAS Revenue Optimization Administrator’s Guide.


FOR SAS REVENUE OPTMIZATION ONLY, ADD THE NEW DI_EXPORT_SALES_FORECAST JOB PARAMETER TO THE JOB_PARAM TABLE IN THE DI_MON LIBRARY

If you did not add the new parameter in a previous hot fix, add the following DI_EXPORT_SALES_FORECAST job parameter to the JOB_PARAM table:

For more details on this new parameter and other new export information, see the Errata documentation for the Administrator’s Guide on the documentation Web site.
Insert the etlp_daily_model parameter into the DI_MON library with SQL code like the following:

  proc sql noprint;

  DELETE FROM di_mon.job_param where jobname = ‘<JOB_NAME>’ and param_name='<PARAM_NAME>’;

  Insert into di_mon.job_param
  (jobname, param_name, param_value, default_func)
  values("<JOB_NAME>", "<PARAM_NAME>","<PARAM_VALUE>",'"<PARAM_DEFAULT>"')
  ;
  quit;

For example, for these values:
JOB_NAME=DI_EXPORT_SALES_FORECAST
PARAM_NAME=etlp_daily_model
PARAM_VALUE=1
PARAM_DEFAULT=1

The SQL statement would be:
  proc sql noprint;

  DELETE FROM di_mon.job_param where jobname = 'DI_EXPORT_SALES_FORECAST' and param_name='etlp_daily_model';

  Insert into di_mon.job_param
  (jobname, param_name, param_value, default_func)
  values("DI_EXPORT_SALES_FORECAST", "etlp_daily_model","1",'"1"')
  ;
  quit;


FOR SAS REVENUE OPTIMIAZATION ONLY, MIGRATE HIERARCHY
If you did not perform this step in a previous hot fix install, you must perform a migration of the analytical hierarchy because the format of product and location IDs in the analytical hierarchy has changed. That is, the values that are stored in the PROD_ID field in the ATTR_PROD_DM table and the GEO_ID field in the ATTR_GEO_DM table have changed.

The migration script is located in the following location:
!SASROOT\di\sasmisc\migration\di_mig_attr_hier_42.sas

  1. Log into the SAS server using the mietlusr user ID (or the MI ETL User that is defined in metadata).

  2. Run the migration script using the Merchandise Intelligence batch script sas_batch.sh.
    For example:
    <SAS config dir>/Lev1/MIMain/Batch/sas_batch.sh !SASROOT/di/sasmisc/migration/di_mig_attr_hier_42.sas -log <dir with write access>/ di_mig_attr_hier_42.log

  3. Verify that the analytical hierarchy was successfully migrated by ensuring that the following two messages appear in the log that was generated in the previous step:

    Message 1 - for migrating attr_prod_dm:
    NOTE: there is no analytical PROD hierarchy found - skip migrating attr_prod_dm.
    or
    NOTE: di_data.attr_prod_dm has been successfully migrated to 42m1HF9 format.

    ...

    Message 2 - for migrating attr_geo_dm:
    NOTE: there is no analytical GEO hierarchy found - skip migrating attr_GEO_dm.;
    or
    NOTE: di_data.attr_geo_dm has been successfully migrated to 42m1HF9 format.


    If both messages do not appear in the log, then contact SAS Technical Support.


FOR SAS PROMOTION OPTIMIZATION ONLY, POPULATE THE STG_PROMO_SALES STAGING TABLE
For SAS Promotion Optimization, the AVG_COST information in the STG_PROMOTION_SALES table is now required and you must source this staging table. Refer to the Predeployment Guide and associated Errata for details about the STG_PROMOTION_SALES table.

FOR SIZE OPTIMIZATION ONLY, RUN DATABASE COMMAND
If you did not run this command in a previous hot fix release, run the following against your DB2 or Oracle database:
delete from PROFILE_LOOKUP_STAT where NUM_PROFILE_LOOKUP is null;


UPDATE THE MESSSAGE FILE
If you did not update the message file in a previous hot fix release, perform this step. The seed_process_message.properties file is located in the following directories:
!SASROOT\di\sasmisc\seed\en

DB2

From the DB2 Command Editor or command prompt (connected to the DI_DM schema), run the following:

Note: If you are running from a UNIX DB2 command prompt, enter the following LOAD command without any line breaks or new lines.

LOAD client from '\seed_process_message.properties' of
DEL modified by codepage=1208 coldel=
REPLACE INTO PROCESS_MESSAGE (MESSAGE_SK, MESSAGE_TEXT);

Oracle
The load_process_message_orcl.ctl message file is located in the following directory:
!SASROOT\di\sasmisc\seed\

Load the message table as follows:

  1. Edit the load_process_message_orcl.ctl file. The load_process_message_orcl.ctl file contains the following text: load data CHARACTERSET UTF8 infile '<path-to-process-message>\seed_process_message.properties' replace into table process_message fields terminated by "=" optionally enclosed by '"' (message_sk, message_text)
  2. Replace <path-to-process-message> with the correct path.
  3. In the Oracle client (e.g., SQL Developer), do one of the following:
    * Log in as di_dm to run the script.
    * If you are running the script as the SYSTEM user, to qualify the schema for process_message edit the script and add di_dm before process_message in the following line:
            replace into table di_dm.process_message
  4. From the command prompt of the operating system, run the script as follows:
           sqlldr <database-login-info>
           control=<path-to-seed-folder>\load_process_message_orcl.ctl
    For example:
           sqlldr di_dm/Password@CMDM control=\\des21\Public\Cycle7\ddl\load_process_message_orcl.ctl


RUN DATABASE ALTER SCRIPTS
Locate the .sql alter script in the following directory:
!SASROOT\di\sasmisc\dbmsc


If you have already applied Hot Fix 6 (D81006) or higher, there are no database scripts to run..

If you have NOT already applied Hot Fix 6 (D81006):
alter_m1mi42_db2_hf6.sql or alter_m1mi42_orcl_hf6.sql

If you have a new install or have NOT already applied Hot Fix 2 (D81002), Hot Fix 6 (D81006), and Hof Fix 8(D81008):
alter_m1mi42_db2_hf2.sql or alter_m1mi42_orcl_hf2.sql
alter_m1mi42_db2_hf6.sql or alter_m1mi42_orcl_hf6.sql


DB2
On the SAS Server machine, locate and run the appropriate scripts for updating DB2 tables.

Uncomment the following lines and substitute appropriate values for DB_NAME, USER_NAME (for example, DI_DM), PASSWORD, and SCHEMA.
       -- CONNECT TO DB_NAME USER USER_NAME USING PASSWORD;
       -- SET CURRENT SCHEMA = schema_name;

Oracle
On the SAS Server machine, locate and run the appropriate scripts for updating Oracle tables
       -- SET DEFINE OFF
       -- alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
       -- alter session set current_schema = schema_name;


FOR SIZE OPTIMIZATION ONLY, DROP AND RECREATE SEQUENCE KEYS
If you did not perform this step in the D81008 hot fix installation, drop and recreate the SEQ_PKO_PSS_REQUESTID and SEQ_BUY_SK sequence keys.
When you recreate the sequence keys, ensure that their maximum and minimum values do not overlap.

For SEQ_PKO_PSS_REQUESTID, you must find the highest REQUEST_ID in the REQUEST table and recreate SEQ_PKO_PSS_REQUESTID with a higher starting sequence. For example:
DROP SEQUENCE SEQ_PKO_PSS_REQUESTID;
CREATE SEQUENCE SEQ_PKO_PSS_REQUESTID
START WITH 1000000000 CYCLE
MAXVALUE 1147483647
MINVALUE 1000000000

SEQUENCE SEQ_BUY_SK
For SEQ_BUY_SK, you can drop and recreate as follows:

DROP SEQUENCE SEQ_BUY_SK;
CREATE SEQUENCE SEQ_BUY_SK
START WITH 1148000000
CYCLE
MAXVALUE 2147483647
MINVALUE 1148000000

RUN SAS ALTER SCRIPTS
Note: For Pack Optimization only, in the SAS Merchandise Solutions Configuration Workbench, be sure that your Global Setting Preference for Automatically delete unused settings on save to data mart is disabled. You do not want to delete unused settings as Pack Optimization uses some hidden global settings.


Locate the .sas alter scripts in the following directory and change to that directory:
!SASROOT/misc/di/dbmsc

Edit each of the following scripts that you are required to run:
a. Remove the comment in front of the macro call.
b. Examine the macro call and the parameters supplied in each script. Unless the user has deviated from default behavior, the macro call need not be changed.
               %alter_m1mi42_sas_hf*(LIBREF=DI_DATA,DTTMFMT=DATETIME21., DTFMT=DATE9.);


If you have already applied Hot Fix D81008:
  1. Run alter_m1mi42_sas_hf22.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf22.sas";

  2. Run alter_m1mi42_sas_hf24.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf24.sas";

    Note: For SAS Pack Optimization only, if you want to use the new ENFORCE_ORDER_CONSTR_BY_COST and ALLOW_ADDITIONAL_REPAIR_STEP global settings, then edit the alter_m1mi42_sas_hf24 alter script to set the values to 1. You can then run the alter_m1mi42_sas_hf24 script.

  3. Run alter_m1mi42_sas_hf25.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf25.sas";
  4. Run alter_m1mi42_sas_hf26.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf26.sas";


If you are a new deployment or have NOT applied Hot Fix D81001, Hot Fix D81002, Hot Fix D81004, and Hot Fix D81008:
  1.  Run alter_m1mi42_sas_hf1.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf1.sas";

    Note:
    Please ignore the following error:
    ERROR: Add/Update failed for data set DI_DATA.GLOBAL_SETTING because data value(s) do not comply with integrity constraint PRIM_KEY.

  1. Run alter_m1mi42_sas_hf2.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf2.sas";

    Note:
    Ignore the following compilation time warning because the macro name and mend name don’t match:
    WARNING: Extraneous information on %MEND statement ignored for macro definition
    ALTER_M1MI42_SAS_HF2.

  1. Run alter_m1mi42_sas_hf4.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf4.sas";

  1.  Run alter_m1mi42_sas_hf8.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf8.sas";

  1. Run alter_m1mi42_sas_hf22.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf22.sas";

  1. Run alter_m1mi42_sas_hf24.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf24.sas";

  1. Run alter_m1mi42_sas_hf25.sas
    %let LIBREF = DI_DM;
    %include "alter_m1mi42_sas_hf25.sas";

    1. Run alter_m1mi42_sas_hf26.sas
      %let LIBREF = DI_DM;
      %include "alter_m1mi42_sas_hf26.sas";


    D84015 for SAS Merchandise Solutions Configuration Workbench 4.2_M2

    Note: For Pack Optimization only, be sure that your Global Setting Preference for Automatically delete unused settings on save to data mart is disabled. You do not want to delete unused settings as Pack Optimization uses some hidden global settings.


    The installation of the hot fix to the SAS Merchandise Solutions Configuration Workbench assumes that the client is installed in

    C:\Program Files\SAS\
    If the client is installed in a location other than C:\Program Files\SAS, the file
    <SASHOME>\SASMerchandiseSolutionsConfigurationWorkbench\4.3\configuration\config.ini
    must be manually modified. All occurences of
    C:\Program Files\SAS\
    must be changed the location to where the Configuration Workbench is installed. You should confirm that the SASVersionedJarRepository paths are correct for your installation.

    Modify Client Directory Home If Different than Default
    If SAS Workspace Server Is Not Port 8691, 9590, or 9591, Update mctool.xml


    The hot fix replaces the mctool.xml file. Therefore, if you previously modified the workspace server port in mctool.xml, you must modify the port again.

    To modify the SAS Merchandise Solutions Configuration Workbench server configuration as required, follow these steps:

    1. Locate the mctool.xml configuration file in the root installation directory of the Workbench installation. In a typical installation, the location is:
              C:\Program Files\SAS\SASMerchandiseSolutionsConfigurationWorkbench\4.2”
    2. Locate line 14 as follows:
             <property name="com.sas.solutions.di.tools.ct.default_workspaceserver_port" value="8691,9590,9591"/>
    3. If your workspace server port is NOT in the list, edit the port number to specify the port number you specified for the MIMain – Workspace Server during MI installation, for example, 9691.
    4. Save the file.


    E28009 for SAS Pack Optimization Server 2.2_M1

    NONE


    D87008 for SAS Promotion Optimization 4.2_M1

    NONE


    E62007 for SAS Regular Price Optimization 4.2_M1

    NONE


    D88005 for SAS Size Profiling 2.2_M1

    NONE



    After completing all of the post-install sections above, run your weekly ETL and back-end jobs.


    This completes the installation of hot fix D81028 on Windows.