this file will not be available in build version of software.

This file has datamodel changes made in the following tracks:

D3MICM52:  All changes made in for 5.2 RO and 3.2 SO
D2TKMI42:  Changes that were made in D2TKMI42 track but were not made in M1MI42 track.
M1MI42:    Changes that were made in M1MI42 track but were not made in D2TKMI42 track
M1TKMI43:  All changes made in M1TKMI43 should also be made in D3MICM52 track. VERSION tag should be as follows
                    :VERSION:        D3MICM52, M1TKMI43
M2MI42:    All changes made in M2MI42 should also be made in D3MICM52 track. VERSION tag should be as follows
                    :VERSION:        D3MICM52, M2MI42


Run this SAS Code:  \sas\dibase\dev_tools\data_model\di_generate_rdbms_schema_changes.sas
Output:             \sas\dibase\misc\dbmsc\apply_rdbms_data_model_changes.sas


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DATA_MODEL_VERSION_MGMT
   :DESCRIPTION:    Data model versions to enable migration from one version to another
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 24JUL2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ALWAYS
   :ASIS:           TRUE

   :DOC:    Create a table consisting of tracks that were used for development.
   :DOC:    Each track will include itself and may include changes in other tracks.
   :DOC:    For example M2TKMI43 track includes changes in M2TKMI42, D2TKMI42, M1TKMI42

    :ORCL_BEGIN:

        data &m_di_data..DATA_MODEL_VERSION_MANAGEMENT;
            attrib VERSION          length=$10  ;
            attrib VERSION_INCLUDED length=$10  ;

            VERSION='D2TKMI42'; VERSION_INCLUDED='D2TKMI42'; output;
            VERSION='M1MI42';   VERSION_INCLUDED='M1MI42'; output;
            VERSION='F1MI42';   VERSION_INCLUDED='M1MI42'; output;

            VERSION='M2MI42';   VERSION_INCLUDED='M1MI42'; output;
            VERSION='M2MI42';   VERSION_INCLUDED='F1MI42'; output;
            VERSION='M2MI42';   VERSION_INCLUDED='M2MI42'; output;

            VERSION='M1TKMI43'; VERSION_INCLUDED='M1TKMI43'; output;
            VERSION='M1TKMI43'; VERSION_INCLUDED='D2TKMI42'; output;

            VERSION='M2TKMI43'; VERSION_INCLUDED='M2TKMI43'; output;
            VERSION='M2TKMI43'; VERSION_INCLUDED='M1TKMI43'; output;
            VERSION='M2TKMI43'; VERSION_INCLUDED='D2TKMI42'; output;

            VERSION='F2TKMI43'; VERSION_INCLUDED='F2TKMI43'; output;
            VERSION='F2TKMI43'; VERSION_INCLUDED='M2TKMI43'; output;
            VERSION='F2TKMI43'; VERSION_INCLUDED='M1TKMI43'; output;
            VERSION='F2TKMI43'; VERSION_INCLUDED='D2TKMI42'; output;
        run;

    :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      GET_DM_VERSIONS_FROM_BASE
   :DESCRIPTION:    Data model versions to enable migration from one version to another
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 24JUL2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ALWAYS
   :ASIS:           TRUE

   :DOC:    Based on the baseline version get tracks that are included in the baseline version.

   :ORCL_BEGIN:


        proc sql noprint;
           select version_included into :m_baseline_versions
           separated by ","
           from &m_di_data..DATA_MODEL_VERSION_MANAGEMENT
           where version="&m_baseline_dm_spec_value"
           ;

        quit;

        %put NOTE: Baseline Version from global settings table is &m_baseline_dm_spec_value;
        %put NOTE: This baseline version includes changes in tracks: &m_baseline_versions;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      RDBMS_DM_DROP_CONSTRAINTS
   :DESCRIPTION:    Drop Constraints on RDBMS_DM_CHANGE_MANAGEMENT table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 11APR2011
   :SUPPORT:        Venu KADARI
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.
   :CHKTABLES:      &m_di_trans..RDBMS_DM_CHANGE_MANAGEMENT

    :ORCL_BEGIN:
        alter table RDBMS_DM_CHANGE_MANAGEMENT drop primary key ;
    :ORCL_END:

    :SAS_BEGIN:

        data &m_di_trans..rdbms_dm_change_management;
            set &m_di_trans..rdbms_dm_change_management;
        run;

    :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID00000A
   :DESCRIPTION:    Table partition metadata
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:


        %if not (%sysfunc(exist(&m_di_trans..TABLE_PARTITION_META))) %then
        %do;

            %let m_sql_statement = %str(
                CREATE TABLE TABLE_PARTITION_META
                (
                    TABLE_NM                           VARCHAR(32) NOT NULL,
                    FULL_COPY_FLG                      INTEGER NOT NULL,
                    PARTITION_FLG                      INTEGER NOT NULL,
                    ESTIMATION_FLG                     INTEGER NOT NULL
                )

            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

            %let m_sql_statement = %str(
            ALTER TABLE TABLE_PARTITION_META  add CONSTRAINT TABLE_PARTITION_META_SK  PRIMARY KEY (TABLE_NM)
            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;



        %if not (%sysfunc(exist(&m_di_trans..TKMI_GRID_DATA_MAP))) %then
        %do;


            %let m_sql_statement = %str(
                CREATE TABLE TKMI_GRID_DATA_MAP
                (
                    PROD_HIER_ASSOC_CD                 INTEGER NOT NULL,
                    PROD_HIER_SK                       INTEGER NOT NULL,
                    CAPTAIN_NM                         VARCHAR(255),
                    PARTITION_SIZE                     NUMERIC(20,3)
                )

            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);



            %let m_sql_statement = %str(
            ALTER TABLE TKMI_GRID_DATA_MAP  add CONSTRAINT TKMI_GRID_DATA_MAP_SK  PRIMARY KEY (PROD_HIER_ASSOC_CD,PROD_HIER_SK)
            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);



         %end;

   :ORCL_END:




   :SAS_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..TABLE_PARTITION_META))) %then
        %do;

          proc sql;

            CREATE TABLE TABLE_PARTITION_META
            (
                    TABLE_NM                           VARCHAR(32) NOT NULL,
                    FULL_COPY_FLG                      INTEGER NOT NULL,
                    PARTITION_FLG                      INTEGER NOT NULL,
                    ESTIMATION_FLG                     INTEGER NOT NULL
            )
            ;

            ALTER TABLE TABLE_PARTITION_META  add CONSTRAINT PRIM_KEY  PRIMARY KEY (TABLE_NM);
          quit;
       %end;

        %if not (%sysfunc(exist(&m_di_trans..TKMI_GRID_DATA_MAP))) %then
        %do;

            proc sql;


                CREATE TABLE TKMI_GRID_DATA_MAP
                (
                        PROD_HIER_ASSOC_CD                 INTEGER NOT NULL,
                        PROD_HIER_SK                       INTEGER NOT NULL,
                        CAPTAIN_NM                         VARCHAR(255),
                        PARTITION_SIZE                     NUMERIC(20,3)
                )
                ;

                ALTER TABLE TKMI_GRID_DATA_MAP  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_HIER_ASSOC_CD,PROD_HIER_SK);

            quit;
         %end;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID00000B
   :DESCRIPTION:    Add FA Tables (Moving from SAS to RDBMS)
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


       CREATE TABLE FA_ALERT
       (
           ALERT_SK                           INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
           SCORE                              NUMERIC(12,2) NOT NULL,
           SCORE_DATE_SK                      INTEGER NOT NULL,
           BENCHMARK_SCORE                    NUMERIC(12,2) NOT NULL,
           BENCHMARK_DTTM                     DATE NOT NULL,
           DEVIATION_FROM_SCORE               NUMERIC(12,2) NOT NULL,
           CREATED_DTTM                       DATE NOT NULL,
           PRIMARY KEY (ALERT_SK)
       )
       ;


       CREATE TABLE FA_ALERT_STATUS
       (
           ALERT_SK                           INTEGER NOT NULL,
           USER_NM                            VARCHAR(40) NOT NULL,
           ACTIVE_FLG                         INTEGER NOT NULL,
           PRIMARY KEY (ALERT_SK,USER_NM)
       )
       ;


       CREATE TABLE FA_MODEL_GROUP
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SEASON                             VARCHAR(20),
           TAG                                VARCHAR(40),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID)
       )
       ;


       CREATE TABLE FA_MONITORING_FILTER_PROD_GEO
       (
           PROD_GEO_SK                        INTEGER NOT NULL,
           PROD_GEO_FLG                       INTEGER NOT NULL,
           PRIMARY KEY (PROD_GEO_SK,PROD_GEO_FLG)
       )
       ;


       CREATE TABLE FA_MONITORING_GEO
       (
           GEO_HIER_SK                        INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (GEO_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX1 ON FA_MONITORING_GEO
       (
           MODEL_GROUP_ID
       )
       ;


       CREATE TABLE FA_MONITORING_PROD
       (
           PROD_HIER_SK                       INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (PROD_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX2 ON FA_MONITORING_PROD
       (
           MODEL_GROUP_ID
       )
       ;


       CREATE TABLE FA_PRESEASON_FILTER_PROD_GEO
       (
           PROD_GEO_SK                        INTEGER NOT NULL,
           PROD_GEO_FLG                       INTEGER NOT NULL,
           PRIMARY KEY (PROD_GEO_SK,PROD_GEO_FLG)
       )
       ;

       CREATE INDEX PROD_GEO_FLG_IX1 ON FA_PRESEASON_FILTER_PROD_GEO
       (
           PROD_GEO_FLG
       )
       ;


       CREATE TABLE FA_PRESEASON_GEO
       (
           GEO_HIER_SK                        INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (GEO_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX4 ON FA_PRESEASON_GEO
       (
           MODEL_GROUP_ID
       )
       ;


       CREATE TABLE FA_PRESEASON_PROD
       (
           PROD_HIER_SK                       INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (PROD_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX5 ON FA_PRESEASON_PROD
       (
           MODEL_GROUP_ID
       )
       ;


       CREATE TABLE FA_SCENARIO
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           SCENARIO_DESC                      VARCHAR(100),
           SCENARIO_TYPE                      VARCHAR(20),
           BASE_SCENARIO_FLG                  INTEGER NOT NULL,
           DISABLED_FLG                       INTEGER,
           PRIMARY KEY (SCENARIO_NM)
       )
       ;


       CREATE TABLE FA_SCENARIO_SPEC
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_TYPE                          VARCHAR(5) NOT NULL,
           SPEC_TABLE_NM                      VARCHAR(32) NOT NULL,
           MODEL_COMP_NM                      VARCHAR(20) NOT NULL,
           SPEC_VALUE                         VARCHAR(100) NOT NULL,
           PRIMARY KEY (SCENARIO_NM,SPEC_NM,SPEC_TYPE,SPEC_TABLE_NM,MODEL_COMP_NM,SPEC_VALUE)
       )
       ;


       CREATE TABLE FA_SCENARIO_STATUS
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
           SCORE                              NUMERIC(12,2),
           WEIGHTED_MAPE                      NUMERIC(12,2),
           MEDIAN_PE                          NUMERIC(12,2),
           ELASTICITY_TAIL                    NUMERIC(12,2),
           STATUS                             VARCHAR(10),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,DEMAND_MODEL_TYPE)
       )
       ;


       CREATE TABLE FA_SCORE
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
           BENCHMARK_FLG                      INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SCORE                              NUMERIC(12,2),
           WEIGHTED_MAPE                      NUMERIC(12,2),
           MEDIAN_PE                          NUMERIC(12,2),
           ELASTICITY_TAIL                    NUMERIC(12,2),
           PRIMARY KEY (MODEL_GROUP_ID,DEMAND_MODEL_TYPE,BENCHMARK_FLG,DATE_SK)
       )
       ;


       CREATE TABLE FA_SPEC
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_VALUE                         VARCHAR(100),
           PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM)
       )
       ;



   :ORCL_END:


   :DB2_BEGIN:


       CREATE TABLE FA_ALERT
       (
           ALERT_SK                           INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
           SCORE                              NUMERIC(12,2) NOT NULL,
           SCORE_DATE_SK                      INTEGER NOT NULL,
           BENCHMARK_SCORE                    NUMERIC(12,2) NOT NULL,
           BENCHMARK_DTTM                     TIMESTAMP NOT NULL,
           DEVIATION_FROM_SCORE               NUMERIC(12,2) NOT NULL,
           CREATED_DTTM                       TIMESTAMP NOT NULL,
           PRIMARY KEY (ALERT_SK)
       )
       ;


       CREATE TABLE FA_ALERT_STATUS
       (
           ALERT_SK                           INTEGER NOT NULL,
           USER_NM                            VARCHAR(40) NOT NULL,
           ACTIVE_FLG                         INTEGER NOT NULL,
           PRIMARY KEY (ALERT_SK,USER_NM)
       )
       ;


       CREATE TABLE FA_MODEL_GROUP
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SEASON                             VARCHAR(20),
           TAG                                VARCHAR(40),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID)
       )
       ;


       CREATE TABLE FA_MONITORING_FILTER_PROD_GEO
       (
           PROD_GEO_SK                        INTEGER NOT NULL,
           PROD_GEO_FLG                       INTEGER NOT NULL,
           PRIMARY KEY (PROD_GEO_SK,PROD_GEO_FLG)
       )
       ;


       CREATE TABLE FA_MONITORING_GEO
       (
           GEO_HIER_SK                        INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (GEO_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX1 ON FA_MONITORING_GEO
       (
            MODEL_GROUP_ID
       )ALLOW REVERSE SCANS
       ;


       CREATE TABLE FA_MONITORING_PROD
       (
           PROD_HIER_SK                       INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (PROD_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX2 ON FA_MONITORING_PROD
       (
            MODEL_GROUP_ID
       )ALLOW REVERSE SCANS
       ;


       CREATE TABLE FA_PRESEASON_FILTER_PROD_GEO
       (
           PROD_GEO_SK                        INTEGER NOT NULL,
           PROD_GEO_FLG                       INTEGER NOT NULL,
           PRIMARY KEY (PROD_GEO_SK,PROD_GEO_FLG)
       )
       ;

       CREATE INDEX PROD_GEO_FLG_IX1 ON FA_PRESEASON_FILTER_PROD_GEO
       (
            PROD_GEO_FLG
       )ALLOW REVERSE SCANS
       ;


       CREATE TABLE FA_PRESEASON_GEO
       (
           GEO_HIER_SK                        INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (GEO_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX4 ON FA_PRESEASON_GEO
       (
            MODEL_GROUP_ID
       )ALLOW REVERSE SCANS
       ;


       CREATE TABLE FA_PRESEASON_PROD
       (
           PROD_HIER_SK                       INTEGER NOT NULL,
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           PRIMARY KEY (PROD_HIER_SK,MODEL_GROUP_ID)
       )
       ;

       CREATE INDEX MDL_GRP_ID_IX5 ON FA_PRESEASON_PROD
       (
            MODEL_GROUP_ID
       )ALLOW REVERSE SCANS
       ;


       CREATE TABLE FA_SCENARIO
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           SCENARIO_DESC                      VARCHAR(100),
           SCENARIO_TYPE                      VARCHAR(20),
           BASE_SCENARIO_FLG                  INTEGER NOT NULL,
           DISABLED_FLG                       INTEGER,
           PRIMARY KEY (SCENARIO_NM)
       )
       ;


       CREATE TABLE FA_SCENARIO_SPEC
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_TYPE                          VARCHAR(5) NOT NULL,
           SPEC_TABLE_NM                      VARCHAR(32) NOT NULL,
           MODEL_COMP_NM                      VARCHAR(20) NOT NULL,
           SPEC_VALUE                         VARCHAR(100) NOT NULL,
           PRIMARY KEY (SCENARIO_NM,SPEC_NM,SPEC_TYPE,SPEC_TABLE_NM,MODEL_COMP_NM,SPEC_VALUE)
       )
       ;


       CREATE TABLE FA_SCENARIO_STATUS
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
           SCORE                              NUMERIC(12,2),
           WEIGHTED_MAPE                      NUMERIC(12,2),
           MEDIAN_PE                          NUMERIC(12,2),
           ELASTICITY_TAIL                    NUMERIC(12,2),
           STATUS                             VARCHAR(10),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,DEMAND_MODEL_TYPE)
       )
       ;


       CREATE TABLE FA_SCORE
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
           BENCHMARK_FLG                      INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SCORE                              NUMERIC(12,2),
           WEIGHTED_MAPE                      NUMERIC(12,2),
           MEDIAN_PE                          NUMERIC(12,2),
           ELASTICITY_TAIL                    NUMERIC(12,2),
           PRIMARY KEY (MODEL_GROUP_ID,DEMAND_MODEL_TYPE,BENCHMARK_FLG,DATE_SK)
       )
       ;


       CREATE TABLE FA_SPEC
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_VALUE                         VARCHAR(100),
           PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM)
       )
       ;


   :DB2_END:

   :SAS_BEGIN:

     proc sql noprint;
        CREATE TABLE FA_ALERT
        (
                ALERT_SK                           INTEGER NOT NULL,
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
                SCORE                              NUMERIC(12,2) NOT NULL,
                SCORE_DATE_SK                      INTEGER NOT NULL,
                BENCHMARK_SCORE                    NUMERIC(12,2) NOT NULL,
                BENCHMARK_DTTM                     DATE      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT   NOT NULL,
                DEVIATION_FROM_SCORE               NUMERIC(12,2) NOT NULL,
                CREATED_DTTM                       DATE      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT   NOT NULL
        )
        ;

        ALTER TABLE FA_ALERT  add CONSTRAINT PRIM_KEY  PRIMARY KEY (ALERT_SK);


        CREATE TABLE FA_ALERT_STATUS
        (
                ALERT_SK                           INTEGER NOT NULL,
                USER_NM                            VARCHAR(40) NOT NULL,
                ACTIVE_FLG                         INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_ALERT_STATUS  add CONSTRAINT PRIM_KEY  PRIMARY KEY (ALERT_SK,USER_NM);


        CREATE TABLE FA_MODEL_GROUP
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SEASON                             VARCHAR(20),
                TAG                                VARCHAR(40),
                DEMAND_MODEL_TYPE                  VARCHAR(20)
        )
        ;

        ALTER TABLE FA_MODEL_GROUP  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID);


        CREATE TABLE FA_MONITORING_FILTER_PROD_GEO
        (
                PROD_GEO_SK                        INTEGER NOT NULL,
                PROD_GEO_FLG                       INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_MONITORING_FILTER_PROD_GEO  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_GEO_SK,PROD_GEO_FLG);


        CREATE TABLE FA_MONITORING_GEO
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                MODEL_GROUP_ID                     INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_MONITORING_GEO  add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,MODEL_GROUP_ID);

        CREATE INDEX MODEL_GROUP_ID ON FA_MONITORING_GEO
        (
                MODEL_GROUP_ID
        )
        ;


        CREATE TABLE FA_MONITORING_PROD
        (
                PROD_HIER_SK                       INTEGER NOT NULL,
                MODEL_GROUP_ID                     INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_MONITORING_PROD  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_HIER_SK,MODEL_GROUP_ID);

        CREATE INDEX MODEL_GROUP_ID ON FA_MONITORING_PROD
        (
                MODEL_GROUP_ID
        )
        ;


        CREATE TABLE FA_PRESEASON_FILTER_PROD_GEO
        (
                PROD_GEO_SK                        INTEGER NOT NULL,
                PROD_GEO_FLG                       INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_PRESEASON_FILTER_PROD_GEO  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_GEO_SK,PROD_GEO_FLG);

        CREATE INDEX PROD_GEO_FLG ON FA_PRESEASON_FILTER_PROD_GEO
        (
                PROD_GEO_FLG
        )
        ;


        CREATE TABLE FA_PRESEASON_GEO
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                MODEL_GROUP_ID                     INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_PRESEASON_GEO  add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,MODEL_GROUP_ID);

        CREATE INDEX MODEL_GROUP_ID ON FA_PRESEASON_GEO
        (
                MODEL_GROUP_ID
        )
        ;


        CREATE TABLE FA_PRESEASON_PROD
        (
                PROD_HIER_SK                       INTEGER NOT NULL,
                MODEL_GROUP_ID                     INTEGER NOT NULL
        )
        ;

        ALTER TABLE FA_PRESEASON_PROD  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_HIER_SK,MODEL_GROUP_ID);

        CREATE INDEX MODEL_GROUP_ID ON FA_PRESEASON_PROD
        (
                MODEL_GROUP_ID
        )
        ;


        CREATE TABLE FA_SCENARIO
        (
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                SCENARIO_DESC                      VARCHAR(100),
                SCENARIO_TYPE                      VARCHAR(20),
                BASE_SCENARIO_FLG                  INTEGER NOT NULL,
                DISABLED_FLG                       INTEGER
        )
        ;

        ALTER TABLE FA_SCENARIO  add CONSTRAINT PRIM_KEY  PRIMARY KEY (SCENARIO_NM);


        CREATE TABLE FA_SCENARIO_SPEC
        (
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                SPEC_NM                            VARCHAR(32) NOT NULL,
                SPEC_TYPE                          VARCHAR(5) NOT NULL,
                SPEC_TABLE_NM                      VARCHAR(32) NOT NULL,
                MODEL_COMP_NM                      VARCHAR(20) NOT NULL,
                SPEC_VALUE                         VARCHAR(100) NOT NULL
        )
        ;

        ALTER TABLE FA_SCENARIO_SPEC  add CONSTRAINT PRIM_KEY  PRIMARY KEY (SCENARIO_NM,SPEC_NM,SPEC_TYPE,SPEC_TABLE_NM,MODEL_COMP_NM,SPEC_VALUE);


        CREATE TABLE FA_SCENARIO_STATUS
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
                SCORE                              NUMERIC(12,2),
                WEIGHTED_MAPE                      NUMERIC(12,2),
                MEDIAN_PE                          NUMERIC(12,2),
                ELASTICITY_TAIL                    NUMERIC(12,2),
                STATUS                             VARCHAR(10),
                PCT_ELASTICITY_DEFAULTED           NUMERIC(12,4)

        )
        ;

        ALTER TABLE FA_SCENARIO_STATUS  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,DEMAND_MODEL_TYPE);


        CREATE TABLE FA_SCORE
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                DEMAND_MODEL_TYPE                  VARCHAR(20) NOT NULL,
                BENCHMARK_FLG                      INTEGER NOT NULL,
                DATE_SK                            INTEGER NOT NULL,
                SCORE                              NUMERIC(12,2),
                WEIGHTED_MAPE                      NUMERIC(12,2),
                MEDIAN_PE                          NUMERIC(12,2),
                ELASTICITY_TAIL                    NUMERIC(12,2),
                PCT_ELASTICITY_DEFAULTED           NUMERIC(12,4)
        )
        ;

        ALTER TABLE FA_SCORE  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,DEMAND_MODEL_TYPE,BENCHMARK_FLG,DATE_SK);


        CREATE TABLE FA_SPEC
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SPEC_NM                            VARCHAR(32) NOT NULL,
                SPEC_VALUE                         VARCHAR(200)
        )
        ;

        ALTER TABLE FA_SPEC  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM);

      quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID00000C
   :DESCRIPTION:    Update PROCESS_... tables to support request persistence
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


        ALTER TABLE PROCESS_STATUS ADD SCOPE_SK INTEGER;
        ALTER TABLE PROCESS_STATUS ADD SCOPE_ASSOC_CD INTEGER;
        ALTER TABLE PROCESS_STATUS ADD PROCESS_TYPE VARCHAR(80);


   :ORCL_END:


   :DB2_BEGIN:


        ALTER TABLE PROCESS_STATUS ADD COLUMN SCOPE_SK INTEGER;
        ALTER TABLE PROCESS_STATUS ADD COLUMN SCOPE_ASSOC_CD INTEGER;
        ALTER TABLE PROCESS_STATUS ADD COLUMN PROCESS_TYPE VARCHAR(80);


   :DB2_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID669058
   :DESCRIPTION:    Add MEAN_PE column to FA tables
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


       ALTER TABLE FA_SCENARIO_STATUS ADD (MEAN_PE NUMERIC(12,2));
       ALTER TABLE FA_SCORE ADD (MEAN_PE NUMERIC(12,2));


   :ORCL_END:


   :DB2_BEGIN:

       ALTER TABLE FA_SCENARIO_STATUS ADD COLUMN MEAN_PE NUMERIC(12,2);
       ALTER TABLE FA_SCORE ADD COLUMN MEAN_PE NUMERIC(12,2);

       REORG TABLE FA_SCENARIO;
       REORG TABLE FA_SCORE;


   :DB2_END:

   :SAS_BEGIN:

      proc sql;
         ALTER TABLE FA_SCENARIO_STATUS ADD MEAN_PE NUMERIC(12,2);
         ALTER TABLE FA_SCORE ADD MEAN_PE NUMERIC(12,2);
      quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID669442
   :DESCRIPTION:    MA tables
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE TABLE MA_SCENARIO
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           USER_NM                            VARCHAR(60) NOT NULL,
           SCENARIO_DESC                      VARCHAR(100),
           SCENARIO_TYPE                      VARCHAR(20),
           BASE_SCENARIO_FLG                  INTEGER NOT NULL,
           DISABLED_FLG                       INTEGER,
           PRIMARY KEY (SCENARIO_NM,USER_NM)
       )
       ;

       CREATE TABLE MA_SCENARIO_SPEC
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_TYPE                          VARCHAR(5) NOT NULL,
           SPEC_TABLE_NM                      VARCHAR(32) NOT NULL,
           MODEL_COMP_NM                      VARCHAR(20) NOT NULL,
           SPEC_VALUE                         VARCHAR(100) NOT NULL,
           USER_NM                            VARCHAR(60) NOT NULL,
           PRIMARY KEY (SCENARIO_NM,SPEC_NM,SPEC_TYPE,SPEC_TABLE_NM,MODEL_COMP_NM,SPEC_VALUE,USER_NM)
       )
       ;

       CREATE TABLE MA_MODEL_GROUP
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           USER_NM                            VARCHAR(60) NOT NULL,
           SEASON                             VARCHAR(20),
           TAG                                VARCHAR(40),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,USER_NM)
       )
       ;



   :ORCL_END:


   :DB2_BEGIN:



       CREATE TABLE MA_SCENARIO
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           USER_NM                            VARCHAR(60) NOT NULL,
           SCENARIO_DESC                      VARCHAR(100),
           SCENARIO_TYPE                      VARCHAR(20),
           BASE_SCENARIO_FLG                  INTEGER NOT NULL,
           DISABLED_FLG                       INTEGER,
           PRIMARY KEY (SCENARIO_NM,USER_NM)
       )
       ;


       CREATE TABLE MA_SCENARIO_SPEC
       (
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_TYPE                          VARCHAR(5) NOT NULL,
           SPEC_TABLE_NM                      VARCHAR(32) NOT NULL,
           MODEL_COMP_NM                      VARCHAR(20) NOT NULL,
           SPEC_VALUE                         VARCHAR(100) NOT NULL,
           USER_NM                            VARCHAR(60) NOT NULL,
           PRIMARY KEY (SCENARIO_NM,SPEC_NM,SPEC_TYPE,SPEC_TABLE_NM,MODEL_COMP_NM,SPEC_VALUE,USER_NM)
       )
       ;


       CREATE TABLE MA_MODEL_GROUP
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           USER_NM                            VARCHAR(60) NOT NULL,
           SEASON                             VARCHAR(20),
           TAG                                VARCHAR(40),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,USER_NM)
       )
       ;


   :DB2_END:

   :SAS_BEGIN:

      proc sql noprint;
        CREATE TABLE MA_MODEL_GROUP
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                USER_NM                            VARCHAR(60) NOT NULL,
                SEASON                             VARCHAR(20),
                TAG                                VARCHAR(40),
                DEMAND_MODEL_TYPE                  VARCHAR(20)
        )
        ;

        ALTER TABLE MA_MODEL_GROUP  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,USER_NM);


        CREATE TABLE MA_SCENARIO
        (
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                USER_NM                            VARCHAR(60) NOT NULL,
                SCENARIO_DESC                      VARCHAR(100),
                SCENARIO_TYPE                      VARCHAR(20),
                BASE_SCENARIO_FLG                  INTEGER NOT NULL,
                DISABLED_FLG                       INTEGER
        )
        ;

        ALTER TABLE MA_SCENARIO  add CONSTRAINT PRIM_KEY  PRIMARY KEY (SCENARIO_NM,USER_NM);


        CREATE TABLE MA_SCENARIO_SPEC
        (
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                SPEC_NM                            VARCHAR(32) NOT NULL,
                SPEC_TYPE                          VARCHAR(5) NOT NULL,
                SPEC_TABLE_NM                      VARCHAR(32) NOT NULL,
                MODEL_COMP_NM                      VARCHAR(20) NOT NULL,
                SPEC_VALUE                         VARCHAR(100) NOT NULL,
                USER_NM                            VARCHAR(60) NOT NULL
        )
        ;

        ALTER TABLE MA_SCENARIO_SPEC  add CONSTRAINT PRIM_KEY  PRIMARY KEY (SCENARIO_NM,SPEC_NM,SPEC_TYPE,SPEC_TABLE_NM,MODEL_COMP_NM,SPEC_VALUE,USER_NM);

      quit;

   :SAS_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID661595
   :DESCRIPTION:    FA tables Historical Fit and Holdout Forecast
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


       CREATE TABLE HISTORICAL_FIT
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SALES_UNITS                        NUMERIC(12,2),
           PRICE_RATIO                        NUMERIC(12,2),
           SALES_FITTING_UNITS                NUMERIC(12,2),
           BASE_UNITS                         NUMERIC(12,2),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


       CREATE TABLE HISTORICAL_FIT_ACCURACY
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           DATA_LVL_ID                        INTEGER,
           SALES_FITTING_UNITS                NUMERIC(12,2),
           SALES_UNITS                        NUMERIC(12,2),
           FIT_MAPE                           NUMERIC(12,2),
           FIT_APE                            NUMERIC(12,2),
           FIT_RMSE                           NUMERIC(12,2),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


       CREATE TABLE HOLDOUT_FORECAST
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SALES_UNC_FCST_UNITS               NUMERIC(12,2),
           SALES_UNITS                        NUMERIC(12,2),
           CLOSE_INV_UNITS                    NUMERIC(12,2),
           PRICE_RATIO                        NUMERIC(12,2),
           RECEIPT_UNITS                      NUMERIC(12,2),
           SALES_FCST_UNITS                   NUMERIC(12,2),
           BASE_UNITS                         NUMERIC(12,2),
           START_DT                           DATE,
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


       CREATE TABLE HOLDOUT_FORECAST_ACCURACY
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SALES_UNC_FCST_UNITS               NUMERIC(12,2),
           SALES_FCST_UNITS                   NUMERIC(12,2),
           SALES_UNITS                        NUMERIC(12,2),
           CLOSE_INV_UNITS                    NUMERIC(12,2),
           ACTUAL_SELL_THROUGH                NUMERIC(12,2),
           CONSTRAINED_SELL_THROUGH           NUMERIC(12,2),
           CONSTRAINED_FCST_APE               NUMERIC(12,2),
           CONSTRAINED_FCST_MAPE              NUMERIC(12,2),
           CONSTRAINED_FCST_RMSE              NUMERIC(12,2),
           UNCONSTRAINED_SELL_THROUGH         NUMERIC(12,2),
           UNCONSTRAINED_FCST_APE             NUMERIC(12,2),
           UNCONSTRAINED_FCST_MAPE            NUMERIC(12,2),
           UNCONSTRAINED_FCST_RMSE            NUMERIC(12,2),
           UNACCOUNTED_SALES_UNITS            NUMERIC(12,2),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );



   :ORCL_END:



   :DB2_BEGIN:


       CREATE TABLE HISTORICAL_FIT
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SALES_UNITS                        NUMERIC(12,2),
           PRICE_RATIO                        NUMERIC(12,2),
           SALES_FITTING_UNITS                NUMERIC(12,2),
           BASE_UNITS                         NUMERIC(12,2),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


       CREATE TABLE HISTORICAL_FIT_ACCURACY
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           DATA_LVL_ID                        INTEGER,
           SALES_FITTING_UNITS                NUMERIC(12,2),
           SALES_UNITS                        NUMERIC(12,2),
           FIT_MAPE                           NUMERIC(12,2),
           FIT_APE                            NUMERIC(12,2),
           FIT_RMSE                           NUMERIC(12,2),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


       CREATE TABLE HOLDOUT_FORECAST
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SALES_UNC_FCST_UNITS               NUMERIC(12,2),
           SALES_UNITS                        NUMERIC(12,2),
           CLOSE_INV_UNITS                    NUMERIC(12,2),
           PRICE_RATIO                        NUMERIC(12,2),
           RECEIPT_UNITS                      NUMERIC(12,2),
           SALES_FCST_UNITS                   NUMERIC(12,2),
           BASE_UNITS                         NUMERIC(12,2),
           START_DT                           DATE,
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


       CREATE TABLE HOLDOUT_FORECAST_ACCURACY
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SCENARIO_NM                        VARCHAR(40) NOT NULL,
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           DATE_SK                            INTEGER NOT NULL,
           SALES_UNC_FCST_UNITS               NUMERIC(12,2),
           SALES_FCST_UNITS                   NUMERIC(12,2),
           SALES_UNITS                        NUMERIC(12,2),
           CLOSE_INV_UNITS                    NUMERIC(12,2),
           ACTUAL_SELL_THROUGH                NUMERIC(12,2),
           CONSTRAINED_SELL_THROUGH           NUMERIC(12,2),
           CONSTRAINED_FCST_APE               NUMERIC(12,2),
           CONSTRAINED_FCST_MAPE              NUMERIC(12,2),
           CONSTRAINED_FCST_RMSE              NUMERIC(12,2),
           UNCONSTRAINED_SELL_THROUGH         NUMERIC(12,2),
           UNCONSTRAINED_FCST_APE             NUMERIC(12,2),
           UNCONSTRAINED_FCST_MAPE            NUMERIC(12,2),
           UNCONSTRAINED_FCST_RMSE            NUMERIC(12,2),
           UNACCOUNTED_SALES_UNITS            NUMERIC(12,2),
           DEMAND_MODEL_TYPE                  VARCHAR(20),
           PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK)
       );


   :DB2_END:

   :SAS_BEGIN:

      proc sql;

        CREATE TABLE HISTORICAL_FIT
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                GEO_HIER_SK                        INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                DATE_SK                            INTEGER NOT NULL,
                SALES_UNITS                        NUMERIC(12,2),
                PRICE_RATIO                        NUMERIC(12,2),
                SALES_FITTING_UNITS                NUMERIC(12,2),
                BASE_UNITS                         NUMERIC(12,2),
                DEMAND_MODEL_TYPE                  VARCHAR(20),
                SALES_UNITS_UNACCOUNTED            NUMERIC(12,2)
        )
        ;

        ALTER TABLE HISTORICAL_FIT  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK);


        CREATE TABLE HISTORICAL_FIT_ACCURACY
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                GEO_HIER_SK                        INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                DATE_SK                            INTEGER NOT NULL,
                DATA_LVL_ID                        INTEGER,
                SALES_FITTING_UNITS                NUMERIC(12,2),
                SALES_UNITS                        NUMERIC(12,2),
                FIT_MAPE                           NUMERIC(12,2),
                FIT_APE                            NUMERIC(12,2),
                FIT_RMSE                           NUMERIC(12,2),
                DEMAND_MODEL_TYPE                  VARCHAR(20)
        )
        ;

        ALTER TABLE HISTORICAL_FIT_ACCURACY  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK);


        CREATE TABLE HOLDOUT_FORECAST
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                GEO_HIER_SK                        INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                DATE_SK                            INTEGER NOT NULL,
                SALES_UNC_FCST_UNITS               NUMERIC(12,2),
                SALES_UNITS                        NUMERIC(12,2),
                CLOSE_INV_UNITS                    NUMERIC(12,2),
                PRICE_RATIO                        NUMERIC(12,2),
                RECEIPT_UNITS                      NUMERIC(12,2),
                SALES_FCST_UNITS                   NUMERIC(12,2),
                BASE_UNITS                         NUMERIC(12,2),
                START_DT                           DATE      FORMAT=&DTFMT    INFORMAT=&DTFMT  ,
                DEMAND_MODEL_TYPE                  VARCHAR(20)
        )
        ;

        ALTER TABLE HOLDOUT_FORECAST  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK);


        CREATE TABLE HOLDOUT_FORECAST_ACCURACY
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                SCENARIO_NM                        VARCHAR(40) NOT NULL,
                GEO_HIER_SK                        INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                DATE_SK                            INTEGER NOT NULL,
                SALES_UNC_FCST_UNITS               NUMERIC(12,2),
                SALES_FCST_UNITS                   NUMERIC(12,2),
                SALES_UNITS                        NUMERIC(12,2),
                CLOSE_INV_UNITS                    NUMERIC(12,2),
                ACTUAL_SELL_THROUGH                NUMERIC(12,2),
                CONSTRAINED_SELL_THROUGH           NUMERIC(12,2),
                CONSTRAINED_FCST_APE               NUMERIC(12,2),
                CONSTRAINED_FCST_MAPE              NUMERIC(12,2),
                CONSTRAINED_FCST_RMSE              NUMERIC(12,2),
                UNCONSTRAINED_SELL_THROUGH         NUMERIC(12,2),
                UNCONSTRAINED_FCST_APE             NUMERIC(12,2),
                UNCONSTRAINED_FCST_MAPE            NUMERIC(12,2),
                UNCONSTRAINED_FCST_RMSE            NUMERIC(12,2),
                UNACCOUNTED_SALES_UNITS            NUMERIC(12,2),
                DEMAND_MODEL_TYPE                  VARCHAR(20)
        )
        ;

        ALTER TABLE HOLDOUT_FORECAST_ACCURACY  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SCENARIO_NM,GEO_HIER_SK,PROD_HIER_SK,DATE_SK);


      quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID661123_1
   :DESCRIPTION:    Add HOLDOUT_DETAILS_PROD_LVL and HOLDOUT_DETAILS_GEO_LVL FA specs
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM FA_SPEC WHERE SPEC_NM = 'HOLDOUT_DETAILS_PROD_LVL';
       INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'HOLDOUT_DETAILS_PROD_LVL','1');
       DELETE FROM FA_SPEC WHERE SPEC_NM = 'HOLDOUT_DETAILS_GEO_LVL';
       INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'HOLDOUT_DETAILS_GEO_LVL','1');

   :ORCL_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID673040
   :DESCRIPTION:    Input into C code for Forecast Export
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE TABLE FCST_EXPORT_INPUT
       (
           GEO_HIER_SK                        INTEGER NOT NULL,
           PROD_HIER_SK                       INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD                  INTEGER NOT NULL,
           UNCONSTR_FLG                       INTEGER,
           FCST_WEEKS                         INTEGER,
           PRIMARY KEY (GEO_HIER_SK,PROD_HIER_SK,GEO_HIER_ASSOC_CD)
       )
       ;


   :ORCL_END:


   :SAS_BEGIN:

      proc sql;

        CREATE TABLE FCST_EXPORT_INPUT
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                GEO_HIER_ASSOC_CD                  INTEGER NOT NULL,
                UNCONSTR_FLG                       INTEGER,
                FCST_WEEKS                         INTEGER
        )
        ;

        ALTER TABLE FCST_EXPORT_INPUT  add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,PROD_HIER_SK,GEO_HIER_ASSOC_CD);

      quit;

   :SAS_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID674812
   :DESCRIPTION:    Added persistence of TKMIServer requests results
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


       ALTER TABLE PROCESS_STATUS ADD RESULT_VALUE VARCHAR(1024);
       ALTER TABLE PROCESS_STATUS ADD RESULT_EXCEPTION VARCHAR(255);


   :ORCL_END:


   :DB2_BEGIN:


       ALTER TABLE PROCESS_STATUS ADD COLUMN RESULT_VALUE VARCHAR(1024);
       ALTER TABLE PROCESS_STATUS ADD COLUMN RESULT_EXCEPTION VARCHAR(255);


   :DB2_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID679163
   :DESCRIPTION:    Remove the plan settings AUTO_EVAL_OPT_FLG from MDO_PLAN
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


        ALTER TABLE MDO_PLAN DROP COLUMN AUTO_EVAL_OPT_FLG;


   :ORCL_END:


   :DB2_BEGIN:


        ALTER TABLE MDO_PLAN DROP COLUMN AUTO_EVAL_OPT_FLG;


   :DB2_END:

   :SAS_BEGIN:

      %di_util_drop_constraint(m_lib=di_trans, m_table=mdo_plan, m_column=%str(auto_eval_opt_flg), m_constraint=%str(not null));

      proc sql;
         ALTER TABLE MDO_PLAN DROP COLUMN AUTO_EVAL_OPT_FLG;
      quit;

   :SAS_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID675652
   :DESCRIPTION:    Rename PK and index names (mdo optimization target tables)
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


   alter table GEO_PROD_AGG drop primary key drop index;
   Create Unique Index Geo_Prod_Agg_PK On Geo_Prod_Agg(Prod_Hier_Sk, Geo_Hier_Sk) Nologging Parallel 20;
   Alter Table Geo_Prod_Agg Add Constraint Geo_Prod_Agg_Pk Primary Key (Prod_Hier_Sk, Geo_Hier_Sk) using index Geo_Prod_Agg_PK;

   alter table GEO_PROD_MTS drop primary key drop index;
   Create Unique Index Geo_Prod_Mts_PK On Geo_Prod_Mts(Prod_Hier_Sk, Geo_Hier_Sk) Nologging Parallel 20;
   Alter Table Geo_Prod_Mts Add Constraint Geo_Prod_Mts_Pk Primary Key (Prod_Hier_Sk, Geo_Hier_Sk) using index Geo_Prod_Mts_PK;

   alter table MPLN_RESULT drop primary key drop index;
   Create Unique Index Mpln_Result_PK On Mpln_Result(Agg_Cd, Mdo_Plan_Sk) Nologging Parallel;
   Alter Table Mpln_Result Add Constraint Mpln_Result_Pk Primary Key (Agg_Cd, Mdo_Plan_Sk) using Index Mpln_Result_PK;

   alter table MPLN_GEO_PROD_RESULT drop primary key drop index;
   Create Unique Index Mpln_Geo_Prod_Result_PK On Mpln_Geo_Prod_Result(Agg_Cd, Mdo_Plan_Sk, Geo_Hier_Sk,Prod_Hier_Sk) Nologging Parallel 20;
   Alter Table Mpln_Geo_Prod_Result Add Constraint Mpln_Geo_Prod_Result_Pk Primary Key (Agg_Cd, Mdo_Plan_Sk, Geo_Hier_Sk,Prod_Hier_Sk)  using index Mpln_Geo_Prod_Result_PK;

   alter table mpln_actual_mts drop primary key drop index;
   Create Unique Index Mpln_Actual_Mts_PK On Mpln_Actual_Mts(Agg_Cd, Mdo_Plan_Group_Sk) Nologging Parallel;
   Alter Table Mpln_Actual_Mts Add Constraint Mpln_Actual_Mts_Pk Primary Key (Agg_Cd, Mdo_Plan_Group_Sk) using Index Mpln_Actual_Mts_PK;

   alter table mpln_geo_prod_faw_mts drop primary key drop index;
   Create Unique Index Mpln_Geo_Prod_Faw_Mts_PK On Mpln_Geo_Prod_Faw_Mts(Mdo_Plan_Sk, Prod_Hier_Sk, Geo_Hier_Sk) Nologging Parallel;
   Alter Table Mpln_Geo_Prod_Faw_Mts Add Constraint Mpln_Geo_Prod_Faw_Mts_Pk Primary Key (Mdo_Plan_Sk, Prod_Hier_Sk, Geo_Hier_Sk) using Index Mpln_Geo_Prod_Faw_Mts_PK;

   alter table mpln_geo_prod_mts drop primary key drop index;
   Create Unique Index Mpln_Geo_Prod_Mts_PK On Mpln_Geo_Prod_Mts(Agg_Cd, Mdo_Plan_Sk, Geo_Hier_Sk,Prod_Hier_Sk) Nologging Parallel 20;
   Alter Table Mpln_Geo_Prod_Mts Add Constraint Mpln_Geo_Prod_Mts_Pk Primary Key (Agg_Cd, Mdo_Plan_Sk, Geo_Hier_Sk,Prod_Hier_Sk) using index Mpln_Geo_Prod_Mts_PK;

   alter table mpln_geo_prod_agg drop primary key drop index;
   Create Unique Index Mpln_Geo_Prod_Agg_PK On Mpln_Geo_Prod_Agg(Agg_Cd, Mdo_Plan_Sk, Geo_Hier_Sk,Prod_Hier_Sk) Nologging Parallel 20;
   Alter Table Mpln_Geo_Prod_Agg Add Constraint Mpln_Geo_Prod_Agg_Pk Primary Key (Agg_Cd, Mdo_Plan_Sk, Geo_Hier_Sk,Prod_Hier_Sk) using index Mpln_Geo_Prod_Agg_PK;

   alter table mpln_geo_prod_actual_mts drop primary key drop index;
   Create Unique Index Mpln_Geo_Prod_Actual_Mts_PK On Mpln_Geo_Prod_Actual_Mts(Agg_Cd, Mdo_Plan_Group_Sk, Geo_Hier_Sk,Prod_Hier_Sk) Nologging Parallel 20;
   Alter Table Mpln_Geo_Prod_Actual_Mts  Add Constraint Mpln_Geo_Prod_Actual_Mts_Pk Primary Key (Agg_Cd, Mdo_Plan_Group_Sk, Geo_Hier_Sk, Prod_Hier_Sk)  using Index Mpln_Geo_Prod_Actual_Mts_PK;

   alter table mpln_period_awr_mts drop primary key drop index;
   Create Unique Index Mpln_Period_Awr_Mts_PK
   On Mpln_Period_Awr_Mts(Mdo_Plan_Sk, Prod_Hier_Sk, Start_Dt)
   Nologging Parallel 20;
   Alter Table Mpln_Period_Awr_Mts
   Add Constraint Mpln_Period_Awr_Mts_Pk Primary Key (Mdo_Plan_Sk, Prod_Hier_Sk, Start_Dt)  using Index Mpln_Period_Awr_Mts_PK;

   alter table mpln_price_chg drop primary key drop index;
   Create Unique Index Mpln_Price_Chg_PK On Mpln_Price_Chg(Mdo_Plan_Sk, Geo_Hier_Sk, Prod_Hier_Sk, Start_Dt) Nologging Parallel;
   Alter Table Mpln_Price_Chg
   Add Constraint Mpln_Price_Chg_Pk Primary Key (Mdo_Plan_Sk, Geo_Hier_Sk, Prod_Hier_Sk, Start_Dt) using Index Mpln_Price_Chg_PK;

   alter table mpln_price_chg_appr drop primary key drop index;
   Create Unique Index Mpln_Price_Chg_Appr_PK
   On Mpln_Price_Chg_Appr(Mdo_Plan_Sk, Geo_Hier_Sk, Start_Dt, Prod_Hier_Sk)
   Nologging Parallel 20;
   Alter Table Mpln_Price_Chg_Appr
   Add Constraint Mpln_Price_Chg_Appr_Pk Primary Key (Mdo_Plan_Sk, Geo_Hier_Sk, Start_Dt, Prod_Hier_Sk) using Index Mpln_Price_Chg_Appr_PK;


   :ORCL_END:

   :DB2_BEGIN:

   -- This change only applies to Oracle.  Not needed in DB2.

   :DB2_END:
   :SAS_BEGIN:

       /* This change only applies to Oracle.  Not needed in DB2. */

   :SAS_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID684088
   :DESCRIPTION:    Add column to FA_SCENARIO_STATUS table
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        ALTER TABLE FA_SCENARIO_STATUS ADD CREATED_DTTM DATE;

   :ORCL_END:


   :DB2_BEGIN:


       ALTER TABLE FA_SCENARIO_STATUS ADD COLUMN CREATED_DTTM TIMESTAMP;
       REORG TABLE FA_SCENARIO_STATUS;


   :DB2_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID687879
   :DESCRIPTION:    Add column to HISTORICAL_FIT table
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :DOC: Changed from SALES_FIT_UNACCOUNTED to SALES_UNITS_UNACCOUNTED.  No harm in having both columns.

   :ORCL_BEGIN:

    ALTER TABLE HISTORICAL_FIT ADD SALES_UNITS_UNACCOUNTED NUMERIC(12,2);

   :ORCL_END:

   :DB2_BEGIN:

       ALTER TABLE HISTORICAL_FIT ADD COLUMN SALES_UNITS_UNACCOUNTED NUMERIC(12,2);
       REORG TABLE HISTORICAL_FIT;

   :DB2_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID688960
   :DESCRIPTION:    Add PCT_TAIL_CUTOFF FA spec
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM FA_SPEC WHERE SPEC_NM = 'PCT_TAIL_CUTOFF';
       INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'PCT_TAIL_CUTOFF','1');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID688967
   :DESCRIPTION:    Add MIN_LIFE_FILTER FA spec
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM FA_SPEC WHERE SPEC_NM = 'MIN_LIFE_FILTER';
       INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'MIN_LIFE_FILTER','8');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID690047
   :DESCRIPTION:    Add new column PCT_ELASTICITY_DEFAULTED
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE FA_SCENARIO_STATUS ADD PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
       ALTER TABLE FA_SCENARIO_STATUS RENAME COLUMN MEAN_PE TO WEIGHTED_MEAN_PE;
       ALTER TABLE FA_SPEC MODIFY SPEC_VALUE VARCHAR(200);

   :ORCL_END:


   :DB2_BEGIN:


       ALTER TABLE FA_SCENARIO_STATUS ADD COLUMN PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
       ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN MEAN_PE;
       ALTER TABLE FA_SCENARIO_STATUS ADD  COLUMN WEIGHTED_MEAN_PE NUMERIC(12,2);

       ALTER TABLE FA_SPEC ALTER COLUMN SPEC_VALUE SET DATA TYPE VARCHAR(200);
       REORG TABLE FA_SCENARIO_STATUS;


   :DB2_END:

   :SAS_BEGIN:

      proc sql;
         ALTER TABLE FA_SCENARIO_STATUS ADD PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
         ALTER TABLE FA_SPEC MODIFY SPEC_VALUE VARCHAR(200);
      quit;

      proc datasets library=&m_di_trans nolist;
         modify FA_SCENARIO_STATUS ;
         rename MEAN_PE=WEIGHTED_MEAN_PE;
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID693691
   :DESCRIPTION:    Add RUN_FA_MONITORING FA spec
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM FA_SPEC WHERE SPEC_NM = 'RUN_FA_MONITORING';
       INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'RUN_FA_MONITORING','0');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID690047_1
   :DESCRIPTION:    Add new column PCT_ELASTICITY_DEFAULTED
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE FA_SCORE ADD PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
       ALTER TABLE FA_SCORE RENAME COLUMN MEAN_PE TO WEIGHTED_MEAN_PE;

   :ORCL_END:


   :DB2_BEGIN:


       ALTER TABLE FA_SCORE ADD PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
       ALTER TABLE FA_SCORE DROP COLUMN MEAN_PE;
       ALTER TABLE FA_SCORE ADD  COLUMN WEIGHTED_MEAN_PE NUMERIC(12,2);
       REORG TABLE FA_SCORE;

   :DB2_END:

   :SAS_BEGIN:

       proc sql;
           ALTER TABLE FA_SCORE ADD PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
       quit;

       proc datasets library=&m_di_trans nolist;
            modify FA_SCORE ;
            rename MEAN_PE=WEIGHTED_MEAN_PE;
       quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID695994
   :DESCRIPTION:    CRP PERFORMANCE Copy attributes tables to rdbms
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE TABLE PRODUCT_ATTRIBUTES
       (
           PROD_HIER_SK          INTEGER NOT NULL,
           PROD_ATTR_SK          INTEGER NOT NULL,
           PROD_ATTR_VALUE       VARCHAR(40) NOT NULL,
           PRIMARY KEY(PROD_HIER_SK, PROD_ATTR_SK)
       );

       CREATE TABLE GEOGRAPHY_ATTRIBUTES
       (
           GEO_HIER_SK          INTEGER NOT NULL,
           GEO_ATTR_SK          INTEGER NOT NULL,
           GEO_ATTR_VALUE       VARCHAR(40) NOT NULL,
           PRIMARY KEY(GEO_HIER_SK, GEO_ATTR_SK)
       );

   :ORCL_END:


   :DB2_BEGIN:


       CREATE TABLE PRODUCT_ATTRIBUTES
       (
           PROD_HIER_SK          INTEGER NOT NULL,
           PROD_ATTR_SK          INTEGER NOT NULL,
           PROD_ATTR_VALUE       VARCHAR(40) NOT NULL,
           PRIMARY KEY(PROD_HIER_SK, PROD_ATTR_SK)
       );

       CREATE TABLE GEOGRAPHY_ATTRIBUTES
       (
           GEO_HIER_SK          INTEGER NOT NULL,
           GEO_ATTR_SK          INTEGER NOT NULL,
           GEO_ATTR_VALUE       VARCHAR(40) NOT NULL,
           PRIMARY KEY(GEO_HIER_SK, GEO_ATTR_SK)
       );


   :DB2_END:

   :SAS_BEGIN:

      proc sql noprint;

        CREATE TABLE PRODUCT_ATTRIBUTES
        (
                PROD_HIER_SK                       INTEGER NOT NULL,
                PROD_ATTR_SK                       INTEGER NOT NULL,
                PROD_ATTR_VALUE                    VARCHAR(40) NOT NULL
        )
        ;

        ALTER TABLE PRODUCT_ATTRIBUTES  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_HIER_SK,PROD_ATTR_SK);


        CREATE TABLE GEOGRAPHY_ATTRIBUTES
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                GEO_ATTR_SK                        INTEGER NOT NULL,
                GEO_ATTR_VALUE                     VARCHAR(40) NOT NULL
        )
        ;

        ALTER TABLE GEOGRAPHY_ATTRIBUTES  add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,GEO_ATTR_SK);


      quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID695068
   :DESCRIPTION:    ADD MA_SPEC table
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


       CREATE TABLE MA_SPEC
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_VALUE                         VARCHAR(200),
           USER_NM                            VARCHAR(60) NOT NULL,
           PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM,USER_NM)
       )
       ;


   :ORCL_END:


   :DB2_BEGIN:


       CREATE TABLE MA_SPEC
       (
           MODEL_GROUP_ID                     INTEGER NOT NULL,
           SPEC_NM                            VARCHAR(32) NOT NULL,
           SPEC_VALUE                         VARCHAR(200),
           USER_NM                            VARCHAR(60) NOT NULL,
           PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM,USER_NM)
       )
       ;


   :DB2_END:


   :SAS_BEGIN:

      proc sql;

           CREATE TABLE MA_SPEC
           (
               MODEL_GROUP_ID                     INTEGER NOT NULL,
               SPEC_NM                            VARCHAR(32) NOT NULL,
               SPEC_VALUE                         VARCHAR(200),
               USER_NM                            VARCHAR(60) NOT NULL
           )
           ;

            ALTER TABLE MA_SPEC  add CONSTRAINT PRIM_KEY  PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM,USER_NM);

      quit;
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID699258
   :DESCRIPTION:    Add HOLDOUT_DETAILS_TABLES FA spec
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        DELETE FROM FA_SPEC WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES';
        INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'HOLDOUT_DETAILS_TABLES','HAA_PPE');

   :ORCL_END:


   :DB2_BEGIN:


       DELETE FROM FA_SPEC WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES';
       INSERT INTO FA_SPEC (MODEL_GROUP_ID, SPEC_NM, SPEC_VALUE) VALUES (-1,'HOLDOUT_DETAILS_TABLES','HAA_PPE');

   :DB2_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID700983
   :DESCRIPTION:    Change default value to 8 for HOLDOUT_PERIODS
   :VERSION:        D2TKMI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        UPDATE FA_SPEC SET SPEC_VALUE = '8' WHERE SPEC_NM = 'HOLDOUT_PERIODS' AND MODEL_GROUP_ID = -1;

   :ORCL_END:


   :DB2_BEGIN:


        UPDATE FA_SPEC SET SPEC_VALUE = '8' WHERE SPEC_NM = 'HOLDOUT_PERIODS' AND MODEL_GROUP_ID = -1;


   :DB2_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID693806
   :DESCRIPTION:    Alter table mdo_plan_alt_hier_prod
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       alter table mdo_plan_alt_hier_prod drop primary key drop index;
       Create Unique Index mdo_plan_alt_hier_prod_PK On mdo_plan_alt_hier_prod(Mdo_Plan_Sk, Prod_Hier_Sk) Nologging Parallel 20;
       Alter Table mdo_plan_alt_hier_prod Add Constraint mdo_plan_alt_hier_prod_Pk Primary Key (Mdo_Plan_Sk, Prod_Hier_Sk) using index mdo_plan_alt_hier_prod_PK;

   :ORCL_END:
   :SAS_BEGIN:
      /* No Change */
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID684780
   :DESCRIPTION:    Add batch import of purchase order plans
   :VERSION:        M1MI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE SEQUENCE SEQ_PKO_PO_IMPORT START WITH 100;

   :ORCL_END:

   :DB2_BEGIN:

        CREATE SEQUENCE SEQ_PKO_PO_IMPORT
        START WITH 100
        CYCLE
        MAXVALUE    2147483647
        MINVALUE    1
        ;

   :DB2_END:

   :SAS_BEGIN:
      /* No Change */
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID704238
   :DESCRIPTION:    Avoid setting PRF_PROFILE.MANUAL_FLG = 1
   :VERSION:        M1MI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_PROFILE

   :ORCL_BEGIN:

        UPDATE PRF_PROFILE SET MANUAL_FLG = 3 WHERE MANUAL_FLG = 1;

   :ORCL_END:




:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID703394
   :DESCRIPTION:    SZPF - Missing TRN_ACCURACY value causing UI to crash
   :VERSION:        M1MI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_RSLT_SC_ACCURACY

   :ORCL_BEGIN:

        UPDATE PRF_RSLT_SC_ACCURACY SET TRN_ACCURACY = 1 WHERE TRN_ACCURACY IS NULL;

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID721016
   :DESCRIPTION:    Need RPP indices for performance
   :VERSION:        M1MI42
   :DATE_OF_CHANGE: 31DEC2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      NEVER

   :ORCL_BEGIN:

        CREATE INDEX RPP_PLAN_PROD_METRICS_IX1 ON RPP_PLAN_PROD_METRICS
        (
            PLAN_SK
        )
        ;

   :ORCL_END:


   :DB2_BEGIN:


        CREATE INDEX RPP_PLAN_PROD_METRICS_IX1 ON RPP_PLAN_PROD_METRICS
        (
            PLAN_SK
        ) ALLOW REVERSE SCANS
        ;


   :DB2_END:

   :SAS_BEGIN:

     proc sql;
        CREATE INDEX PLAN_SK ON RPP_PLAN_PROD_METRICS
        (
            PLAN_SK
        )
        ;

     quit;
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID744028
   :DESCRIPTION:    MDO Approvals: Fix non-performant query for "all items" filter
   :VERSION:        D3MICM52,M1TKMI43
   :DATE_OF_CHANGE: 17MAR2011
   :SUPPORT:        Eric Yang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE INDEX MPLN_GPR_AGG_CD_PHSK_IX ON MPLN_GEO_PROD_RESULT
      (
         AGG_CD,
         PROD_HIER_SK
      )
      NOLOGGING ;


   :ORCL_END:
   :DB2_BEGIN:

      CREATE INDEX MPLN_GPR_AGG_CD_PHSK_IX ON MPLN_GEO_PROD_RESULT
      (
         AGG_CD,
         PROD_HIER_SK
      )
      ;


   :DB2_END:

   :SAS_BEGIN:
      proc sql;
          CREATE INDEX MPLN_GPR_AGG_CD_PHSK_IX ON MPLN_GEO_PROD_RESULT
          (
             AGG_CD,
             PROD_HIER_SK
          )
          ;
       quit;
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID741532
   :DESCRIPTION:    Time base purge routine macro required for SZPF partitioned tables
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 24MAR2011
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   proc sql;
   DELETE FROM PURGE_QUERY WHERE TABLE_NM='GEO_PROD';
   INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
   VALUES  ('GEO_PROD', 'SAS', 13, 91, '%di_purge_geo_prod(libref=DI_DM,dsn=GEO_PROD);', 1103,1,'ALL');

   DELETE FROM PURGE_QUERY WHERE TABLE_NM='GEO_PROD_STATUS';
   INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
   VALUES ('GEO_PROD_STATUS', 'SAS', 12, 91, '%di_purge_geo_prod_status(libref=DI_DM,dsn=GEO_PROD_STATUS);', 1103,1,'ALL');


   DELETE FROM PURGE_QUERY WHERE TABLE_NM='FUTURE_RECEIPT';
   INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
   VALUES ('FUTURE_RECEIPT ', 'SAS',  4, 91,'%di_purge_future_receipt(libref=DI_DM); ',1103 ,1,'ALL');


   DELETE FROM PURGE_QUERY WHERE TABLE_NM='RETURN_FACT';
   INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
   VALUES ('RETURN_FACT', 'SAS',  1, 91,'%di_purge_return_fact(libref=di_dm); ',1103,1,'ALL');


   DELETE FROM PURGE_QUERY WHERE TABLE_NM='DOW_SALES_FACT';
   INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
   VALUES ('DOW_SALES_FACT', 'SAS', 2, 7, '%di_purge_dow_sales_fact(libref=DI_DM);', 180,1,'ALL');

   DELETE FROM PURGE_QUERY WHERE TABLE_NM='DOW_EVENT_SALES_FACT';
   INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
   VALUES ('DOW_EVENT_SALES_FACT', 'SAS', 2, 7, '%di_purge_dow_event_sales_fact(libref=DI_DM);', 365,1,'ALL');

   quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      MOVE_RPP_AGG_TO_RDBMS
   :DESCRIPTION:    Move RPP_CAL_AGG and RPP_CAT_AGG tables to RDMBS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23MAR2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :DOC: Combine and move Calendar and Category Aggregation Output tables (RPP_CAL_AGG and RPP_CAT_AGG) from SAS to RDMBS.
   :DOC: Defect S0740583

   :ORCL_BEGIN:

        CREATE TABLE AGGREGATION_METRICS (
           OBJECT_CAT_TYPE INTEGER NOT NULL,
           OBJECT_CAT_SK INTEGER NOT NULL,

           PROD_LVL INTEGER NOT NULL,
           GEO_LVL INTEGER NOT NULL,

           ORIG_FISCAL_START_DT DATE,
           FISCAL_START_DT DATE NOT NULL,

           PARENT_PROD_HIER_SK INTEGER NOT NULL,
           PARENT_GEO_HIER_SK INTEGER NOT NULL,

           LY_SALES_AMT NUMERIC(20,3),
           LY_UNITS NUMERIC(12,2),
           LY_GM_PCT NUMERIC(12,4),
           LY_GM_AMT NUMERIC(20,3),
           LY_PROMO_MARKDN_AMT NUMERIC(20,3),
           LY_PROMO_BLEND_PCT NUMERIC(12,4),
           LY_CLOSE_INV_UNITS NUMERIC(20,3),
           LY_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),
           LY_N_PROMO_ITEMS NUMERIC(12,2),

           CURR_UNITS NUMERIC(12,2),
           CURR_SALES_AMT NUMERIC(20,3),
           CURR_GM_PCT NUMERIC(12,4),
           CURR_GM_AMT NUMERIC(20,3),
           CURR_PROMO_MARKDN_AMT NUMERIC(20,3),
           CURR_PROMO_BLEND_PCT NUMERIC(12,4),
           CURR_CLOSE_INV_UNITS NUMERIC(12,2),
           CURR_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),
           CURR_N_PROMO_ITEMS NUMERIC(20,3),

           TA_UNITS NUMERIC(12,2),
           TA_SALES_AMT NUMERIC(20,3),
           TA_GM_AMT NUMERIC(20,3),
           TA_GM_PCT NUMERIC(12,4),
           TA_PROMO_MARKDN_AMT NUMERIC(20,3),
           TA_PROMO_BLEND_PCT NUMERIC(12,4),
           TA_N_PROMO_ITEMS NUMERIC(12,2),
           TA_CLOSE_INV_UNITS NUMERIC(12,2),
           TA_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),

           FCST_UNITS NUMERIC(12,2),
           FCST_SALES_AMT NUMERIC(20,3),
           FCST_GM_AMT NUMERIC(20,3),
           FCST_GM_PCT NUMERIC(12,4),
           FCST_PROMO_MARKDN_AMT NUMERIC(20,3),
           FCST_PROMO_BLEND_PCT NUMERIC(12,4),
           FCST_N_PROMO_ITEMS NUMERIC(12,2),
           FCST_CLOSE_INV_UNITS NUMERIC(12,2),
           FCST_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),

           PRIMARY KEY (OBJECT_CAT_TYPE, OBJECT_CAT_SK, PARENT_PROD_HIER_SK, PARENT_GEO_HIER_SK, FISCAL_START_DT)
        );

   :ORCL_END:
   :SAS_BEGIN:

      proc sql;
        CREATE TABLE AGGREGATION_METRICS (
           OBJECT_CAT_TYPE INTEGER NOT NULL,
           OBJECT_CAT_SK INTEGER NOT NULL,

           PROD_LVL INTEGER NOT NULL,
           GEO_LVL INTEGER NOT NULL,

           ORIG_FISCAL_START_DT DATE,
           FISCAL_START_DT DATE NOT NULL,

           PARENT_PROD_HIER_SK INTEGER NOT NULL,
           PARENT_GEO_HIER_SK INTEGER NOT NULL,

           LY_SALES_AMT NUMERIC(20,3),
           LY_UNITS NUMERIC(12,2),
           LY_GM_PCT NUMERIC(12,4),
           LY_GM_AMT NUMERIC(20,3),
           LY_PROMO_MARKDN_AMT NUMERIC(20,3),
           LY_PROMO_BLEND_PCT NUMERIC(12,4),
           LY_CLOSE_INV_UNITS NUMERIC(20,3),
           LY_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),
           LY_N_PROMO_ITEMS NUMERIC(12,2),

           CURR_UNITS NUMERIC(12,2),
           CURR_SALES_AMT NUMERIC(20,3),
           CURR_GM_PCT NUMERIC(12,4),
           CURR_GM_AMT NUMERIC(20,3),
           CURR_PROMO_MARKDN_AMT NUMERIC(20,3),
           CURR_PROMO_BLEND_PCT NUMERIC(12,4),
           CURR_CLOSE_INV_UNITS NUMERIC(12,2),
           CURR_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),
           CURR_N_PROMO_ITEMS NUMERIC(20,3),

           TA_UNITS NUMERIC(12,2),
           TA_SALES_AMT NUMERIC(20,3),
           TA_GM_AMT NUMERIC(20,3),
           TA_GM_PCT NUMERIC(12,4),
           TA_PROMO_MARKDN_AMT NUMERIC(20,3),
           TA_PROMO_BLEND_PCT NUMERIC(12,4),
           TA_N_PROMO_ITEMS NUMERIC(12,2),
           TA_CLOSE_INV_UNITS NUMERIC(12,2),
           TA_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3),

           FCST_UNITS NUMERIC(12,2),
           FCST_SALES_AMT NUMERIC(20,3),
           FCST_GM_AMT NUMERIC(20,3),
           FCST_GM_PCT NUMERIC(12,4),
           FCST_PROMO_MARKDN_AMT NUMERIC(20,3),
           FCST_PROMO_BLEND_PCT NUMERIC(12,4),
           FCST_N_PROMO_ITEMS NUMERIC(12,2),
           FCST_CLOSE_INV_UNITS NUMERIC(12,2),
           FCST_CLOSE_INV_VAL_RETAIL_AMT NUMERIC(20,3)

        );

        ALTER TABLE AGGREGATION_METRICS  add CONSTRAINT PRIM_KEY  PRIMARY KEY
                           (OBJECT_CAT_TYPE, OBJECT_CAT_SK, PARENT_PROD_HIER_SK, PARENT_GEO_HIER_SK, FISCAL_START_DT);

      quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID739114
   :DESCRIPTION:    Seed_rdbms needs any entry for purging mpln* tables
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 24MAR2011
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

    proc sql;
    DELETE FROM PURGE_QUERY WHERE TABLE_NM='MPLN_MTS';
    INSERT INTO purge_query
          (table_nm, database_nm, purge_order, purge_frequency,purge_query_txt, num_days_preserved, partition_flg, app_nm)
    VALUES ('MPLN_MTS', 'SAS', 1, 7, '%di_purge_mpln_metrics(libref=di_data);', 30,1, 'ALL');


    DELETE FROM PURGE_QUERY WHERE TABLE_NM='GEO_PROD';
    INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
    VALUES  ('GEO_PROD', 'SAS', 13, 91, '%di_purge_geo_prod(libref=DI_DM,dsn=GEO_PROD);', 1103,1,'ALL');

    DELETE FROM PURGE_QUERY WHERE TABLE_NM='GEO_PROD_STATUS';
    INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
    VALUES ('GEO_PROD_STATUS', 'SAS', 12, 91, '%di_purge_geo_prod_status(libref=DI_DM,dsn=GEO_PROD_STATUS);', 1103,1,'ALL');


    DELETE FROM PURGE_QUERY WHERE TABLE_NM='FUTURE_RECEIPT';
    INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
    VALUES ('FUTURE_RECEIPT ', 'SAS',  4, 91,'%di_purge_future_receipt(libref=DI_DM); ',1103 ,1,'ALL');


    DELETE FROM PURGE_QUERY WHERE TABLE_NM='RETURN_FACT';
    INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
    VALUES ('RETURN_FACT', 'SAS',  1, 91,'%di_purge_return_fact(libref=di_dm); ',1103,1,'ALL');


    DELETE FROM PURGE_QUERY WHERE TABLE_NM='DOW_SALES_FACT';
    INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
    VALUES ('DOW_SALES_FACT', 'SAS', 2, 7, '%di_purge_dow_sales_fact(libref=DI_DM);', 180,1,'ALL');

    DELETE FROM PURGE_QUERY WHERE TABLE_NM='DOW_EVENT_SALES_FACT';
    INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
    VALUES ('DOW_EVENT_SALES_FACT', 'SAS', 2, 7, '%di_purge_dow_event_sales_fact(libref=DI_DM);', 365,1,'ALL');

    quit;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0735224
   :DESCRIPTION:    Penalize classified stores in profile scoring
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04APR2011
   :SUPPORT:        Laiza DelaFuente
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PROFILE_CLUSTER, &m_di_trans..PROFILE_SCORE_SETTING

   :ORCL_BEGIN:
      ALTER TABLE PROFILE_CLUSTER ADD CLASSIFIED_FLG SMALLINT;
      ALTER TABLE PROFILE_SCORE_SETTING ADD CLASSIFIED_STORE_PENALTY INTEGER;
      ALTER TABLE REQ_PROFILE_SCORE ADD CLASSIFIED_STORE_PENALTY INTEGER;
   :ORCL_END:

   :DB2_BEGIN:
      ALTER TABLE PROFILE_CLUSTER ADD CLASSIFIED_FLG SMALLINT;
      ALTER TABLE PROFILE_SCORE_SETTING ADD CLASSIFIED_STORE_PENALTY INTEGER;
      ALTER TABLE REQ_PROFILE_SCORE ADD CLASSIFIED_STORE_PENALTY INTEGER;
   :DB2_END:

   :SAS_BEGIN:
      proc sql;
         ALTER TABLE &m_di_trans..PROFILE_SCORE_SETTING ADD CLASSIFIED_STORE_PENALTY INTEGER;
         ALTER TABLE &m_di_trans..REQ_PROFILE_SCORE ADD CLASSIFIED_STORE_PENALTY INTEGER;
      quit;

      data work.PROFILE_CLUSTER_OLD;
         set &m_di_trans..PROFILE_CLUSTER;
         attrib CLASSIFIED_FLG length=3;
      run;

      data &m_di_trans..PROFILE_CLUSTER;
         attrib   PROFILE_ID      length=8;
         attrib   GEO_HIER_SK     length=8;
         attrib   CLUSTER_ID      length=8;
         attrib   CLASSIFIED_FLG  length=3;
      stop; run;

      proc sql;
         ALTER TABLE &m_di_trans..PROFILE_CLUSTER  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROFILE_ID,GEO_HIER_SK);
      quit;

      proc append base=&m_di_trans..PROFILE_CLUSTER
         data= work.PROFILE_CLUSTER_OLD force;
      quit;

      proc sql;
         drop table work.PROFILE_CLUSTER_OLD;
      quit;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID738983
   :DESCRIPTION:    Move min_inv_lvl from PRODUCT_DM to GEO_PROD
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05APR2011
   :SUPPORT:        Rhuta Kulkarni
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
      ALTER TABLE PRODUCT_DM DROP COLUMN MIN_INV_LVL;
   :ORCL_END:

   :DB2_BEGIN:
      ALTER TABLE PRODUCT_DM DROP COLUMN MIN_INV_LVL;
   :DB2_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_MIN_INV_LVL
   :DESCRIPTION:    Drop min_inv_lvl from PKO_PRODUCT_DM table and view
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 13APR2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTAB:         &m_di_trans..PKO_PRODUCT_DM, &m_di_trans..PKO_PRODUCT_DM_ALL

   :DOC: Defect http://sww.sas.com/defects/java/iDefects/WebClient.html?defectid=S0738983
   :DOC: MIN_INV_LVL needs to be removed from PKO_PRODUCT_DM table.
   :DOC: MIN_INV_LVL needs to be removed from PKO_PRODUCT_DM_ALL view.

   :ORCL_BEGIN:
      ALTER TABLE PKO_PRODUCT_DM DROP COLUMN MIN_INV_LVL;

      DROP VIEW PKO_PRODUCT_DM_ALL;

      CREATE VIEW PKO_PRODUCT_DM_ALL AS
      SELECT PROD_HIER_SK,PROD_ID,PROD_NM,STD_HIER_PROD_LVL,PROD_DESC,PROD_INTRODUCTION_DT,PROD_DISCONTINUED_DT,
             VOLUME,VOLUME_BASE_UOM,BRAND_NM,STD_HIER_LEAF_NODE_FLG,MODEL_PROD_FLG,CREATED_DTTM
      FROM PRODUCT_DM
      UNION SELECT PROD_HIER_SK,PROD_ID,PROD_NM,STD_HIER_PROD_LVL,PROD_DESC,PROD_INTRODUCTION_DT,PROD_DISCONTINUED_DT,
             VOLUME,VOLUME_BASE_UOM,BRAND_NM,STD_HIER_LEAF_NODE_FLG,MODEL_PROD_FLG,CREATED_DTTM
      FROM PKO_PRODUCT_DM;



   :ORCL_END:

   :DB2_BEGIN:
      ALTER TABLE PKO_PRODUCT_DM DROP COLUMN MIN_INV_LVL;

      DROP VIEW PKO_PRODUCT_DM_ALL;

      CREATE VIEW PKO_PRODUCT_DM_ALL AS
      SELECT PROD_HIER_SK,PROD_ID,PROD_NM,STD_HIER_PROD_LVL,PROD_DESC,PROD_INTRODUCTION_DT,PROD_DISCONTINUED_DT,
             VOLUME,VOLUME_BASE_UOM,BRAND_NM,STD_HIER_LEAF_NODE_FLG,MODEL_PROD_FLG,CREATED_DTTM
      FROM PRODUCT_DM
      UNION SELECT PROD_HIER_SK,PROD_ID,PROD_NM,STD_HIER_PROD_LVL,PROD_DESC,PROD_INTRODUCTION_DT,PROD_DISCONTINUED_DT,
             VOLUME,VOLUME_BASE_UOM,BRAND_NM,STD_HIER_LEAF_NODE_FLG,MODEL_PROD_FLG,CREATED_DTTM
      FROM PKO_PRODUCT_DM;

   :DB2_END:

   :SAS_BEGIN:

      proc sql;

         DROP TABLE PKO_PRODUCT_DM_ALL;

         ALTER TABLE PKO_PRODUCT_DM DROP COLUMN MIN_INV_LVL;

         DROP VIEW PKO_PRODUCT_DM_ALL;


         CREATE VIEW PKO_PRODUCT_DM_ALL AS
         SELECT PROD_HIER_SK,PROD_ID,PROD_NM,STD_HIER_PROD_LVL,PROD_DESC,PROD_INTRODUCTION_DT,PROD_DISCONTINUED_DT,
             VOLUME,VOLUME_BASE_UOM,BRAND_NM,STD_HIER_LEAF_NODE_FLG,MODEL_PROD_FLG,CREATED_DTTM
         FROM PRODUCT_DM
         UNION SELECT PROD_HIER_SK,PROD_ID,PROD_NM,STD_HIER_PROD_LVL,PROD_DESC,PROD_INTRODUCTION_DT,PROD_DISCONTINUED_DT,
             VOLUME,VOLUME_BASE_UOM,BRAND_NM,STD_HIER_LEAF_NODE_FLG,MODEL_PROD_FLG,CREATED_DTTM
         FROM PKO_PRODUCT_DM;

      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID750213
   :DESCRIPTION:    Adding new column PARTITION_NUMBER in DI_JOB_RO_STATUS.
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05APR2011
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
      ALTER TABLE DI_JOB_RO_STATUS ADD PARTITION_NUMBER VARCHAR(32);
   :ORCL_END:

   :DB2_BEGIN:
     ALTER TABLE DI_JOB_RO_STATUS ADD PARTITION_NUMBER VARCHAR(32);
   :DB2_END:

   :SAS_BEGIN:
      proc sql;
         ALTER TABLE DI_JOB_RO_STATUS ADD PARTITION_NUMBER VARCHAR(32);
      quit;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:

   :CHANGE_ID:      ID746931_1
   :DESCRIPTION:    TABLE REQUEST ADD COLUMN ALLOW_MULTI_STYLE_PACK_REC
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 12APR2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :DOC:  This column should exist in M1MI42 but not in D2TKMI42
   :DOC:  Add this column if it does not exist

   :ORCL_BEGIN:
        %if (%di_util_varexist(dsname=&m_di_trans..REQUEST, varname=ALLOW_MULTI_STYLE_PACK_REC)=0) %then
        %do;

            %let m_sql_statement = %str(
            ALTER TABLE REQUEST ADD ALLOW_MULTI_STYLE_PACK_REC INTEGER
            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;
   :ORCL_END:


   :SAS_BEGIN:
      %if (%di_util_varexist(dsname=&m_di_trans..REQUEST, varname=ALLOW_MULTI_STYLE_PACK_REC)=0) %then
      %do;
         proc sql;
             ALTER TABLE REQUEST ADD ALLOW_MULTI_STYLE_PACK_REC INTEGER;
         quit;
     %end;
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID746931
   :DESCRIPTION:    Pack Recommendation Settings to support more flexibility in pack recommendation
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04APR2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..REQUEST,&m_di_trans..REQ_PACKREC_SETTING


   :DOC:            Modify Pack Recommendation tables to add new columns
   :ORCL_BEGIN:
      ALTER TABLE REQUEST DROP COLUMN ALLOW_MULTI_STYLE_PACK_REC;

      ALTER TABLE REQ_PACKREC_SETTING ADD PROD_ID VARCHAR(32);
      UPDATE REQ_PACKREC_SETTING SET PROD_ID = (select prod_id from PRODUCT_DM where std_hier_prod_lvl=1);

      ALTER TABLE REQ_PACKREC_SETTING ADD ALLOW_MULTI_STYLE_PACK_REC INTEGER;
      ALTER TABLE REQ_PACKREC_SETTING ADD ALLOW_PRIOR_DELIVERY_PACKS INTEGER;

      ALTER TABLE REQ_PACKREC_SETTING MODIFY PROD_ID VARCHAR(32) NOT NULL;
      ALTER TABLE REQ_PACKREC_SETTING DROP PRIMARY KEY DROP INDEX;
      CREATE UNIQUE INDEX REQ_PACKREC_SETTING_PK on REQ_PACKREC_SETTING (REQUEST_ID, DELIVERY_ID, PROD_ID) nologging parallel;
      ALTER TABLE REQ_PACKREC_SETTING ADD CONSTRAINT REQ_PACKREC_SETTING_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID) USING INDEX REQ_PACKREC_SETTING_PK;

      ALTER TABLE REQ_PACKREC_INNER ADD PROD_ID VARCHAR(32);
      UPDATE REQ_PACKREC_INNER SET PROD_ID = (select prod_id from PRODUCT_DM where std_hier_prod_lvl=1);

      ALTER TABLE REQ_PACKREC_INNER MODIFY PROD_ID VARCHAR(32) NOT NULL;
      ALTER TABLE REQ_PACKREC_INNER DROP PRIMARY KEY DROP INDEX;
      CREATE UNIQUE INDEX REQ_PACKREC_INNER_PK on REQ_PACKREC_INNER (REQUEST_ID, DELIVERY_ID, PROD_ID, SIZE_OF_INNER) nologging parallel;
      ALTER TABLE REQ_PACKREC_INNER ADD CONSTRAINT REQ_PACKREC_INNER_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID, SIZE_OF_INNER) USING INDEX REQ_PACKREC_INNER_PK;

      ALTER TABLE REQ_PACKREC_GEO_COST ADD PROD_ID VARCHAR(32);
      UPDATE REQ_PACKREC_GEO_COST SET PROD_ID = (select prod_id from PRODUCT_DM where std_hier_prod_lvl=1);

      ALTER TABLE REQ_PACKREC_GEO_COST MODIFY PROD_ID VARCHAR(32) NOT NULL;
      ALTER TABLE REQ_PACKREC_GEO_COST DROP PRIMARY KEY DROP INDEX;
      CREATE UNIQUE INDEX REQ_PACKREC_GEO_COST_PK on REQ_PACKREC_GEO_COST (REQUEST_ID, DELIVERY_ID, PROD_ID, GEO_ID, SIZE_OF_INNER) nologging parallel;
      ALTER TABLE REQ_PACKREC_GEO_COST ADD CONSTRAINT REQ_PACKREC_GEO_COST_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID, GEO_ID, SIZE_OF_INNER) USING INDEX REQ_PACKREC_GEO_COST_PK;

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      ALTER TABLE &m_di_trans..REQUEST DROP COLUMN ALLOW_MULTI_STYLE_PACK_REC;

      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING ADD PROD_ID VARCHAR(32);
      UPDATE &m_di_trans..REQ_PACKREC_SETTING SET PROD_ID = (select prod_id from &m_di_trans..PRODUCT_DM where std_hier_prod_lvl=1);

      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING ADD ALLOW_MULTI_STYLE_PACK_REC INTEGER;
      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING ADD ALLOW_PRIOR_DELIVERY_PACKS INTEGER;

      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING MODIFY PROD_ID VARCHAR(32) NOT NULL;
      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING DROP PRIMARY KEY;
      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING ADD CONSTRAINT REQ_PACKREC_SETTING_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID);

      ALTER TABLE &m_di_trans..REQ_PACKREC_INNER ADD PROD_ID VARCHAR(32);
      UPDATE &m_di_trans..REQ_PACKREC_INNER SET PROD_ID = (select prod_id from &m_di_trans..PRODUCT_DM where std_hier_prod_lvl=1);

      ALTER TABLE &m_di_trans..REQ_PACKREC_INNER MODIFY PROD_ID VARCHAR(32) NOT NULL;
      ALTER TABLE &m_di_trans..REQ_PACKREC_INNER DROP PRIMARY KEY;
      ALTER TABLE &m_di_trans..REQ_PACKREC_INNER ADD CONSTRAINT REQ_PACKREC_INNER_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID, SIZE_OF_INNER);

      ALTER TABLE &m_di_trans..REQ_PACKREC_GEO_COST ADD PROD_ID VARCHAR(32);
      UPDATE &m_di_trans..REQ_PACKREC_GEO_COST SET PROD_ID = (select prod_id from &m_di_trans..PRODUCT_DM where std_hier_prod_lvl=1);

      ALTER TABLE &m_di_trans..REQ_PACKREC_GEO_COST MODIFY PROD_ID VARCHAR(32) NOT NULL;
      ALTER TABLE &m_di_trans..REQ_PACKREC_GEO_COST DROP PRIMARY KEY;
      ALTER TABLE &m_di_trans..REQ_PACKREC_GEO_COST ADD CONSTRAINT REQ_PACKREC_GEO_COST_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID, GEO_ID, SIZE_OF_INNER);
      quit;
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID750328
   :DESCRIPTION:    SIZE PROFILING 3.2 SCHEMA CHANGES
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04APR2011
   :SUPPORT:        Fusun Meric
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_SIZESET,&m_di_trans..PRF_CONFIG

   :ORCL_BEGIN:
      ALTER TABLE PRF_SIZESET ADD USER_MODIFIED_FLG INTEGER;
      ALTER TABLE PRF_SIZESET_MBR ADD SALES_DISTRIBUTION_PCT NUMERIC(12,4);
      ALTER TABLE PRF_SIZESET_MBR ADD SALES_AUR NUMERIC(12,2);
      ALTER TABLE PRF_SIZESET_MBR ADD UNITS_IMPUTED NUMERIC(12,2);
      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=1 and SPEC_NM='sub_sizeset_flg';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 1, 'sub_sizeset_flg', '1', 'INTEGER');
   :ORCL_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID719792
   :DESCRIPTION:    Schema and ETL enhancement for uniform timing (mdo_plan and stg_mdo_import_plan)
   :VERSION:        D3MICM52, M2TKMI43
   :DATE_OF_CHANGE: 30MAR2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MDO_PLAN,&m_di_trans..MPLN_GEO_PROD_RESULT

   :ORCL_BEGIN:

        ALTER TABLE MDO_PLAN ADD UNIFORM_TIMING_NUM_MARKDN INTEGER;
        ALTER TABLE MDO_PLAN ADD UNIFORM_TIMING_PROD_LVL INTEGER;
        ALTER TABLE MDO_PLAN ADD UNIFORM_TIMING_GEO_LVL INTEGER;

        ALTER TABLE MPLN_GEO_PROD_RESULT ADD UT_PROD_HIER_SK INTEGER;
        ALTER TABLE MPLN_GEO_PROD_RESULT ADD UT_GEO_HIER_SK INTEGER;

        INSERT INTO GEO_PROD_SETTING (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,
           SETTING_TYPE,SETTING_VAL,SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
        VALUES (25,1,1,1,50,0,1,0,2.0000,1);

        INSERT INTO GEO_PROD_SETTING (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,
           SETTING_TYPE,SETTING_VAL,SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
        VALUES (26,1,1,1,51,0,1,1.0000,99.0000,1);

        INSERT INTO GEO_PROD_SETTING (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,
           SETTING_TYPE,SETTING_VAL,SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
        VALUES (27,1,1,1,52,0,1,1.0000,99.0000,1);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID747291
   :DESCRIPTION:    Max plan period is set to 52 for MDO
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06APR2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :DOC: Found a case where GEO_HIER_SK was 0.  Therefore added another DELETE statement to delete GEO_PROD_SeTTING_SK=9

   :ORCL_BEGIN:

        DELETE FROM GEO_PROD_SETTING WHERE SETTING_TYPE = 11 AND USED_BY_APP = 1 AND GEO_HIER_SK = 1
        AND PROD_HIER_SK = 1;

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 9 ;

        INSERT INTO GEO_PROD_SETTING (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,
           SETTING_TYPE,SETTING_VAL,SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
        VALUES (9,1,1,1,11,16,1,2.0000,52.0000,1);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      MOVE_WRKBNCH_MNGD_TABLES
   :DESCRIPTION:    Move workbench managed tables to Oracle
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 07APR2011
   :SUPPORT:        Jerry Haden
   :CHKLIB:         DI_TRANS,DI_DATA
   :FREQUENCY:      ONCE

        :DOC:
        :DOC: This script creates the Oracle tables for SAS tables that are expected
        :DOC: to be managed by the Workbench in Oracle (in 5.2).
        :DOC: It is intended for Workbench development use only.
        :DOC:
        :DOC: Tables created:
        :DOC:       ATTR_INPUT_GEO_LVL (hold off)
        :DOC:       ATTR_GEO_SCOPE (hold off)
        :DOC:       ATTR_INPUT_PROD_LVL (hold off)
        :DOC:       ATTR_PROD_SCOPE (hold off)
        :DOC:       ATTR_SPEC
        :DOC:       BASE_FORECAST_OVERRIDE_GP
        :DOC:       BASE_FORECAST_OVERRIDE_MG
        :DOC:       CONFIG_AUDIT_TRAIL
        :DOC:       CONFIG_GROUP
        :DOC:       DATA_CONFIG
        :DOC:       DATA_CONFIG_TEMPLATE
        :DOC:       GLOBAL_SETTING_DETAILS
        :DOC:       GLOBAL_SETTING_GROUP
        :DOC:       GLOBAL_SETTING_GROUP_MEMBER
        :DOC:       GLOBAL_SETTING_VALUES
        :DOC:       MA_SPEC_SEED
        :DOC:       MODEL_GEO_PROD_STATUS_RULE
        :DOC:       MODEL_GEO_PROD_STATUS_SPEC
        :DOC:       MODEL_GEO_PROD_STATUS_DETAILS
        :DOC:       MODEL_GEO_PROD_STATUS_VALUES
        :DOC:       MODEL_GROUP
        :DOC:       MODEL_SPEC
        :DOC:       MODEL_SPEC_DEFAULT
        :DOC:       MODEL_SPEC_DETAILS
        :DOC:       MODEL_SPEC_TEMPLATE
        :DOC:       MODEL_SPEC_VALUES
        :DOC:       MODEL_SPEC_WORKFLOW
        :DOC:       SCORING_PARAM_CONFIG
        :DOC:       SCORING_PARAM_DEFAULT
        :DOC:
        :DOC:
        :DOC: DROP TABLE ATTR_SPEC;
        :DOC: DROP TABLE BASE_FORECAST_OVERRIDE_GP;
        :DOC: DROP TABLE BASE_FORECAST_OVERRIDE_MG;
        :DOC: DROP TABLE CONFIG_AUDIT_TRAIL;
        :DOC: DROP TABLE CONFIG_GROUP;
        :DOC: DROP TABLE DATA_CONFIG;
        :DOC: DROP TABLE DATA_CONFIG_TEMPLATE;
        :DOC: DROP TABLE GLOBAL_SETTING_DETAILS;
        :DOC: DROP TABLE GLOBAL_SETTING_GROUP;
        :DOC: DROP TABLE GLOBAL_SETTING_GROUP_MEMBER;
        :DOC: DROP TABLE GLOBAL_SETTING_VALUES;
        :DOC: DROP TABLE MA_SPEC_SEED;
        :DOC: DROP TABLE MODEL_GEO_PROD_STATUS_RULE;
        :DOC: DROP TABLE MODEL_GEO_PROD_STATUS_SPEC;
        :DOC: DROP TABLE MODEL_GEO_PROD_STATUS_DETAILS;
        :DOC: DROP TABLE MODEL_GEO_PROD_STATUS_VALUES;
        :DOC: DROP TABLE MODEL_GROUP;
        :DOC: DROP TABLE MODEL_SPEC;
        :DOC: DROP TABLE MODEL_SPEC_DEFAULT;
        :DOC: DROP TABLE MODEL_SPEC_DETAILS;
        :DOC: DROP TABLE MODEL_SPEC_TEMPLATE;
        :DOC: DROP TABLE MODEL_SPEC_VALUES;
        :DOC: DROP TABLE MODEL_SPEC_WORKFLOW;
        :DOC: DROP TABLE SCORING_PARAM_CONFIG;
        :DOC: DROP TABLE SCORING_PARAM_DEFAULT;


   :ORCL_BEGIN:



        CREATE TABLE ATTR_SPEC
        (
                MODEL_GROUP_ID              INTEGER NOT NULL,
                ATTR_SK                     INTEGER NOT NULL,
                EFFECT_CLASS_NM             VARCHAR(40),
                SELECTION_TYPE              INTEGER NOT NULL,
                ATTR_USAGE                  INTEGER NOT NULL,
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20)
        )
        ;


        CREATE TABLE BASE_FORECAST_OVERRIDE_GP
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                START_DATE_SK                      INTEGER NOT NULL,
                END_DATE_SK                        INTEGER NOT NULL,
                OVERRIDE_FACTOR                    NUMERIC(12,2),
                 PRIMARY KEY (GEO_HIER_SK,PROD_HIER_SK,START_DATE_SK)
        )
        ;

        CREATE INDEX BF_OGP_IX1 ON BASE_FORECAST_OVERRIDE_GP
        (
                GEO_HIER_SK,
                PROD_HIER_SK
        )
        ;


        CREATE TABLE BASE_FORECAST_OVERRIDE_MG
        (
                MODEL_GROUP_ID                     INTEGER NOT NULL,
                START_DATE_SK                      INTEGER NOT NULL,
                END_DATE_SK                        INTEGER NOT NULL,
                OVERRIDE_FACTOR                    NUMERIC(12,2),
                 PRIMARY KEY (MODEL_GROUP_ID,START_DATE_SK)
        )
        ;

        CREATE INDEX BF_OMG_IX1 ON BASE_FORECAST_OVERRIDE_MG
        (
                MODEL_GROUP_ID
        )
        ;


        CREATE TABLE CONFIG_AUDIT_TRAIL
        (
                AUDIT_TRAIL_SK                     INTEGER NOT NULL,
                ACTION_TYPE                        VARCHAR(40),
                OBJECT_TYPE                        VARCHAR(40),
                OBJECT_NM                          VARCHAR(100),
                NEW_VALUE                          VARCHAR(255),
                OLD_VALUE                          VARCHAR(255),
                GEO_HIER_SK                        INTEGER,
                PROD_HIER_SK                       INTEGER,
                USER_NM                            VARCHAR(40),
                CREATED_DTTM                       DATE NOT NULL,
                 PRIMARY KEY (AUDIT_TRAIL_SK)
        )
        ;

        CREATE INDEX AUDIT_TRAIL_IX1 ON CONFIG_AUDIT_TRAIL
        (
                OBJECT_TYPE
        )
        ;


        CREATE TABLE CONFIG_GROUP
        (
                CONFIG_GROUP_ID             INTEGER NOT NULL,
                CONFIG_GROUP_NM             VARCHAR(40),
                NUM_OF_MODEL_GROUPS         INTEGER,
                CONFIG_TEMPLATE_ID          INTEGER,
                GEO_HIER_TYPE               INTEGER,
                PROD_HIER_TYPE              INTEGER,
                GEO_HIER_ASSOC_CD           INTEGER,
                PROD_HIER_ASSOC_CD          INTEGER,
                 PRIMARY KEY (CONFIG_GROUP_ID)
        )
        ;

        CREATE TABLE DATA_CONFIG
        (
                DATA_CONFIG_SK              INTEGER NOT NULL,
                MODEL_GROUP_ID              INTEGER NOT NULL,
                DATA_LVL_ID                 INTEGER,
                GEO_HIER_SK                 INTEGER,
                PROD_HIER_SK                INTEGER,
                MODEL_COMP_NM               VARCHAR(5),
                BY_GEO_LVL                  INTEGER,
                BY_PROD_LVL                 INTEGER,
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (DATA_CONFIG_SK)
        )
        ;

        CREATE TABLE DATA_CONFIG_TEMPLATE
        (
                CONFIG_TEMPLATE_ID          INTEGER NOT NULL,
                CONFIG_TEMPLATE_NM          VARCHAR(40),
                CONFIG_TEMPLATE_DESC        VARCHAR(100),
                INCLUDE_TS                  INTEGER,
                TS_GEO_LVL                  INTEGER,
                TS_PROD_LVL                 INTEGER,
                TS_BY_GEO_LVL               INTEGER,
                TS_BY_PROD_LVL              INTEGER,
                INCLUDE_REG                 INTEGER,
                REG_GEO_LVL                 INTEGER,
                REG_PROD_LVL                INTEGER,
                REG_BY_GEO_LVL              INTEGER,
                REG_BY_PROD_LVL             INTEGER,
                FCST_GEO_LVL                INTEGER,
                FCST_PROD_LVL               INTEGER,
                FCST_BY_GEO_LVL             INTEGER,
                FCST_BY_PROD_LVL            INTEGER,
                CREATED_BY                  VARCHAR(20),
                CREATED_DTTM                DATE,
                 PRIMARY KEY (CONFIG_TEMPLATE_ID)
        )
        ;

        CREATE TABLE GLOBAL_SETTING_DETAILS
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                APP                         VARCHAR(32) NOT NULL,
                CONFIG_CD                   INTEGER NOT NULL,
                DEFAULT_SPEC_VALUE          VARCHAR(100),
                SPEC_DATATYPE               VARCHAR(40),
                SPEC_DATATYPE_EXT           VARCHAR(40),
                SPEC_VALUE_MIN              NUMERIC(12,4),
                SPEC_VALUE_MAX              NUMERIC(12,4),
                SPEC_VALUE_INCR             NUMERIC(12,4),
                EDITABLE_FLG                INTEGER,
                ENABLED_FLG                 INTEGER,
                REQUIRED_FLG                INTEGER,
                HIDDEN_FLG                  INTEGER,
                MISSING_VAL_OK_FLG          INTEGER,
                OVERRIDE_APP_LIST           VARCHAR(100),
                REF_QUERY                   VARCHAR(500),
                GENERATE_PREFIX_NM          VARCHAR(40),
                GENERATE_SUFFIX_MAX         VARCHAR(40),
                SPEC_VALUE_LIST_DELIMITER   VARCHAR(3),
                DESC_KEY                    VARCHAR(100),
                 PRIMARY KEY (SPEC_NM,APP,CONFIG_CD)
        )
        ;

        CREATE TABLE GLOBAL_SETTING_GROUP
        (
                GLOBAL_SETTING_GROUP_NM         VARCHAR(40) NOT NULL,
                GLOBAL_SETTING_GROUP_DESC       VARCHAR(100),
                GLOBAL_SETTING_GROUP_DESC_KEY   VARCHAR(100),
                GLOBAL_SETTING_CATEGORY_FLG     INTEGER,
                SETTING_GROUP_PERMISSION_ROLE   VARCHAR(100),
                CONFIG_CD                       INTEGER,
                 PRIMARY KEY (GLOBAL_SETTING_GROUP_NM)
        )
        ;

        CREATE TABLE GLOBAL_SETTING_GROUP_MEMBER
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                APP                         VARCHAR(40) NOT NULL,
                GLOBAL_SETTING_GROUP_NM     VARCHAR(40) NOT NULL,
                 PRIMARY KEY (SPEC_NM,APP,GLOBAL_SETTING_GROUP_NM)
        )
        ;

        CREATE TABLE GLOBAL_SETTING_VALUES
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                APP                         VARCHAR(40) NOT NULL,
                SPEC_VALUE                  VARCHAR(100) NOT NULL,
                SPEC_VALUE_DESC             VARCHAR(100),
                SPEC_VALUE_DESC_KEY         VARCHAR(100),
                 PRIMARY KEY (SPEC_NM,APP,SPEC_VALUE)
        )
        ;

        CREATE TABLE MA_SPEC_SEED
        (
                MODEL_GROUP_ID              INTEGER NOT NULL,
                SPEC_NM                     VARCHAR(32) NOT NULL,
                USER_NM                     VARCHAR(60) NOT NULL,
                SPEC_VALUE                  VARCHAR(200),
                 PRIMARY KEY (MODEL_GROUP_ID,SPEC_NM,USER_NM)
        )
        ;


        CREATE TABLE MODEL_GEO_PROD_STATUS_RULE
        (
                PROD_HIER_SK                INTEGER NOT NULL,
                RULE_NM                     VARCHAR(32) NOT NULL,
                RULE_VALUE                  VARCHAR(100),
                SPEC_VALUE                  VARCHAR(200),
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (PROD_HIER_SK,RULE_NM)
        )
        ;

        CREATE TABLE MODEL_GEO_PROD_STATUS_SPEC
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_VALUE                  VARCHAR(100),
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (SPEC_NM)
        )
        ;

        CREATE TABLE MODEL_GEO_PROD_STATUS_DETAILS
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_RULE_FLG               INTEGER NOT NULL,
                DEFAULT_SPEC_VALUE          VARCHAR(100),
                SPEC_DATATYPE               VARCHAR(40),
                SPEC_DATATYPE_EXT           VARCHAR(40),
                SPEC_VALUE_MIN              NUMERIC(12,4),
                SPEC_VALUE_MAX              NUMERIC(12,4),
                SPEC_VALUE_INCR             NUMERIC(12,4),
                REF_QUERY                   VARCHAR(500),
                SPEC_VALUE_LIST_DELIMITER   VARCHAR(3),
                DESCRIPTION                 VARCHAR(100),
                DESC_KEY                    VARCHAR(100),
                 PRIMARY KEY (SPEC_NM,SPEC_RULE_FLG)
        )
        ;

        CREATE TABLE MODEL_GEO_PROD_STATUS_VALUES
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_RULE_FLG               INTEGER NOT NULL,
                SPEC_VALUE                  VARCHAR(100) NOT NULL,
                SPEC_VALUE_DESC             VARCHAR(100),
                SPEC_VALUE_DESC_KEY         VARCHAR(100),
                 PRIMARY KEY (SPEC_NM,SPEC_RULE_FLG,SPEC_VALUE)
        )
        ;

        CREATE TABLE MODEL_GROUP
        (
                MODEL_GROUP_ID              INTEGER NOT NULL,
                PROD_HIER_SK                INTEGER,
                GEO_HIER_SK                 INTEGER,
                NUM_GEO_PRODS               INTEGER,
                SCHEDULED_FLG               INTEGER,
                ENABLED_FLG                 INTEGER,
                REFRESH_FREQ                INTEGER,
                CONFIG_GROUP_ID             INTEGER,
                SEASON                      VARCHAR(20),
                TAG                         VARCHAR(40),
                LAST_REFRESH_DTTM           DATE,
                CONFIG_TEMPLATE_ID          INTEGER,
                 PRIMARY KEY (MODEL_GROUP_ID)
        )
        ;

        CREATE TABLE MODEL_SPEC
        (
                MODEL_GROUP_ID              INTEGER NOT NULL,
                MODEL_COMP_NM               VARCHAR(5) NOT NULL,
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_TYPE                   VARCHAR(5) NOT NULL,
                SPEC_VALUE                  VARCHAR(100),
                PRIORITY                    VARCHAR(3),
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE)
        )
        ;

        CREATE TABLE MODEL_SPEC_DEFAULT
        (
                MODEL_COMP_NM               VARCHAR(5) NOT NULL,
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_TYPE                   VARCHAR(5) NOT NULL,
                DEFAULT_SPEC_VALUE          VARCHAR(100),
                PRIORITY                    VARCHAR(3),
                 PRIMARY KEY (MODEL_COMP_NM,SPEC_NM,SPEC_TYPE)
        )
        ;

        CREATE TABLE MODEL_SPEC_DETAILS
        (
                MODEL_COMP_NM               VARCHAR(5) NOT NULL,
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_DATATYPE               VARCHAR(40),
                SPEC_DATATYPE_EXT           VARCHAR(40),
                SPEC_VALUE_MIN              NUMERIC(12,4),
                SPEC_VALUE_MAX              NUMERIC(12,4),
                SPEC_VALUE_INCR             NUMERIC(12,4),
                HIDDEN_FLG                  INTEGER,
                OVERRIDE_MODEL_COMP_NM_LIST VARCHAR(100),
                REF_QUERY                   VARCHAR(500),
                GENERATE_PREFIX_NM          VARCHAR(40),
                GENERATE_SUFFIX_MAX         VARCHAR(40),
                SPEC_VALUE_LIST_DELIMITER   VARCHAR(3),
                SPEC_DESC                   VARCHAR(100),
                DESC_KEY                    VARCHAR(100),
                 PRIMARY KEY (MODEL_COMP_NM,SPEC_NM)
        )
        ;

        CREATE TABLE MODEL_SPEC_TEMPLATE
        (
                MODEL_SPEC_ID               INTEGER NOT NULL,
                MODEL_COMP_NM               VARCHAR(5) NOT NULL,
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_TYPE                   VARCHAR(5) NOT NULL,
                SPEC_VALUE                  VARCHAR(100),
                PRIORITY                    VARCHAR(3),
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE)
        )
        ;

        CREATE TABLE MODEL_SPEC_VALUES
        (
                MODEL_COMP_NM               VARCHAR(5) NOT NULL,
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_VALUE                  VARCHAR(100),
                SPEC_VALUE_DESC             VARCHAR(100),
                SPEC_VALUE_DESC_KEY         VARCHAR(100),
                 PRIMARY KEY (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE)
        )
        ;

        CREATE TABLE MODEL_SPEC_WORKFLOW
        (
                TASK_NM                     VARCHAR(40) NOT NULL,
                PARENT_TASK_NM              VARCHAR(40),
                TASK_DESC                   VARCHAR(100),
                TASK_DESC_KEY               VARCHAR(100),
                TASK_LVL                    INTEGER,
                SPEC_NM                     VARCHAR(32),
                SPEC_TYPE                   VARCHAR(5),
                MODEL_COMP_NM               VARCHAR(5),
                DOW_FLG                     INTEGER,
                HALO_FLG                    INTEGER,
                 PRIMARY KEY (TASK_NM)
        )
        ;

        CREATE TABLE SCORING_PARAM_CONFIG
        (
                EFFECT_TYPE                 VARCHAR(40) NOT NULL,
                EFFECT_CATEGORY             VARCHAR(40) NOT NULL,
                TSF_TYPE                    INTEGER NOT NULL,
                EFFECT_EST                  NUMERIC(12,4),
                EFFECT_EST_U                NUMERIC(12,4),
                EFFECT_EST_L                NUMERIC(12,4),
                COUNTER                     VARCHAR(40),
                 PRIMARY KEY (EFFECT_TYPE,EFFECT_CATEGORY,TSF_TYPE)
        )
        ;

        CREATE TABLE SCORING_PARAM_DEFAULT
        (
                GEO_HIER_SK                 INTEGER NOT NULL,
                PROD_HIER_SK                INTEGER NOT NULL,
                EFFECT_TYPE                 VARCHAR(40) NOT NULL,
                EFFECT_CATEGORY             VARCHAR(40) NOT NULL,
                TSF_TYPE                    INTEGER NOT NULL,
                EFFECT_EST                  NUMERIC(12,4),
                EFFECT_EST_U                NUMERIC(12,4),
                EFFECT_EST_L                NUMERIC(12,4),
                 PRIMARY KEY (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,TSF_TYPE)
        )
        ;


   :ORCL_END:

   :SAS_BEGIN:


        ***********************************************************************************************;

        data ATTR_SPEC;
        attrib MODEL_GROUP_ID                      length=4                                            ;
        attrib ATTR_SK                             length=4                                            ;
        attrib EFFECT_CLASS_NM                     length=$40                                          ;
        attrib SELECTION_TYPE                      length=4                                            ;
        attrib ATTR_USAGE                          length=4                                            ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;



        ***********************************************************************************************;

        data BASE_FORECAST_OVERRIDE_GP;
        attrib GEO_HIER_SK                         length=4                                            ;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib START_DATE_SK                       length=4                                            ;
        attrib END_DATE_SK                         length=4                                            ;
        attrib OVERRIDE_FACTOR                     length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        stop; run;

        proc sql;
        alter table BASE_FORECAST_OVERRIDE_GP add CONSTRAINT PRIM_KEY PRIMARY KEY (GEO_HIER_SK, PROD_HIER_SK, START_DATE_SK);
        alter table BASE_FORECAST_OVERRIDE_GP add NOT NULL (END_DATE_SK);
        quit;

        proc sql;
           CREATE INDEX BF_OGP_IX1 ON BASE_FORECAST_OVERRIDE_GP(GEO_HIER_SK, PROD_HIER_SK);
        quit;

        ***********************************************************************************************;


        data BASE_FORECAST_OVERRIDE_MG;
        attrib MODEL_GROUP_ID                      length=4                                            ;
        attrib START_DATE_SK                       length=4                                            ;
        attrib END_DATE_SK                         length=4                                            ;
        attrib OVERRIDE_FACTOR                     length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        stop; run;

        proc sql;
        alter table BASE_FORECAST_OVERRIDE_MG add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_GROUP_ID, START_DATE_SK);
        alter table BASE_FORECAST_OVERRIDE_MG add NOT NULL (END_DATE_SK);
        quit;

        proc sql;
           CREATE INDEX MODEL_GROUP_ID ON BASE_FORECAST_OVERRIDE_MG(MODEL_GROUP_ID);
        quit;

        ***********************************************************************************************;


        data CONFIG_AUDIT_TRAIL;
        attrib AUDIT_TRAIL_SK                      length=6                                            ;
        attrib ACTION_TYPE                         length=$40                                          ;
        attrib OBJECT_TYPE                         length=$40                                          ;
        attrib OBJECT_NM                           length=$100                                         ;
        attrib NEW_VALUE                           length=$255                                         ;
        attrib OLD_VALUE                           length=$255                                         ;
        attrib GEO_HIER_SK                         length=4                                            ;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib USER_NM                             length=$40                                          ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        stop; run;

        proc sql;
        alter table CONFIG_AUDIT_TRAIL add CONSTRAINT PRIM_KEY PRIMARY KEY (AUDIT_TRAIL_SK);
        alter table CONFIG_AUDIT_TRAIL add NOT NULL (CREATED_DTTM);
        quit;

        proc sql;
           CREATE INDEX OBJECT_TYPE ON CONFIG_AUDIT_TRAIL(OBJECT_TYPE);
        quit;

        ***********************************************************************************************;



        data CONFIG_GROUP;
        attrib CONFIG_GROUP_ID                     length=4                                            ;
        attrib CONFIG_GROUP_NM                     length=$40                                          ;
        attrib NUM_OF_MODEL_GROUPS                 length=4                                            ;
        attrib CONFIG_TEMPLATE_ID                  length=4                                            ;
        attrib GEO_HIER_TYPE                       length=4                                            ;
        attrib PROD_HIER_TYPE                      length=4                                            ;
        attrib GEO_HIER_ASSOC_CD                   length=4                                            ;
        attrib PROD_HIER_ASSOC_CD                  length=4                                            ;
        stop; run;

        proc sql;
        alter table CONFIG_GROUP add CONSTRAINT PRIM_KEY PRIMARY KEY (CONFIG_GROUP_ID);
        quit;


        ***********************************************************************************************;

        data DATA_CONFIG;
        attrib DATA_CONFIG_SK                      length=4                                            ;
        attrib MODEL_GROUP_ID                      length=4                                            ;
        attrib DATA_LVL_ID                         length=4                                            ;
        attrib GEO_HIER_SK                         length=4                                            ;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib BY_GEO_LVL                          length=4                                            ;
        attrib BY_PROD_LVL                         length=4                                            ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table DATA_CONFIG add CONSTRAINT PRIM_KEY PRIMARY KEY (DATA_CONFIG_SK);
        alter table DATA_CONFIG add NOT NULL (MODEL_GROUP_ID);
        quit;


        ***********************************************************************************************;

        data DATA_CONFIG_TEMPLATE;
        attrib CONFIG_TEMPLATE_ID                  length=4                                            ;
        attrib CONFIG_TEMPLATE_NM                  length=$40                                          ;
        attrib CONFIG_TEMPLATE_DESC                length=$100                                         ;
        attrib INCLUDE_TS                          length=4                                            ;
        attrib TS_GEO_LVL                          length=4                                            ;
        attrib TS_PROD_LVL                         length=4                                            ;
        attrib TS_BY_GEO_LVL                       length=4                                            ;
        attrib TS_BY_PROD_LVL                      length=4                                            ;
        attrib INCLUDE_REG                         length=4                                            ;
        attrib REG_GEO_LVL                         length=4                                            ;
        attrib REG_PROD_LVL                        length=4                                            ;
        attrib REG_BY_GEO_LVL                      length=4                                            ;
        attrib REG_BY_PROD_LVL                     length=4                                            ;
        attrib FCST_GEO_LVL                        length=4                                            ;
        attrib FCST_PROD_LVL                       length=4                                            ;
        attrib FCST_BY_GEO_LVL                     length=4                                            ;
        attrib FCST_BY_PROD_LVL                    length=4                                            ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table DATA_CONFIG_TEMPLATE add CONSTRAINT PRIM_KEY PRIMARY KEY (CONFIG_TEMPLATE_ID);
        quit;


        ***********************************************************************************************;


        data GLOBAL_SETTING_DETAILS;
        attrib SPEC_NM                             length=$32                                          ;
        attrib APP                                 length=$40                                          ;
        attrib CONFIG_CD                           length=4                                            ;
        attrib DEFAULT_SPEC_VALUE                  length=$100                                         ;
        attrib SPEC_DATATYPE                       length=$40                                          ;
        attrib SPEC_DATATYPE_EXT                   length=$40                                          ;
        attrib SPEC_VALUE_MIN                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_MAX                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_INCR                     length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib EDITABLE_FLG                        length=4                                            ;
        attrib ENABLED_FLG                         length=4                                            ;
        attrib REQUIRED_FLG                        length=4                                            ;
        attrib HIDDEN_FLG                          length=4                                            ;
        attrib MISSING_VAL_OK_FLG                  length=4                                            ;
        attrib OVERRIDE_APP_LIST                   length=$100                                         ;
        attrib REF_QUERY                           length=$500                                         ;
        attrib GENERATE_PREFIX_NM                  length=$40                                          ;
        attrib GENERATE_SUFFIX_MAX                 length=$40                                          ;
        attrib SPEC_VALUE_LIST_DELIMITER           length=$3                                           ;
        attrib DESC_KEY                            length=$100                                         ;
        stop; run;

        proc sql;
        alter table GLOBAL_SETTING_DETAILS add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, APP, CONFIG_CD);
        quit;


        ***********************************************************************************************;

        data GLOBAL_SETTING_GROUP;
        attrib GLOBAL_SETTING_GROUP_NM             length=$40                                          ;
        attrib GLOBAL_SETTING_GROUP_DESC           length=$100                                         ;
        attrib GLOBAL_SETTING_GROUP_DESC_KEY       length=$100                                         ;
        attrib GLOBAL_SETTING_CATEGORY_FLG         length=4                                            ;
        attrib SETTING_GROUP_PERMISSION_ROLE       length=$100                                         ;
        attrib CONFIG_CD                           length=4                                            ;
        stop; run;

        proc sql;
        alter table GLOBAL_SETTING_GROUP add CONSTRAINT PRIM_KEY PRIMARY KEY (GLOBAL_SETTING_GROUP_NM);
        quit;


        ***********************************************************************************************;

        data GLOBAL_SETTING_GROUP_MEMBER;
        attrib SPEC_NM                             length=$32                                          ;
        attrib APP                                 length=$40                                          ;
        attrib GLOBAL_SETTING_GROUP_NM             length=$40                                          ;
        stop; run;

        proc sql;
        alter table GLOBAL_SETTING_GROUP_MEMBER add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, APP, GLOBAL_SETTING_GROUP_NM);
        quit;


        ***********************************************************************************************;

        data GLOBAL_SETTING_VALUES;
        attrib SPEC_NM                             length=$32                                          ;
        attrib APP                                 length=$40                                          ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib SPEC_VALUE_DESC                     length=$100                                         ;
        attrib SPEC_VALUE_DESC_KEY                 length=$100                                         ;
        stop; run;

        proc sql;
        alter table GLOBAL_SETTING_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, APP, SPEC_VALUE);
        quit;


        ***********************************************************************************************;

        data MA_SPEC_SEED;
        attrib MODEL_GROUP_ID                      length=4                                            ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib USER_NM                             length=$60                                          ;
        attrib SPEC_VALUE                          length=$200                                         ;
        stop; run;

        proc sql;
        alter table MA_SPEC_SEED add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_GROUP_ID, SPEC_NM, USER_NM);
        quit;


        ***********************************************************************************************;

        data MODEL_GEO_PROD_STATUS_RULE;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib RULE_NM                             length=$32                                          ;
        attrib RULE_VALUE                          length=$100                                         ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table MODEL_GEO_PROD_STATUS_RULE add CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK, RULE_NM);
        quit;


        ***********************************************************************************************;

        data MODEL_GEO_PROD_STATUS_SPEC;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table MODEL_GEO_PROD_STATUS_SPEC add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM);
        quit;


        ***********************************************************************************************;

        data MODEL_GEO_PROD_STATUS_DETAILS;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_RULE_FLG                       length=4                                            ;
        attrib DEFAULT_SPEC_VALUE                  length=$100                                         ;
        attrib SPEC_DATATYPE                       length=$40                                          ;
        attrib SPEC_DATATYPE_EXT                   length=$40                                          ;
        attrib SPEC_VALUE_MIN                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_MAX                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_INCR                     length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib REF_QUERY                           length=$500                                         ;
        attrib SPEC_VALUE_LIST_DELIMITER           length=$3                                           ;
        attrib DESCRIPTION                         length=$100                                         ;
        attrib DESC_KEY                            length=$100                                         ;
        stop; run;

        proc sql;
        alter table MODEL_GEO_PROD_STATUS_DETAILS add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, SPEC_RULE_FLG);
        quit;


        ***********************************************************************************************;


        data MODEL_GEO_PROD_STATUS_VALUES;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_RULE_FLG                       length=4                                            ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib SPEC_VALUE_DESC                     length=$100                                         ;
        attrib SPEC_VALUE_DESC_KEY                 length=$100                                         ;
        stop; run;

        proc sql;
        alter table MODEL_GEO_PROD_STATUS_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, SPEC_RULE_FLG, SPEC_VALUE);
        quit;


        ***********************************************************************************************;

        data MODEL_GROUP;
        attrib MODEL_GROUP_ID                      length=4                                            ;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib GEO_HIER_SK                         length=4                                            ;
        attrib NUM_GEO_PRODS                       length=6                                            ;
        attrib SCHEDULED_FLG                       length=4                                            ;
        attrib ENABLED_FLG                         length=4                                            ;
        attrib REFRESH_FREQ                        length=6                                            ;
        attrib CONFIG_GROUP_ID                     length=4                                            ;
        attrib SEASON                              length=$20                                          ;
        attrib TAG                                 length=$40                                          ;
        attrib LAST_REFRESH_DTTM                   length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CONFIG_TEMPLATE_ID                  length=4                                            ;
        stop; run;

        proc sql;
        alter table MODEL_GROUP add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_GROUP_ID);
        quit;


        ***********************************************************************************************;

        data MODEL_SPEC;
        attrib MODEL_GROUP_ID                      length=4                                            ;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_TYPE                           length=$5                                           ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib PRIORITY                            length=$3                                           ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table MODEL_SPEC add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_GROUP_ID, MODEL_COMP_NM, SPEC_NM, SPEC_TYPE);
        quit;


        ***********************************************************************************************;

        data MODEL_SPEC_DEFAULT;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_TYPE                           length=$5                                           ;
        attrib DEFAULT_SPEC_VALUE                  length=$100                                         ;
        attrib PRIORITY                            length=$3                                           ;
        stop; run;

        proc sql;
        alter table MODEL_SPEC_DEFAULT add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_COMP_NM, SPEC_NM, SPEC_TYPE);
        quit;


        ***********************************************************************************************;

        data MODEL_SPEC_DETAILS;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_DATATYPE                       length=$40                                          ;
        attrib SPEC_DATATYPE_EXT                   length=$40                                          ;
        attrib SPEC_VALUE_MIN                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_MAX                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_INCR                     length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
         attrib HIDDEN_FLG                          length=4                                            ;
        attrib OVERRIDE_MODEL_COMP_NM_LIST         length=$100                                         ;
        attrib REF_QUERY                           length=$500                                         ;
        attrib GENERATE_PREFIX_NM                  length=$40                                          ;
        attrib GENERATE_SUFFIX_MAX                 length=$40                                          ;
        attrib SPEC_VALUE_LIST_DELIMITER           length=$3                                           ;
        attrib SPEC_DESC                           length=$100                                         ;
        attrib DESC_KEY                            length=$100                                         ;
        stop; run;

        proc sql;
        alter table MODEL_SPEC_DETAILS add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_COMP_NM, SPEC_NM);
        quit;


        ***********************************************************************************************;

        data MODEL_SPEC_TEMPLATE;
        attrib MODEL_SPEC_ID                       length=4                                            ;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_TYPE                           length=$5                                           ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib PRIORITY                            length=$3                                           ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table MODEL_SPEC_TEMPLATE add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_SPEC_ID, MODEL_COMP_NM, SPEC_NM, SPEC_TYPE);
        quit;


        ***********************************************************************************************;

        data MODEL_SPEC_VALUES;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib SPEC_VALUE_DESC                     length=$100                                         ;
        attrib SPEC_VALUE_DESC_KEY                 length=$100                                         ;
        stop; run;

        proc sql;
        alter table MODEL_SPEC_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_COMP_NM, SPEC_NM, SPEC_VALUE);
        quit;


        ***********************************************************************************************;

        data MODEL_SPEC_WORKFLOW;
        attrib TASK_NM                             length=$40                                          ;
        attrib PARENT_TASK_NM                      length=$40                                          ;
        attrib TASK_DESC                           length=$100                                         ;
        attrib TASK_DESC_KEY                       length=$100                                         ;
        attrib TASK_LVL                            length=4                                            ;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_TYPE                           length=$5                                           ;
        attrib MODEL_COMP_NM                       length=$5                                           ;
        attrib DOW_FLG                             length=4                                            ;
        attrib HALO_FLG                            length=4                                            ;
        stop; run;

        proc sql;
        alter table MODEL_SPEC_WORKFLOW add CONSTRAINT PRIM_KEY PRIMARY KEY (TASK_NM);
        quit;


        ***********************************************************************************************;

        data SCORING_PARAM_CONFIG;
        attrib EFFECT_TYPE                         length=$40                                          ;
        attrib EFFECT_CATEGORY                     length=$40                                          ;
        attrib TSF_TYPE                            length=4                                            ;
        attrib EFFECT_EST                          length=8      FORMAT=NLNUM12.4   INFORMAT=NLNUM12.4 ;
        attrib EFFECT_EST_U                        length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib EFFECT_EST_L                        length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib COUNTER                             length=$40                                          ;
        stop; run;

        proc sql;
        alter table SCORING_PARAM_CONFIG add CONSTRAINT PRIM_KEY PRIMARY KEY (EFFECT_TYPE, EFFECT_CATEGORY, TSF_TYPE);
        quit;


        ***********************************************************************************************;

        data SCORING_PARAM_DEFAULT;
        attrib GEO_HIER_SK                         length=4                                            ;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib EFFECT_TYPE                         length=$40                                          ;
        attrib EFFECT_CATEGORY                     length=$40                                          ;
        attrib TSF_TYPE                            length=4                                            ;
        attrib EFFECT_EST                          length=8      FORMAT=NLNUM12.4   INFORMAT=NLNUM12.4 ;
        attrib EFFECT_EST_U                        length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib EFFECT_EST_L                        length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        stop; run;

        proc sql;
        alter table SCORING_PARAM_DEFAULT
            add CONSTRAINT PRIM_KEY PRIMARY KEY (GEO_HIER_SK, PROD_HIER_SK, EFFECT_TYPE, EFFECT_CATEGORY, TSF_TYPE);
        quit;


        ***********************************************************************************************;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      GET_DATA_FROM_DI_DM
   :DESCRIPTION:    Get data for workbench managed tables from di_data to di_trans
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 07APR2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKLIB:         DI_TRANS,DI_DATA
   :CHKTABLES:      &m_di_data..MODEL_SPEC,&m_di_data..ATTR_SPEC
   :ASIS:           TRUE

    :ORCL_BEGIN:

        * first change USAGE source column in ATTR_SPEC to ATTR_USAGE;

        data work.ATTR_SPEC_OLD;
            attrib ATTR_USAGE          length=4 ;
            drop USAGE;

            SET &m_di_data..ATTR_SPEC;
            ATTR_USAGE=USAGE;
        run;



        proc append base = &m_di_trans..ATTR_SPEC data = work.ATTR_SPEC_OLD force; run;
        proc append base = &m_di_trans..BASE_FORECAST_OVERRIDE_GP data = &m_di_data..BASE_FORECAST_OVERRIDE_GP force; run;
        proc append base = &m_di_trans..BASE_FORECAST_OVERRIDE_MG data = &m_di_data..BASE_FORECAST_OVERRIDE_MG force; run;
        proc append base = &m_di_trans..CONFIG_AUDIT_TRAIL data = &m_di_data..CONFIG_AUDIT_TRAIL force; run;
        proc append base = &m_di_trans..CONFIG_GROUP data = &m_di_data..CONFIG_GROUP force; run;
        proc append base = &m_di_trans..DATA_CONFIG data = &m_di_data..DATA_CONFIG force; run;
        proc append base = &m_di_trans..DATA_CONFIG_TEMPLATE data = &m_di_data..DATA_CONFIG_TEMPLATE force; run;
        proc append base = &m_di_trans..GLOBAL_SETTING_DETAILS data = &m_di_data..GLOBAL_SETTING_DETAILS force; run;
        proc append base = &m_di_trans..GLOBAL_SETTING_GROUP data = &m_di_data..GLOBAL_SETTING_GROUP force; run;
        proc append base = &m_di_trans..GLOBAL_SETTING_GROUP_MEMBER data = &m_di_data..GLOBAL_SETTING_GROUP_MEMBER force; run;
        proc append base = &m_di_trans..GLOBAL_SETTING_VALUES data = &m_di_data..GLOBAL_SETTING_VALUES force; run;
        proc append base = &m_di_trans..MA_SPEC_SEED data = &m_di_data..MA_SPEC force; run;
        proc append base = &m_di_trans..MODEL_GEO_PROD_STATUS_RULE data = &m_di_data..MODEL_GEO_PROD_STATUS_RULE force; run;
        proc append base = &m_di_trans..MODEL_GEO_PROD_STATUS_SPEC data = &m_di_data..MODEL_GEO_PROD_STATUS_SPEC force; run;
        proc append base = &m_di_trans..MODEL_GEO_PROD_STATUS_DETAILS data = &m_di_data..MODEL_GEO_PROD_STATUS_DETAILS force; run;
        proc append base = &m_di_trans..MODEL_GEO_PROD_STATUS_VALUES data = &m_di_data..MODEL_GEO_PROD_STATUS_VALUES force; run;
        proc append base = &m_di_trans..MODEL_GROUP data = &m_di_data..MODEL_GROUP force; run;
        proc append base = &m_di_trans..MODEL_SPEC data = &m_di_data..MODEL_SPEC force; run;
        proc append base = &m_di_trans..MODEL_SPEC_DEFAULT data = &m_di_data..MODEL_SPEC_DEFAULT force; run;
        proc append base = &m_di_trans..MODEL_SPEC_DETAILS data = &m_di_data..MODEL_SPEC_DETAILS force; run;
        proc append base = &m_di_trans..MODEL_SPEC_TEMPLATE data = &m_di_data..MODEL_SPEC_TEMPLATE force; run;
        proc append base = &m_di_trans..MODEL_SPEC_VALUES data = &m_di_data..MODEL_SPEC_VALUES force; run;
        proc append base = &m_di_trans..MODEL_SPEC_WORKFLOW data = &m_di_data..MODEL_SPEC_WORKFLOW force; run;
        proc append base = &m_di_trans..SCORING_PARAM_CONFIG data = &m_di_data..SCORING_PARAM_CONFIG force; run;
        proc append base = &m_di_trans..SCORING_PARAM_DEFAULT data = &m_di_data..SCORING_PARAM_DEFAULT force; run;

   :ORCL_END:

:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_WRKBNCH_MNGD_TABLES
   :DESCRIPTION:    Drop Workbench tables moved to RDBMS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 11APR2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_data., &m_di_trans.
   :CHKTABLES:      &m_di_trans..attr_spec, &m_di_data..ATTR_SPEC, &m_di_trans..SCORING_PARAM_DEFAULT, &m_di_data..SCORING_PARAM_DEFAULT
   :ASIS:           TRUE

    :ORCL_BEGIN:

        proc sql;
             DROP TABLE &m_di_data..ATTR_SPEC;
             DROP TABLE &m_di_data..BASE_FORECAST_OVERRIDE_GP;
             DROP TABLE &m_di_data..BASE_FORECAST_OVERRIDE_MG;
             DROP TABLE &m_di_data..CONFIG_AUDIT_TRAIL;
             DROP TABLE &m_di_data..CONFIG_GROUP;
             DROP TABLE &m_di_data..DATA_CONFIG;
             DROP TABLE &m_di_data..DATA_CONFIG_TEMPLATE;
             DROP TABLE &m_di_data..GLOBAL_SETTING_DETAILS;
             DROP TABLE &m_di_data..GLOBAL_SETTING_GROUP;
             DROP TABLE &m_di_data..GLOBAL_SETTING_GROUP_MEMBER;
             DROP TABLE &m_di_data..GLOBAL_SETTING_VALUES;
             DROP TABLE &m_di_data..MA_SPEC_SEED;
             DROP TABLE &m_di_data..MODEL_GEO_PROD_STATUS_RULE;
             DROP TABLE &m_di_data..MODEL_GEO_PROD_STATUS_SPEC;
             DROP TABLE &m_di_data..MODEL_GEO_PROD_STATUS_DETAILS;
             DROP TABLE &m_di_data..MODEL_GEO_PROD_STATUS_VALUES;
             DROP TABLE &m_di_data..MODEL_GROUP;
             DROP TABLE &m_di_data..MODEL_SPEC;
             DROP TABLE &m_di_data..MODEL_SPEC_DEFAULT;
             DROP TABLE &m_di_data..MODEL_SPEC_DETAILS;
             DROP TABLE &m_di_data..MODEL_SPEC_TEMPLATE;
             DROP TABLE &m_di_data..MODEL_SPEC_VALUES;
             DROP TABLE &m_di_data..MODEL_SPEC_WORKFLOW;
             DROP TABLE &m_di_data..SCORING_PARAM_CONFIG;
             DROP TABLE &m_di_data..SCORING_PARAM_DEFAULT;
        quit;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID752048
   :DESCRIPTION:    Add FIXED_CAPPING_METHOD model spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 13APR2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FIXED_CAPPING_METHOD';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            values ('FIXED_CAPPING_METHOD','REG','1','ORIGIN',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID749351
   :DESCRIPTION:    Fixes to model_spec_default for advanced specs
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14APR2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'ATREG_COLD_START';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('ATREG_COLD_START','FCST','-1','0',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'ATREG_MODULE';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('ATREG_MODULE','ALL','-1','0',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'BASELINE_OFFSET_TYPE';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('BASELINE_OFFSET_TYPE','ALL','-1','1',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'BFAVG_TSF';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('BFAVG_TSF','FCST','-1','1',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'INT_LOWER_BOUND';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('INT_LOWER_BOUND','FCST','2','-100',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'MAX_PRICE_RATIO';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('MAX_PRICE_RATIO','ALL','1','1',NULL);

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('MAX_PRICE_RATIO','ALL','2','1',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'M_PRICE_CORR';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('M_PRICE_CORR','REG','-1','0.8',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'MIN_STD_EST';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('MIN_STD_EST','REG','-1','0.00000001',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'MISSING_GP_FCST_VALUE';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('MISSING_GP_FCST_VALUE','FCST','-1','0',NULL);

        DELETE FROM MODEL_SPEC_VALUES WHERE SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';

        INSERT INTO MODEL_SPEC_VALUES
            (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC,SPEC_VALUE_DESC_KEY)
            VALUES ('SALES_INTRO_FROM_GPSTATUS','FCST','1','Use sales introduction date','mspec.SALES_INTRO_FROM_GPSTATUS.truemeans.txt');

        INSERT INTO MODEL_SPEC_VALUES
            (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC,SPEC_VALUE_DESC_KEY)
            VALUES ('SALES_INTRO_FROM_GPSTATUS','FCST','0','Do not use sales introduction date','mspec.SALES_INTRO_FROM_GPSTATUS.falsemeans.txt');

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'SA_SHIFT';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('SA_SHIFT','ALL','-1','0',NULL);

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PF_LOWER_BOUND';

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('PF_LOWER_BOUND','ALL','1','0.0001',NULL);

        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('PF_LOWER_BOUND','ALL','2','0.0001',NULL);


   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID749351_1
   :DESCRIPTION:    Fixes to default for SALES_INTRO_FROM_GPSTATUS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14APR2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';
        INSERT INTO MODEL_SPEC_DEFAULT
            (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES ('SALES_INTRO_FROM_GPSTATUS','FCST','-1','0',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      PRE_ID753541
   :DESCRIPTION:    Drop Sequences to be created in change id ID753541
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 20APR2011
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

       %di_util_delete_sequence(m_sequence_name=%str(SEQ_ALERT_COMP_THRSHLD_RULE_SK), m_schema_name=%str(&di_trans_schema))     ;

       %di_util_delete_sequence(m_sequence_name=%str(SEQ_ALERT_COMP_RANGE_RULE_SK), m_schema_name=%str(&di_trans_schema));

   :ORCL_END:

   :SAS_BEGIN:

   :SAS_END:

 :END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID753541
   :DESCRIPTION:    Adding tables for Competitor price change threshold
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 20APR2011
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


       CREATE SEQUENCE SEQ_ALERT_COMP_THRSHLD_RULE_SK START WITH 100000;

         CREATE TABLE ALERT_COMP_THRSHLD_RULE
         (
            ALERT_COMP_THRSHLD_RULE_SK INTEGER PRIMARY KEY,
            PROD_HIER_SK                  INTEGER NOT NULL,
            GEO_HIER_SK                   INTEGER NOT NULL,
            GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
            THRESHOLD_VALUE_TYPE          INTEGER NOT NULL
         );

         ALTER TABLE ALERT_COMP_THRSHLD_RULE ADD CONSTRAINT ALERT_COMP_THRSHLD_RULE_IX1
         UNIQUE (GEO_HIER_ASSOC_CD, PROD_HIER_SK, GEO_HIER_SK);

         CREATE SEQUENCE SEQ_ALERT_COMP_RANGE_RULE_SK START WITH 100000;

         CREATE TABLE ALERT_COMP_THRSHLD_RANGE_RULE
         (
             ALERT_COMP_RANGE_RULE_SK   INTEGER PRIMARY KEY,
             ALERT_COMP_THRSHLD_RULE_SK INTEGER ,
             MIN_RANGE_VALUE               NUMERIC(12,2) NOT NULL,
             MAX_RANGE_VALUE               NUMERIC(12,2) NOT NULL,
             THRESHOLD_VALUE               NUMERIC(12,2) NOT NULL
         );

         ALTER TABLE ALERT_COMP_THRSHLD_RANGE_RULE ADD CONSTRAINT
         ALERT_COMP_THRSHLD_RNG_RL_IX1 UNIQUE (ALERT_COMP_THRSHLD_RULE_SK,MIN_RANGE_VALUE, MAX_RANGE_VALUE);



   :ORCL_END:

   :SAS_BEGIN:


      proc sql;

           CREATE TABLE ALERT_COMP_THRSHLD_RULE
           (
              ALERT_COMP_THRSHLD_RULE_SK INTEGER PRIMARY KEY,
              PROD_HIER_SK                  INTEGER NOT NULL,
              GEO_HIER_SK                   INTEGER NOT NULL,
              GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
              THRESHOLD_VALUE_TYPE          INTEGER NOT NULL
           );

           ALTER TABLE ALERT_COMP_THRSHLD_RULE ADD CONSTRAINT ALERT_COMP_THRSHLD_RULE_IX1
           UNIQUE (GEO_HIER_ASSOC_CD, PROD_HIER_SK, GEO_HIER_SK);


           CREATE TABLE ALERT_COMP_THRSHLD_RANGE_RULE
           (
               ALERT_COMP_RANGE_RULE_SK   INTEGER PRIMARY KEY,
               ALERT_COMP_THRSHLD_RULE_SK INTEGER ,
               MIN_RANGE_VALUE               NUMERIC(12,2) NOT NULL,
               MAX_RANGE_VALUE               NUMERIC(12,2) NOT NULL,
               THRESHOLD_VALUE               NUMERIC(12,2) NOT NULL
           );

           ALTER TABLE ALERT_COMP_THRSHLD_RANGE_RULE ADD CONSTRAINT ALERT_COMP_THRSHLD_RNG_RL_IX1
           UNIQUE (ALERT_COMP_THRSHLD_RULE_SK, MIN_RANGE_VALUE, MAX_RANGE_VALUE);


      quit;


   :SAS_END:

 :END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID713182
   :DESCRIPTION:    Add HEDONIC_VOL_TSF model spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 25APR2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'HEDONIC_VOL_TSF';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('HEDONIC_VOL_TSF','ALL','-1','1',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0750384
   :DESCRIPTION:    New Request table to support delivery types in pack recommendation
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04APR2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

   :DOC:  This is a new request table for Pack Recommendation

   :ORCL_BEGIN:
        CREATE TABLE REQ_PACKREC_DELIVERY_TYPE (
                   REQUEST_ID               INTEGER NOT NULL,
                   DELIVERY_ID              INTEGER NOT NULL,
                   DELIVERY_TYPE_ID         INTEGER NOT NULL,
                   DELIVERY_TYPE_NM         VARCHAR(40)
            );
        CREATE UNIQUE INDEX REQ_PACKREC_DEL_TYPE_PK on REQ_PACKREC_DELIVERY_TYPE (REQUEST_ID, DELIVERY_ID) nologging parallel;
        ALTER TABLE REQ_PACKREC_DELIVERY_TYPE ADD CONSTRAINT REQ_PACKREC_DEL_TYPE_PK PRIMARY KEY (REQUEST_ID, DELIVERY_ID) USING INDEX REQ_PACKREC_DEL_TYPE_PK;

   :ORCL_END:

   :SAS_BEGIN:
       proc sql;
            CREATE TABLE &m_di_trans..REQ_PACKREC_DELIVERY_TYPE (
                   REQUEST_ID               INTEGER NOT NULL,
                   DELIVERY_ID              INTEGER NOT NULL,
                   DELIVERY_TYPE_ID         INTEGER NOT NULL,
                   DELIVERY_TYPE_NM         VARCHAR(40),
                   CONSTRAINT PRIM_KEY PRIMARY KEY (REQUEST_ID, DELIVERY_ID)
            );
        quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID726328
   :DESCRIPTION:    Add new model spec EXCLUDE_NP_FROM_SHARE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 03MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'EXCLUDE_NP_FROM_SHARE';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('EXCLUDE_NP_FROM_SHARE','FCST','2','0',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      UNIFORM_TIMING_NOT_NULL
   :DESCRIPTION:    Modify Uniform Timing Columns in MDO_PLAN to Not Null
   :VERSION:        D3MICM52,M2TKMI43
   :DATE_OF_CHANGE: 26APR2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        UPDATE MDO_PLAN SET UNIFORM_TIMING_NUM_MARKDN = 0 WHERE UNIFORM_TIMING_NUM_MARKDN IS NULL;
        UPDATE MDO_PLAN SET UNIFORM_TIMING_PROD_LVL = DECISION_PROD_LVL WHERE UNIFORM_TIMING_PROD_LVL IS NULL;
        UPDATE MDO_PLAN SET UNIFORM_TIMING_GEO_LVL = DECISION_GEO_LVL WHERE UNIFORM_TIMING_GEO_LVL IS NULL;

        ALTER TABLE MDO_PLAN
        MODIFY
        (
           UNIFORM_TIMING_NUM_MARKDN INTEGER NOT NULL,
           UNIFORM_TIMING_PROD_LVL INTEGER NOT NULL,
           UNIFORM_TIMING_GEO_LVL INTEGER NOT NULL
        )
        ;

   :ORCL_END:


   :SAS_BEGIN:

   Proc sql;

      UPDATE MDO_PLAN SET UNIFORM_TIMING_NUM_MARKDN = 0 WHERE UNIFORM_TIMING_NUM_MARKDN IS NULL;
      UPDATE MDO_PLAN SET UNIFORM_TIMING_PROD_LVL = DECISION_PROD_LVL WHERE UNIFORM_TIMING_PROD_LVL IS NULL;
      UPDATE MDO_PLAN SET UNIFORM_TIMING_GEO_LVL = DECISION_GEO_LVL WHERE UNIFORM_TIMING_GEO_LVL IS NULL;

      ALTER TABLE MDO_PLAN ADD NOT NULL (UNIFORM_TIMING_NUM_MARKDN);
      ALTER TABLE MDO_PLAN ADD NOT NULL (UNIFORM_TIMING_PROD_LVL);
      ALTER TABLE MDO_PLAN ADD NOT NULL (UNIFORM_TIMING_GEO_LVL);

   quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID727189
   :DESCRIPTION:    Additional columns required to persist Delay Plan metrics
   :VERSION:        D3MICM52, M2TKMI43
   :DATE_OF_CHANGE: 03MAY2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :DOC:  These columns are required to store the Delay Plan metrics for Markdown Plans

   :ORCL_BEGIN:

      ALTER TABLE MPLN_GEO_PROD_RESULT
      ADD
      (
         DELAY_MARGIN_AMT NUMERIC(20,3),
         DELAY_END_INV_AT_RISK_UNITS NUMERIC(12,2),
         DELAY_MARKDN_LOSS_AMT NUMERIC(20,3),
         DELAY_SALES_UNITS NUMERIC(12,2),
         DELAY_END_INV_UNITS NUMERIC(12,2)
      )
      ;

      ALTER TABLE MPLN_RESULT
      ADD
      (
         DELAY_MARGIN_AMT NUMERIC(20,3),
         DELAY_END_INV_AT_RISK_UNITS NUMERIC(12,2),
         DELAY_MARKDN_LOSS_AMT NUMERIC(20,3),
         DELAY_SALES_UNITS NUMERIC(12,2),
         DELAY_END_INV_UNITS NUMERIC(12,2)
      )
      ;

   :ORCL_END:

   :SAS_BEGIN:

   Proc sql;

      ALTER TABLE MPLN_GEO_PROD_RESULT
      ADD
         DELAY_MARGIN_AMT NUMERIC(20,3),
         DELAY_END_INV_AT_RISK_UNITS NUMERIC(12,2),
         DELAY_MARKDN_LOSS_AMT NUMERIC(20,3),
         DELAY_SALES_UNITS NUMERIC(12,2),
         DELAY_END_INV_UNITS NUMERIC(12,2)
      ;

      ALTER TABLE MPLN_RESULT
      ADD
         DELAY_MARGIN_AMT NUMERIC(20,3),
         DELAY_END_INV_AT_RISK_UNITS NUMERIC(12,2),
         DELAY_MARKDN_LOSS_AMT NUMERIC(20,3),
         DELAY_SALES_UNITS NUMERIC(12,2),
         DELAY_END_INV_UNITS NUMERIC(12,2)
      ;

   quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID755863
   :DESCRIPTION:    Add Count of Low Baseline demand prod/geo as a new Markdown metrics
   :VERSION:        D3MICM52, M2TKMI43
   :DATE_OF_CHANGE: 03MAY2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :DOC:  Adding a column LOW_DEMAND_NUM_MEMBERS to MPLN_GEO_PROD_RESULT and
   :DOC:    MPLN_RESULT tables to store the count of low baseline demand prod/geo at all
   :DOC:    supported aggregation levels.

   :ORCL_BEGIN:

      ALTER TABLE MPLN_GEO_PROD_RESULT
      ADD
      (
         LOW_DEMAND_NUM_MEMBERS INTEGER
      )
      ;

      ALTER TABLE MPLN_RESULT
      ADD
      (
         LOW_DEMAND_NUM_MEMBERS INTEGER
      )
      ;

   :ORCL_END:

   :SAS_BEGIN:

   Proc sql;

      ALTER TABLE MPLN_GEO_PROD_RESULT
      ADD
         LOW_DEMAND_NUM_MEMBERS INTEGER
      ;

      ALTER TABLE MPLN_RESULT
      ADD
         LOW_DEMAND_NUM_MEMBERS INTEGER
      ;

   quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID750624
   :DESCRIPTION:    Add new model spec FCST_DISAGG_METHOD
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'FCST_DISAGG_METHOD';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('FCST_DISAGG_METHOD','FCST','1','1',NULL);
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('FCST_DISAGG_METHOD','FCST','2','1',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID749317
   :DESCRIPTION:    Display current cost and cost change in new cost alerts
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04MAY2011
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


   ALTER TABLE ALERT_COST ADD INVC_COST_AMT_CHANGE NUMERIC(20,3);
   ALTER TABLE ALERT_COST ADD INVC_COST_PCT_CHANGE NUMERIC(12,2);


   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID750199
   :DESCRIPTION:    Add TS specs price_sp/ss,ps_sp/ss,inv_adj_sp/ss,pl_adj_sp/ss,season_sp/ss
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

            DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PRICE_SP' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('PRICE_SP','TS','-1','1',NULL);

            DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PRICE_SS' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('PRICE_SS','TS','-1','0',NULL);
           DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PS_SP' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('PS_SP','TS','-1','1',NULL);
            DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PS_SS' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('PS_SS','TS','-1','0',NULL);
           DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'INV_ADJ_SP' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('INV_ADJ_SP','TS','-1','1',NULL);
            DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'INV_ADJ_SS' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('INV_ADJ_SS','TS','-1','0',NULL);
           DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PL_ADJ_SP' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('PL_ADJ_SP','TS','-1','1',NULL);
            DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'PL_ADJ_SS' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('PL_ADJ_SS','TS','-1','0',NULL);
           DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'SEASON_SP' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('SEASON_SP','TS','-1','1',NULL);
            DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'SEASON_SS' AND MODEL_COMP_NM = 'TS';
            INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
                  VALUES ('SEASON_SS','TS','-1','0',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID757899
   :DESCRIPTION:    SIZE PROFILING 3.2 SCHEMA CHANGES PART II
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05MAY2011
   :SUPPORT:        Fusun Meric
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_SIZESET_MBR

   :ORCL_BEGIN:
      ALTER TABLE PRF_SIZESET_MBR ADD POST_IMPUTATION_SALES_UNITS NUMERIC(12,2);

      CREATE TABLE PRF_PROD_SIZE_EXCLUDE
      (
          PROFILING_PROJECT_SK          INTEGER NOT NULL,
          PROD_HIER_SK                  INTEGER NOT NULL,
          STD_SIZE_CD                   INTEGER NOT NULL,
          PRIMARY KEY (PROFILING_PROJECT_SK, PROD_HIER_SK, STD_SIZE_CD)
      )
      ;

   :ORCL_END:

   :DB2_BEGIN:
      ALTER TABLE PRF_SIZESET_MBR ADD POST_IMPUTATION_SALES_UNITS NUMERIC(12,2);

      CREATE TABLE PRF_PROD_SIZE_EXCLUDE
      (
          PROFILING_PROJECT_SK          INTEGER NOT NULL,
          PROD_HIER_SK                  INTEGER NOT NULL,
          STD_SIZE_CD                   INTEGER NOT NULL,
          PRIMARY KEY (PROFILING_PROJECT_SK, PROD_HIER_SK, STD_SIZE_CD)
      )
      ;

   :DB2_END:

   :SAS_BEGIN:

       proc sql;
           CREATE TABLE PRF_PROD_SIZE_EXCLUDE
           (
               PROFILING_PROJECT_SK          INTEGER NOT NULL,
               PROD_HIER_SK                  INTEGER NOT NULL,
               STD_SIZE_CD                   INTEGER NOT NULL,
               CONSTRAINT PRIM_KEY PRIMARY KEY (PROFILING_PROJECT_SK, PROD_HIER_SK, STD_SIZE_CD)
           )
           ;
       quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID757899_2
   :DESCRIPTION:    SIZE PROFILING 3.2 SCHEMA CHANGES PART II
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_SIZESET_MBR

   :DOC:  Addition of POST_IMPUTATION_SALES_UNITS was missed for SAS
   :DOC:  Left ORCL tags intentionally blank

   :ORCL_BEGIN:
   :ORCL_END:


   :SAS_BEGIN:
      proc sql;
         ALTER TABLE PRF_SIZESET_MBR ADD POST_IMPUTATION_SALES_UNITS NUMERIC(12,2);
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID757500
   :DESCRIPTION:    Add columns to geo_prod_mts and mpln_geo_prod_mts
   :VERSION:        D3MICM52,M2TKMI43
   :DATE_OF_CHANGE: 06MAY2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE GEO_PROD_MTS
    ADD
    (
      SEASON_START_INV_UNITS NUMERIC(12,2),
      SEASON_START_INV_VAL_AT_RET NUMERIC(20,3),
      SEASON_TO_DT_REVENUE_AMT NUMERIC(20,3)
    );

    ALTER TABLE MPLN_GEO_PROD_MTS
    ADD
    (
      SEASON_START_INV_UNITS NUMERIC(12,2),
      SEASON_START_INV_VAL_AT_RET NUMERIC(20,3),
      SEASON_TO_DT_REVENUE_AMT NUMERIC(20,3)
    );


   :ORCL_END:

   :SAS_BEGIN:

        proc sql;

            ALTER TABLE GEO_PROD_MTS ADD SEASON_START_INV_UNITS NUMERIC(12,2);
            ALTER TABLE GEO_PROD_MTS ADD SEASON_START_INV_VAL_AT_RET NUMERIC(20,3);
            ALTER TABLE GEO_PROD_MTS ADD SEASON_TO_DT_REVENUE_AMT NUMERIC(20,3);

            ALTER TABLE MPLN_GEO_PROD_MTS ADD SEASON_START_INV_UNITS NUMERIC(12,2);
            ALTER TABLE MPLN_GEO_PROD_MTS ADD SEASON_START_INV_VAL_AT_RET NUMERIC(20,3);
            ALTER TABLE MPLN_GEO_PROD_MTS ADD SEASON_TO_DT_REVENUE_AMT NUMERIC(20,3);

        quit;


   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID757540
   :DESCRIPTION:    Add budget table to transacted schema
   :VERSION:        D3MICM52,M2TKMI43
   :DATE_OF_CHANGE: 06MAY2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

     CREATE TABLE BUDGET
     (
       BUDGET_NM VARCHAR(100),
       BUDGET_TYPE INTEGER NOT NULL,
       GEO_HIER_SK INTEGER NOT NULL,
       PROD_HIER_SK INTEGER NOT NULL,
       START_DT DATE NOT NULL,
       END_DT DATE NOT NULL,
       TOTAL_BUDGET_AMT NUMERIC(20,3) NOT NULL,
       USED_BUDGET_AMT NUMERIC(20,3) NOT NULL,
       REVISED_BUDGET_AMT NUMERIC(20,3),
       PRIMARY KEY (GEO_HIER_SK, PROD_HIER_SK, START_DT, BUDGET_TYPE)
     );


   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

         CREATE TABLE BUDGET
         (
           BUDGET_NM VARCHAR(100),
           BUDGET_TYPE INTEGER NOT NULL,
           GEO_HIER_SK INTEGER NOT NULL,
           PROD_HIER_SK INTEGER NOT NULL,
           START_DT DATE NOT NULL,
           END_DT DATE NOT NULL,
           TOTAL_BUDGET_AMT NUMERIC(20,3) NOT NULL,
           USED_BUDGET_AMT NUMERIC(20,3) NOT NULL,
           REVISED_BUDGET_AMT NUMERIC(20,3),
           CONSTRAINT PRIM_KEY PRIMARY KEY (GEO_HIER_SK, PROD_HIER_SK, START_DT, BUDGET_TYPE)
         );

      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID758390
   :DESCRIPTION:    Add inventory at risk number of members
   :VERSION:        D3MICM52,M2TKMI43
   :DATE_OF_CHANGE: 09MAY2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE MPLN_RESULT
   ADD INV_AT_RISK_NUM_MEMBERS INTEGER
   ;

   ALTER TABLE MPLN_GEO_PROD_RESULT
   ADD INV_AT_RISK_NUM_MEMBERS INTEGER
   ;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID759165
   :DESCRIPTION:    Enhancements to MA and FA
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 11MAY2011
   :SUPPORT:        Pu Wang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE FA_SCENARIO_STATUS
      ADD WEIGHTED_MAPE_FIT NUMERIC(12,2)
      ADD MEDIAN_PE_FIT NUMERIC(12,2)
      ADD WEIGHTED_MEAN_PE_FIT NUMERIC(12,2)
      ADD HOLIDAY_ID INTEGER
      ADD HOLIDAY_NM VARCHAR(40)
      ADD MAX_HD_RMSE_FIT NUMERIC(12,2)
        ;

      ALTER TABLE FA_SCORE
      ADD WEIGHTED_MAPE_FIT NUMERIC(12,2)
      ADD MEDIAN_PE_FIT NUMERIC(12,2)
      ADD WEIGHTED_MEAN_PE_FIT NUMERIC(12,2)
      ADD HOLIDAY_ID INTEGER
      ADD HOLIDAY_NM VARCHAR(40)
      ADD MAX_HD_RMSE_FIT NUMERIC(12,2)
        ;


   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID0755732
   :DESCRIPTION:    Default value of CLASSIFIED_STORE_PENALTY in PROFILE_SCORE_SETTING should be 1
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05MAY2011
   :SUPPORT:        Laiza DelaFuente
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
      UPDATE PROFILE_SCORE_SETTING SET CLASSIFIED_STORE_PENALTY = 1;
   :ORCL_END:



:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID759742
   :DESCRIPTION:    ROMR74410 Display current cost and cost change in new cost alerts
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 13MAY2011
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   DOC: These 2 new columns are added in task S0749317 Above, this is for updating existing data

   :ORCL_BEGIN:

           update ALERT_COST set
           INVC_COST_AMT_CHANGE = INVC_COST - PREV_INVC_COST,
           INVC_COST_PCT_CHANGE = (INVC_COST - PREV_INVC_COST) / PREV_INVC_COST ;


   :ORCL_END:

 :END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID758581
   :DESCRIPTION:    SIZE PROFILING 3.2 SCHEMA CHANGES PART III
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 13MAY2011
   :SUPPORT:        Fusun Meric
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

       ALTER TABLE PRF_JOB ADD JOB_TYPE INTEGER DEFAULT 1 NOT NULL;
       ALTER TABLE PRF_JOB RENAME COLUMN PROFILING_PROJECT_SK TO CONTEXT_SK;
       ALTER TABLE PRF_JOB MODIFY CONTEXT_SK INTEGER  NULL;
       DROP TABLE PRF_RSLT_SG_ATTR;

   :ORCL_END:

   :SAS_BEGIN:


        data &m_di_trans..PRF_JOB;
            set &m_di_trans..PRF_JOB;
            ATTRIB JOB_TYPE LENGTH=4;

            JOB_TYPE=1;
        RUN;

        proc sql;
           ALTER TABLE PRF_JOB  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PRF_JOB_SK);
        quit;


      proc datasets library=&m_di_trans.  nolist nodetails nowarn ;
         MODIFY PRF_JOB;
         RENAME  PROFILING_PROJECT_SK=CONTEXT_SK;
         IC DELETE _NM0002_;

      QUIT;

      proc sql;
         DROP TABLE PRF_RSLT_SG_ATTR;
      quit;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID722108
   :DESCRIPTION:    Remove global setting GEO_HIER_TYPE and PROD_HIER_TYPE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

       UPDATE CONFIG_GROUP SET GEO_HIER_ASSOC_CD = 0 WHERE GEO_HIER_TYPE = 2;
       UPDATE CONFIG_GROUP SET PROD_HIER_ASSOC_CD = 0 WHERE PROD_HIER_TYPE = 2;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID722108_1
   :DESCRIPTION:    Drop GEO_HIER_TYPE and PROD_HIER_TYPE columns from CONFIG_GROUP table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

       ALTER TABLE CONFIG_GROUP DROP COLUMN GEO_HIER_TYPE;
       ALTER TABLE CONFIG_GROUP DROP COLUMN PROD_HIER_TYPE;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID760165
   :DESCRIPTION:    Add MAX_FIT_APE as an FA spec and MA spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'MAX_FIT_APE';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('MAX_FIT_APE','MA','-1','1000',NULL);
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('MAX_FIT_APE','FA','-1','1000',NULL);

      DELETE FROM FA_SPEC WHERE SPEC_NM = 'MAX_FIT_APE';
      INSERT INTO FA_SPEC (MODEL_GROUP_ID,SPEC_NM,SPEC_VALUE)
         VALUES (-1,'MAX_FIT_APE','1000');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0760288
   :DESCRIPTION:    New table REQ_INVENTORY needed for packopt
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 18MAY2011
   :SUPPORT:        Laiza DelaFuente
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

   :DOC:  This is a new request table for Pack Optimization

   :ORCL_BEGIN:
        CREATE TABLE REQ_INVENTORY (
                   REQUEST_ID               INTEGER NOT NULL,
                   PROD_ID                  VARCHAR(32) NOT NULL,
                   GEO_ID                   varchar(32) NOT NULL,
                   RECEIPT_DT               DATE NOT NULL,
                   UNITS                    INTEGER NOT NULL
            );
        CREATE UNIQUE INDEX REQ_INVENTORY_PK on REQ_INVENTORY (REQUEST_ID, PROD_ID, GEO_ID, RECEIPT_DT) nologging parallel;
        ALTER TABLE REQ_INVENTORY ADD CONSTRAINT REQ_INVENTORY_PK PRIMARY KEY (REQUEST_ID, PROD_ID, GEO_ID, RECEIPT_DT) USING INDEX REQ_INVENTORY_PK;

   :ORCL_END:

   :SAS_BEGIN:

      PROC SQL;
         CREATE TABLE REQ_INVENTORY (
                   REQUEST_ID               INTEGER NOT NULL,
                   PROD_ID                  VARCHAR(32) NOT NULL,
                   GEO_ID                   varchar(32) NOT NULL,
                   RECEIPT_DT               DATE NOT NULL,
                   UNITS                    INTEGER NOT NULL
            );
         CREATE UNIQUE INDEX REQ_INVENTORY_PK on REQ_INVENTORY (REQUEST_ID, PROD_ID, GEO_ID, RECEIPT_DT) ;
         ALTER TABLE REQ_INVENTORY ADD CONSTRAINT PRIM_KEY PRIMARY KEY (REQUEST_ID, PROD_ID, GEO_ID, RECEIPT_DT) ;

      QUIT;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID760260
   :DESCRIPTION:    DEFAULT OPTIMIZATION SETTINGS
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 19MAY2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

   :DOC:  New Default business optimization settings

   :ORCL_BEGIN:
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20025, 2, 1, 1, 1, 25, 1, 3.0, 0.0, 0.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20026, 2, 1, 1, 1, 26, 1, 3.0, 0.0, 0.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20027, 2, 1, 1, 1, 27, 1, -1.0, 0.0, 0.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20028, 2, 1, 1, 1, 28, 1, -1.0, 0.0, 0.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20029, 2, 1, 1, 1, 29, 1, 0.0, 0.00, 0.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20030, 2, 1, 1, 1, 30, 1, 0.0, 0.00, 0.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20031, 2, 1, 1, 1, 31, 1, 0.0, 0.00, 1.0);
    insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)   values ( 20032, 2, 1, 1, 1, 32, 1, 0.0, 0.00, 10.0);
   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID761056
   :DESCRIPTION:    Custom Attribute Extensions
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 19MAY2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

   :DOC:  Custom attribute extensions (product assignment custom attrs, hidden attrs, editable attrs)

   :ORCL_BEGIN:
    CREATE TABLE CAT_CUSTOM_ATTR_LIST_VALUE (
        CAT_CUSTOM_ATTR_SK INTEGER NOT NULL,
        ATTR_VALUE VARCHAR2(40) NOT NULL
    );

    ALTER TABLE CATEGORY_PLAN ADD EVAL_OPT_RESULT_DTTM TIMESTAMP NULL;
    ALTER TABLE CALENDAR ADD EVAL_OPT_RESULT_DTTM TIMESTAMP NULL;
    ALTER TABLE CAT_CUSTOM_ATTR ADD HIDDEN_FLG INTEGER NULL;
    ALTER TABLE CAT_CUSTOM_ATTR ADD EDIT_FLG INTEGER NULL;
   :ORCL_END:

   :SAS_BEGIN:

    proc sql;
        CREATE TABLE CAT_CUSTOM_ATTR_LIST_VALUE (
            CAT_CUSTOM_ATTR_SK INTEGER NOT NULL,
            ATTR_VALUE VARCHAR(40) NOT NULL
        );

        ALTER TABLE CATEGORY_PLAN ADD EVAL_OPT_RESULT_DTTM DATE;
        ALTER TABLE CALENDAR ADD EVAL_OPT_RESULT_DTTM DATE;
        ALTER TABLE CAT_CUSTOM_ATTR ADD HIDDEN_FLG INTEGER ;
        ALTER TABLE CAT_CUSTOM_ATTR ADD EDIT_FLG INTEGER ;
    quit;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID733774
   :DESCRIPTION:    New tables NUM_GEO_PROD, COVERAGE_INPUT, COVERAGE_OUTPUT
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE TABLE NUM_GEO_PROD
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           USER_NM                       VARCHAR(40) NOT NULL,
           PRIMARY KEY (PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD, USER_NM)
       )
       ;


       CREATE TABLE COVERAGE_INPUT
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           USER_NM                       VARCHAR(40) NOT NULL,
           PRIMARY KEY(PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD, USER_NM)
       );


       CREATE TABLE COVERAGE_OUTPUT
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           USER_NM                       VARCHAR(40) NOT NULL,
           PRIMARY KEY(PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD, USER_NM)
       );

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
      CREATE TABLE NUM_GEO_PROD
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           USER_NM                       VARCHAR(40) NOT NULL
       );
      ALTER TABLE NUM_GEO_PROD ADD CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD, USER_NM) ;

      CREATE TABLE COVERAGE_INPUT
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           USER_NM                       VARCHAR(40) NOT NULL
       );
      ALTER TABLE COVERAGE_INPUT ADD CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD, USER_NM) ;

      CREATE TABLE COVERAGE_OUTPUT
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           USER_NM                       VARCHAR(40) NOT NULL
       );
      ALTER TABLE COVERAGE_OUTPUT ADD CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD, USER_NM) ;
      quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID761590
   :DESCRIPTION:    Added action support
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 23MAY2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


    ALTER TABLE CATEGORY_PLAN ADD ACTION_RESULT_DTTM TIMESTAMP NULL;
    ALTER TABLE CATEGORY_PLAN ADD ACTION_CONTEXT_SK INTEGER;
    ALTER TABLE CATEGORY_PLAN ADD ACTION_NM VARCHAR(40) NULL;
    ALTER TABLE CATEGORY_PLAN ADD ACTION_PROCESS_CD INTEGER;

    ALTER TABLE CALENDAR ADD ACTION_RESULT_DTTM TIMESTAMP NULL;
    ALTER TABLE CALENDAR ADD ACTION_CONTEXT_SK INTEGER;
    ALTER TABLE CALENDAR ADD ACTION_NM VARCHAR(40) NULL;
    ALTER TABLE CALENDAR ADD ACTION_PROCESS_CD INTEGER;

    ALTER TABLE RPP_PLAN ADD ACTION_RESULT_DTTM TIMESTAMP NULL;
    ALTER TABLE RPP_PLAN ADD ACTION_CONTEXT_SK INTEGER;
    ALTER TABLE RPP_PLAN ADD ACTION_NM VARCHAR(40) NULL;
    ALTER TABLE RPP_PLAN ADD ACTION_PROCESS_CD INTEGER;

   :ORCL_END:

   :SAS_BEGIN:

       proc sql;
          ALTER TABLE CATEGORY_PLAN ADD ACTION_RESULT_DTTM DATE ;
          ALTER TABLE CATEGORY_PLAN ADD ACTION_CONTEXT_SK INTEGER;
          ALTER TABLE CATEGORY_PLAN ADD ACTION_NM VARCHAR(40) ;
          ALTER TABLE CATEGORY_PLAN ADD ACTION_PROCESS_CD INTEGER;

          ALTER TABLE CALENDAR ADD ACTION_RESULT_DTTM DATE ;
          ALTER TABLE CALENDAR ADD ACTION_CONTEXT_SK INTEGER;
          ALTER TABLE CALENDAR ADD ACTION_NM VARCHAR(40) ;
          ALTER TABLE CALENDAR ADD ACTION_PROCESS_CD INTEGER;

          ALTER TABLE RPP_PLAN ADD ACTION_RESULT_DTTM DATE ;
          ALTER TABLE RPP_PLAN ADD ACTION_CONTEXT_SK INTEGER;
          ALTER TABLE RPP_PLAN ADD ACTION_NM VARCHAR(40) ;
          ALTER TABLE RPP_PLAN ADD ACTION_PROCESS_CD INTEGER;
       quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID757832_2
   :DESCRIPTION:    Move column num_members from table mpln_geo_prod_agg to mpln_result and mpln_geo_prod_result
   :VERSION:        D3MICM52,M2TKMI43
   :DATE_OF_CHANGE: 25MAY2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

     ALTER TABLE MPLN_RESULT ADD NUM_MEMBERS INTEGER;
     ALTER TABLE MPLN_GEO_PROD_RESULT ADD NUM_MEMBERS INTEGER;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      PKO_BULK_PACK_SIZE
   :DESCRIPTION:    Add Table PKO_BULK_PACK_SIZE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06NOV2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :DOC: PKO_BULK_PACK_SIZE table does not exist in some instances of M2TKMI42
   :DOC: Add table PKO_BULK_PACK_SIZE if it does not exist

   :ORCL_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..PKO_BULK_PACK_SIZE))) %then
        %do;

            %let m_sql_statement = %str(
                CREATE TABLE PKO_BULK_PACK_SIZE
                (
                        BULK_PACK_SIZE_SK                  INTEGER NOT NULL,
                        BUY_SK                             INTEGER,
                        DELIVERY_SK                        INTEGER,
                        BULKSIZE                           INTEGER NOT NULL,
                        INNER_PACK_HANDLE_COST             NUMERIC(20,3),
                        OUTER_PACK_HANDLE_COST             NUMERIC(20,3),
                        OPENING_COST                       NUMERIC(20,3),
                         PRIMARY KEY (BULK_PACK_SIZE_SK)
                )
            );

            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1)

            %let m_sql_statement = %str(
               CREATE SEQUENCE SEQ_BULK_PACK_SIZE_SK START WITH 100000;
            );

            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;


   :ORCL_END:

   :SAS_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..PKO_BULK_PACK_SIZE))) %then
        %do;

          proc sql;
            CREATE TABLE PKO_BULK_PACK_SIZE
            (
                    BULK_PACK_SIZE_SK                  INTEGER NOT NULL,
                    BUY_SK                             INTEGER,
                    DELIVERY_SK                        INTEGER,
                    BULKSIZE                           INTEGER NOT NULL,
                    INNER_PACK_HANDLE_COST             NUMERIC(20,3),
                    OUTER_PACK_HANDLE_COST             NUMERIC(20,3),
                    OPENING_COST                       NUMERIC(20,3)
            )
            ;

              ALTER TABLE PKO_BULK_PACK_SIZE add CONSTRAINT PRIM_KEY PRIMARY KEY (BULK_PACK_SIZE_SK);
          quit;

      %end;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ADD_PROCESS_NM
   :DESCRIPTION:    Update schema changes for pack
   :VERSION:        D3MICM52,F1MI42
   :DATE_OF_CHANGE: 26MAY2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :DOC:  This change was added in hotfix 2 of 42 mva-f1mi42.  alter_m1mi42_db2_hf2.sql
   :DOC:  This column should exist in M1MI42 but not in D2TKMI42
   :DOC:  Add this column if it does not exist

   :ORCL_BEGIN:

        %if (%di_util_varexist(dsname=&m_di_trans..REQ_CONTEXT, varname=PROCESS_NM)=0) %then
        %do;

            %let m_sql_statement = %str(
                ALTER TABLE REQ_CONTEXT ADD PROCESS_NM VARCHAR(40)
            );

            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;

   :ORCL_END:

   :SAS_BEGIN:
      %if (%di_util_varexist(dsname=&m_di_trans..REQ_CONTEXT, varname=PROCESS_NM)=0) %then
      %do;
         proc sql;
             ALTER TABLE REQ_CONTEXT ADD PROCESS_NM VARCHAR(40);
         quit;
     %end;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID762905
   :DESCRIPTION:    Update schema changes for pack
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 26MAY2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

     ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STYLECOLORS_IN_BUYS;
     ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STYLECOLORS_WITH_NEED;
     ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STORES_IN_DELIVERIES;
     ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STORES_WITH_NEED;

     CREATE TABLE PKO_PACK_PRODUCT_SETTING
     (
         PACK_PRODUCT_SETTING_SK            INTEGER NOT NULL,
         PROD_HIER_SK                       INTEGER NOT NULL,
         BUY_SK                             INTEGER,
         DELIVERY_SK                        INTEGER,
         NUM_PACK_REC_MAX                   INTEGER,
         SIZE_OF_OUTER_MAX                  INTEGER,
         BREAK_PACKS                        INTEGER,
         REC_MULTICOLOR                     INTEGER,
         OPEN_COST_PER_INNER                NUMERIC(20,3),
         OUTER_HANDLE_DSCT_RATE             NUMERIC(12,4),
         PRIMARY KEY (PACK_PRODUCT_SETTING_SK)
     ) ;

     CREATE SEQUENCE SEQ_PACK_PRODUCT_SETTING_SK START WITH 100000;

     ALTER TABLE PKO_DELIVERY ADD REC_MULTICOLOR INTEGER ;

     ALTER TABLE PKO_PACKREC_INNER ADD PACK_PRODUCT_SETTING_SK INTEGER ;
     ALTER TABLE PKO_BULK_PACK_SIZE ADD PACK_PRODUCT_SETTING_SK INTEGER ;
     ALTER TABLE PKO_LIMIT_PACK ADD PACK_PRODUCT_SETTING_SK INTEGER ;

     CREATE TABLE PKO_DELIVERY_PRODUCT
     (
        DELIVERY_PRODUCT_SK                INTEGER NOT NULL,
        DELIVERY_SK                        INTEGER NOT NULL,
        PROD_HIER_SK                       INTEGER NOT NULL,
        PRIMARY KEY (DELIVERY_PRODUCT_SK)
     );

     CREATE SEQUENCE SEQ_DELIVERY_PRODUCT_SK START WITH 100000;

     CREATE TABLE PKO_DELIVERY_STYLECOLOR
     (
        DELIVERY_STYLECOLOR_SK             INTEGER NOT NULL,
        DELIVERY_SK                        INTEGER NOT NULL,
        PROD_HIER_SK                       INTEGER NOT NULL,
        PROD_ID                            VARCHAR(32) NOT NULL,
        PRIMARY KEY (DELIVERY_STYLECOLOR_SK)
     );

     CREATE SEQUENCE SEQ_DELIVERY_STYLECOLOR_SK START WITH 100000;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
         ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STYLECOLORS_IN_BUYS;
         ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STYLECOLORS_WITH_NEED;
         ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STORES_IN_DELIVERIES;
         ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN STORES_WITH_NEED;

         CREATE TABLE PKO_PACK_PRODUCT_SETTING
         (
             PACK_PRODUCT_SETTING_SK            INTEGER NOT NULL,
             PROD_HIER_SK                       INTEGER NOT NULL,
             BUY_SK                             INTEGER,
             DELIVERY_SK                        INTEGER,
             NUM_PACK_REC_MAX                   INTEGER,
             SIZE_OF_OUTER_MAX                  INTEGER,
             BREAK_PACKS                        INTEGER,
             REC_MULTICOLOR                     INTEGER,
             OPEN_COST_PER_INNER                NUMERIC(20,3),
             OUTER_HANDLE_DSCT_RATE             NUMERIC(12,4)
         ) ;

         ALTER TABLE PKO_PACK_PRODUCT_SETTING add CONSTRAINT PRIM_KEY PRIMARY KEY (PACK_PRODUCT_SETTING_SK);

         ALTER TABLE PKO_DELIVERY ADD REC_MULTICOLOR INTEGER ;

         ALTER TABLE PKO_PACKREC_INNER ADD PACK_PRODUCT_SETTING_SK INTEGER ;
         ALTER TABLE PKO_BULK_PACK_SIZE ADD PACK_PRODUCT_SETTING_SK INTEGER ;
         ALTER TABLE PKO_LIMIT_PACK ADD PACK_PRODUCT_SETTING_SK INTEGER ;

         CREATE TABLE PKO_DELIVERY_PRODUCT
         (
            DELIVERY_PRODUCT_SK                INTEGER NOT NULL,
            DELIVERY_SK                        INTEGER NOT NULL,
            PROD_HIER_SK                       INTEGER NOT NULL
         );

         ALTER TABLE PKO_DELIVERY_PRODUCT add CONSTRAINT PRIM_KEY PRIMARY KEY (DELIVERY_PRODUCT_SK);


         CREATE TABLE PKO_DELIVERY_STYLECOLOR
         (
            DELIVERY_STYLECOLOR_SK             INTEGER NOT NULL,
            DELIVERY_SK                        INTEGER NOT NULL,
            PROD_HIER_SK                       INTEGER NOT NULL,
            PROD_ID                            VARCHAR(32) NOT NULL
         );

         ALTER TABLE PKO_DELIVERY_STYLECOLOR add CONSTRAINT PRIM_KEY PRIMARY KEY (DELIVERY_STYLECOLOR_SK);
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID762925
   :DESCRIPTION:    Remove MAPE_WEIGHT as FA spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 26MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE MODEL_COMP_NM = 'FA' AND SPEC_NM = 'MAPE_WEIGHT';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID761781
   :DESCRIPTION:    Add out_of_date_flg to PROFILING_PROJECT table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 26MAY2011
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PROFILING_PROJECT

   :ORCL_BEGIN:
      ALTER TABLE PROFILING_PROJECT ADD OUT_OF_DATE_FLG INTEGER DEFAULT 0 NOT NULL;
   :ORCL_END:

    :SAS_BEGIN:

        data &m_di_trans..PROFILING_PROJECT;
            set &m_di_trans..PROFILING_PROJECT;
            ATTRIB OUT_OF_DATE_FLG LENGTH=4;

            OUT_OF_DATE_FLG=0;
        RUN;

        proc sql;
            ALTER TABLE PROFILING_PROJECT  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROFILING_PROJECT_SK);
        quit;

    :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID762209
   :DESCRIPTION:    Recommending prices for products with alerts
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23MAY2011
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :DOC: ALERT_COST table
    :DOC:  RPO_PLAN table
    :DOC:  PROCESS_OPTION      (1 = run opt... now; 2 = run opt... later)
    :DOC:  PROCESS_RUN_DTTM               (date-time of opt... if PROCESS_OPTION = 2)
    :DOC:  RPO_PLAN_TYPE         (1 = user plan; 2 = cost alert plan; 3 = comp. alert plan)

    :ORCL_BEGIN:

        ALTER TABLE ALERT_COST ADD RPO_PLAN_SK INTEGER;
        ALTER TABLE ALERT_COST ADD RPO_PLAN_MEMBER_SK INTEGER;

        ALTER TABLE ALERT_COMP ADD RPO_PLAN_SK INTEGER;
        ALTER TABLE ALERT_COMP ADD RPO_PLAN_MEMBER_SK INTEGER;


        ALTER TABLE RPO_PLAN ADD PROCESS_RUN_DTTM DATE;
        ALTER TABLE RPO_PLAN ADD PROCESS_OPTION INTEGER DEFAULT 1 NOT NULL ;
        ALTER TABLE RPO_PLAN ADD RPO_PLAN_TYPE INTEGER DEFAULT 1 NOT NULL ;


    :ORCL_END:

    :SAS_BEGIN:

        proc sql;
            ALTER TABLE ALERT_COST ADD RPO_PLAN_SK INTEGER;
            ALTER TABLE ALERT_COST ADD RPO_PLAN_MEMBER_SK INTEGER;

            ALTER TABLE ALERT_COMP ADD RPO_PLAN_SK INTEGER;
            ALTER TABLE ALERT_COMP ADD RPO_PLAN_MEMBER_SK INTEGER;


            ALTER TABLE RPO_PLAN ADD PROCESS_RUN_DTTM DATE;
        quit;

        data &m_di_trans..RPO_PLAN;
            set &m_di_trans..RPO_PLAN;
            ATTRIB PROCESS_OPTION LENGTH=4;
            ATTRIB RPO_PLAN_TYPE LENGTH=4;

            PROCESS_OPTION=1;
            RPO_PLAN_TYPE=1;
        RUN;

        proc sql;
            alter table &m_di_trans..RPO_PLAN add NOT NULL (PROCESS_OPTION);
            alter table &m_di_trans..RPO_PLAN add NOT NULL (RPO_PLAN_TYPE);
        quit;

    :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID733892
   :DESCRIPTION:    New tables FA_SCORING_RULE and FA_SCORING_RANGE_RULE for FA
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.


   :ORCL_BEGIN:

        CREATE TABLE FA_SCORING_RULE (
                   FA_SCORING_RULE_SK       INTEGER NOT NULL,
                   WEIGHT                   NUMERIC(12,4),
                   MEASURE                  VARCHAR(40)
        );
        ALTER TABLE FA_SCORING_RULE ADD CONSTRAINT FA_SCORING_RULE_PK PRIMARY KEY (FA_SCORING_RULE_SK);

        CREATE TABLE FA_SCORING_RANGE_RULE (
               FA_SCORING_RANGE_RULE_SK   INTEGER NOT NULL,
                   FA_SCORING_RULE_SK       INTEGER NOT NULL,
                   RANGE_START_VALUE        NUMERIC(12,4),
                   RANGE_END_VALUE          NUMERIC(12,4),
                   VALUE                    NUMERIC(12,4)
        );
        ALTER TABLE FA_SCORING_RANGE_RULE ADD CONSTRAINT FA_SCORING_RANGE_RULE_PK PRIMARY KEY (FA_SCORING_RANGE_RULE_SK);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID739353
   :DESCRIPTION:    Add DOW specs DOW_PROFILE and DAILY_FCST_METHOD
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'DOW_PROFILE';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DOW_PROFILE','DOW','-1','1',NULL);

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'DAILY_FCST_METHOD';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DAILY_FCST_METHOD','DOW','-1','1',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID765135
   :DESCRIPTION:    Change default value for FA spec HOLDOUT_DETAILS_TABLES
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

         UPDATE MODEL_SPEC_DEFAULT SET DEFAULT_SPEC_VALUE = '' WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID762768
   :DESCRIPTION:    Output weighted measurements in scenario_status table for all three candidate weights
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06JUN2011
   :SUPPORT:        Pu Wang and Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      DELETE FROM FA_SCENARIO_STATUS;
      DELETE FROM FA_SCORE;

      ALTER TABLE FA_SCENARIO_STATUS MODIFY MEDIAN_PE NUMERIC(12,4);
      ALTER TABLE FA_SCENARIO_STATUS MODIFY ELASTICITY_TAIL NUMERIC(12,4);
      ALTER TABLE FA_SCENARIO_STATUS MODIFY PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
      ALTER TABLE FA_SCENARIO_STATUS MODIFY MEDIAN_PE_FIT NUMERIC(12,4);
      ALTER TABLE FA_SCENARIO_STATUS MODIFY MAX_HD_RMSE_FIT NUMERIC(12,4);
      ALTER TABLE FA_SCENARIO_STATUS MODIFY SCORE NUMERIC(12,4);

      ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MAPE;
      ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MEAN_PE;
      ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MAPE_FIT;
      ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MEAN_PE_FIT;

      ALTER TABLE FA_SCENARIO_STATUS ADD
      (
        INV_WEIGHTED_MAPE NUMERIC(12,4),
        INV_WEIGHTED_MEAN_PE NUMERIC(12,4),
        SALES_WEIGHTED_MAPE NUMERIC(12,4),
        SALES_WEIGHTED_MEAN_PE NUMERIC(12,4),
        REVENUE_WEIGHTED_MAPE NUMERIC(12,4),
        REVENUE_WEIGHTED_MEAN_PE NUMERIC(12,4),
        INV_WEIGHTED_MAPE_FIT NUMERIC(12,4),
        INV_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4),
        SALES_WEIGHTED_MAPE_FIT NUMERIC(12,4),
        SALES_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4),
        REVENUE_WEIGHTED_MAPE_FIT NUMERIC(12,4),
        REVENUE_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4)
      );

      ALTER TABLE FA_SCORE MODIFY MEDIAN_PE NUMERIC(12,4);
      ALTER TABLE FA_SCORE MODIFY ELASTICITY_TAIL NUMERIC(12,4);
      ALTER TABLE FA_SCORE MODIFY PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
      ALTER TABLE FA_SCORE MODIFY MEDIAN_PE_FIT NUMERIC(12,4);
      ALTER TABLE FA_SCORE MODIFY MAX_HD_RMSE_FIT NUMERIC(12,4);
      ALTER TABLE FA_SCORE MODIFY SCORE NUMERIC(12,4);

      ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MAPE;
      ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MEAN_PE;
      ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MAPE_FIT;
      ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MEAN_PE_FIT;

      ALTER TABLE FA_SCORE ADD
      (
        INV_WEIGHTED_MAPE NUMERIC(12,4),
        INV_WEIGHTED_MEAN_PE NUMERIC(12,4),
        SALES_WEIGHTED_MAPE NUMERIC(12,4),
        SALES_WEIGHTED_MEAN_PE NUMERIC(12,4),
        REVENUE_WEIGHTED_MAPE NUMERIC(12,4),
        REVENUE_WEIGHTED_MEAN_PE NUMERIC(12,4),
        INV_WEIGHTED_MAPE_FIT NUMERIC(12,4),
        INV_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4),
        SALES_WEIGHTED_MAPE_FIT NUMERIC(12,4),
        SALES_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4),
        REVENUE_WEIGHTED_MAPE_FIT NUMERIC(12,4),
        REVENUE_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4)
      );


   :ORCL_END:

   :SAS_BEGIN:

        proc sql;
         DELETE FROM FA_SCENARIO_STATUS;
         DELETE FROM FA_SCORE;

         ALTER TABLE FA_SCENARIO_STATUS MODIFY MEDIAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS MODIFY ELASTICITY_TAIL NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS MODIFY PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS MODIFY MEDIAN_PE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS MODIFY MAX_HD_RMSE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS MODIFY SCORE NUMERIC(12,4);

         ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MAPE;
         ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MEAN_PE;
         ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MAPE_FIT;
         ALTER TABLE FA_SCENARIO_STATUS DROP COLUMN WEIGHTED_MEAN_PE_FIT;

         ALTER TABLE FA_SCENARIO_STATUS ADD INV_WEIGHTED_MAPE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD INV_WEIGHTED_MEAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD SALES_WEIGHTED_MAPE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD SALES_WEIGHTED_MEAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD REVENUE_WEIGHTED_MAPE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD REVENUE_WEIGHTED_MEAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD INV_WEIGHTED_MAPE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD INV_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD SALES_WEIGHTED_MAPE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD SALES_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD REVENUE_WEIGHTED_MAPE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCENARIO_STATUS ADD REVENUE_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4);

         ALTER TABLE FA_SCORE MODIFY MEDIAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCORE MODIFY ELASTICITY_TAIL NUMERIC(12,4);
         ALTER TABLE FA_SCORE MODIFY PCT_ELASTICITY_DEFAULTED NUMERIC(12,4);
         ALTER TABLE FA_SCORE MODIFY MEDIAN_PE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE MODIFY MAX_HD_RMSE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE MODIFY SCORE NUMERIC(12,4);

         ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MAPE;
         ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MEAN_PE;
         ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MAPE_FIT;
         ALTER TABLE FA_SCORE DROP COLUMN WEIGHTED_MEAN_PE_FIT;

         ALTER TABLE FA_SCORE ADD INV_WEIGHTED_MAPE NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD INV_WEIGHTED_MEAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD SALES_WEIGHTED_MAPE NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD SALES_WEIGHTED_MEAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD REVENUE_WEIGHTED_MAPE NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD REVENUE_WEIGHTED_MEAN_PE NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD INV_WEIGHTED_MAPE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD INV_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD SALES_WEIGHTED_MAPE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD SALES_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD REVENUE_WEIGHTED_MAPE_FIT NUMERIC(12,4);
         ALTER TABLE FA_SCORE ADD REVENUE_WEIGHTED_MEAN_PE_FIT NUMERIC(12,4);

        quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID733774_1
   :DESCRIPTION:    Fix table NUM_GEO_PROD
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE NUM_GEO_PROD ADD NUM_GEO_PRODS INTEGER;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID765897
   :DESCRIPTION:    Separate MilesPoints into two price types
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 08JUN2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :DOC             These changes need to be made in the alter and the seed script.

   :ORCL_BEGIN:

       update VEHICLE_CATEGORY set VEHICLE_CATEGORY_NM='Miles', VEHICLE_CATEGORY_DESC='Buy N1 of P1 [ and N2 of P2 ] and get M Miles' where VEHICLE_CATEGORY_SK = 51;
       update VEHICLE_CATEGORY set VEHICLE_CATEGORY_NM='MilesHigh', VEHICLE_CATEGORY_DESC='Buy N1 of P1 [ and N2 of P2 ] and get M Miles' where VEHICLE_CATEGORY_SK = 52;
       insert into VEHICLE_CATEGORY (VEHICLE_CATEGORY_SK, VEHICLE_CATEGORY_NM, VEHICLE_CATEGORY_DESC, VEHICLE_CATEGORY_TYPE, ACTIVE_FLG, PRICE_FLG)
       values (53, 'Points', 'Buy N1 of P1 [ and N2 of P2 ] and get P Points', 'PRICE', 1, 1);
       insert into VEHICLE_CATEGORY (VEHICLE_CATEGORY_SK, VEHICLE_CATEGORY_NM, VEHICLE_CATEGORY_DESC, VEHICLE_CATEGORY_TYPE, ACTIVE_FLG, PRICE_FLG)
       values (54, 'PointsHigh', 'Buy N1 of P1 [ and N2 of P2 ] and get P Points', 'PRICE', 1, 1);

       update VEHICLE set VEHICLE_CATEGORY_SK = 53 where VEHICLE_SK in (select VEHICLE_SK
                              from VEHICLE, CUSTOM_ATTR
                             where VEHICLE_CATEGORY_SK=51
                               and VEHICLE_SK=OBJECT_SK
                               and CAT_CUSTOM_ATTR_SK=-110
                               and ATTR_VALUE = '2');

       update VEHICLE set VEHICLE_CATEGORY_SK = 54 where VEHICLE_SK in (select VEHICLE_SK
                              from VEHICLE, CUSTOM_ATTR
                             where VEHICLE_CATEGORY_SK=52
                               and VEHICLE_SK=OBJECT_SK
                               and CAT_CUSTOM_ATTR_SK=-117
                               and ATTR_VALUE = '2');

       delete from CAT_CUSTOM_ATTR where CAT_CUSTOM_ATTR_SK in (-110, -117);
       delete from CUSTOM_ATTR where CAT_CUSTOM_ATTR_SK in (-110, -117);

       update CUSTOM_ATTR
        set CAT_CUSTOM_ATTR_SK = CAT_CUSTOM_ATTR_SK - 21
      where CAT_CUSTOM_ATTR_SK <= -104 and CAT_CUSTOM_ATTR_SK >= -109
        and OBJECT_SK in (select VEHICLE_SK from VEHICLE where VEHICLE_CATEGORY_SK = 53);

       update CUSTOM_ATTR
        set CAT_CUSTOM_ATTR_SK = CAT_CUSTOM_ATTR_SK - 20
      where CAT_CUSTOM_ATTR_SK <= -111 and CAT_CUSTOM_ATTR_SK >= -116
        and OBJECT_SK in (select VEHICLE_SK from VEHICLE where VEHICLE_CATEGORY_SK = 54);

       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-125, 53, 7,'BuyCount1',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-126, 53, 7,'BuyAmount1',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-127, 53, 7,'BuyCount2',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-128, 53, 7,'BuyAmount2',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-129, 53, 7,'GetCount',           '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-130, 53, 7,'GetValue',           '', 2);

       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-131, 54, 7,'BuyCount1',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-132, 54, 7,'BuyAmount1',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-133, 54, 7,'BuyCount2',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-134, 54, 7,'BuyAmount2',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-135, 54, 7,'GetCount',           '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-136, 54, 7,'GetValue',           '', 2);

   :ORCL_END:

   :SAS_BEGIN:

   proc sql;

       update VEHICLE_CATEGORY set VEHICLE_CATEGORY_NM='Miles', VEHICLE_CATEGORY_DESC='Buy N1 of P1 [ and N2 of P2 ] and get M Miles' where VEHICLE_CATEGORY_SK = 51;
       update VEHICLE_CATEGORY set VEHICLE_CATEGORY_NM='MilesHigh', VEHICLE_CATEGORY_DESC='Buy N1 of P1 [ and N2 of P2 ] and get M Miles' where VEHICLE_CATEGORY_SK = 52;
       insert into VEHICLE_CATEGORY (VEHICLE_CATEGORY_SK, VEHICLE_CATEGORY_NM, VEHICLE_CATEGORY_DESC, VEHICLE_CATEGORY_TYPE, ACTIVE_FLG, PRICE_FLG)
       values (53, 'Points', 'Buy N1 of P1 [ and N2 of P2 ] and get P Points', 'PRICE', 1, 1);
       insert into VEHICLE_CATEGORY (VEHICLE_CATEGORY_SK, VEHICLE_CATEGORY_NM, VEHICLE_CATEGORY_DESC, VEHICLE_CATEGORY_TYPE, ACTIVE_FLG, PRICE_FLG)
       values (54, 'PointsHigh', 'Buy N1 of P1 [ and N2 of P2 ] and get P Points', 'PRICE', 1, 1);

       create table WORK.VEHICLE2 as select * from VEHICLE;

       update VEHICLE set VEHICLE_CATEGORY_SK = 53 where VEHICLE_SK in (select VEHICLE_SK
                              from WORK.VEHICLE2, CUSTOM_ATTR
                             where VEHICLE_CATEGORY_SK=51
                               and VEHICLE_SK=OBJECT_SK
                               and CAT_CUSTOM_ATTR_SK=-110
                               and ATTR_VALUE = '2');

       update VEHICLE set VEHICLE_CATEGORY_SK = 54 where VEHICLE_SK in (select VEHICLE_SK
                              from WORK.VEHICLE2, CUSTOM_ATTR
                             where VEHICLE_CATEGORY_SK=52
                               and VEHICLE_SK=OBJECT_SK
                               and CAT_CUSTOM_ATTR_SK=-117
                               and ATTR_VALUE = '2');

       delete from CAT_CUSTOM_ATTR where CAT_CUSTOM_ATTR_SK in (-110, -117);
       delete from CUSTOM_ATTR where CAT_CUSTOM_ATTR_SK in (-110, -117);

       update CUSTOM_ATTR
        set CAT_CUSTOM_ATTR_SK = CAT_CUSTOM_ATTR_SK - 21
      where CAT_CUSTOM_ATTR_SK <= -104 and CAT_CUSTOM_ATTR_SK >= -109
        and OBJECT_SK in (select VEHICLE_SK from VEHICLE where VEHICLE_CATEGORY_SK = 53);

       update CUSTOM_ATTR
        set CAT_CUSTOM_ATTR_SK = CAT_CUSTOM_ATTR_SK - 20
      where CAT_CUSTOM_ATTR_SK <= -111 and CAT_CUSTOM_ATTR_SK >= -116
        and OBJECT_SK in (select VEHICLE_SK from VEHICLE where VEHICLE_CATEGORY_SK = 54);

       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-125, 53, 7,'BuyCount1',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-126, 53, 7,'BuyAmount1',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-127, 53, 7,'BuyCount2',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-128, 53, 7,'BuyAmount2',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-129, 53, 7,'GetCount',           '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-130, 53, 7,'GetValue',           '', 2);

       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-131, 54, 7,'BuyCount1',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-132, 54, 7,'BuyAmount1',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-133, 54, 7,'BuyCount2',          '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-134, 54, 7,'BuyAmount2',         '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-135, 54, 7,'GetCount',           '', 2);
       insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-136, 54, 7,'GetValue',           '', 2);

       quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID761590_2
   :DESCRIPTION:    Add table for promotion specific cost fact
   :VERSION:        D3MICM52, M2MI42
   :DATE_OF_CHANGE: 08JUN2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


        CREATE TABLE RPP_PLAN_COST_FACT
        (
           PLAN_SK INTEGER NOT NULL,
           PROD_HIER_SK INTEGER NOT NULL,
           GEO_HIER_SK INTEGER NOT NULL,
           COST NUMERIC(12,2) NOT NULL
        )
        ;


       CREATE INDEX RPP_PLAN_COST_FACT_IX1 ON RPP_PLAN_COST_FACT
       (
           PLAN_SK
       )
       ;

   :ORCL_END:


   :SAS_BEGIN:

      proc sql;

        CREATE TABLE RPP_PLAN_COST_FACT
        (
           PLAN_SK INTEGER NOT NULL,
           PROD_HIER_SK INTEGER NOT NULL,
           GEO_HIER_SK INTEGER NOT NULL,
           COST NUMERIC(12,2) NOT NULL
        )
        ;

   create index PLAN_SK on RPP_PLAN_COST_FACT(PLAN_SK);

      quit;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0661257
   :DESCRIPTION:    NF: Adjust store_order_min and max for stored inventory
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 10JUN2011
   :SUPPORT:        Laiza DelaFuente
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
      ALTER TABLE REQUEST ADD ADJUST_ORDER_QTY_MIN_FLG INTEGER;
      ALTER TABLE REQUEST ADD ADJUST_ORDER_QTY_MAX_FLG INTEGER;
   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID767638
   :DESCRIPTION:    Change model specs DOW_PROFILE and DAILY_FCST_METHOD component from DOW to FCST
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'DOW_PROFILE';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DOW_PROFILE','FCST','1','1',NULL);
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DOW_PROFILE','FCST','2','1',NULL);

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'DAILY_FCST_METHOD';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DAILY_FCST_METHOD','FCST','1','1',NULL);
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DAILY_FCST_METHOD','FCST','2','1',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID768125
   :DESCRIPTION:    Modify DATA_CONFIG_TEMPLATE table to support DOW component
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE DATA_CONFIG_TEMPLATE DROP COLUMN INCLUDE_TS;
       ALTER TABLE DATA_CONFIG_TEMPLATE DROP COLUMN INCLUDE_REG;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_GEO_LVL TO DOW_GEO_LVL;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_PROD_LVL TO DOW_PROD_LVL;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_BY_GEO_LVL TO DOW_BY_GEO_LVL;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_BY_PROD_LVL TO DOW_BY_PROD_LVL;

   :ORCL_END:


   :DB2_BEGIN:

       ALTER TABLE DATA_CONFIG_TEMPLATE DROP COLUMN INCLUDE_TS;
       ALTER TABLE DATA_CONFIG_TEMPLATE DROP COLUMN INCLUDE_REG;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_GEO_LVL TO DOW_GEO_LVL;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_PROD_LVL TO DOW_PROD_LVL;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_BY_GEO_LVL TO DOW_BY_GEO_LVL;
       ALTER TABLE DATA_CONFIG_TEMPLATE RENAME COLUMN FCST_BY_PROD_LVL TO DOW_BY_PROD_LVL;
       REORG TABLE DATA_CONFIG_TEMPLATE;

   :DB2_END:

   :SAS_BEGIN:

      proc sql;
       ALTER TABLE DATA_CONFIG_TEMPLATE DROP COLUMN INCLUDE_TS;
       ALTER TABLE DATA_CONFIG_TEMPLATE DROP COLUMN INCLUDE_REG;
      quit;

      proc datasets library=&m_di_trans nolist;
         modify DATA_CONFIG_TEMPLATE ;
         rename FCST_GEO_LVL = DOW_GEO_LVL;
         rename FCST_PROD_LVL = DOW_PROD_LVL;
         rename FCST_BY_GEO_LVL = DOW_BY_GEO_LVL;
         rename FCST_BY_PROD_LVL = DOW_BY_PROD_LVL;
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID767774
   :DESCRIPTION:    Drop table MA_SCENARIO_STATUS from schema
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MA_SCENARIO_STATUS

   :ORCL_BEGIN:

      DROP TABLE MA_SCENARIO_STATUS;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID767635
   :DESCRIPTION:    Add DOW spec DOW_EVENT_PROD_AGG
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15JUN2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

      DELETE FROM MODEL_SPEC_DEFAULT WHERE SPEC_NM = 'DOW_EVENT_PROD_AGG';
      INSERT INTO MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
         VALUES ('DOW_EVENT_PROD_AGG','DOW','-1','0',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID768006
   :DESCRIPTION:    Add plan setting and pricing rule for allow markdown during promo
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16JUN2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE MDO_PLAN ADD ALLOW_MARKDN_DURING_PROMO_CD INTEGER;

      INSERT INTO GEO_PROD_SETTING (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
      VALUES (28,1,1,1,53,1,1,1,2,1);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID768547
   :DESCRIPTION:    Support Style-level Configurations in client
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUN2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_BUY ADD USE_SHARED_PACK_CONFIGS INTEGER ;
      ALTER TABLE PKO_DELIVERY ADD USE_SHARED_PACK_CONFIGS INTEGER ;


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID763412
   :DESCRIPTION:    Store level plan imports
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUN2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE PKOPT_PLANNED_QTY (
        PLANNED_QTY_SK INTEGER NOT NULL,
        IMPORT_ID INTEGER NOT NULL,
        PROD_ID VARCHAR(32) NOT NULL,
        PROD_HIER_SK INTEGER,
        GEO_ID VARCHAR(32) NOT NULL,
        GEO_HIER_SK INTEGER,
        QTY INTEGER NOT NULL,
        PRIMARY KEY (PLANNED_QTY_SK)
      ) ;

      CREATE SEQUENCE SEQ_PLANNED_QTY_SK START WITH 100000;

      CREATE INDEX PKOPT_PLANNED_QTY_IX1 ON PKOPT_PLANNED_QTY
      (
         IMPORT_ID
      ) ;

      CREATE INDEX PKOPT_PLANNED_QTY_IX2 ON PKOPT_PLANNED_QTY
      (
         PROD_ID
      ) ;

      CREATE TABLE PKO_EXTERNAL_NEED_SUMMARY
      (
         PKO_EXTERNAL_NEED_SUM_SK           INTEGER NOT NULL,
         PKO_NEED_LOCATION_GROUP_SK         INTEGER NOT NULL,
         NEED_DT                            DATE,
         NEED                               INTEGER NOT NULL,
         DELIVERY_SEQUENCE_ID               INTEGER NOT NULL,
         PROD_HIER_SK                       INTEGER NOT NULL,
         IMPORT_ID                          INTEGER NOT NULL,
         PRIMARY KEY (PKO_EXTERNAL_NEED_SUM_SK)
      ) ;

      CREATE SEQUENCE SEQ_PKO_EXTERNAL_NEED_SUM_SK START WITH 100000;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

          CREATE TABLE PKOPT_PLANNED_QTY (
            PLANNED_QTY_SK INTEGER NOT NULL,
            IMPORT_ID INTEGER NOT NULL,
            PROD_ID VARCHAR(32) NOT NULL,
            PROD_HIER_SK INTEGER,
            GEO_ID VARCHAR(32) NOT NULL,
            GEO_HIER_SK INTEGER,
            QTY INTEGER NOT NULL
          ) ;

          ALTER TABLE PKOPT_PLANNED_QTY ADD CONSTRAINT PKOPT_PLANNED_QTY PRIMARY KEY (PLANNED_QTY_SK);

          CREATE INDEX IMPORT_ID ON PKOPT_PLANNED_QTY
          (
             IMPORT_ID
          ) ;

          CREATE INDEX PROD_ID ON PKOPT_PLANNED_QTY
          (
             PROD_ID
          ) ;

          CREATE TABLE PKO_EXTERNAL_NEED_SUMMARY
          (
             PKO_EXTERNAL_NEED_SUM_SK           INTEGER NOT NULL,
             PKO_NEED_LOCATION_GROUP_SK         INTEGER NOT NULL,
             NEED_DT                            DATE,
             NEED                               INTEGER NOT NULL,
             DELIVERY_SEQUENCE_ID               INTEGER NOT NULL,
             PROD_HIER_SK                       INTEGER NOT NULL,
             IMPORT_ID                          INTEGER NOT NULL
          ) ;

          ALTER TABLE PKO_EXTERNAL_NEED_SUMMARY ADD CONSTRAINT PKO_EXTERNAL_NEED_SUMMARY PRIMARY KEY (PKO_EXTERNAL_NEED_SUM_SK);

      quit;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0767188
   :DESCRIPTION:    NF: Packopt Schema change for shared pack configs by style
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUN2011
   :SUPPORT:        Laiza DelaFuente
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.
   :CHKTABLES:      &m_di_trans..REQ_PACKREC_SETTING

   :ORCL_BEGIN:
      ALTER TABLE REQ_PACKREC_SETTING ADD USE_SHARED_PACK_CONFIGS INTEGER;
   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID763412_1
   :DESCRIPTION:    Store level plan imports
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22JUN2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKOPT_PLANNED_QTY DROP COLUMN PROD_HIER_SK ;
      ALTER TABLE PKOPT_PLANNED_QTY DROP COLUMN GEO_HIER_SK ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID769264
   :DESCRIPTION:    SKU x Store Minimums in Client
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22JUN2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_DELIVERY ADD SKU_MIN INTEGER ;
      ALTER TABLE PKO_STORE_NEED ADD SKU_MIN INTEGER ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID733774_2
   :DESCRIPTION:    Remove COVERAGE_INPUT table and COVERAGE_OUTPUT user_nm column.
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DROP TABLE COVERAGE_INPUT;


       DROP TABLE COVERAGE_OUTPUT;
       CREATE TABLE COVERAGE_OUTPUT
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL,
           PRIMARY KEY(PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD)
       );

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

      DROP TABLE COVERAGE_INPUT;
      CREATE TABLE COVERAGE_OUTPUT
       (
           PROD_HIER_SK                  INTEGER NOT NULL,
           PROD_HIER_ASSOC_CD            INTEGER NOT NULL,
           GEO_HIER_SK                   INTEGER NOT NULL,
           GEO_HIER_ASSOC_CD             INTEGER NOT NULL
       );
      ALTER TABLE COVERAGE_OUTPUT ADD CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK, PROD_HIER_ASSOC_CD, GEO_HIER_SK, GEO_HIER_ASSOC_CD) ;

      quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID763412_2
   :DESCRIPTION:    Store level plan imports
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 27JUN2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_IMPORTED_NEED ADD TOTAL INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID769228
   :DESCRIPTION:    Remove products from a delivery
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28JUN2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE PKO_NEED_LOCGRP_PRODUCT
      (
              PKO_NEED_LOCGRP_PRODUCT_SK         INTEGER NOT NULL,
              PKO_NEED_LOCATION_GROUP_SK         INTEGER NOT NULL,
              PROD_HIER_SK                       INTEGER NOT NULL,
               PRIMARY KEY (PKO_NEED_LOCGRP_PRODUCT_SK)
      )
      ;

      CREATE SEQUENCE SEQ_PKO_NEED_LOCGRP_PRODUCT_SK START WITH 100000;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

          CREATE TABLE PKO_NEED_LOCGRP_PRODUCT
          (
                  PKO_NEED_LOCGRP_PRODUCT_SK         INTEGER NOT NULL,
                  PKO_NEED_LOCATION_GROUP_SK         INTEGER NOT NULL,
                  PROD_HIER_SK                       INTEGER NOT NULL
          )
          ;
          ALTER TABLE PKO_NEED_LOCGRP_PRODUCT ADD CONSTRAINT PKO_NEED_LOCGRP_PRODUCT PRIMARY KEY (PKO_NEED_LOCGRP_PRODUCT_SK);
       quit;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID761590_3
   :DESCRIPTION:    Add cost type column to promotion specific cost fact
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 01JUL2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


      ALTER TABLE RPP_PLAN_COST_FACT ADD COST_TYPE INTEGER;

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID764696
   :DESCRIPTION:    Adding new columns etl_stg2dm & sort_order to table_partition_meta.
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04JUL2011
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE TABLE_PARTITION_META ADD ETL_STG2DM INTEGER ;
      ALTER TABLE TABLE_PARTITION_META ADD SORT_ORDER varchar(255);

      delete from TABLE_PARTITION_META;
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ALLOWED_PRICE_CHG_DATE',1,0,0,null,'PROD_HIER_SK GEO_HIER_ASSOC_CD GEO_HIER_SK ALLOWED_DATE PRICE_TYPE PRIORITY');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_GEO_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_GEO_HIER_ASSOC_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_GEO_LVL',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_GEO_SCOPE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_HIERARCHY_HISTORY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_INPUT_GEO_LVL',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_INPUT_PROD_LVL',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_MAP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_PROD_DM',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_PROD_HIER_ASSOC_DM',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_PROD_LVL',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_PROD_SCOPE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_REG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_SPEC',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTR_SPEC_PREV',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTRIBUTE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('ATTRIBUTE_HISTORY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BASE_FORECAST',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BASE_FORECAST_AVG',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BASE_FORECAST_OVERRIDE_GP',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BASE_FORECAST_OVERRIDE_GP_LOW',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BASE_FORECAST_OVERRIDE_MG',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BAYESIAN_MODEL',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('BUDGET',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CLR_DC_INV_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CLR_EFF_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CLR_INV_AGING_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CLR_ITEM_SEL_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CLR_MD_PROJECTION_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CLR_MD_PROJECTION_REPORT_WEEKLY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COMP_PRICE_FACT',0,0,0,null,'GEO_HIER_SK PROD_HIER_SK COMPETITOR_SK PRICE_TYPE START_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COMP_PRICE_FACT_CURRENT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COMP_PRICE_VALIDITY_RULE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COMPETITOR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CONFIG_AUDIT_TRAIL',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('CONFIG_GROUP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COST_FACT_CURRENT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK COST_TYPE');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COST_FACT_FUTURE',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK COST_TYPE VALID_FROM_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('COST_FACT_HISTORY',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK COST_TYPE VALID_FROM_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DATA_CONFIG',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DATA_CONFIG_TEMPLATE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DATA_LVL',1,0,0,null,'GEO_LVL PROD_LVL DATE_LVL PROD_HIER_ASSOC_CD GEO_HIER_ASSOC_CD');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DATE_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DATE_HIER_ASSOC_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DATE_LVL',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DEMAND_DISAGG_FACTOR',0,0,0,null,'PROD_HIER_SK GEO_HIER_SK START_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DEMAND_DISAGG_FACTOR_DEFAULT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DISAGG_FACTOR',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DOW_SALES_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK DAY_OF_WEEK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('DOW_EVENT_SALES_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK DAY_OF_WEEK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('EXCEPTION_TYPE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('FIELD_LOOKUP_VALUES',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('FUTURE_RECEIPT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK RECEIPT_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_DATE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_ACCUM_MEASURE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_EXCEPTION',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_OWNED_INV',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_PERFORMANCE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_PURGE_LIST',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_STATUS',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK VALID_FROM_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_PROD_VAT',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEO_STORE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEOGRAPHY_ATTR_LOOKUP',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEOGRAPHY_ATTRIBUTES',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEOGRAPHY_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEOGRAPHY_HIER_ASSOC_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GEOGRAPHY_LVL',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GLOBAL_SETTING',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GLOBAL_SETTING_DETAILS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GLOBAL_SETTING_GROUP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GLOBAL_SETTING_GROUP_MEMBER',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GLOBAL_SETTING_PREV',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('GLOBAL_SETTING_VALUES',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HALO_FACTOR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HALO_GEO_PROD',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HALO_PARAM',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HALO_PRODUCTS',0,0,0,null,'CAUSE_PROD_HIER_SK EFFECT_PROD_HIER_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HALO_VAR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HEDONIC_PRICE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HEDONIC_SCORE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HIERARCHY_ASSOC_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('HIERARCHY_HISTORY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('INVENTORY_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('JOB',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('JOB_INSTANCE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('JOB_INSTANCE_PARAM',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('JOB_STATUS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MKDN_APPR_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_DATA_AGG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_DATA_CALIB_PS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_DATA_LOW',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_EXCEPTION',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_FIT_STAT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_HIER_ASSOC_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD_STATUS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD_STATUS_DETAILS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD_STATUS_INC',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD_STATUS_RULE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD_STATUS_SPEC',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GEO_PROD_STATUS_VALUES',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GROUP',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GROUP_FACTOR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_GROUP_STATS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_PARAM_EST',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_PROD_HIER_ASSOC_DM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC_DEFAULT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC_DETAILS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC_PREV',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC_TEMPLATE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC_VALUES',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MODEL_SPEC_WORKFLOW',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MOVING_HEDONIC_SCORE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MPLN_GEO_PROD_ACCUM_MTS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MPLN_PERIOD_ACTUAL_MTS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MPLN_PERIOD_EST_MTS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MPLN_PERIOD_EST_MTS_HIST',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('MPLN_STORE_EST_MTS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_DM',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_FUTURE_RECEIPT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_GROUP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_GROUP_GEO_SETTINGS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_HIER_DM',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_INVENTORY_FACT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_LVL',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_PACK_GROUP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_PROD',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PACK_TYPE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PERIOD_IN_LIFECYCLE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_GEO_PROD_STATUS',0,0,0,1,'PROD_HIER_SK GEO_HIER_SK VALID_FROM_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_GEO_PROD_STATUS_META',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_PROD_PRTN_MBR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_PROJ_PROD',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_SALES_DATA_SUMMARY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_SALES_FACT',0,0,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_SALES_FACT_META',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_SSD_AGG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_SSD_SRC',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_SSD_SSET',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_STOCKOUT_FACT',0,0,0,1,'PROD_HIER_SK GEO_HIER_SK START_DT END_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_STOCKOUT_FACT_META',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_STR_CLSF',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRF_STR_CLSF_A',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRICE_CHANGE_PRIORITY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRICE_FACT_CURRENT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRICE_FACT_FUTURE',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK VALID_FROM_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRICE_FACT_HISTORY',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK VALID_FROM_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRICE_PROMO_ELASTICITY',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROD_DATA_CONFIG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROD_GEO_HIER_ASSOC',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROD_GEO_RELATION',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROD_LIFECYCLE_CURVE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROD_SIZE_PTCP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROD_SIZESET',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_ATTR_LOOKUP',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_ATTRIBUTES',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_CROSS_EFFECT_SPEC',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_DM',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_HIER_ASSOC_DM',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_LVL',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PRODUCT_RELATION',0,1,0,0,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROMO_FACTOR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROMO_FACTOR_DECOM',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROMO_SALES_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK START_DT END_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROMOTION_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK VEHICLE_SK CONDITION_TYPE RANGE_START_DISC_PCT RANGE_END_DISC_PCT START_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PROMOTION_FACT_FUTURE',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK VEHICLE_SK CONDITION_TYPE RANGE_START_DISC_PCT RANGE_END_DISC_PCT START_DT');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('PSYCHOLOGICAL_POINTS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REFERENCE_VALUES',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REG_COST_CHG_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REG_COST_HIST_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REG_GM_CHG_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REG_PRC_CHG_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REG_SKU_COST_CHG_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REG_SKU_RETAIL_CHG_REPORT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REPORT_BY_EVENT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REPORT_CATEGORY_X_IMPACT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REPORT_DATA_LVL',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REPORT_DEMAND_DECOM_DATE_SK',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REPORT_MEASURES_BY_PS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('REPORT_MEASURES_DATE_SK',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RETURN_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RETURN_RATE_AVG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_CAL_AGG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_CAT_AGG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_PGSPOT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_PROMOEFF',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_PROMOPLAN',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_PROMOSUMM',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_VENDOR_FUND',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('RPP_VG_SUMMARY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SALES_AVG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SALES_AVG_LOW',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SALES_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SALES_MIX_DAY_OF_WEEK',1,0,0,null,'GEO_HIER_SK PROD_HIER_SK DAY_OF_WEEK');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SCORE_DATA',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SCORING_PARAM',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SCORING_PARAM_UNCAPPED',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SCORING_PARAM_AVG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SCORING_PARAM_CONFIG',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SCORING_PARAM_DEFAULT',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SIZESET',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('SIZESET_MBR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('STORE_CATEGORY',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('STORE_CATEGORY_MBR',0,0,0,null,'GEO_HIER_SK STORE_CATEGORY_ID');
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('STORE_EXCLUDED',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('STR_GRP_MBR',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('TARGET_METRICS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('TREND_SEASONALITY',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('UNACC_DISCOUNT',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('VEHICLE_SUPPORT_MAP',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('VEHICLE_SUPPORT_MAP_PREV',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER) VALUES ('VENDOR',1,0,0,null,null);

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID763266
   :DESCRIPTION:    Specify Carry-over Packs
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06JUL2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_BUY ADD ALLOW_PRIOR_DELIVERY_PACKS INTEGER ;
      ALTER TABLE PKO_DELIVERY ADD ALLOW_PRIOR_DELIVERY_PACKS INTEGER ;
      ALTER TABLE PKO_PACK_PRODUCT_SETTING ADD ALLOW_PRIOR_DELIVERY_PACKS INTEGER ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID749317_2
   :DESCRIPTION:    The system shall allow a user to optimize regular prices by accounting for future promotions.
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04MAY2011
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE RPO_PLAN ADD APPLY_FUTURE_PROMOTIONS INTEGER;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0773201
   :DESCRIPTION:    Add Packopt Request Table REQ_SKU_STORE_MIN
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 07JUL2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

    :ORCL_BEGIN:
          create table REQ_SKU_STORE_MIN (
                REQUEST_ID      INTEGER NOT NULL,
                DELIVERY_ID     INTEGER NOT NULL,
                PROD_ID         VARCHAR(32) NOT NULL,
                GEO_ID          VARCHAR(32) NOT NULL,
                ORDER_MIN       INTEGER NOT NULL,
                PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID, GEO_ID)
          );
    :ORCL_END:

    :SAS_BEGIN:
        data &m_di_trans..REQ_SKU_STORE_MIN;
            attrib REQUEST_ID   length=4;
            attrib DELIVERY_ID  length=4;
            attrib PROD_ID      length=$32;
            attrib GEO_ID       length=$32;
            attrib ORDER_MIN    length=8;
            stop;
        run;
        proc sql;
            alter table &m_di_trans..REQ_SKU_STORE_MIN add
            constraint prim_key PRIMARY KEY (REQUEST_ID, DELIVERY_ID, PROD_ID, GEO_ID);
        quit;

    :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID763270
   :DESCRIPTION:    Determine Packs Across Deliveries
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 07JUL2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE PKO_DELIVERY_TYPE (
         DELIVERY_TYPE_SK INTEGER NOT NULL,
         PURCHASE_ORDER_PLAN_SK INTEGER,
         DELIVERY_TYPE_ID INTEGER NOT NULL,
         DELIVERY_TYPE_NM VARCHAR(40),
         PRIMARY KEY (DELIVERY_TYPE_SK)
      ) ;

      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(100, 'Floor Set', 1);
      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(101, 'Flow One', 2);
      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(102, 'Promotion Buy', 3);
      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(103, 'Flow Two', 4);
      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(104, 'Flow Three', 5);
      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(105, 'Sell Off', 6);
      INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(106, 'Transition', 7);

      CREATE SEQUENCE SEQ_DELIVERY_TYPE_SK START WITH 100000;

      ALTER TABLE PKO_DELIVERY ADD DELIVERY_TYPE_ID INTEGER;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
          CREATE TABLE PKO_DELIVERY_TYPE (
             DELIVERY_TYPE_SK INTEGER NOT NULL,
             PURCHASE_ORDER_PLAN_SK INTEGER,
             DELIVERY_TYPE_ID INTEGER NOT NULL,
             DELIVERY_TYPE_NM VARCHAR(40)
          ) ;
          ALTER TABLE PKO_DELIVERY_TYPE ADD CONSTRAINT PRIM_KEY PRIMARY KEY (DELIVERY_TYPE_SK) ;

          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(100, 'Floor Set', 1);
          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(101, 'Flow One', 2);
          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(102, 'Promotion Buy', 3);
          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(103, 'Flow Two', 4);
          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(104, 'Flow Three', 5);
          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(105, 'Sell Off', 6);
          INSERT INTO PKO_DELIVERY_TYPE (DELIVERY_TYPE_SK, DELIVERY_TYPE_NM, DELIVERY_TYPE_ID) VALUES(106, 'Transition', 7);

          ALTER TABLE PKO_DELIVERY ADD DELIVERY_TYPE_ID INTEGER;

      quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_NOT_NULL_CLUSTER_ID
   :DESCRIPTION:    Drop NOT NULL Constraint on CLUSTER_ID
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14JUL2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        ALTER TABLE REQ_PROD_GEO_PROFILE MODIFY (CLUSTER_ID NULL);

   :ORCL_END:

   :SAS_BEGIN:

      %di_util_drop_constraint(m_lib=di_trans, m_table=REQ_PROD_GEO_PROFILE, m_column=%str(CLUSTER_ID), m_constraint=%str(not null));

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID774840
   :DESCRIPTION:    Update default value for PS_xx specs
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 17JUL2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

         UPDATE MODEL_SPEC_DEFAULT SET DEFAULT_SPEC_VALUE = '0' WHERE SPEC_NM = 'PS_1';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      RENAME_PRIMARY_KEY_02
   :DESCRIPTION:    Rename primary keys
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14JUL2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :DOC:   S0774105
   :DOC:   Renamed RENAME_PRIMARY_KEY_01 to RENAME_PRIMARY_KEY_02 to run this change again
   :DOC:      since the unique keys in oracle corresponding to primary key were not being renamed.

   :ORCL_BEGIN:


        %di_util_rename_pk(m_table_name=%str(RPO_PLAN_RESULT),              m_pk_name=%str(RPO_PLAN_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(RPO_PLAN_MEMBER_RESULT),       m_pk_name=%str(RPO_PLAN_MEMBER_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(RPO_PLAN_MEMBER_RESULT_KPI),   m_pk_name=%str(RPO_PLAN_MEMBER_RESULT_KPI_PK));
        %di_util_rename_pk(m_table_name=%str(RPO_PLAN_MEMBER_AGG),          m_pk_name=%str(RPO_PLAN_MEMBER_AGG_PK));
        %di_util_rename_pk(m_table_name=%str(RPO_GEO_PROD_AGG),             m_pk_name=%str(RPO_GEO_PROD_AGG_PK));
        %di_util_rename_pk(m_table_name=%str(COMP_PRICE_RULE_RESULT),       m_pk_name=%str(COMP_PRICE_RULE_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(MARGIN_RULE_RESULT),           m_pk_name=%str(MARGIN_RULE_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(MIN_MAX_RULE_RESULT),          m_pk_name=%str(MIN_MAX_RULE_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(PRICING_RELN_RULE_RESULT),     m_pk_name=%str(PRICING_RELN_RULE_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(GRID_RULE_RESULT),             m_pk_name=%str(GRID_RULE_RESULT_PK));
        %di_util_rename_pk(m_table_name=%str(SAME_PRICE_SET_RELN),          m_pk_name=%str(SAME_PRICE_SET_RELN_PK));
        %di_util_rename_pk(m_table_name=%str(SAME_PRICE_SET),               m_pk_name=%str(SAME_PRICE_SET_PK));
        %di_util_rename_pk(m_table_name=%str(PROCESS_MESSAGE_DETAIL),       m_pk_name=%str(PROCESS_MESSAGE_DETAIL_PK));
        %di_util_rename_pk(m_table_name=%str(RPP_PLAN_PROD_ASGMNT),         m_pk_name=%str(RPP_PLAN_PROD_ASGMNT_PK));
        %di_util_rename_pk(m_table_name=%str(CUSTOM_ATTR),                  m_pk_name=%str(CUSTOM_ATTR_PK));
        %di_util_rename_pk(m_table_name=%str(RPP_PLAN_METRIC),              m_pk_name=%str(RPP_PLAN_METRIC_PK));
        %di_util_rename_pk(m_table_name=%str(RPP_PLAN_PROD_METRICS),        m_pk_name=%str(RPP_PLAN_PROD_METRICS_PK));
        %di_util_rename_pk(m_table_name=%str(RPP_NOTIFICATION),             m_pk_name=%str(RPP_NOTIFICATION_PK));
        %di_util_rename_pk(m_table_name=%str(PROCESS_MESSAGE_DETAIL),       m_pk_name=%str(PROCESS_MESSAGE_DETAIL_PK));
        %di_util_rename_pk(m_table_name=%str(AGGREGATION_METRICS),          m_pk_name=%str(AGGREGATION_METRICS_PK));
        %di_util_rename_pk(m_table_name=%str(RPP_PLAN_OPT_SETTING),         m_pk_name=%str(RPP_PLAN_OPT_SETTING_PK));


   :ORCL_END:

   :SAS_BEGIN:
       *  Do not rename primary keys since performance is very slow and renaming is of no use. ;
       proc sql;
       quit;
   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      PRF_COPY_SIZESET_CHG
   :DESCRIPTION:    Size Profiling 32 Schema changes part 4
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14JUL2011
   :SUPPORT:        Yuwang Wang
   :FREQUENCY:      ONCE

   :DOC:   S0761840

   :ORCL_BEGIN:

        ALTER TABLE PRF_SIZESET DROP COLUMN USER_MODIFIED_FLG;
        ALTER TABLE PRF_SIZESET ADD COPIED_FLG INTEGER;
        ALTER TABLE PRF_PLAN ADD COPIED_FLG INTEGER;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID776254
   :DESCRIPTION:    Custom Price Type support
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 11JUL2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (40, 'CustomPrice1', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (41, 'CustomPrice2', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (42, 'CustomPrice3', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (43, 'CustomPrice4', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (44, 'CustomPrice5', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (45, 'CustomPrice6', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (46, 'CustomPrice7', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (47, 'CustomPrice8', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (48, 'CustomPrice9', 'Custom Price', 0, 2, 'PRICE');
      INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
      VALUES  (49, 'CustomPrice10', 'Custom Price', 0, 2, 'PRICE');

     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-140, 40, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-141, 40, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-142, 41, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-143, 41, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-144, 42, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-145, 42, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-146, 43, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-147, 43, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-148, 44, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-149, 44, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-150, 45, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-151, 45, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-152, 46, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-153, 46, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-154, 47, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-155, 47, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-156, 48, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-157, 48, 7,'ValueType', '1', 3);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-158, 49, 7,'Value',     '0', 1);
     insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-159, 49, 7,'ValueType', '1', 3);

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID776757
   :DESCRIPTION:    Rename column value to rule_value in FA_SCORING_RANGE_RULE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUL2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE FA_SCORING_RANGE_RULE RENAME COLUMN VALUE TO RULE_VALUE;

   :ORCL_END:


   :DB2_BEGIN:

       ALTER TABLE FA_SCORING_RANGE_RULE DROP COLUMN VALUE;
       ALTER TABLE FA_SCORING_RANGE_RULE ADD  COLUMN RULE_VALUE NUMERIC(12,4);

       REORG TABLE FA_SCORING_RANGE_RULE;

   :DB2_END:


   :SAS_BEGIN:

      proc datasets library=&m_di_trans nolist;
         modify FA_SCORING_RANGE_RULE ;
         rename VALUE=RULE_VALUE;
      quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID776757_1
   :DESCRIPTION:    Rename column rule_value to range_value in FA_SCORING_RANGE_RULE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUL2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE FA_SCORING_RANGE_RULE RENAME COLUMN RULE_VALUE TO RANGE_VALUE;

   :ORCL_END:


   :DB2_BEGIN:

       ALTER TABLE FA_SCORING_RANGE_RULE DROP COLUMN RULE_VALUE;
       ALTER TABLE FA_SCORING_RANGE_RULE ADD  COLUMN RANGE_VALUE NUMERIC(12,4);

       REORG TABLE FA_SCORING_RANGE_RULE;

   :DB2_END:


   :SAS_BEGIN:

      proc datasets library=&m_di_trans nolist;
         modify FA_SCORING_RANGE_RULE ;
         rename RULE_VALUE=RANGE_VALUE;
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID753658
   :DESCRIPTION:    Data Mapping Algorithm That Takes The Number Of Active Plan Members Into Account...
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04MAY2011
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PROCESS_STATUS ADD PROCESS_WEIGHT INTEGER DEFAULT 0;

   :ORCL_END:

   :SAS_BEGIN:

       proc sql;
          alter table &m_di_trans..PROCESS_STATUS add PROCESS_WEIGHT num 4;
          update &m_di_trans..PROCESS_STATUS set PROCESS_WEIGHT=0;
       quit;

       proc sql;
            alter table &m_di_trans..PROCESS_STATUS add NOT NULL (PROCESS_WEIGHT);
       quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID777046
   :DESCRIPTION:    Show store totals in pack totals view
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUL2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_PACK_TOTAL ADD NUM_STORES INTEGER DEFAULT 0 NOT NULL;

   :ORCL_END:

   :SAS_BEGIN:

       proc sql;
          alter table &m_di_trans..PKO_PACK_TOTAL ADD NUM_STORES INTEGER ;
          update &m_di_trans..PKO_PACK_TOTAL set NUM_STORES=0;
       quit;

       proc sql;
            alter table &m_di_trans..PKO_PACK_TOTAL add NOT NULL (NUM_STORES);
       quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID776254_2
   :DESCRIPTION:    Custom Price Type support
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 22JUL2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

            delete from vehicle_category where vehicle_category_sk >= 40 and vehicle_category_sk <=49;

            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (40, 'Custom1', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (41, 'Custom2', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (42, 'Custom3', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (43, 'Custom4', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (44, 'Custom5', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (45, 'Custom6', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (46, 'Custom7', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (47, 'Custom8', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (48, 'Custom9', 'Custom Price', 0, 2, 'PRICE');
            INSERT INTO vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG, PRICE_FLG, VEHICLE_CATEGORY_TYPE)
            VALUES  (49, 'Custom0', 'Custom Price', 0, 2, 'PRICE');

            delete from CAT_CUSTOM_ATTR where CAT_CUSTOM_ATTR_SK <= -140 and CAT_CUSTOM_ATTR_SK >= -159;

            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-140, 40, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-141, 40, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-142, 40, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-143, 41, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-144, 41, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-145, 41, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-146, 42, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-147, 42, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-148, 42, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-149, 43, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-150, 43, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-151, 43, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-152, 44, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-153, 44, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-154, 44, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-155, 45, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-156, 45, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-157, 45, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-158, 46, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-159, 46, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-160, 46, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-161, 47, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-162, 47, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-163, 47, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-164, 48, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-165, 48, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-166, 48, 7,'PriceConflict', '1', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-167, 49, 7,'Value',         '0', 2);
            insert into CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-168, 49, 7,'ValueType',     '1', 2);
            INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE) VALUES  (-169, 49, 7,'PriceConflict', '1', 2);

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID773092
   :DESCRIPTION:    Update Objective_SK to scope_SK in RPP_PLAN where objective_SK is null
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21JUL2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      UPDATE RPP_PLAN set OBJECTIVE_SK = SCOPE_SK where OBJECTIVE_SK is NULL;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID772003
   :DESCRIPTION:    Vendor deals on regional plans
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 26JUL2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      alter table RPP_VENDOR_DEAL add STATE_CD INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID778001
   :DESCRIPTION:    SUPPORT FOR FORECAST OVERRIDE EXTENSIONS
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 28JUL2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE RPP_PLAN ADD FCST_UNITS_ADJUST_TYPE INTEGER;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID778944
   :DESCRIPTION:    Drop model spec LCP_CURVE_TYPE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28JUL2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'LCP_CURVE_TYPE';

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID778947
   :DESCRIPTION:    Add model spec LCP_FACTOR_UPPER_BOUND
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28JUL2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'LCP_FACTOR_UPPER_BOUND';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('LCP_FACTOR_UPPER_BOUND','ALL','1','100',NULL);
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('LCP_FACTOR_UPPER_BOUND','ALL','2','100',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID779284
   :DESCRIPTION:    Increase PRICE_VALUE_LIST in MDO_PLAN to hold enough values for price ranges
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28JUL2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :DOC: The candidate discount values by regular price range will be stored in
   :DOC: MDO_PLAN.PRICE_VALUE_LIST using a string encoding similar to the string encoding
   :DOC: used for PRICE_ENDING_LIST. The format will consist of a comma-delimited list
   :DOC: of values (like today). If there are multiple ranges and the preceding list was
   :DOC: not the final range, then this is followed by a colon (:) and the end of the
   :DOC: price range and a pipe (|) delimiter which will precede the next list of values.
   :DOC: Note that the range boundary value specifies the inclusive end of the previous
   :DOC: range and the exclusive beginning of the next range.
   :DOC: Example - three ranges (0.00-29.99, 30.00-99.99, 100.00-max):
   :DOC:    1.99,9.99,19.99:29.99|24.99,39.99,59.99,79.99:99.99|49.99,79.99,99.99,149


   :ORCL_BEGIN:

      alter table MDO_PLAN modify PRICE_VALUE_LIST VARCHAR(1000);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID779284_1
   :DESCRIPTION:    Add PRICE_VALUE_RANGE_LIST to PRICE_GRID which will be summary of price range
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 29JUL2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :DOC: This column will be used by MDO Plan for rule lookup for Price_value_list
   :DOC: It is similar to Price_ending_summary_list which is used for type = 3
   :DOC: For existing data, we have to update the values from Price_Grid_Range table
   :DOC: For new entries in Price_grid_range, midtier will have a process to update this value
   :DOC: from Price_Grid_range table.


   :ORCL_BEGIN:

      alter table PRICE_GRID add PRICE_VALUE_SUMMARY_LIST VARCHAR(1000);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID779284MIG
   :DESCRIPTION:    Add PRICE_VALUE_RANGE_LIST to PRICE_GRID which will be summary of price range
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 29JUL2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;
         create table work.price_grid_summary as
         select pr.price_grid_sk,
                pr.price_range_start_val,
                pr.price_range_end_val,
                pr.price_disc_value_list
           from &m_di_trans..price_grid pg,
                &m_di_trans..price_grid_range pr
          where pg.used_by_app = 1
            and pr.price_grid_sk = pg.price_grid_sk
            and pg.price_value_type in (1,2)
          order by pr.price_grid_sk;
      quit;

      data work.price_grid_summary;
         set work.price_grid_summary;
         by price_grid_sk;
         attrib price_value_summary_list length=$1000;
         retain price_value_summary_list '';

         if first.price_grid_sk then price_value_summary_list = '';

         if not missing(price_disc_value_list);

         if first.price_grid_sk and last.price_grid_sk then do;
            price_value_summary_list = price_disc_value_list;
         end;
         else do;
            if first.price_grid_sk or (not last.price_grid_sk) then
               price_value_summary_list = cats(price_value_summary_list,price_disc_value_list,':',left(put(price_range_end_val,22.2)),'|');
            if last.price_grid_sk then
               price_value_summary_list = cats(price_value_summary_list,price_disc_value_list);
         end;
         if last.price_grid_sk then output;
         drop price_range_start_val price_range_end_val price_disc_value_list;
      run;

      %di_dm_trans_update(
         upload_lib=work,
         upload_table=price_grid_summary,
         update_table=price_grid,
         sql= %str(update &m_di_trans..price_grid pg set price_value_summary_list = (SELECT price_value_summary_list
           FROM work.price_grid_summary ps WHERE pg.price_grid_sk = ps.price_grid_sk))
      );


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID742165
   :DESCRIPTION:    Add replicate table ATTRIBUTE into transact schema for Product Search
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01AUG2011
   :SUPPORT:        ERIC YANG
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


    CREATE TABLE ATTRIBUTE
    (
        ATTR_SK   INTEGER NOT NULL,
        ATTR_NM   VARCHAR(40) NOT NULL,
        ATTR_TYPE INTEGER
    )    ;


    ALTER TABLE ATTRIBUTE ADD CONSTRAINT ATTRIBUTE_PK PRIMARY KEY (ATTR_SK) ;

   :ORCL_END:


   :SAS_BEGIN:

      proc sql;

        CREATE TABLE ATTRIBUTE
        (
            ATTR_SK   INTEGER NOT NULL,
            ATTR_NM   VARCHAR(40) NOT NULL,
            ATTR_TYPE INTEGER
        )    ;


        ALTER TABLE ATTRIBUTE ADD CONSTRAINT PRIM_KEY PRIMARY KEY (ATTR_SK) ;

       quit;

   :SAS_END:



:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID742165_2
   :DESCRIPTION:    Get data for ATTRIBUTE table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01AUG2011
   :SUPPORT:        ERIC YANG
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :CHKLIB:         &m_di_data.
   :CHKTABLES:      &m_di_data..ATTRIBUTE

   :DOC:  Migrate data from di_data library to trans library

   :ORCL_BEGIN:


       proc sql noprint;
           select count(*)
           into :_cnt_ATTRIBUTE
           from &m_di_trans..ATTRIBUTE
           ;
       quit;

       %if &_cnt_ATTRIBUTE = 0 %then
       %do;


        %di_dm_trans_append
        (
           di_trans=&m_di_trans.,
           trans_table=ATTRIBUTE,
           append_table=&m_di_data..ATTRIBUTE,
           bulkload=1
        );


       %end;

   :ORCL_END:



:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      CPY_PROD_GEO_ATTRS
   :DESCRIPTION:    Get data for PRODUCT_ATTRIBUTES and GEOGRAPHY_ATTRIBUTES
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01AUG2011
   :SUPPORT:        ERIC YANG
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :CHKLIB:         &m_di_data.
   :CHKTABLES:      &m_di_data..PRODUCT_ATTRIBUTES, &m_di_data..GEOGRAPHY_ATTRIBUTES

   :DOC:  Migrate data from di_data library to trans library

   :ORCL_BEGIN:

       proc sql noprint;
           select count(*)
           into :_cnt_prod_ATTRIBUTE
           from &m_di_trans..PRODUCT_ATTRIBUTES
           ;
       quit;

       %if &_cnt_prod_ATTRIBUTE = 0 %then
       %do;


        %di_dm_trans_append
        (
           di_trans=&m_di_trans.,
           trans_table=product_attributes,
           append_table=&m_di_data..product_attributes,
           bulkload=1
        );


      %end;

       proc sql noprint;
           select count(*)
           into :_cnt_geo_ATTRIBUTE
           from &m_di_trans..GEOGRAPHY_ATTRIBUTES
           ;
       quit;

       %if &_cnt_geo_ATTRIBUTE = 0 %then
       %do;


        %di_dm_trans_append
        (
           di_trans=&m_di_trans.,
           trans_table=GEOGRAPHY_ATTRIBUTES,
           append_table=&m_di_data..GEOGRAPHY_ATTRIBUTES,
           bulkload=1
        );


      %end;



   :ORCL_END:



:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID780082
   :DESCRIPTION:    Remove model spec DAILY_FCST_METHOD
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DAILY_FCST_METHOD';

   :ORCL_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID780102
   :DESCRIPTION:    Add DAILY_MODEL and DAILY_OUTPUT columns to FCST_EXPORT_INPUT table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 03AUG2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :DOC: DAILY_MODEL and DAILY_OUTPUT columns will be added to FCST_EXPORT_INPUT table
   :DOC: 1. daily_model: specifies if the forecast is calculated daily(1) or weekly(0)
   :DOC: 2. daily_output: specifies whether the export will be daily(1) or weekly(0)


   :ORCL_BEGIN:

      alter table FCST_EXPORT_INPUT add DAILY_MODEL INTEGER ;
      alter table FCST_EXPORT_INPUT add DAILY_OUTPUT INTEGER ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID760260_2
   :DESCRIPTION:    DEFAULT OPTIMIZATION SETTINGS...correcting default value
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02AUG2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

   :ORCL_BEGIN:

    update  GEO_PROD_SETTING set SETTING_CEIL = 1.0 where GEO_PROD_SETTING_SK = 20032;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID781186
   :DESCRIPTION:    Remove FA spec Remove FA spec RUN_MDO_ANALYSIS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'RUN_MDO_ANALYSIS';
        delete from FA_SPEC where SPEC_NM = 'RUN_MDO_ANALYSIS';

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID778001_2
   :DESCRIPTION:    SUPPORT FOR FORECAST OVERRIDE EXTENSIONS
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 28JUL2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE RPP_PLAN_PROD_ASGMNT ADD FCST_UNITS_ADJUST_TYPE INTEGER;
      ALTER TABLE RPP_PLAN_PROD_ASGMNT ADD FCST_UNITS_ADJUST NUMERIC(20,3);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ADD_GEO_PROD_RPP_TABLE
   :DESCRIPTION:    New export tables/fields for Promotion Optimization to support report data mart
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 04AUG2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_trans.

   :DOC:    http://sww.sas.com/defects/java/iDefects/WebClient.html?defectid=S0774290


    :ORCL_BEGIN:
          create table GEO_PROD_RPP (
                PROD_HIER_SK                INTEGER NOT NULL,
                GEO_HIER_SK                 INTEGER NOT NULL,
                PLAN_SK                     INTEGER NOT NULL,
                REGULAR_PRICE               NUMERIC(20,3),
                COST                        NUMERIC(20,3),
                MIN_VENDOR_DEAL_COST        NUMERIC(20,3),
                MAX_VENDOR_DEAL_COST        NUMERIC(20,3),
                MIN_PROMOTION_PRICE         NUMERIC(20,3),
                MAX_PROMOTION_PRICE         NUMERIC(20,3),
                BASE_SALES_UNITS            NUMERIC(20,3),
                BASE_SALES_AMT              NUMERIC(20,3),
                BASE_COST_AMT               NUMERIC(20,3),
                FCST_SALES_UNITS            NUMERIC(20,3),
                FCST_SALES_AMT              NUMERIC(20,3),
                FCST_COST_AMT               NUMERIC(20,3),
                ACTUAL_SALES_UNITS          NUMERIC(20,3),
                ACTUAL_SALES_AMT            NUMERIC(20,3),
                ACTUAL_COST_AMT             NUMERIC(20,3)
           );

          ALTER TABLE GEO_PROD_RPP ADD CONSTRAINT GEO_PROD_RPP_PK PRIMARY KEY (PROD_HIER_SK,GEO_HIER_SK,PLAN_SK) ;

    :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID781517
   :DESCRIPTION:    Add model spec COMPUTE_BASELINE_OFFSET
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 08AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'COMPUTE_BASELINE_OFFSET';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('COMPUTE_BASELINE_OFFSET','ALL','1','0',NULL);
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('COMPUTE_BASELINE_OFFSET','ALL','2','0',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID781306
   :DESCRIPTION:    Add model specs DEREG_TOLERANCE_FACTOR, DEREG_TOLERANCE_FACTOR_MINOBS and DEREG_MIN_FACTOR
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 08AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DEREG_TOLERANCE_FACTOR';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('DEREG_TOLERANCE_FACTOR','ALL','-1','3',NULL);
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DEREG_TOLERANCE_FACTOR_MINOBS';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('DEREG_TOLERANCE_FACTOR_MINOBS','ALL','-1','12',NULL);
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DEREG_MIN_FACTOR';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('DEREG_MIN_FACTOR','ALL','-1','0.001',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID781663
   :DESCRIPTION:    Add model specs BASELINE_CF_PR1 and USE_BASELINE_CF
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 08AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASELINE_CF_PR1';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('BASELINE_CF_PR1','ALL','1','1.00',NULL);
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('BASELINE_CF_PR1','ALL','2','1.00',NULL);

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'USE_BASELINE_CF';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('USE_BASELINE_CF','ALL','1','1',NULL);
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('USE_BASELINE_CF','ALL','2','1',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID781594
   :DESCRIPTION:    Add model spec MIN_HIST_INV
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 08AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MIN_HIST_INV';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('MIN_HIST_INV','ALL','-1','3',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      RENAME_COL_COPIED_FLG
   :DESCRIPTION:    Rename COPIED_FLG
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 09AUG2011
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_SIZESET

   :DOC:   http://sww.sas.com/defects/java/iDefects/WebClient.html?defectid=S0782127

   :ORCL_BEGIN:
      ALTER TABLE PRF_SIZESET RENAME COLUMN COPIED_FLG TO CUSTOM_FLG;
      ALTER TABLE PRF_PLAN RENAME COLUMN COPIED_FLG TO CUSTOM_FLG;
   :ORCL_END:

    :SAS_BEGIN:
        proc datasets lib=&m_di_trans. nolist;

            modify  PRF_SIZESET;
            rename copied_flg=custom_flg;
        quit;
        run;
        proc datasets lib=&m_di_trans. nolist;

            modify  PRF_PLAN;
            rename copied_flg=custom_flg;
        quit;
        run;
    :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID782326
   :DESCRIPTION:    Fix MA_SPEC_SEED missing specs and re-check MODEL_SPEC_DEFAULT
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 10AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MAX_FIT_APE' and MODEL_COMP_NM = 'MA' ;
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('MAX_FIT_APE','MA','-1','1000',NULL);
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MAPE_GEO_LVL' and MODEL_COMP_NM = 'MA' ;
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('MAPE_GEO_LVL','MA','-1','1',NULL);
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MAPE_PROD_LVL' and MODEL_COMP_NM = 'MA' ;
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('MAPE_PROD_LVL','MA','-1','1',NULL);
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'LAST_INSAMPLE_WEEK' and MODEL_COMP_NM = 'MA' ;
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('LAST_INSAMPLE_WEEK','MA','-1','',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID782915
   :DESCRIPTION:    Seed FA_SCORING_RULE and FA_SCORING_RANGE_RULE tables
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 12AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from FA_SCORING_RULE;
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (1,0.0,'ELASTICITY_TAIL');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (2,0.0,'INV_WEIGHTED_MAPE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (3,0.0,'INV_WEIGHTED_MAPE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (4,0.0,'INV_WEIGHTED_MEAN_PE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (5,0.0,'INV_WEIGHTED_MEAN_PE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (6,0.0,'MAX_HD_RMSE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (7,0.0,'MEDIAN_PE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (8,0.0,'MEDIAN_PE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (9,0.0,'PCT_ELASTICITY_DEFAULTED');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (10,0.0,'REVENUE_WEIGHTED_MAPE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (11,0.0,'REVENUE_WEIGHTED_MAPE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (12,0.0,'REVENUE_WEIGHTED_MEAN_PE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (13,0.0,'REVENUE_WEIGHTED_MEAN_PE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (14,0.0,'SALES_WEIGHTED_MAPE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (15,0.0,'SALES_WEIGHTED_MAPE_FIT');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (16,0.0,'SALES_WEIGHTED_MEAN_PE');
        insert into FA_SCORING_RULE (FA_SCORING_RULE_SK,WEIGHT,MEASURE)
           values (17,0.0,'SALES_WEIGHTED_MEAN_PE_FIT');

        delete from FA_SCORING_RANGE_RULE;
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (1,1,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (2,2,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (3,3,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (4,4,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (5,5,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (6,6,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (7,7,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (8,8,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (9,9,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (10,10,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (11,11,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (12,12,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (13,13,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (14,14,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (15,15,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (16,16,-99999999.99,99999999.99,0);
        insert into FA_SCORING_RANGE_RULE (FA_SCORING_RANGE_RULE_SK,FA_SCORING_RULE_SK,RANGE_START_VALUE,RANGE_END_VALUE,RANGE_VALUE)
           values (17,17,-99999999.99,99999999.99,0);


   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_INV_FLG
   :DESCRIPTION:    Drop INVENTORY_FLG column from RPP_PLAN_PROD_ASGMNT
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15AUG2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :DOC: S0627607

   :ORCL_BEGIN:


        ALTER TABLE RPP_PLAN_PROD_ASGMNT DROP COLUMN INVENTORY_FLG;


   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ADD_INV_FLG
   :DESCRIPTION:    Add INVENTORY_FLG column for RPP_PLAN_PROD_ASGMNT
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 17AUG2010
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :DOC: ID627607
   :DOC: This is an obsolete column but it is referenced in code in many places.
   :DOC: As long as the field is not populated there is no harm done.
   :DOC: This drop and ADD will make sure that there is no data transferred from 42

   :ORCL_BEGIN:

        ALTER TABLE RPP_PLAN_PROD_ASGMNT ADD INVENTORY_FLG INTEGER;

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID783636
   :DESCRIPTION:    Fix MA_SPEC_SEED missing specs and re-check MODEL_SPEC_DEFAULT
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 10AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'HALO_GEO_LVL';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('HALO_GEO_LVL','ALL','-1','1',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID785355
   :DESCRIPTION:    Remove model specs FCST_IDM_FCST_LVL, FCST_IDM_DISAGG_LVL, FCST_IDM_MODEL
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 19AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_IDM_FCST_LVL' and MODEL_COMP_NM = 'FCST';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_IDM_DISAGG_LVL' and MODEL_COMP_NM = 'FCST';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_IDM_MODEL' and MODEL_COMP_NM = 'FCST';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID785283
   :DESCRIPTION:    Change spec type to -1 for model specs FCST_MINOBS and FCST_MINOBS_TREND
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 19AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where SPEC_NM = 'FCST_MINOBS' and MODEL_COMP_NM = 'FCST';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where SPEC_NM = 'FCST_MINOBS_TREND' and MODEL_COMP_NM = 'FCST';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID767635_1
   :DESCRIPTION:    Change DOW spec DOW_EVENT_PROD_AGG to DOW_EVENT_GEO_AGG
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set SPEC_NM = 'DOW_EVENT_GEO_AGG' where SPEC_NM = 'DOW_EVENT_PROD_AGG';
        update MODEL_SPEC set SPEC_NM = 'DOW_EVENT_GEO_AGG' where SPEC_NM = 'DOW_EVENT_PROD_AGG';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID785810
   :DESCRIPTION:    Add FIXED_CAPPING_METHOD model spec for SHARE model
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FIXED_CAPPING_METHOD' and SPEC_TYPE = '2';
        insert into MODEL_SPEC_DEFAULT (MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('REG','FIXED_CAPPING_METHOD','2','ORIGIN',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID786113
   :DESCRIPTION:    Change DOW spec DOW_EVENT_PROD_AGG to DOW_EVENT_GEO_AGG
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '0.3' where SPEC_NM = 'DOW_MIN_SPLIT_PCT';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      MOVE_HALO_PRODS_TO_RDBMS
   :DESCRIPTION:    Move HALO_PRODUCTS Table from SAS to RDBMS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22AUG2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE HALO_PRODUCTS (
         CAUSE_PROD_HIER_SK INTEGER NOT NULL,
         EFFECT_PROD_HIER_SK INTEGER NOT NULL
      ) ;

      ALTER TABLE HALO_PRODUCTS add CONSTRAINT HALO_PRODUCTS_PK
            PRIMARY KEY (CAUSE_PROD_HIER_SK, EFFECT_PROD_HIER_SK);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      XFR_DATA_FOR_HALO_PRODS
   :DESCRIPTION:    Get data for HALO_PRODUCTS table from di_data to di_trans
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22AUG2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKLIB:         DI_TRANS,DI_DATA
   :CHKTABLES:      &m_di_data..HALO_PRODUCTS,&m_di_trans..HALO_PRODUCTS
   :ASIS:           TRUE

    :ORCL_BEGIN:

        proc append base = &m_di_trans..HALO_PRODUCTS data = &m_di_data..HALO_PRODUCTS force; run;

        proc sql;
           DROP TABLE &m_di_data..HALO_PRODUCTS;
        quit;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID787294
   :DESCRIPTION:    Correct DATA_CONFIG table to have DOW component name in place of FCST
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 25AUG2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update DATA_CONFIG set MODEL_COMP_NM = 'DOW' where MODEL_COMP_NM = 'FCST';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID787735
   :DESCRIPTION:    Add columns for Financial Inventory Value (owned value)
   :VERSION:        D3MICM52,M2TKMI43
   :DATE_OF_CHANGE: 29AUG2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        ALTER TABLE MPLN_GEO_PROD_RESULT  ADD FW_INV_AT_OWNED_PRICE NUMERIC(20,3);
        ALTER TABLE MPLN_RESULT           ADD FW_INV_AT_OWNED_PRICE NUMERIC(20,3);
        ALTER TABLE MPLN_GEO_PROD_FAW_MTS ADD FAW_OWNED_PRICE NUMERIC(20,3);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID760263
   :DESCRIPTION:    Remove obsolete entries from Purge_query
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01SEP2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      DELETE FROM PURGE_QUERY
       WHERE table_nm in ('IDX_MODEL_DATA','IDX_PROMO_FACTOR','IDX_PROMO_FACTOR_DECOM',
             'IDX_SCORING_PARAM','IDX_SCORING_PARAM_AVG','IDX_MODEL_DATA_CALIB','Inventory_Sparse_Refresh',
             'Inventory_Sparse','ATTR_SPEC','CONFIG_AUDIT_TRAIL','DATA_CONFIG','DATA_CONFIG_TEMPLATE',
             'MODEL_GROUP','MODEL_SPEC','MODEL_SPEC_TEMPLATE','MODEL_GEO_PROD_STATUS_RULE',
             'MODEL_GEO_PROD_STATUS_SPEC','PROD_DATA_CONFIG');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID789244
   :DESCRIPTION:    Drop description columns from global setting and model spec config tables
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

       ALTER TABLE MODEL_SPEC_DETAILS DROP COLUMN SPEC_DESC;
       ALTER TABLE MODEL_SPEC_VALUES DROP COLUMN SPEC_VALUE_DESC;
       ALTER TABLE MODEL_GEO_PROD_STATUS_DETAILS DROP COLUMN DESCRIPTION;
       ALTER TABLE MODEL_GEO_PROD_STATUS_VALUES DROP COLUMN SPEC_VALUE_DESC;
       ALTER TABLE GLOBAL_SETTING_VALUES DROP COLUMN SPEC_VALUE_DESC;

   :ORCL_END:


   :DB2_BEGIN:

       ALTER TABLE MODEL_SPEC_DETAILS DROP COLUMN SPEC_DESC;
       ALTER TABLE MODEL_SPEC_VALUES DROP COLUMN SPEC_VALUE_DESC;
       ALTER TABLE MODEL_GEO_PROD_STATUS_DETAILS DROP COLUMN DESCRIPTION;
       ALTER TABLE MODEL_GEO_PROD_STATUS_VALUES DROP COLUMN SPEC_VALUE_DESC;
       ALTER TABLE GLOBAL_SETTING_VALUES DROP COLUMN SPEC_VALUE_DESC;

   :DB2_END:


   :SAS_BEGIN:

   proc sql;
       ALTER TABLE MODEL_SPEC_DETAILS DROP COLUMN SPEC_DESC;
       ALTER TABLE MODEL_SPEC_VALUES DROP COLUMN SPEC_VALUE_DESC;
       ALTER TABLE MODEL_GEO_PROD_STATUS_DETAILS DROP COLUMN DESCRIPTION;
       ALTER TABLE MODEL_GEO_PROD_STATUS_VALUES DROP COLUMN SPEC_VALUE_DESC;
       ALTER TABLE GLOBAL_SETTING_VALUES DROP COLUMN SPEC_VALUE_DESC;
   quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ADD_GEO_PROD_SETTINGS
   :DESCRIPTION:    Additiona seed values for GEO_PROD_SETTINGS table
   :VERSION:        M1MI42
   :DATE_OF_CHANGE: 01SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :DOC:  These changes were made in m1mi42 but not in D2TKMI42

   :ORCL_BEGIN:


        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20005;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                 PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                 values ( 20005, 2, 1, 1, 1,  5, 1,  100.0, 0.0000, 100.0000);

        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20006;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20006, 2, 1, 1, 1,  6, 1,  100.0, 0.0000, 100.0000);

        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20019;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20019, 2, 1, 1, 1, 19, 1, 100.0, 0.00,  100.0);

        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20020;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20020, 2, 1, 1, 1, 20, 1, 100.0, 0.00,  100.0);

        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20021;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20021, 2, 1, 1, 1, 21, 1, 100.0, 0.00,  100.0);


        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20022;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20022, 2, 1, 1, 1, 22, 1, 100.0, 0.00,  100.0);

        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20023;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20023, 2, 1, 1, 1, 23, 1, 100.0, 0.00,  100.0);

        DELETE FROM geo_prod_setting WHERE GEO_PROD_SETTING_SK=20024;
        insert into geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
                PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,SETTING_CEIL)
                values ( 20024, 2, 1, 1, 1, 24, 1, 100.0, 0.00,  100.0);

   :ORCL_END:




:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID790541
   :DESCRIPTION:    Add purge macros for new tables viz. GEO_PROD_BENEFITS and GEO_PROD_BENEFITS_PS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 07SEP2011
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:


   proc sql;

       DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='GEO_PROD_BENEFITS';

       INSERT INTO &m_di_trans..purge_query
              (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
       VALUES  ('GEO_PROD_BENEFITS', 'SAS', 1, 30, '%di_purge_geo_prod_benefits(libref=DI_DM);', 742,1,'RPO');

       DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='GEO_PROD_BENEFITS_PS';
       INSERT INTO &m_di_trans..purge_query
              (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
       VALUES ('GEO_PROD_BENEFITS_PS', 'SAS', 1, 30, '%di_purge_geo_prod_benefits_ps(libref=DI_DM);', 742,1,'RPO');

   quit;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID791890
   :DESCRIPTION:    Remove several model specs and remove component specialization from others
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 09SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'ATREG_COLD_START';
        delete from MODEL_SPEC where SPEC_NM = 'ATREG_COLD_START';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'ATREG_MODULE';
        delete from MODEL_SPEC where SPEC_NM = 'ATREG_MODULE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASE_FORECAST_OVERRIDE';
        delete from MODEL_SPEC where SPEC_NM = 'BASE_FORECAST_OVERRIDE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DESEASON_SOURCE';
        delete from MODEL_SPEC where SPEC_NM = 'DESEASON_SOURCE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DETREND_SOURCE';
        delete from MODEL_SPEC where SPEC_NM = 'DETREND_SOURCE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DMREG_SELECT_TYPE';
        delete from MODEL_SPEC where SPEC_NM = 'DMREG_SELECT_TYPE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'EST_MODE';
        delete from MODEL_SPEC where SPEC_NM = 'EST_MODE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'EXCLUDE_NP_FROM_SHARE';
        delete from MODEL_SPEC where SPEC_NM = 'EXCLUDE_NP_FROM_SHARE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_DAILY_TO_WEEKLY';
        delete from MODEL_SPEC where SPEC_NM = 'FCST_DAILY_TO_WEEKLY';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_INTERMITTENT';
        delete from MODEL_SPEC where SPEC_NM = 'FCST_INTERMITTENT';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_OUTTYPE';
        delete from MODEL_SPEC where SPEC_NM = 'FCST_OUTTYPE';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_TS_CS';
        delete from MODEL_SPEC where SPEC_NM = 'FCST_TS_CS';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MAX_PRICE_RATIO';
        delete from MODEL_SPEC where SPEC_NM = 'MAX_PRICE_RATIO';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MISC_ADJ';
        delete from MODEL_SPEC where SPEC_NM = 'MISC_ADJ';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'RRP';
        delete from MODEL_SPEC where SPEC_NM = 'RRP';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'VARIABLE_SELECT';
        delete from MODEL_SPEC where SPEC_NM = 'VARIABLE_SELECT';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID792047
   :DESCRIPTION:    Change default value for model spec SALES_INTRO_FROM_GPSTATUS to 1
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 12SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '1' where SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID792049
   :DESCRIPTION:    Change default value for model spec SEASON_FREQ to WEEK
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 12SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = 'WEEK' where SPEC_NM = 'SEASON_FREQ';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID792051
   :DESCRIPTION:    Change TS_COMP_LOWER_BOUND & TS_COMP_UPPER_BOUND model specs component to ALL
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 12SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set MODEL_COMP_NM = 'ALL' where SPEC_NM = 'TS_COMP_UPPER_BOUND';
        update MODEL_SPEC_DEFAULT set MODEL_COMP_NM = 'ALL' where SPEC_NM = 'TS_COMP_LOWER_BOUND';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID792884
   :DESCRIPTION:    Provide default values for 3.2 columns
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15SEP2011
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_SIZESET,&m_di_trans..PRF_SIZESET_MBR, &m_di_trans..PRF_PLAN,

   :ORCL_BEGIN:
      UPDATE PRF_SIZESET SET CUSTOM_FLG = 0 WHERE CUSTOM_FLG IS NULL;
      UPDATE PRF_PLAN SET CUSTOM_FLG = 0 WHERE CUSTOM_FLG IS NULL;
      UPDATE PRF_SIZESET_MBR SET SALES_DISTRIBUTION_PCT = 0 WHERE SALES_DISTRIBUTION_PCT IS NULL;
      UPDATE PRF_SIZESET_MBR SET SALES_AUR = 0 WHERE SALES_AUR IS NULL;
      UPDATE PRF_SIZESET_MBR SET UNITS_IMPUTED = 0 WHERE UNITS_IMPUTED IS NULL;
      UPDATE PRF_SIZESET_MBR SET POST_IMPUTATION_SALES_UNITS = 0 WHERE POST_IMPUTATION_SALES_UNITS IS NULL;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID794818
   :DESCRIPTION:    Remove IDM as a model spec value
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      update MODEL_SPEC set SPEC_VALUE = 'SIMPLE' where SPEC_NM = 'FCST_DISAGG_BESTN_LIST' and SPEC_VALUE = 'IDM';
        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = 'SIMPLE' where SPEC_NM = 'FCST_DISAGG_BESTN_LIST' and DEFAULT_SPEC_VALUE = 'IDM';
        update MODEL_SPEC set SPEC_VALUE = 'SIMPLE' where SPEC_NM = 'INT_BESTN_LIST' and SPEC_VALUE = 'IDM';
        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = 'SIMPLE' where SPEC_NM = 'INT_BESTN_LIST' and DEFAULT_SPEC_VALUE = 'IDM';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID793322
   :DESCRIPTION:    Change type and default value for model specs TS_SEASON_VAR and TS_SEASON_MAX
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '10.0' where SPEC_NM = 'TS_SEASON_VAR';
        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '20.0' where SPEC_NM = 'TS_SEASON_MAX';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID794546
   :DESCRIPTION:    Allow user to specify needs as net
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22SEP2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_BUY ADD USE_GROSS_NEEDS_FLG INTEGER ;


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID791033
   :DESCRIPTION:    Adding new entries for Geo Prod Benefits to table_partition_meta.
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22SEP2011
   :SUPPORT:        Yogesh Dhuri
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('GEO_PROD_BENEFITS',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('GEO_PROD_BENEFITS_PS',0,0,0,null,null);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_MA_SPEC_TABLE
   :DESCRIPTION:    Drop MA_SPEC moved to RDBMS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKLIB:         &m_di_data., &m_di_trans.
   :CHKTABLES:      &m_di_data..ma_spec
   :ASIS:           TRUE

    :ORCL_BEGIN:

        proc sql;
           DROP TABLE &m_di_data..MA_SPEC;
        quit;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      TABLE_PART_META_01
   :DESCRIPTION:    Synchronize table_partition_meta for 5.2
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 27SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('DATA_MODEL_CHANGE_MANAGEMENT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('DATA_MODEL_VERSION_MANAGEMENT',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('PRICING_RULES_COLUMN_META',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('PRICING_RULES_RULE_META',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('PURGE_RESULT_TABLE',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('REPORT_DECOMP',0,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('REPORT_DECOMP_PS',0,0,0,null,null);

      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('DOW_ADJ_FACTOR',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('DOW_PROD_GEO_GROUP_ATTR',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('DOW_PROFILE',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('MODEL_GEO_PROD_STATUS_META',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('PRICE_POINT_CORRECTION',1,0,0,null,null);

      delete from TABLE_PARTITION_META where TABLE_NM = 'VARIABLE_SELECT';
      delete from TABLE_PARTITION_META where TABLE_NM = 'ATTR_SPEC';
      delete from TABLE_PARTITION_META where TABLE_NM = 'BASE_FORECAST_OVERRIDE_GP';
      delete from TABLE_PARTITION_META where TABLE_NM = 'BASE_FORECAST_OVERRIDE_MG';
      delete from TABLE_PARTITION_META where TABLE_NM = 'BUDGET';
      delete from TABLE_PARTITION_META where TABLE_NM = 'CONFIG_AUDIT_TRAIL';
      delete from TABLE_PARTITION_META where TABLE_NM = 'CONFIG_GROUP';
      delete from TABLE_PARTITION_META where TABLE_NM = 'DATA_CONFIG';
      delete from TABLE_PARTITION_META where TABLE_NM = 'DATA_CONFIG_TEMPLATE';
      delete from TABLE_PARTITION_META where TABLE_NM = 'GLOBAL_SETTING_DETAILS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'GLOBAL_SETTING_GROUP';
      delete from TABLE_PARTITION_META where TABLE_NM = 'GLOBAL_SETTING_GROUP_MEMBER';
      delete from TABLE_PARTITION_META where TABLE_NM = 'GLOBAL_SETTING_VALUES';
      delete from TABLE_PARTITION_META where TABLE_NM = 'HALO_PRODUCTS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_GEO_PROD_STATUS_DETAILS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_GEO_PROD_STATUS_RULE';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_GEO_PROD_STATUS_SPEC';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_GEO_PROD_STATUS_VALUES';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_GROUP';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_SPEC';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_SPEC_DEFAULT';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_SPEC_DETAILS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_SPEC_TEMPLATE';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_SPEC_VALUES';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MODEL_SPEC_WORKFLOW';
      delete from TABLE_PARTITION_META where TABLE_NM = 'MPLN_GEO_PROD_ACCUM_MTS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'PRF_SSD_SRC';
      delete from TABLE_PARTITION_META where TABLE_NM = 'PROD_DATA_CONFIG';
      delete from TABLE_PARTITION_META where TABLE_NM = 'RPP_CAL_AGG';
      delete from TABLE_PARTITION_META where TABLE_NM = 'RPP_CAT_AGG';
      delete from TABLE_PARTITION_META where TABLE_NM = 'SCORING_PARAM_CONFIG';
      delete from TABLE_PARTITION_META where TABLE_NM = 'SCORING_PARAM_DEFAULT';

   :ORCL_END:

:END_CHANGE:

:BEGIN_CHANGE:
   :CHANGE_ID:      REMOVE_GEO_STORE
   :DESCRIPTION:    Remove GEO_STORE from table_partition_meta for 5.2
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06JUN2012
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_STORE';
      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_PROD_BENEFITS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_PROD_BENEFITS_PS';
      delete from TABLE_PARTITION_META where TABLE_NM = 'SALES_AVG';

      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('GEO_PROD_BENEFITS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('GEO_PROD_BENEFITS_PS',1,0,0,null,null);
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      VALUES ('SALES_AVG',1,0,0,null,null);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      TABLE_PART_META_SORT
   :DESCRIPTION:    Sort table_partition_meta
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 27SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ALWAYS
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sort data=&m_di_trans..TABLE_PARTITION_META OUT=work.TABLE_PARTITION_META;
         by table_nm;
      run;

      proc sql;
        delete * from &m_di_trans..TABLE_PARTITION_META ;
        insert into &m_di_trans..TABLE_PARTITION_META
        select * from work.TABLE_PARTITION_META;
        drop table work.TABLE_PARTITION_META;
     quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      COMMONLST_FILE
   :DESCRIPTION:    Refresh Table Partition Meta
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 05JUN2012
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      NEVER
   :CHKLIB:         DI_TRANS
   :CHKTABLES:      DI_TRANS.TABLE_PARTITION_META
   :ASIS:           TRUE

   :DOC:  Turning this off.  It is only needed when something in TABLE_PARTITION_META changes
   :DOC:  Generated file is causing problems in build environments where there is no write permission

   :ORCL_BEGIN:

   %let DI_MISC_PATH=%di_util_misc_path();

   %if %sysfunc(exist(DI_TRANS.TABLE_PARTITION_META))
   %then %do;
    filename comm "&DI_MISC_PATH/dbmsc/common-files.lst";
    data _null_;
      file comm lrecl=32000;;
      set di_trans.table_partition_meta (where=(full_copy_flg=1));
     table_nm=lowcase(table_nm);

      indfile=trim(table_nm) || ".sas7bdat" ;
      put comm @1 indfile;

      if (lowcase(table_nm) not in ("attr_spec","model_data_agg","psychological_points","model_exception","price_point_correction",
                  "iso_currency","prod_cross_relation") ) then do;
         indfile=trim(table_nm) || ".sas7bndx" ;
         put comm @1 indfile;
      end;
    run;
    filename comm clear;


   %end;
   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_PACK_OPT_PROD_SETTING
   :DESCRIPTION:    Drop table PACK_OPT_PROD_SETTING from schema
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PACK_OPT_PROD_SETTING

   :DOC: ID650989

   :ORCL_BEGIN:

      DROP TABLE PACK_OPT_PROD_SETTING;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_PACK_OPT_PROD_DC_SETTING
   :DESCRIPTION:    Drop table PACK_OPT_PROD_DC_SETTING from schema
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PACK_OPT_PROD_DC_SETTING

   :DOC: S0651881

   :ORCL_BEGIN:

      DROP TABLE PACK_OPT_PROD_DC_SETTING;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID733917
   :DESCRIPTION:    Drop NOT NULL Constraints for KPIs in RPO_PLAN_MEMBER_RESULT_KPI
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28SEP2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE


    :DOC:  Not Null Constraint will only be dropped if it exists.  Couuple of these constraints were
    :DOC: dropped in hot fix versions but we do not need to account for it since there is nothing done if the constraint is already removed.

   :ORCL_BEGIN:

        %di_util_drop_constraint(m_lib=DI_TRANS, m_table=RPO_PLAN_MEMBER_RESULT_KPI,m_column=BASE_SALES_UNITS,m_constraint=not null, m_engine=ORACLE);
        %di_util_drop_constraint(m_lib=DI_TRANS, m_table=RPO_PLAN_MEMBER_RESULT_KPI,m_column=BASE_REVENUE_AMT,m_constraint=not null, m_engine=ORACLE);
        %di_util_drop_constraint(m_lib=DI_TRANS, m_table=RPO_PLAN_MEMBER_RESULT_KPI,m_column=BASE_MARGIN_AMT,m_constraint=not null, m_engine=ORACLE);
        %di_util_drop_constraint(m_lib=DI_TRANS, m_table=RPO_PLAN_MEMBER_RESULT_KPI,m_column=BASE_MARGIN_PCT,m_constraint=not null, m_engine=ORACLE);

   :ORCL_END:

   :SAS_BEGIN:

      %di_util_drop_constraint(m_lib=di_trans, m_table=RPO_PLAN_MEMBER_RESULT_KPI, m_column=%str(BASE_SALES_UNITS), m_constraint=%str(not null));
      %di_util_drop_constraint(m_lib=di_trans, m_table=RPO_PLAN_MEMBER_RESULT_KPI, m_column=%str(BASE_REVENUE_AMT), m_constraint=%str(not null));
      %di_util_drop_constraint(m_lib=di_trans, m_table=RPO_PLAN_MEMBER_RESULT_KPI, m_column=%str(BASE_MARGIN_AMT), m_constraint=%str(not null));
      %di_util_drop_constraint(m_lib=di_trans, m_table=RPO_PLAN_MEMBER_RESULT_KPI, m_column=%str(BASE_MARGIN_PCT), m_constraint=%str(not null));

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID795430
   :DESCRIPTION:    TS_SEASON_VAR and TS_SEASON_MAX migration - step 1
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

        update model_spec set spec_value = '20.0' where spec_nm = 'TS_SEASON_MAX' and model_group_id = -1;
        update model_spec_default set default_spec_value = '20.0' where spec_nm = 'TS_SEASON_MAX';
        update model_spec set spec_value = '10.0' where spec_nm = 'TS_SEASON_VAR' and model_group_id = -1;
        update model_spec_default set default_spec_value = '10.0' where spec_nm = 'TS_SEASON_VAR';

   :ORCL_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID795430_1
   :DESCRIPTION:    TS_SEASON_VAR and TS_SEASON_MAX migration - step 2
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

        update model_spec set spec_value = exp(to_number(spec_value))
                   where spec_nm = 'TS_SEASON_MAX' and model_group_id != -1;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
      update &m_di_trans..model_spec set spec_value = put(exp(input(spec_value,BEST10.)),BEST10.)
               where spec_nm = 'TS_SEASON_MAX' and model_group_id <> -1;
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID797643
   :DESCRIPTION:    Remove FA_SCORE_FUNC FA spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 29SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FA_SCORE_FUNC';
        delete from FA_SPEC where SPEC_NM = 'FA_SCORE_FUNC';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID797052
   :DESCRIPTION:    Surface model spec MAX_PRICE_RATIO for user editing
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 30SEP2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MAX_PRICE_RATIO';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('MAX_PRICE_RATIO','ALL','1','1.0',NULL);
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('MAX_PRICE_RATIO','ALL','2','1.0',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID761590_4
   :DESCRIPTION:    Table for storing custom metrics for calendar and category plans
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 05OCT2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE TABLE RPP_METRICS
       (
           OBJECT_CAT_SK   INTEGER NOT NULL,
           OBJECT_CAT_TYPE INTEGER NOT NULL,
           PROD_HIER_SK    INTEGER NOT NULL,
           GEO_HIER_SK     INTEGER NOT NULL,
           START_DT        DATE NOT NULL,
           END_DT          DATE NOT NULL,
           KPI             INTEGER NOT NULL,
           KPI_TYPE        INTEGER NOT NULL,
           KPI_VALUE       NUMERIC(20,3) NOT NULL
       )
       ;

      ALTER TABLE RPP_METRICS add CONSTRAINT RPP_METRICS_PK
            PRIMARY KEY (OBJECT_CAT_SK,OBJECT_CAT_TYPE,PROD_HIER_SK,GEO_HIER_SK,START_DT);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID799648
   :DESCRIPTION:    Remove LIMIT_PRICE_RATIO_UPPER model spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 07OCT2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'LIMIT_PRICE_RATIO_UPPER';

   :ORCL_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID800510
   :DESCRIPTION:    Change default value for model spec BASELINE_CF_PR1 to 0.01
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 11OCT2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '0.01' where SPEC_NM = 'BASELINE_CF_PR1';

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID801832
   :DESCRIPTION:    REQUEST_DELETE table needs to be updated to include new REQ_ and RES_ tables
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 17OCT2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      INSERT INTO REQUEST_DELETE (TABLE_NM, DELETE_ORDER) VALUES ('REQ_INVENTORY', 38) ;
      INSERT INTO REQUEST_DELETE (TABLE_NM, DELETE_ORDER) VALUES ('REQ_PACKREC_DELIVERY_TYPE', 39) ;
      INSERT INTO REQUEST_DELETE (TABLE_NM, DELETE_ORDER) VALUES ('REQ_SKU_STORE_MIN', 40) ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID645754
   :DESCRIPTION:    INCORRECTLY USING A DB2 RESERVED WORD AS A COLUMN NAME IN RPP_SPOT_USAGE
   :VERSION:        D3MICM52,M2MI42
   :DATE_OF_CHANGE: 18OCT2011
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE RPP_SPOT_USAGE RENAME COLUMN COUNT TO SPOT_COUNT;

   :ORCL_END:

   :SAS_BEGIN:

      proc datasets library=&m_di_trans nolist;
         modify RPP_SPOT_USAGE ;
         rename COUNT=SPOT_COUNT;
      quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID802430
   :DESCRIPTION:    GEO_PROD_SETTING rows for MDO forced markdown and low demand discount price point rules
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 18OCT2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 29 ;
      INSERT INTO GEO_PROD_SETTING(
      GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,
      SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
      VALUES (29,1,1,1,54,0,1,0,9999,1);

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 30 ;
      INSERT INTO GEO_PROD_SETTING(
      GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,
      SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
      VALUES(30,1,1,1,55,0,1,0,9999,1);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0806946
   :DESCRIPTION:    Add two purge jobs to purge_query table for Pack Optimization
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 08NOV2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :ASIS:          TRUE

   :ORCL_BEGIN:

       proc sql;

            DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='DEMAND_DISAGG_FACTOR';
            INSERT INTO &m_di_trans..purge_query
              (table_nm ,database_nm ,purge_order ,purge_frequency , purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
                VALUES ('DEMAND_DISAGG_FACTOR',          'SAS',1, 9999,'%szpk_purge_demand_disagg_factors();',                                     1095,0,'SZPK');

                DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='PKO_PURCHASE_ORDER_PLAN';
                INSERT INTO &m_di_trans..purge_query
              (table_nm ,database_nm ,purge_order ,purge_frequency , purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
                VALUES ('PKO_PURCHASE_ORDER_PLAN',          'SAS',1, 9999,'%szpk_purge_po_plans();',                                     1095,0,'SZPF');

       quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID808451
   :DESCRIPTION:    Add purge job for GEO_PROD_VAT
   :VERSION:        D3MICM52, M2MI42
   :DATE_OF_CHANGE: 09NOV2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

       proc sql;
            DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='GEO_PROD_VAT';
            INSERT INTO &m_di_trans..purge_query
              (table_nm ,database_nm ,purge_order ,purge_frequency , purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
                VALUES ('GEO_PROD_VAT','SAS',1,91,'%di_purge_geo_prod_vat(libref=DI_DM);',1103,0,'ALL');
       quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID809391
   :DESCRIPTION:    Attribute hierarchy keys
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 10NOV2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :DOC:  Leave it as always until this is finalised

   :ORCL_BEGIN:

       CREATE TABLE ATTR_PROD_HIER_KEYS
       (
           PARTITION_SK   INTEGER NOT NULL,
           START_SK       INTEGER NOT NULL,
           END_SK         INTEGER NOT NULL,
           STATUS         INTEGER NOT NULL,
           DTTM           DATE
       )
       ;

      ALTER TABLE ATTR_PROD_HIER_KEYS add CONSTRAINT PARTITION_SK PRIMARY KEY (PARTITION_SK);

   :ORCL_END:

   :SAS_BEGIN:

      PROC SQL;
           CREATE TABLE ATTR_PROD_HIER_KEYS
           (
               PARTITION_SK   INTEGER NOT NULL,
               START_SK       INTEGER NOT NULL,
               END_SK         INTEGER NOT NULL,
               STATUS         INTEGER NOT NULL,
               DTTM           DATE
           )
           ;

          ALTER TABLE ATTR_PROD_HIER_KEYS add CONSTRAINT PRIM_KEY PRIMARY KEY (PARTITION_SK);
      QUIT;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      TABLE_META_01
   :DESCRIPTION:    Metadata about each table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 10NOV2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

      create table TABLE_META
      (
           TABLE_NAME       VARCHAR(30),
           LIBNAMES         VARCHAR(30),
           TABLESPACE       VARCHAR(30),
           LOGGING          VARCHAR(10),
           PARTITION_CD     INTEGER,
           COMPONENT_CD     INTEGER,
           APP_MDO          INTEGER,
           APP_RPO          INTEGER,
           APP_RPP          INTEGER,
           APP_SZPF         INTEGER,
           APP_SZPK         INTEGER,
           APP_FCST         INTEGER
      );
      ALTER TABLE TABLE_META add CONSTRAINT TABLE_NAME PRIMARY KEY (TABLE_NAME);



   :ORCL_END:


   :SAS_BEGIN:

     PROC SQL;
          create table TABLE_META
          (
               TABLE_NAME       VARCHAR(30),
               LIBNAMES         VARCHAR(30),
               TABLESPACE       VARCHAR(30),
               LOGGING          VARCHAR(10),
               PARTITION_CD     INTEGER,
               COMPONENT_CD     INTEGER,
               APP_MDO          INTEGER,
               APP_RPO          INTEGER,
               APP_RPP          INTEGER,
               APP_SZPF         INTEGER,
               APP_SZPK         INTEGER,
               APP_FCST         INTEGER
          );
          ALTER TABLE TABLE_META add CONSTRAINT PRIM_KEY PRIMARY KEY (TABLE_NAME);
      QUIT;


   :SAS_END:



:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      SEED_TABLE_META
   :DESCRIPTION:    Seed values for di_dm2.table_meta table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21NOV2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ALWAYS
   :ASIS:           TRUE

   :ORCL_BEGIN:
       %seed_table_meta(m_seed=TRUE);
   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID807460
   :DESCRIPTION:    Support model specs TRAINING_P and VALIDATION_P
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14NOV2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'TRAINING_P';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('TRAINING_P','ALL','-1','1.0',NULL);
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'VALIDATION_P';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('VALIDATION_P','ALL','-1','0.0',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID810776
   :DESCRIPTION:    Add columns for affected product and location counts
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16NOV2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE MPLN_RESULT ADD NUM_MARKDN_PRODS INTEGER;
      ALTER TABLE MPLN_RESULT ADD NUM_MARKDN_GEOS INTEGER;
      ALTER TABLE MPLN_GEO_PROD_RESULT ADD NUM_MARKDN_PRODS INTEGER;
      ALTER TABLE MPLN_GEO_PROD_RESULT ADD NUM_MARKDN_GEOS INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID811896
   :DESCRIPTION:    Remove model spec BASELINE_OFFSET_VALUE from share model
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 23NOV2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'BASELINE_OFFSET_VALUE' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASELINE_OFFSET_VALUE' and SPEC_TYPE = '2';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID809394
   :DESCRIPTION:    Remove ATTR_PROD_DM and ATTR_PROD_HIER_ASSOC_DM from partition process
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28NOV2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..TABLE_PARTITION_META

   :ORCL_BEGIN:

        update TABLE_PARTITION_META
           set partition_flg = 0
         where table_nm in ('ATTR_PROD_DM','ATTR_PROD_HIER_ASSOC_DM');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0804309
   :DESCRIPTION:    Add purge job for published profiles
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02DEC2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

       proc sql;

            DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='PROFILE';
            INSERT INTO &m_di_trans..PURGE_QUERY (table_nm, database_nm, purge_order, purge_frequency, purge_query_txt, num_days_preserved, partition_flg, app_nm)
              VALUES ('PROFILE', 'RDBMS', 1, 9999, '%szpf_purge_published_profiles();', 1095, 0, 'SZPF');

       quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID812606
   :DESCRIPTION:    Sorting and indexing the partition tables migrated from 4.3
   :VERSION:        D3MICM52, M1MI42
   :DATE_OF_CHANGE: 05DEC2011
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

  :DOC:     Sort order and index on prod_hier_sk of all the partitioned tables is checked.

  :ORCL_BEGIN:
      options user = work;

      %di_etl_repair_data(partition = 1);

      options user = &m_di_trans;

  :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID741526
   :DESCRIPTION:    Purge deleted records from Geo_prod_owned_inv partitions
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 08DEC2011
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

    proc sql;

       DELETE FROM &m_di_trans..PURGE_QUERY where table_nm = 'GEO_PROD_OWNED_INV';
       INSERT INTO &m_di_trans..purge_query (table_nm ,database_nm ,purge_order ,purge_frequency , purge_query_txt,
                                             num_days_preserved ,partition_flg ,app_nm)
       VALUES ('GEO_PROD_OWNED_INV', 'SAS',15, 28,'%di_purge_geo_prod_owned_inv(libref=DI_DM);', 0,1,'CPO');

    quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID808700
   :DESCRIPTION:    Add tags to purchase order plans
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15DEC2011
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TAG VARCHAR(40);
      ALTER TABLE PKO_BUY ADD TAG VARCHAR(40);
      ALTER TABLE PKO_DELIVERY ADD TAG VARCHAR(40);


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID819669
   :DESCRIPTION:    Increase column lengths for price grid and price ending strings
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16DEC2011
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE PRICE_GRID MODIFY PRICE_VALUE_SUMMARY_LIST VARCHAR2(4000);
   ALTER TABLE PRICE_GRID MODIFY PRICE_ENDING_SUMMARY_LIST VARCHAR2(4000);
   ALTER TABLE MDO_PLAN MODIFY PRICE_VALUE_LIST VARCHAR2(4000);
   ALTER TABLE MDO_PLAN MODIFY PRICE_ENDING_LIST VARCHAR2(4000);

   :ORCL_END:

   :SAS_BEGIN:

   proc sql;
      ALTER TABLE PRICE_GRID MODIFY PRICE_VALUE_SUMMARY_LIST VARCHAR(4000);
      ALTER TABLE PRICE_GRID MODIFY PRICE_ENDING_SUMMARY_LIST VARCHAR(4000);
      ALTER TABLE MDO_PLAN MODIFY PRICE_VALUE_LIST VARCHAR(4000);
      ALTER TABLE MDO_PLAN MODIFY PRICE_ENDING_LIST VARCHAR(4000);
   quit;

   :SAS_END:


:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0819818
   :DESCRIPTION:    PROFILE publish job should have ALL as APP_NM in Purge_Query table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16DEC2011
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

       proc sql;

            DELETE FROM &m_di_trans..PURGE_QUERY WHERE TABLE_NM='PROFILE';
            INSERT INTO &m_di_trans..PURGE_QUERY (table_nm, database_nm, purge_order, purge_frequency, purge_query_txt, num_days_preserved, partition_flg, app_nm)
              VALUES ('PROFILE', 'RDBMS', 1, 9999, '%szpf_purge_published_profiles();', 1095, 0, 'ALL');

       quit;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0818694
   :DESCRIPTION:    Correct seed values for uniform timing rules in GEO_PROD_SETTING SETTING_VAL
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22DEC2011
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

       proc sql;

          UPDATE GEO_PROD_SETTING SET SETTING_VAL=1 where SETTING_TYPE in (51,52) and SETTING_VAL=0;
       quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0719381
   :DESCRIPTION:    Removing entries for PROMOTION_FACT_FUTURE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 26DEC2011
   :SUPPORT:        Yogesh Dhuri
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;
         delete from TABLE_PARTITION_META where TABLE_NM = 'PROMOTION_FACT_FUTURE';
      quit;

      proc sql;
         delete from PURGE_QUERY where TABLE_NM='PROMOTION_FACT_FUTURE';
      quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0817138
   :DESCRIPTION:    Need to add alter to move promo forecast override to product level
   :VERSION:        D3MICM52, M2MI42
   :DATE_OF_CHANGE: 06JAN2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

      UPDATE RPP_PLAN_PROD_ASGMNT PPA
         SET FCST_UNITS_ADJUST_TYPE = (SELECT FCST_UNITS_ADJUST_TYPE FROM RPP_PLAN P WHERE P.PLAN_SK = PPA.PLAN_SK)
       WHERE FCST_UNITS_ADJUST IS NULL OR FCST_UNITS_ADJUST = 0 ;

      UPDATE RPP_PLAN_PROD_ASGMNT PPA
         SET FCST_UNITS_ADJUST = (SELECT FCST_UNITS_ADJUST FROM RPP_PLAN P WHERE P.PLAN_SK = PPA.PLAN_SK)
       WHERE FCST_UNITS_ADJUST IS NULL OR FCST_UNITS_ADJUST = 0 ;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0826002
   :DESCRIPTION:    Add index on table mpln_geo_prod_result
   :VERSION:        D3MICM52,F2TKMI43
   :DATE_OF_CHANGE: 17JAN2012
   :SUPPORT:        John Pechacek
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    CREATE INDEX MPLN_GPR_UT_IX ON MPLN_GEO_PROD_RESULT
    (
            MDO_PLAN_SK,
            AGG_CD,
            UT_PROD_HIER_SK,
            UT_GEO_HIER_SK
    );

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0828974
   :DESCRIPTION:    Vehicle category seed for psychological points
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02FEB2012
   :SUPPORT:        VENU KADARI
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :CHKTABLES:      &m_di_trans..VEHICLE_CATEGORY

   :DOC:  Add an entry in vehicle_category table for Psychological points

   :ORCL_BEGIN:

       %let _cnt_psy_points=0;

       proc sql noprint;
           select count(*)
           into :_cnt_psy_points
           from &m_di_trans..vehicle_category
           where vehicle_category_sk=199
           ;
       quit;

       %if &_cnt_psy_points = 0 %then
       %do;

            proc sql noprint;

            INSERT INTO &m_di_trans..vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG,
                                                       PRICE_FLG, VEHICLE_CATEGORY_TYPE)
             VALUES  (199, 'PSYCHOLOGICAL_POINTS', 'Psychological points only (Do not use for promotions!)', 0, 0, 'PSY_POINTS');

       %end;

   :ORCL_END:



:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID831464
   :DESCRIPTION:    Change default value for FCST_ZEROMISS to NONE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06FEB2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = 'NONE' where SPEC_NM = 'FCST_ZEROMISS' and SPEC_TYPE = '1';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'FCST_ZEROMISS' and SPEC_TYPE = '2';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            values ('FCST_ZEROMISS','FCST','2','NONE',NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID833633
   :DESCRIPTION:    Remove model spec MISC_ADJ_STATUS
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06FEB2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'MISC_ADJ_STATUS';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MISC_ADJ_STATUS';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID833236
   :DESCRIPTION:    Remove ARP, M_ARP, RRP, CARP and CRRP scoring parameter defaults
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 13FEB2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY in
                ('ARP','M_ARP','RRP','CARP','CRRP');
        delete from SCORING_PARAM_CONFIG where EFFECT_CATEGORY in
                ('ARP','M_ARP','RRP','CARP','CRRP');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID832370
   :DESCRIPTION:    Add purge job to remove dangling nodes from Analytical hierarchies
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14FEB2012
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   proc sql;

      DELETE from &m_di_trans..purge_query
      where table_nm in ('CLEAN_ATTR_HIER_PROD','CLEAN_ATTR_HIER_GEO');

      INSERT INTO &m_di_trans..purge_query
         (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
      VALUES ('CLEAN_ATTR_HIER_PROD', 'SAS', 1, 9999,'%di_purge_dangling_nodes_attr(hier_type=1);',0,1,'ALL');

      INSERT INTO &m_di_trans..purge_query
         (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
      VALUES ('CLEAN_ATTR_HIER_GEO', 'SAS', 1, 9999,'%di_purge_dangling_nodes_attr(hier_type=2);',0,1,'ALL');

   quit;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID833232
   :DESCRIPTION:    Change 6 baseline offset model specs to DIRECT model only; delete BASELINE_OFFSET_TYPE
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 14FEB2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASELINE_CF_PR1' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASELINE_OFFSET_NBINS' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASELINE_OFFSET_PCTILE' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'COMPUTE_BASELINE_OFFSET' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BASELINE_OFFSET_TYPE';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'TS_BASELINE_OFFSET' and SPEC_TYPE = '-1';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'USE_BASELINE_CF' and SPEC_TYPE = '2';

        delete from MODEL_SPEC where SPEC_NM = 'BASELINE_CF_PR1' and SPEC_TYPE = '2';
        delete from MODEL_SPEC where SPEC_NM = 'BASELINE_OFFSET_NBINS' and SPEC_TYPE = '2';
        delete from MODEL_SPEC where SPEC_NM = 'BASELINE_OFFSET_PCTILE' and SPEC_TYPE = '2';
        delete from MODEL_SPEC where SPEC_NM = 'COMPUTE_BASELINE_OFFSET' and SPEC_TYPE = '2';
        delete from MODEL_SPEC where SPEC_NM = 'BASELINE_OFFSET_TYPE';
        update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'TS_BASELINE_OFFSET' and SPEC_TYPE = '-1';
        delete from MODEL_SPEC where SPEC_NM = 'USE_BASELINE_CF' and SPEC_TYPE = '2';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID834613
   :DESCRIPTION:    navigating purchase order plan objects is slow with a lot of plans
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16FEB2012
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE INDEX PKO_DELIVERY_IDX1 ON PKO_DELIVERY (BUY_SK);

      CREATE INDEX PKO_STORE_NEED_IDX1 ON PKO_STORE_NEED (DELIVERY_SK);

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
         CREATE INDEX BUY_SK ON PKO_DELIVERY (BUY_SK);

         CREATE INDEX DELIVERY_SK ON PKO_STORE_NEED (DELIVERY_SK);
      quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID834906
   :DESCRIPTION:    Add model specs EFF_REF_PRICE_RATIO_MIN and EFF_REF_PRICE_RATIO_MAX
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 17FEB2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'EFF_REF_PRICE_RATIO_MIN';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('EFF_REF_PRICE_RATIO_MIN','ALL','-1','0.0',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'EFF_REF_PRICE_RATIO_MIN';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'ALL','EFF_REF_PRICE_RATIO_MIN','-1','0.0',NULL,NULL,'SEED');

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'EFF_REF_PRICE_RATIO_MAX';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('EFF_REF_PRICE_RATIO_MAX','ALL','-1','1000000.0',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'EFF_REF_PRICE_RATIO_MAX';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'ALL','EFF_REF_PRICE_RATIO_MAX','-1','1000000.0',NULL,NULL,'SEED');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID836365B
   :DESCRIPTION:    rename column created_dt to created_dttm for rpo alert tables
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 22FEB2012
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:



        %if (%di_util_varexist(dsname=&m_di_trans..ALERT_COST, varname=CREATED_DTTM)=0) %then
        %do;

            %let m_sql_statement = %str(
                ALTER TABLE ALERT_COST RENAME COLUMN CREATED_DT TO CREATED_DTTM
            );

            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;


        %if (%di_util_varexist(dsname=&m_di_trans..ALERT_COMP, varname=CREATED_DTTM)=0) %then
        %do;

            %let m_sql_statement = %str(
                ALTER TABLE ALERT_COMP RENAME COLUMN CREATED_DT TO CREATED_DTTM
            );

            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;

        %if (%di_util_varexist(dsname=&m_di_trans..ALERT_NEW_PROD, varname=CREATED_DTTM)=0) %then
        %do;

            %let m_sql_statement = %str(
                ALTER TABLE ALERT_NEW_PROD RENAME COLUMN CREATED_DT TO CREATED_DTTM
            );

            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;

   :ORCL_END:


   :SAS_BEGIN:


      %if (%di_util_varexist(dsname=&m_di_trans..ALERT_COST, varname=CREATED_DTTM)=0) %then
      %do;
          proc datasets library=&m_di_trans nolist;
             modify ALERT_COST ;
             rename CREATED_DT=CREATED_DTTM;
             format created_dttm NLDATM21.;
             informat created_dttm NLDATM21.;

             modify ALERT_COMP ;
             rename CREATED_DT=CREATED_DTTM;
             format created_dttm NLDATM21.;
             informat created_dttm NLDATM21.;

             modify ALERT_NEW_PROD ;
             rename CREATED_DT=CREATED_DTTM;
             format created_dttm NLDATM21.;
             informat created_dttm NLDATM21.;
          quit;

         proc sql;
             update ALERT_COST     set CREATED_DTTM=created_dttm*24*60*60+(00*60*60+00*60+00);
             update ALERT_COMP     set CREATED_DTTM=created_dttm*24*60*60+(00*60*60+00*60+00);
             update ALERT_NEW_PROD set CREATED_DTTM=created_dttm*24*60*60+(00*60*60+00*60+00);

         quit;
     %end;
     %else
     %do;
         /* CREATED_DT already changed to CREATED_DTTM.  Apply this formula */
         proc sql;
             update ALERT_COST     set CREATED_DTTM=created_dttm*24*60*60+(00*60*60+00*60+00);
             update ALERT_COMP     set CREATED_DTTM=created_dttm*24*60*60+(00*60*60+00*60+00);
             update ALERT_NEW_PROD set CREATED_DTTM=created_dttm*24*60*60+(00*60*60+00*60+00);

         quit;
     %end;





   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID837815
   :DESCRIPTION:    Purge process needs to purge future_receipt history
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 28FEB2012
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PURGE_QUERY

   :ORCL_BEGIN:

        UPDATE PURGE_QUERY SET NUM_DAYS_PRESERVED = 60 WHERE table_nm='FUTURE_RECEIPT';
        UPDATE PURGE_QUERY SET PURGE_FREQUENCY = 60 WHERE table_nm='FUTURE_RECEIPT';

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID800148
   :DESCRIPTION:    IMPUTATION ENHANCEMENT FOR FRINGE SIZES
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02MAR2012
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_CONFIG

   :ORCL_BEGIN:

      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=2 and SPEC_NM='im_fringe_set_imputation';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 2, 'im_fringe_set_imputation', '0', 'INTEGER');

      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=2 and SPEC_NM='im_fringe_size_lastpercent';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 2, 'im_fringe_size_lastpercent', '0.2', 'NUMERIC');


      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=2 and SPEC_NM='im_fringe_size_ratio';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 2, 'im_fringe_size_ratio', '0.1', 'NUMERIC');

      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=2 and SPEC_NM='im_fringe_moving_window';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 2, 'im_fringe_moving_window', '3', 'INTEGER');

      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=2 and SPEC_NM='im_fringe_sko_rate';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 2, 'im_fringe_sko_rate', '0.4', 'NUMERIC');

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID838719
   :DESCRIPTION:    Loading plans for larger number of plans is slow due to metric calculations
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01MAR2012
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD HAS_NEED INTEGER DEFAULT 0 NOT NULL;
        ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_NEED NUMERIC(20,3) DEFAULT 0.0 NOT NULL;

        CREATE GLOBAL TEMPORARY TABLE TMP_PLAN_UPDT1 ON COMMIT PRESERVE ROWS AS
        SELECT COUNT(*) AS NEED_COUNT, B.PURCHASE_ORDER_PLAN_SK FROM PKO_PURCHASE_ORDER_PLAN P, PKO_BUY B, PKO_DELIVERY D, PKO_STORE_NEED N
          WHERE B.PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK FROM PKO_PURCHASE_ORDER_PLAN)
          AND D.BUY_SK=B.BUY_SK
          AND N.DELIVERY_SK=D.DELIVERY_SK
          AND P.PURCHASE_ORDER_PLAN_SK=B.PURCHASE_ORDER_PLAN_SK
          GROUP BY B.PURCHASE_ORDER_PLAN_SK ;

        UPDATE PKO_PURCHASE_ORDER_PLAN SET HAS_NEED = 1
         WHERE PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK FROM TMP_PLAN_UPDT1 WHERE NEED_COUNT > 0);

        COMMIT;
        TRUNCATE TABLE TMP_PLAN_UPDT1;

        DROP TABLE TMP_PLAN_UPDT1;

        CREATE GLOBAL TEMPORARY TABLE TMP_PLAN_UPDT2 ON COMMIT PRESERVE ROWS AS
        SELECT PURCHASE_ORDER_PLAN_SK, SUM(STORE_NEED) AS SUM_NEED FROM PKO_STORE_NEED SN, PKO_DELIVERY D, PKO_BUY B
          WHERE PURCHASE_ORDER_PLAN_SK IN(SELECT PURCHASE_ORDER_PLAN_SK FROM PKO_PURCHASE_ORDER_PLAN)
          AND SN.DELIVERY_SK=D.DELIVERY_SK AND B.BUY_SK=D.BUY_SK GROUP BY PURCHASE_ORDER_PLAN_SK;

        UPDATE PKO_PURCHASE_ORDER_PLAN P SET P.TOTAL_NEED = ( SELECT SUM_NEED FROM TMP_PLAN_UPDT2 PT
            WHERE PT.SUM_NEED IS NOT NULL AND PT.PURCHASE_ORDER_PLAN_SK = P.PURCHASE_ORDER_PLAN_SK)
          WHERE EXISTS ( SELECT NULL FROM TMP_PLAN_UPDT2 PT WHERE PT.SUM_NEED IS NOT NULL
            AND PT.PURCHASE_ORDER_PLAN_SK = P.PURCHASE_ORDER_PLAN_SK);

        COMMIT;
        TRUNCATE TABLE TMP_PLAN_UPDT2;

        DROP TABLE TMP_PLAN_UPDT2;

   :ORCL_END:

   :SAS_BEGIN:


   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID838719B
   :DESCRIPTION:    Loading plans for larger number of plans is slow due to metric calculations
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 01MAR2012
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE
   :DOC:  ID838719B is to take care of instances where di_trans library is SAS engine

   :ORCL_BEGIN:


   :ORCL_END:

   :SAS_BEGIN:


        proc sql noprint;
           ALTER TABLE &m_di_trans..PKO_PURCHASE_ORDER_PLAN ADD HAS_NEED INTEGER ;
           ALTER TABLE &m_di_trans..PKO_PURCHASE_ORDER_PLAN ADD NOT NULL (HAS_NEED);
           UPDATE &m_di_trans..PKO_PURCHASE_ORDER_PLAN set HAS_NEED=0;

           ALTER TABLE &m_di_trans..PKO_PURCHASE_ORDER_PLAN ADD TOTAL_NEED NUMERIC(20,3) ;
           ALTER TABLE &m_di_trans..PKO_PURCHASE_ORDER_PLAN ADD NOT NULL (TOTAL_NEED);
           UPDATE &m_di_trans..PKO_PURCHASE_ORDER_PLAN set TOTAL_NEED=0.0;

        quit;


        PROC SQL noprint;

           CREATE TABLE WORK.TMP_PLAN_UPDT1 AS
                SELECT COUNT(*) AS NEED_COUNT, B.PURCHASE_ORDER_PLAN_SK
                FROM &m_di_trans..PKO_PURCHASE_ORDER_PLAN P,
                     &m_di_trans..PKO_BUY B,
                     &m_di_trans..PKO_DELIVERY D,
                     &m_di_trans..PKO_STORE_NEED N

                  WHERE B.PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK FROM &m_di_trans..PKO_PURCHASE_ORDER_PLAN)
                  AND D.BUY_SK=B.BUY_SK
                  AND N.DELIVERY_SK=D.DELIVERY_SK
                  AND P.PURCHASE_ORDER_PLAN_SK=B.PURCHASE_ORDER_PLAN_SK
                  GROUP BY B.PURCHASE_ORDER_PLAN_SK ;

                UPDATE &m_di_trans..PKO_PURCHASE_ORDER_PLAN SET HAS_NEED = 1
                 WHERE PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK
                  FROM WORK.TMP_PLAN_UPDT1 WHERE NEED_COUNT > 0);

                 DROP TABLE WORK.TMP_PLAN_UPDT1;
        quit;

        proc sql noprint;

                CREATE TABLE WORK.TMP_PLAN_UPDT2 AS
                SELECT PURCHASE_ORDER_PLAN_SK,
                       SUM(STORE_NEED) AS SUM_NEED
                  FROM &m_di_trans..PKO_STORE_NEED SN,
                       &m_di_trans..PKO_DELIVERY D,
                       &m_di_trans..PKO_BUY B
                  WHERE PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK FROM &m_di_trans..PKO_PURCHASE_ORDER_PLAN)
                  AND SN.DELIVERY_SK=D.DELIVERY_SK
                  AND B.BUY_SK=D.BUY_SK
                  GROUP BY PURCHASE_ORDER_PLAN_SK;

                  UPDATE &m_di_trans..PKO_PURCHASE_ORDER_PLAN P
                     SET TOTAL_NEED = ( SELECT SUM_NEED FROM WORK.TMP_PLAN_UPDT2 PT
                    WHERE PT.SUM_NEED IS NOT MISSING AND PT.PURCHASE_ORDER_PLAN_SK = P.PURCHASE_ORDER_PLAN_SK)
                    WHERE EXISTS ( SELECT . FROM WORK.TMP_PLAN_UPDT2 PT WHERE PT.SUM_NEED IS NOT MISSING
                    AND PT.PURCHASE_ORDER_PLAN_SK = P.PURCHASE_ORDER_PLAN_SK);


                DROP TABLE WORK.TMP_PLAN_UPDT2;
        quit;

   :SAS_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0833697
   :DESCRIPTION:    Vehicle category seed for psychological points
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 09MAR2012
   :SUPPORT:        JERRY HADEN
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :CHKTABLES:      &m_di_trans..VEHICLE_CATEGORY

   :DOC:  Add an entry in vehicle_category table for Psychological points

   :ORCL_BEGIN:

       %let _cnt_psy_points=0;

       proc sql noprint;
           select count(*)
           into :_cnt_psy_points
           from &m_di_trans..vehicle_category
           where vehicle_category_sk=198
           ;
       quit;

       %if &_cnt_psy_points = 0 %then
       %do;

            proc sql noprint;

            INSERT INTO &m_di_trans..vehicle_category (VEHICLE_CATEGORY_SK,VEHICLE_CATEGORY_NM,VEHICLE_CATEGORY_DESC, ACTIVE_FLG,
                                                       PRICE_FLG, VEHICLE_CATEGORY_TYPE)
             VALUES  (198, 'TPR_ONLY', 'Temporary price reduction (Do not use for promotions!)', 0, 0, 'TPR_ONLY');
            quit;

       %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID841925
   :DESCRIPTION:    SIZE PROFILING 3.2 SCHEMA CHANGES
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 21MAR2012
   :SUPPORT:        Yogesh Dhuri
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_CONFIG

   Doc:  This change is in M1MI42 and M2MI42 but those changes deliberately removed from VERSION tag to be safe.

   :ORCL_BEGIN:

      DELETE FROM PRF_CONFIG
      WHERE PRF_CONFIG_SK=-1 AND PRF_CONFIG_TYPE = 1 AND SPEC_NM = 'imputation_method';

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 1, 'imputation_method', '8', 'INTEGER');

      DELETE FROM PRF_CONFIG
      WHERE  PRF_CONFIG_SK=-1 AND PRF_CONFIG_TYPE = 1 AND SPEC_NM = 'use_model_geo_prod_status' ;

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 1, 'use_model_geo_prod_status', '0', 'INTEGER');

      DELETE FROM PRF_CONFIG
      WHERE  PRF_CONFIG_SK=-1 AND PRF_CONFIG_TYPE = 4 AND SPEC_NM = 'mgps_prod_group_lvl' ;

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 4, 'mgps_prod_group_lvl', '1', 'INTEGER');

      DELETE FROM PRF_CONFIG
      WHERE  PRF_CONFIG_SK=-1 AND PRF_CONFIG_TYPE = 4 AND SPEC_NM = 'mgps_use_clearance_status' ;

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 4, 'mgps_use_clearance_status', '0', 'INTEGER');

      DELETE FROM PRF_CONFIG
      WHERE  PRF_CONFIG_SK=-1 AND PRF_CONFIG_TYPE = 4 AND SPEC_NM = 'mgps_max_status_change' ;

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 4, 'mgps_max_status_change', '30', 'INTEGER');

      DELETE FROM PRF_CONFIG
      WHERE  PRF_CONFIG_SK=-1 AND PRF_CONFIG_TYPE = 4 AND SPEC_NM = 'mgps_inactive_duration' ;

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 4, 'mgps_inactive_duration', '3', 'INTEGER');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID845616
   :DESCRIPTION:    Remove Halo Editor and halo specs from Workbench
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 20MAR2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'HALO_FLG';
        delete from MODEL_SPEC where SPEC_NM = 'HALO_FLG';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'HALO_GEO_LVL';
        delete from MODEL_SPEC where SPEC_NM = 'HALO_GEO_LVL';
   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID850044
   :DESCRIPTION:    Change model spec MODEL_TYPE_CD for TS to be separate for direct and share models
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06APR2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:

         update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'MODEL_TYPE_CD' and MODEL_COMP_NM = 'TS';
         delete from MODEL_SPEC where SPEC_NM = 'MODEL_TYPE_CD' and MODEL_COMP_NM = 'TS' and SPEC_TYPE = '2';
         insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'TS','MODEL_TYPE_CD','2','ARIMA_WINTERS',NULL,NULL,'MIGRATE');

         update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'MODEL_TYPE_CD' and MODEL_COMP_NM = 'TS';
         delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MODEL_TYPE_CD' and MODEL_COMP_NM = 'TS' and SPEC_TYPE = '2';
         insert into MODEL_SPEC_DEFAULT (MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('TS','MODEL_TYPE_CD','2','ARIMA_WINTERS',NULL);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID853326
   :DESCRIPTION:    Drop tables that are no longer used
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 18APR2012
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :DOC:  Tables no longer used

   :ORCL_BEGIN:

        proc sql;
            drop table &m_di_trans..HISTORICAL_FIT;;
            drop table &m_di_trans..HISTORICAL_FIT_ACCURACY;
            drop table &m_di_trans..HOLDOUT_FORECAST;
            drop table &m_di_trans..HOLDOUT_FORECAST_ACCURACY;
        quit;


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID856193
   :DESCRIPTION:    Add LCP_CURVE_TYPE model spec back in
   :VERSION:        D3MICM521
   :DATE_OF_CHANGE: 24APR2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE


   :ORCL_BEGIN:

      %local  m_lcp_curve_type_1_cnt m_lcp_curve_type_2_cnt;

      /* check if specs exist in model_spec table */
      proc sql noprint;

          select count(*) into :m_lcp_curve_type_1_cnt
           from &m_di_trans..model_spec
           where SPEC_NM="LCP_CURVE_TYPE"
           and SPEC_TYPE='1'
           and MODEL_GROUP_ID = -1
           ;

          select count(*) into :m_lcp_curve_type_2_cnt
           from &m_di_trans..model_spec
           where SPEC_NM="LCP_CURVE_TYPE"
           and SPEC_TYPE='2'
           and MODEL_GROUP_ID = -1
           ;

      quit;

      /* if no default spec exists for LCP_CURVE_TYPE then seed it with the default value */
      %if ( &m_lcp_curve_type_1_cnt<1) %then
      %do;
         proc sql noprint;
            INSERT INTO &m_di_trans..model_spec (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
            VALUES  (-1,'REG','LCP_CURVE_TYPE','1','GAMMA',NULL,NULL,'SEED');
         quit;
      %end;

      %if ( &m_lcp_curve_type_2_cnt<1) %then
      %do;
         proc sql noprint;
            INSERT INTO &m_di_trans..model_spec (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
            VALUES  (-1,'REG','LCP_CURVE_TYPE','2','GAMMA',NULL,NULL,'SEED');
         quit;
      %end;

      /* update any bad default specs that already existed */
      proc sql noprint;
         update &m_di_trans..model_spec set SPEC_VALUE = 'GAMMA' where MODEL_GROUP_ID = -1 and SPEC_VALUE = 'BETA';
      quit;

      /* delete mg-specific bad spec value entries and redundant-to-default entries */
      proc sql noprint;
         delete from &m_di_trans..model_spec where SPEC_NM = 'LCP_CURVE_TYPE' and SPEC_VALUE = 'BETA';
         delete from &m_di_trans..model_spec where SPEC_NM = 'LCP_CURVE_TYPE' and SPEC_VALUE = 'GAMMA' and MODEL_GROUP_ID NE -1;
      quit;



      /* check if specs exist in model_spec_default table */
      proc sql noprint;

          select count(*) into :m_lcp_curve_type_1_cnt
           from &m_di_trans..model_spec_default
           where SPEC_NM="LCP_CURVE_TYPE"
           and SPEC_TYPE='1'
           ;

          select count(*) into :m_lcp_curve_type_2_cnt
           from &m_di_trans..model_spec_default
           where SPEC_NM="LCP_CURVE_TYPE"
           and SPEC_TYPE='2'
           ;

      quit;

      /* if no default spec exists for LCP_CURVE_TYPE then seed it with the default value */
      %if ( &m_lcp_curve_type_1_cnt<1) %then
      %do;
         proc sql noprint;
            INSERT INTO &m_di_trans..model_spec_default (MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES  ('REG','LCP_CURVE_TYPE','1','GAMMA',NULL);
         quit;
      %end;

      %if ( &m_lcp_curve_type_2_cnt<1) %then
      %do;
         proc sql noprint;
            INSERT INTO &m_di_trans..model_spec_default (MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
            VALUES  ('REG','LCP_CURVE_TYPE','2','GAMMA',NULL);
         quit;
      %end;

      /* update any bad default specs that already existed */
      proc sql noprint;
         update &m_di_trans..model_spec_default set DEFAULT_SPEC_VALUE = 'GAMMA' where DEFAULT_SPEC_VALUE = 'BETA';
      quit;


   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID855245
   :DESCRIPTION:    Change model spec MODEL_VAR to all models, not direct and share
   :VERSION:        D3MICM521
   :DATE_OF_CHANGE: 20APR2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'MODEL_VAR' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MODEL_VAR' and SPEC_TYPE = '2';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'MODEL_VAR' and SPEC_TYPE = '2';

        update MODEL_SPEC set SPEC_TYPE = '-1' where SPEC_NM = 'MODEL_VAR' and SPEC_TYPE = '1';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where SPEC_NM = 'MODEL_VAR' and SPEC_TYPE = '1';
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '-1' where SPEC_NM = 'MODEL_VAR' and SPEC_TYPE = '1';

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


   :BEGIN_CHANGE:
   :CHANGE_ID:      ID851165
   :DESCRIPTION:    Drop sequences that are not in use
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 25APR2012
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

       %di_util_delete_sequence(m_sequence_name=%str(SEQ_PACK_OPT_PROD_DC_SET_SK), m_schema_name=%str(&di_trans_schema));

       %di_util_delete_sequence(m_sequence_name=%str(SEQ_PACK_OPT_PROD_SET_SK), m_schema_name=%str(&di_trans_schema));

   :ORCL_END:

   :SAS_BEGIN:

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


   :BEGIN_CHANGE:
   :CHANGE_ID:      ID857667
   :DESCRIPTION:    Modify Primary key of RPP_Metrics table
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 30APR2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :DOC:  RPP_Metrics table is dropped and recreated to modify primary key

   :ORCL_BEGIN:


        DROP TABLE RPP_METRICS;
        CREATE TABLE RPP_METRICS
        (
            OBJECT_CAT_SK   INTEGER NOT NULL,
            OBJECT_CAT_TYPE INTEGER NOT NULL,
            PROD_HIER_SK    INTEGER NOT NULL,
            GEO_HIER_SK     INTEGER NOT NULL,
            START_DT        DATE NOT NULL,
            END_DT          DATE NOT NULL,
            KPI             INTEGER NOT NULL,
            KPI_TYPE        INTEGER NOT NULL,
            KPI_VALUE       NUMERIC(20,3) NOT NULL,
            PRIMARY KEY (OBJECT_CAT_SK,OBJECT_CAT_TYPE,PROD_HIER_SK,GEO_HIER_SK,START_DT,END_DT,KPI,KPI_TYPE)
        )
        ;

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
        DROP TABLE RPP_METRICS;

        CREATE TABLE RPP_METRICS
        (
            OBJECT_CAT_SK   INTEGER NOT NULL,
            OBJECT_CAT_TYPE INTEGER NOT NULL,
            PROD_HIER_SK    INTEGER NOT NULL,
            GEO_HIER_SK     INTEGER NOT NULL,
            START_DT        DATE NOT NULL,
            END_DT          DATE NOT NULL,
            KPI             INTEGER NOT NULL,
            KPI_TYPE        INTEGER NOT NULL,
            KPI_VALUE       NUMERIC(20,3) NOT NULL
        )
        ;
          ALTER TABLE RPP_METRICS add CONSTRAINT RPP_METRICS_PK
            PRIMARY KEY (OBJECT_CAT_SK,OBJECT_CAT_TYPE,PROD_HIER_SK,GEO_HIER_SK,START_DT,END_DT,KPI,KPI_TYPE);

      quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID858683
   :DESCRIPTION:    Definition needed by Evaluation
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 02MAY2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :CHKTABLES:      &m_di_trans..VEHICLE_CATEGORY


   :ORCL_BEGIN:

       %let _AutoPassThruApplied=0;

       proc sql noprint;
           select count(*)
           into :_AutoPassThruApplied
           from &m_di_trans..CAT_CUSTOM_ATTR
           where CAT_CUSTOM_ATTR_SK=-170
           ;
       quit;

       %if &_AutoPassThruApplied = 0 %then
       %do;

            proc sql noprint;

                insert into CAT_CUSTOM_ATTR
                   (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM,
                    ATTR_DEFAULT_VALUE, ATTR_VALUE_TYPE)
                VALUES
                   (-170, 1, 7,'AutoPassThruApplied', '', 2);
            quit;

       %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID863114
   :DESCRIPTION:    Modify DEMAND_MODEL_TYPE model spec configuration to support migration
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 16MAY2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

        update MODEL_SPEC set spec_value = 'DIRECT_SHARE' where spec_nm = 'DEMAND_MODEL_TYPE'
             and spec_value = 'SHARE_DIRECT';
        update MODEL_SPEC_TEMPLATE set spec_value = 'DIRECT_SHARE' where spec_nm = 'DEMAND_MODEL_TYPE'
             and spec_value = 'SHARE_DIRECT';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0867051
   :DESCRIPTION:    Prevent Promotion plans from eval/opt if they span more than one partition
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 29MAY2012
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ALWAYS
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql noprint;
         select spec_value into :prod_partition_lvl from &m_di_data..global_setting
          where upcase(spec_nm) = 'PROD_PARTITION_LVL';
      quit;


      /* Find out objective_sk.products which either contain Products from more than one partition or defined above PROD_PARTITION_LVL */
      %let sql_st = %bquote(select plan.plan_sk from &m_di_trans..Rpp_plan plan, &m_di_trans..scope_detail det,
                      &m_di_trans..product_hier_assoc_dm p Where plan.objective_sk = det.scope_sk and det.prod_hier_sk = p.prod_hier_sk
                      and p.prod_hier_assoc_cd = 1 and p.parent_prod_lvl = &prod_partition_lvl
                      group by plan.plan_sk having count(distinct(parent_prod_hier_sk)) > 1
                      union all
                      select distinct plan.plan_sk from &m_di_trans..Rpp_plan plan, &m_di_trans..scope_detail det,
                      &m_di_trans..product_dm p Where plan.objective_sk = det.scope_sk and det.prod_hier_sk = p.prod_hier_sk
                      and p.std_hier_prod_lvl < &prod_partition_lvl);

      %di_dm_trans_exe(
         pass_through_sql=%str(&sql_st),
         _output_table=work.obj_scope_high_lvl_prods,
         debug_flag=1);

      proc sort data = work.obj_scope_high_lvl_prods
                out  = work.plans_in_multi_partitions
                nodupkey;
         by plan_sk;
      run;

      /* Set the EVAL_OPT_REQ_CD to 0 (Don't evaluate/optimize) */
      %di_dm_trans_update(
         upload_lib=work,
         upload_table=plans_in_multi_partitions,
         update_table=rpp_plan,
         sql= %str(update &m_di_trans..rpp_plan p1 set EVAL_OPT_REQ_CD = (select 0 from work.plans_in_multi_partitions where p1.plan_sk = plan_sk)
                    where plan_sk in (SELECT plan_sk FROM work.plans_in_multi_partitions))
         );

      data work.high_lvl_prods;
         set work.plans_in_multi_partitions &m_di_mon..stg_rpp_plan_x(obs=0);
         PLAN_ID = cats('PLAN_SK=',plan_sk);

         etls_exception_cond = 'Product in Objective scope is above PROD_PARTITION_LVL or plan spans more than one partition. Plan blocked from eval/opt';

         etl_error_jobruntime = datetime();
         drop plan_sk;
      run;

      proc append base=&m_di_mon..stg_rpp_plan_x data=work.high_lvl_prods force;
      run;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      GLOBAL_CONSTANTS_RUN_ONCE
   :DESCRIPTION:    Refresh Global Constants
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15FEB2011
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :CHKLIB:         &m_di_data., &m_di_trans.
   :CHKTABLES:      &m_di_trans..ma_spec_seed

   :DOC:  These tables are now moved over to di_TRANS library.
   :DOC:  MA_SPEC is now MA_SPEC_SEED.

   :DOC: This change will be run every time apply_sas_data_model_changes.sas is run.
   :DOC: It refreshes the following tables:
   :DOC: GLOBAL_SETTING_DETAILS
   :DOC: GLOBAL_SETTING_GROUP
   :DOC: GLOBAL_SETTING_GROUP_MEMBER
   :DOC: GLOBAL_SETTING_VALUES
   :DOC:
   :DOC: MA_SPEC_SEED
   :DOC:
   :DOC: MODEL_GEO_PROD_STATUS_DETAILS
   :DOC: MODEL_GEO_PROD_STATUS_VALUES
   :DOC:
   :DOC: MODEL_SPEC_DETAILS
   :DOC: MODEL_SPEC_VALUES
   :DOC: MODEL_SPEC_WORKFLOW
   :DOC: SCORING_PARAM_CONFIG
   :DOC:
   :DOC: Jerry Haden will be responsible for keeping latest version of these tables in CVS.
   :DOC: Tables will be maintained at this location: \sas\dibase\misc\alterddl::d3micm52
   :DOC: Jerry may choose to not maintain the tables and only maintain the cport file.
   :DOC: The cport file for all these tables will be visible to customers and located here:
   :DOC:                    \sas\dibase\misc\dbmsc::d3micm52
   :DOC:        The file is named GLOBAL_CONSTANTS.CPORT
   :DOC:
   :DOC: This CPORT file will be imported to work library.  Data in these tables will be
   :DOC:   transferred to existing tables in di_data library.  There are no checks performed.
   :DOC:
   :DOC:

   :ORCL_BEGIN:

        %let DI_MISC_PATH=%di_util_misc_path();

        %include  "&DI_MISC_PATH/seed/seed_global_constants.sas";

        %let m_refresh=%nrstr(proc sql; delete * from &m_di_trans..&m_tn;
        create table work.z as select * from &m_di_trans..&m_tn outer union corr select * from work.&m_tn;
        insert into &m_di_trans..&m_tn select * from work.z; quit;);


        %let m_tn=global_setting_details;
        %unquote(&m_refresh);

        %let m_tn=global_setting_group;
        %unquote(&m_refresh);
        ;

        %let m_tn=global_setting_group_member;
        %unquote(&m_refresh);

        %let m_tn=global_setting_values;
        %unquote(&m_refresh);

        %let m_tn=ma_spec_seed;
        %unquote(&m_refresh);

        %let m_tn=model_geo_prod_status_details;
        %unquote(&m_refresh);

        %let m_tn=model_geo_prod_status_values;
        %unquote(&m_refresh);

        %let m_tn=model_spec_details;
        %unquote(&m_refresh);

        %let m_tn=model_spec_values;
        %unquote(&m_refresh);

        %let m_tn=model_spec_workflow;
        %unquote(&m_refresh);

        %let m_tn=scoring_param_config;
        %unquote(&m_refresh);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      GLOBAL_CONSTANTS
   :DESCRIPTION:    Migrate model/FA specs (includes ID848869 and ID848072)
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 06JUN2012
   :SUPPORT:        Jerry Haden, Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE


   :ORCL_BEGIN:

        options user=work;

        %if "&m_delete_and_start_fresh"="TRUE"  %then
        %do;

            %let DI_MISC_PATH=%di_util_misc_path();

            %include  "&DI_MISC_PATH/seed/seed_global_constants.sas";

            %let m_refresh=%nrstr(proc sql; delete * from &m_di_trans..&m_tn;
            create table work.z as select * from &m_di_trans..&m_tn outer union corr select * from work.&m_tn;
            insert into &m_di_trans..&m_tn select * from work.z; quit;);

            %let m_tn=model_spec_default;
            %unquote(&m_refresh);


        %end;
        %else
        %do;


        %di_util_mig_op_arp_rrp();

        %let DI_MISC_PATH=%di_util_misc_path;
        %di_dm_workbench(m_di_data   = di_data,
                         m_di_trans  = di_trans,
                         m_di_mon    = di_mon,
                         m_benchmark = %str(&DI_MISC_PATH/dbmsc/GLOBAL_CONSTANTS.CPORT)
        );

        %end;

        options user=di_trans;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID871452
   :DESCRIPTION:    Must sync model_spec_default from model_spec after migration
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15JUN2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
        update model_spec_default msd set default_spec_value =
            (select spec_value from model_spec ms where
                ms.spec_nm = msd.spec_nm
                and ms.spec_type = msd.spec_type
                and ms.model_comp_nm = msd.model_comp_nm
                and ms.model_group_id = -1)
        where
            (select spec_value from model_spec ms2 where
                ms2.spec_nm = msd.spec_nm
                and ms2.spec_type = msd.spec_type
                and ms2.model_comp_nm = msd.model_comp_nm
                and ms2.model_group_id = -1)
        ^= msd.default_spec_value;
   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID872715
   :DESCRIPTION:    MA_SPEC_SEED table is missing last_insample_week spec
   :VERSION:        D3MICM52
   :DATE_OF_CHANGE: 15JUN2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       delete from ma_spec_seed where spec_nm = 'LAST_INSAMPLE_WEEK';
       insert into ma_spec_seed (model_group_id,spec_nm,spec_value,user_nm)
                values (-1,'LAST_INSAMPLE_WEEK',NULL,'SEED');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID882658
   :DESCRIPTION:    Add value 2 for REG spec INV_ADJ
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 02AUG2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       delete from MODEL_SPEC_VALUES where MODEL_COMP_NM = 'REG' and SPEC_NM = 'INV_ADJ' and SPEC_VALUE = '2';
       insert into MODEL_SPEC_VALUES (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
                values ('REG','INV_ADJ','2','auto_select.txt');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID880469
   :DESCRIPTION:    Change scoring param default categories CP to CPRICE
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 02AUG2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       update SCORING_PARAM_CONFIG set EFFECT_CATEGORY = 'CPRICE' where EFFECT_CATEGORY = 'CP';
       update SCORING_PARAM_DEFAULT set EFFECT_CATEGORY = 'CPRICE' where EFFECT_CATEGORY = 'CP';

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID880455
   :DESCRIPTION:    Drop several scoring parameter default categories which are no longer valid
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 02AUG2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       delete from SCORING_PARAM_CONFIG where EFFECT_CATEGORY in ('CARP','CRRP','ARP','M_ARP','RRP');
       delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY in ('CARP','CRRP','ARP','M_ARP','RRP');

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID872973
   :DESCRIPTION:    FCST_BESTN_LIST and FCST_BESTS_LIST should support multiple underscore-separated values
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 03AUG2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       update MODEL_SPEC_DETAILS set SPEC_VALUE_LIST_DELIMITER = '_' where SPEC_NM = 'FCST_BESTN_LIST';
       update MODEL_SPEC_DETAILS set SPEC_VALUE_LIST_DELIMITER = '_' where SPEC_NM = 'FCST_BESTS_LIST';

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID886888_2
   :DESCRIPTION:    Ensure ETL_WEBSERVICE_AUTHDOMAIN global setting value is DefaultAuth
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 15AUG2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE


   :ORCL_BEGIN:

      proc sql;

            update &m_di_data..GLOBAL_SETTING set SPEC_VALUE = 'DefaultAuth'
              where SPEC_NM ='ETL_WEBSERVICE_AUTHDOMAIN' and APP = 'ALL' and SPEC_VALUE = 'SOAPAuthDomain';

            update &m_di_trans..GLOBAL_SETTING_DETAILS set DEFAULT_SPEC_VALUE = 'DefaultAuth'
            where SPEC_NM ='ETL_WEBSERVICE_AUTHDOMAIN' and APP = 'ALL';

      quit;

   :ORCL_END:




:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID888676
   :DESCRIPTION:    Fix PS_1, CPS_1, HOLIDAY_1 model spec details
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 15AUG2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

      update MODEL_SPEC_DETAILS set GENERATE_PREFIX_NM = 'PS_'
            where SPEC_NM ='PS_1' and MODEL_COMP_NM = 'ALL';
      update MODEL_SPEC_DETAILS set GENERATE_SUFFIX_MAX = 'PS_TOTAL_LENGTH'
            where SPEC_NM ='PS_1' and MODEL_COMP_NM = 'ALL';

      update MODEL_SPEC_DETAILS set GENERATE_PREFIX_NM = 'CPS_'
            where SPEC_NM ='CPS_1' and MODEL_COMP_NM = 'REG';
      update MODEL_SPEC_DETAILS set GENERATE_SUFFIX_MAX = 'PS_TOTAL_LENGTH'
            where SPEC_NM ='CPS_1' and MODEL_COMP_NM = 'REG';

      update MODEL_SPEC_DETAILS set GENERATE_PREFIX_NM = 'HOLIDAY_'
            where SPEC_NM ='HOLIDAY_1' and MODEL_COMP_NM = 'TS';
      update MODEL_SPEC_DETAILS set GENERATE_SUFFIX_MAX = 'HD_TOTAL_LENGTH'
            where SPEC_NM ='HOLIDAY_1' and MODEL_COMP_NM = 'TS';

      update MODEL_SPEC_DETAILS set GENERATE_PREFIX_NM = 'HOLIDAY_'
            where SPEC_NM ='HOLIDAY_1' and MODEL_COMP_NM = 'REG';
      update MODEL_SPEC_DETAILS set GENERATE_SUFFIX_MAX = 'HD_TOTAL_LENGTH'
            where SPEC_NM ='HOLIDAY_1' and MODEL_COMP_NM = 'REG';

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID892275
   :DESCRIPTION:    Scoring rules precision needs to be changed to 4 decimal places
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 29AUG2012
   :SUPPORT:        jehade
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:


proc sort data=di_dm2.fa_scoring_range_rule out=work.fa_scoring_range_rule_init;
by fa_scoring_rule_sk range_start_value range_end_value;
run;


data work.fa_scoring_range_rule;
set work.fa_scoring_range_rule_init;
drop prev_end_value;
by fa_scoring_rule_sk;

attrib precision length=8.;
drop precision;
retain prev_end_value;


precision=range_start_value-int(range_start_value);
precision=precision*100-int(precision*100/10)*10;
if int(precision)=1 then do;
range_start_value=int(range_start_value*10)/10+0.0001;
end;

/* This takes care of changes of the types from -1.99 to -1.9999 */
if not first.fa_scoring_rule_sk then do;
   range_start_value=prev_end_value;
end;

prev_end_value=range_end_value+0.0001;

run;



proc sql;

update  di_dm2.fa_scoring_range_rule as T1
      set range_start_value=(select range_start_value
                               from work.fa_scoring_range_rule as workTab
                               where T1.FA_SCORING_RANGE_RULE_SK=workTab.FA_SCORING_RANGE_RULE_SK
                                );

quit;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID894017
   :DESCRIPTION:    Change the purge order of Geo_Prod and Geo_prod_status in Purge_Query
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 4SEP2012
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   proc sql;

   update purge_query
     set purge_order=13
     where table_nm='GEO_PROD_STATUS'
     and purge_order=12;

   update purge_query
     set purge_order=12
     where table_nm='GEO_PROD'
     and purge_order=13;

   quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID896165
   :DESCRIPTION:    Autogen spec expansion for PS_xx needs to include TS,REG components for model_spec_values
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 11SEP2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %if "&m_delete_and_start_fresh"^="TRUE" %then %do;

      proc sql noprint;
        select spec_value into :ps_val
        from &m_di_data..global_setting
        where upcase(spec_nm)='PS_TOTAL_LENGTH';
      quit;

      /* check if ps_val > 1 */
      %if (&ps_val > 1) %then %do;
        %do j = 2 %to &ps_val;
          %let x = %sysfunc(compress('PS_', "'"))&j ;

          proc sql;
           delete from &m_di_trans..model_spec_values where spec_nm = 'PS_1' and MODEL_COMP_NM = 'REG' and SPEC_VALUE = '2';
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG','PS_1','2','auto_select.txt');
           delete from &m_di_trans..model_spec_values where spec_nm = "&x";
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'1','include_force.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'2','auto_select.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'3','use_TS_level_estimates.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'4','force_effect_estimate.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'1','include_force.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'2','auto_select.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'4','force_effect_estimate.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'1','include_force.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'2','auto_select.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'4','force_effect_estimate.txt');
          quit;

        %end;
      %end;

   %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0903559
   :DESCRIPTION:    Add Support for Base Promotional Price
   :VERSION:        D3MICM521
   :DATE_OF_CHANGE: 03OCT2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-186, 2, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-171, 3, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-172, 5, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-173, 6, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-174, 7, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-175, 8, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-176,40, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-177,41, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-178,42, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-179,43, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-180,44, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-181,45, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-182,46, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-183,47, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-184,48, 7,'RegularPriceOverride', 1);
       INSERT INTO CAT_CUSTOM_ATTR  (CAT_CUSTOM_ATTR_SK, OBJECT_CAT_SK, OBJECT_CAT_TYPE, ATTR_NM, ATTR_VALUE_TYPE)
                            VALUES  (-185,49, 7,'RegularPriceOverride', 1);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0890004
   :DESCRIPTION:    Miles and Points not configured correctly by default in seed file for new installations
   :VERSION:        D3MICM521
   :DATE_OF_CHANGE: 03OCT2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   delete from vehicle_category where VEHICLE_CATEGORY_SK = 9;
   delete from vehicle_category where VEHICLE_CATEGORY_SK = 52;
   delete from vehicle_category where VEHICLE_CATEGORY_SK = 54;

   delete from CAT_CUSTOM_ATTR where OBJECT_CAT_TYPE = 7 and OBJECT_CAT_SK = 9;
   delete from CAT_CUSTOM_ATTR where OBJECT_CAT_TYPE = 7 and OBJECT_CAT_SK = 52;
   delete from CAT_CUSTOM_ATTR where OBJECT_CAT_TYPE = 7 and OBJECT_CAT_SK = 54;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0833636
   :DESCRIPTION:    Removing Regular Price from default vehicle categories
   :VERSION:        D3MICM521
   :DATE_OF_CHANGE: 03OCT2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   delete from vehicle_category where VEHICLE_CATEGORY_SK = 0;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0903559_2
   :DESCRIPTION:    Add Support for Base Promotional Price
   :VERSION:        D3MICM521
   :DATE_OF_CHANGE: 03OCT2012
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM CAT_CUSTOM_ATTR WHERE CAT_CUSTOM_ATTR_SK <= -171 and CAT_CUSTOM_ATTR_SK  >= -186;

       alter table RPP_PLAN_PROD_ASGMNT ADD PRICE_OVERRIDE_AMT NUMERIC(20,3);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID906501
   :DESCRIPTION:    Remove value 3 for PS_xx (ALL) model spec (ensure ALL, TS, REG the same)
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 12OCT2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %if "&m_delete_and_start_fresh"^="TRUE" %then %do;

      proc sql noprint;
        select spec_value into :ps_val
        from &m_di_data..global_setting
        where upcase(spec_nm)='PS_TOTAL_LENGTH';
      quit;

      %do j = 1 %to &ps_val;
          %let x = %sysfunc(compress('PS_', "'"))&j ;

          proc sql;
           delete from &m_di_trans..model_spec_values where spec_nm = "&x";
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'1','include_force.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'2','auto_select.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('ALL',"&x",'4','force_effect_estimate.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'1','include_force.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'2','auto_select.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'4','force_effect_estimate.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'1','include_force.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'2','auto_select.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'4','force_effect_estimate.txt');
          quit;

      %end;

   %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0904989
   :DESCRIPTION:    Add SASMIETL to app_user while migrating
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 19OCT2012
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:



   %let m_app_user_cnt=0;
   %let m_app_user_group_cnt=0;
   %let m_app_user_perm_cnt=0;
   proc sql noprint;
       select count(*) into :m_app_user_cnt
         from app_user where app_user_id = "&m_mi_cfg_sasmietl";
       select count(*) into :m_app_user_group_cnt
         from app_group where app_Group_id = "&m_mi_cfg_sasmietl._ug_";
       select count(*) into :m_app_user_perm_cnt
         from app_group where app_Group_id = "&m_mi_cfg_sasmietl._ep_";
   quit;

   %if ( %eval(&m_app_user_cnt) = 0) %then
   %do;

      proc sql noprint;
         select max(app_user_sk)+1 into :m_app_user_sk from app_user where app_user_sk<99000;


      INSERT INTO app_user (app_user_sk, app_user_id, app_user_nm, last_login_dttm)
         VALUES (&m_app_user_sk, "&m_mi_cfg_sasmietl", 'SAS MI ETL User', '04NOV2004:07:00:00'dt);
     quit;

   %end;

   %if ( %eval(&m_app_user_group_cnt) = 0 ) %then
   %do;
      proc sql noprint;
        select max(app_group_sk)+1 into :m_mi_cfg_sasmietl_sk from app_group  where app_group_sk<99000;

      INSERT INTO app_group(app_group_sk, app_Group_id, app_group_name, user_group_flg )
         VALUES( &m_mi_cfg_sasmietl_sk, "&m_mi_cfg_sasmietl._ug_", 'SAS MI ETL User Group', 1 ) ;
      select max(auth_sk)+1 into :m_mi_cfg_auth_sk from Data_authorization  where auth_sk<99000; 
      INSERT INTO Data_authorization(AUTH_SK, APP_GROUP_SK, PROD_HIER_SK, GEO_HIER_SK, PERMISSION_SK, AUTH_COMMENTS )
           VALUES( &m_mi_cfg_auth_sk ,&m_mi_cfg_sasmietl_sk,1,1,1,"&m_mi_cfg_sasmietl gets read permission for all products, everywhere");
       select max(auth_sk)+1 into :m_mi_cfg_auth_sk from Data_authorization  where auth_sk<99000;        
      INSERT INTO Data_authorization(AUTH_SK, APP_GROUP_SK, PROD_HIER_SK, GEO_HIER_SK, PERMISSION_SK, AUTH_COMMENTS )
           VALUES( &m_mi_cfg_auth_sk  ,&m_mi_cfg_sasmietl_sk,1,1,2,"&m_mi_cfg_sasmietl gets write permission for all products, everywhere");
     quit;

   %end;

   %if ( %eval(&m_app_user_perm_cnt) = 0 ) %then
   %do;


      proc sql noprint;

         select max(app_group_sk)+1 into :m_mi_cfg_sasmietl_sk from app_group  where app_group_sk<99000;
      INSERT INTO app_group(app_group_sk, app_Group_id, app_group_name, user_group_flg )
      VALUES( &m_mi_cfg_sasmietl_sk, "&m_mi_cfg_sasmietl._ep_", 'SAS MI ETL User Perms', 2 ) ;
     quit;

   %end;



   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914459_1
   :DESCRIPTION:    Ensure values 0, 1, 2 and 4 for HOLIDAY_xx specs
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 06NO2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %if "&m_delete_and_start_fresh"^="TRUE" %then %do;

      proc sql noprint;
        select spec_value into :hd_val
        from &m_di_data..global_setting
        where upcase(spec_nm)='HD_TOTAL_LENGTH';
      quit;

      %do j = 1 %to &hd_val;
          %let x = %sysfunc(compress('HOLIDAY_', "'"))&j ;

          proc sql;
           delete from &m_di_trans..model_spec_values where spec_nm = "&x";
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'1','mspec.HOLIDAY_1.pmeaning.1.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'2','mspec.HOLIDAY_1.pmeaning.2.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('TS',"&x",'4','force_effect_estimate.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'0','do_NOT_include.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'1','mspec.HOLIDAY_1.pmeaning.1.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'2','mspec.HOLIDAY_1.pmeaning.2.txt');
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'4','force_effect_estimate.txt');
          quit;

      %end;

   %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914459_2
   :DESCRIPTION:    Add value 4 for LCP
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 06NO2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      delete from MODEL_SPEC_VALUES where MODEL_COMP_NM = 'REG' and SPEC_NM = 'LCP' and SPEC_VALUE = '4';
      insert into MODEL_SPEC_VALUES (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
                values ('REG','LCP','4','force_effect_estimate_2.txt');
      update MODEL_SPEC_DETAILS set SPEC_DATATYPE = 'MultiValue' where MODEL_COMP_NM = 'REG' and SPEC_NM = 'LCP';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914459_3
   :DESCRIPTION:    Remove value 3 for INV_ADJ and PL_ADJ
   :VERSION:        M1MICM521
   :DATE_OF_CHANGE: 06NO2012
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      delete from MODEL_SPEC_VALUES where SPEC_NM = 'INV_ADJ' and SPEC_VALUE = '3';
      delete from MODEL_SPEC where MODEL_GROUP_ID ^= -1 and (SPEC_NM = 'INV_ADJ' and SPEC_VALUE = '3');
      update MODEL_SPEC set SPEC_VALUE = '0'
           where (MODEL_GROUP_ID = -1 and SPEC_NM = 'INV_ADJ' and SPEC_VALUE = '3');
      update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '0'
           where (SPEC_NM = 'INV_ADJ' and DEFAULT_SPEC_VALUE = '3');

      delete from MODEL_SPEC_VALUES where SPEC_NM = 'PL_ADJ' and SPEC_VALUE = '3';
      delete from MODEL_SPEC where MODEL_GROUP_ID ^= -1 and (SPEC_NM = 'PL_ADJ' and SPEC_VALUE = '3');
      update MODEL_SPEC set SPEC_VALUE = '0'
           where (MODEL_GROUP_ID = -1 and SPEC_NM = 'PL_ADJ' and SPEC_VALUE = '3');
      update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '0'
           where (SPEC_NM = 'PL_ADJ' and DEFAULT_SPEC_VALUE = '3');
      delete from MODEL_SPEC_VALUES where MODEL_COMP_NM = 'REG' and SPEC_NM = 'PL_ADJ' and SPEC_VALUE = '2';
      insert into MODEL_SPEC_VALUES (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
                values ('REG','PL_ADJ','2','auto_select.txt');


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0868950_0
   :DESCRIPTION:    Set defaults by geo x prod x delivery-type
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 25JAN2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_BUY ADD USE_PACK_DEFAULTS INTEGER DEFAULT 0 NOT NULL;
      ALTER TABLE PKO_DELIVERY ADD USE_PACK_DEFAULTS INTEGER DEFAULT 0 NOT NULL;

   :ORCL_END:

    :SAS_BEGIN:

        data &m_di_trans..PKO_BUY;
            set &m_di_trans..PKO_BUY;
            ATTRIB USE_PACK_DEFAULTS LENGTH=4;
            USE_PACK_DEFAULTS=0;
        RUN;

        proc sql;
            alter table &m_di_trans..PKO_BUY add NOT NULL (USE_PACK_DEFAULTS);
        quit;

        data &m_di_trans..PKO_DELIVERY;
            set &m_di_trans..PKO_DELIVERY;
            ATTRIB USE_PACK_DEFAULTS LENGTH=4;
            USE_PACK_DEFAULTS=1;
        RUN;

        proc sql;
            alter table &m_di_trans..PKO_DELIVERY add NOT NULL (USE_PACK_DEFAULTS);
        quit;

    :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0868950_1
   :DESCRIPTION:    Set defaults by geo x prod x delivery-type
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 25JAN2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE PKO_PACK_DEFAULT
      (
        PACK_DEFAULT_SK                    INTEGER NOT NULL,
        DELIVERY_TYPE_ID                   INTEGER,
        PROD_HIER_SK                       INTEGER NOT NULL,
        LOOKUP_PACKS                       INTEGER NOT NULL,
        ALLOW_PRIOR_DELIVERY_PACKS         INTEGER,
        REC_MULTICOLOR                     INTEGER,
        BREAK_PACKS                        INTEGER,
        USE_SHARED_PACK_CONFIGS            INTEGER,
        NUM_PACK_REC_MAX                   INTEGER,
        SIZE_OF_OUTER_MAX                  INTEGER,
        OPEN_COST_PER_INNER                NUMERIC(20,3),
        OUTER_HANDLE_DSCT_RATE             NUMERIC(12,4),
        PRIMARY KEY (PACK_DEFAULT_SK)
      )
      ;

      CREATE SEQUENCE SEQ_PACK_DEFAULT_SK START WITH 100000;

      CREATE INDEX PKO_PACK_DEFAULT_IX1 ON PKO_PACK_DEFAULT
      (
        PROD_HIER_SK
      )
      ;

      CREATE INDEX PKO_PACK_DEFAULT_IX2 ON PKO_PACK_DEFAULT
      (
        DELIVERY_TYPE_ID
      )
      ;

      CREATE TABLE PKO_PACKREC_INNER_DEFAULT
      (
        PACKREC_INNER_DEFAULT_SK           INTEGER NOT NULL,
        PACK_DEFAULT_SK                    INTEGER,
        SIZE_OF_INNER                      INTEGER NOT NULL,
        INNER_HANDLE_COST                  NUMERIC(20,3),
        PRIMARY KEY (PACKREC_INNER_DEFAULT_SK)
      )
      ;

      CREATE SEQUENCE SEQ_PACKREC_INNER_DEFAULT_SK START WITH 100000;

      CREATE TABLE PKO_BULK_PACK_SIZE_DEFAULT
      (
        BULK_PACK_SIZE_DEFAULT_SK          INTEGER NOT NULL,
        PACK_DEFAULT_SK                    INTEGER,
        BULKSIZE                           INTEGER NOT NULL,
        INNER_PACK_HANDLE_COST             NUMERIC(20,3),
        OUTER_PACK_HANDLE_COST             NUMERIC(20,3),
        OPENING_COST                       NUMERIC(20,3),
        PRIMARY KEY (BULK_PACK_SIZE_DEFAULT_SK)
      )
      ;

      CREATE SEQUENCE SEQ_BULK_PACK_SIZE_DEFAULT_SK START WITH 100000;

      CREATE TABLE PKO_LIMIT_PACK_DEFAULT
      (
        LIMIT_PACK_DEFAULT_SK              INTEGER NOT NULL,
        PACK_DEFAULT_SK                    INTEGER,
        PACK_SK                            INTEGER NOT NULL,
        PRIMARY KEY (LIMIT_PACK_DEFAULT_SK)
      )
      ;

      CREATE SEQUENCE SEQ_LIMIT_PACK_DEFAULT_SK START WITH 100000;


   :ORCL_END:

   :SAS_BEGIN:

      PROC SQL;

        CREATE TABLE PKO_PACK_DEFAULT
        (
          PACK_DEFAULT_SK                    INTEGER NOT NULL,
          DELIVERY_TYPE_ID                   INTEGER,
          PROD_HIER_SK                       INTEGER NOT NULL,
          LOOKUP_PACKS                       INTEGER NOT NULL,
          ALLOW_PRIOR_DELIVERY_PACKS         INTEGER,
          REC_MULTICOLOR                     INTEGER,
          BREAK_PACKS                        INTEGER,
          USE_SHARED_PACK_CONFIGS            INTEGER,
          NUM_PACK_REC_MAX                   INTEGER,
          SIZE_OF_OUTER_MAX                  INTEGER,
          OPEN_COST_PER_INNER                NUMERIC(20,3),
          OUTER_HANDLE_DSCT_RATE             NUMERIC(12,4)
        )
        ;

        ALTER TABLE PKO_PACK_DEFAULT add CONSTRAINT PRIM_KEY PRIMARY KEY (PACK_DEFAULT_SK);

        CREATE TABLE PKO_PACKREC_INNER_DEFAULT
        (
          PACKREC_INNER_DEFAULT_SK           INTEGER NOT NULL,
          PACK_DEFAULT_SK                    INTEGER,
          SIZE_OF_INNER                      INTEGER NOT NULL,
          INNER_HANDLE_COST                  NUMERIC(20,3)
        )
        ;

        ALTER TABLE PKO_PACKREC_INNER_DEFAULT add CONSTRAINT PRIM_KEY PRIMARY KEY (PACKREC_INNER_DEFAULT_SK);

        CREATE TABLE PKO_BULK_PACK_SIZE_DEFAULT
        (
          BULK_PACK_SIZE_DEFAULT_SK          INTEGER NOT NULL,
          PACK_DEFAULT_SK                    INTEGER,
          BULKSIZE                           INTEGER NOT NULL,
          INNER_PACK_HANDLE_COST             NUMERIC(20,3),
          OUTER_PACK_HANDLE_COST             NUMERIC(20,3),
          OPENING_COST                       NUMERIC(20,3)
        )
        ;

        ALTER TABLE PKO_BULK_PACK_SIZE_DEFAULT add CONSTRAINT PRIM_KEY PRIMARY KEY (BULK_PACK_SIZE_DEFAULT_SK);

        CREATE TABLE PKO_LIMIT_PACK_DEFAULT
        (
          LIMIT_PACK_DEFAULT_SK              INTEGER NOT NULL,
          PACK_DEFAULT_SK                    INTEGER,
          PACK_SK                            INTEGER NOT NULL
        )
        ;

        ALTER TABLE PKO_LIMIT_PACK_DEFAULT add CONSTRAINT PRIM_KEY PRIMARY KEY (LIMIT_PACK_DEFAULT_SK);

      QUIT;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0938932
   :DESCRIPTION:    see defect S0938932
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 02FEB2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE RPO_PLAN ADD PRICE_CHG_DIRECTION INTEGER;

   ALTER TABLE RPO_PLAN ADD TARGET_CPI_MIN NUMERIC(12,4);
   ALTER TABLE RPO_PLAN ADD TARGET_CPI_MAX NUMERIC(12,4);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914979_1
   :DESCRIPTION:    Support additional default model group templates - schema change
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 03FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   create table data_config_template_bk as select * from data_config_template;
   delete from data_config_template;
   alter table data_config_template modify config_template_nm varchar2(100);
   alter table data_config_template modify config_template_desc varchar2(500);
   insert into data_config_template (CONFIG_TEMPLATE_ID,CONFIG_TEMPLATE_NM,CONFIG_TEMPLATE_DESC,
      TS_GEO_LVL,TS_PROD_LVL,TS_BY_GEO_LVL,TS_BY_PROD_LVL,REG_GEO_LVL,REG_PROD_LVL,REG_BY_GEO_LVL,REG_BY_PROD_LVL,
        DOW_GEO_LVL,DOW_PROD_LVL,DOW_BY_GEO_LVL,DOW_BY_PROD_LVL,CREATED_BY,CREATED_DTTM)
      (select CONFIG_TEMPLATE_ID,CONFIG_TEMPLATE_NM,CONFIG_TEMPLATE_DESC,
         TS_GEO_LVL,TS_PROD_LVL,TS_BY_GEO_LVL,TS_BY_PROD_LVL,REG_GEO_LVL,REG_PROD_LVL,REG_BY_GEO_LVL,REG_BY_PROD_LVL,
         DOW_GEO_LVL,DOW_PROD_LVL,DOW_BY_GEO_LVL,DOW_BY_PROD_LVL,CREATED_BY,CREATED_DTTM from data_config_template_bk);
   drop table data_config_template_bk;

   :ORCL_END:


   :SAS_BEGIN:

      proc sql;
      create table DATA_CONFIG_TEMPLATE_BK as select * from &m_di_trans..DATA_CONFIG_TEMPLATE;
      drop table &m_di_trans..DATA_CONFIG_TEMPLATE;
      create table &m_di_trans..DATA_CONFIG_TEMPLATE
        (
                CONFIG_TEMPLATE_ID          INTEGER NOT NULL,
                CONFIG_TEMPLATE_NM          VARCHAR(100),
                CONFIG_TEMPLATE_DESC        VARCHAR(500),
                TS_GEO_LVL                  INTEGER,
                TS_PROD_LVL                 INTEGER,
                TS_BY_GEO_LVL               INTEGER,
                TS_BY_PROD_LVL              INTEGER,
                REG_GEO_LVL                 INTEGER,
                REG_PROD_LVL                INTEGER,
                REG_BY_GEO_LVL              INTEGER,
                REG_BY_PROD_LVL             INTEGER,
                DOW_GEO_LVL                 INTEGER,
                DOW_PROD_LVL                INTEGER,
                DOW_BY_GEO_LVL              INTEGER,
                DOW_BY_PROD_LVL             INTEGER,
                CREATED_BY                  VARCHAR(20),
                CREATED_DTTM                DATE
        )
      ;
      alter table &m_di_trans..DATA_CONFIG_TEMPLATE add CONSTRAINT PRIM_KEY PRIMARY KEY (CONFIG_TEMPLATE_ID);
      insert into &m_di_trans..DATA_CONFIG_TEMPLATE (CONFIG_TEMPLATE_ID,CONFIG_TEMPLATE_NM,CONFIG_TEMPLATE_DESC,
         TS_GEO_LVL,TS_PROD_LVL,TS_BY_GEO_LVL,TS_BY_PROD_LVL,REG_GEO_LVL,REG_PROD_LVL,REG_BY_GEO_LVL,REG_BY_PROD_LVL,
           DOW_GEO_LVL,DOW_PROD_LVL,DOW_BY_GEO_LVL,DOW_BY_PROD_LVL,CREATED_BY,CREATED_DTTM)
        (select CONFIG_TEMPLATE_ID,CONFIG_TEMPLATE_NM,CONFIG_TEMPLATE_DESC,
         TS_GEO_LVL,TS_PROD_LVL,TS_BY_GEO_LVL,TS_BY_PROD_LVL,REG_GEO_LVL,REG_PROD_LVL,REG_BY_GEO_LVL,REG_BY_PROD_LVL,
           DOW_GEO_LVL,DOW_PROD_LVL,DOW_BY_GEO_LVL,DOW_BY_PROD_LVL,CREATED_BY,CREATED_DTTM from DATA_CONFIG_TEMPLATE_BK);
      drop table DATA_CONFIG_TEMPLATE_BK;
   quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914979_2
   :DESCRIPTION:    Support additional default model group templates - template inserts
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 03FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      options lrecl=2000;
      %include "%di_util_misc_path()/dbmsc/default_model_group_templates.sas";

      proc sql noprint;
         update &m_di_trans..DATA_CONFIG_TEMPLATE set CREATED_DTTM = '03FEB2013:00:00:00.00'dt;
         update &m_di_trans..MODEL_SPEC_TEMPLATE set CREATED_DTTM = '03FEB2013:00:00:00.00'dt;
      quit;

   :ORCL_END:

   :SAS_BEGIN:

      options lrecl=2000;
      %include "%di_util_misc_path()/dbmsc/default_model_group_templates.sas";

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914979_3
   :DESCRIPTION:    Support additional default model group templates - HOLIDAY and PS expansion
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 03FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql noprint;
        select spec_value into :hd_val from &m_di_data..global_setting where upcase(spec_nm)='HD_TOTAL_LENGTH';
        select spec_value into :ps_val from &m_di_data..global_setting where upcase(spec_nm)='PS_TOTAL_LENGTH';
      quit;

      %do j = 2 %to &hd_val;
          %let x = %sysfunc(compress('HOLIDAY_', "'"))&j ;

          proc sql;
            delete from &m_di_trans..model_spec_template where SPEC_NM = "&x" and MODEL_SPEC_ID in (2,3,4,5,6,7,8);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (2,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (3,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (4,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (5,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (6,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (7,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (8,'TS',"&x",'-1', '2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
          quit;

      %end;

      %do k = 2 %to &ps_val;
          %let y = %sysfunc(compress('PS_', "'"))&k ;

          proc sql;
            delete from &m_di_trans..model_spec_template where SPEC_NM = "&y" and MODEL_SPEC_ID in (5,6,7,8);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (5,'ALL',"&y",'2','2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (6,'ALL',"&y",'1','2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (7,'ALL',"&y",'1','2',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (8,'ALL',"&y",'1','4',NULL,'CWB Seed','03FEB2013:00:00:00.00'dt);
          quit;

      %end;

   :ORCL_END:



   :SAS_BEGIN:

      proc sql noprint;
        select spec_value into :hd_val from &m_di_data..global_setting where upcase(spec_nm)='HD_TOTAL_LENGTH';
        select spec_value into :ps_val from &m_di_data..global_setting where upcase(spec_nm)='PS_TOTAL_LENGTH';
      quit;

      %do j = 2 %to &hd_val;
          %let x = %sysfunc(compress('HOLIDAY_', "'"))&j ;

          proc sql;
            delete from &m_di_trans..model_spec_template where SPEC_NM = "&x" and MODEL_SPEC_ID in (2,3,4,5,6,7,8);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (2,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (3,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (4,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (5,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (6,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (7,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE, SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
            values (8,'TS',"&x",'-1', '2',NULL,'CWB Seed','03-FEB-13'd);
          quit;

      %end;

      %do k = 2 %to &ps_val;
          %let y = %sysfunc(compress('PS_', "'"))&k ;

          proc sql;
            delete from &m_di_trans..model_spec_template where SPEC_NM = "&y" and MODEL_SPEC_ID in (5,6,7,8);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (5,'ALL',"&y",'2','2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (6,'ALL',"&y",'1','2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (7,'ALL',"&y",'1','2',NULL,'CWB Seed','03-FEB-13'd);
         insert into &m_di_trans..model_spec_template (MODEL_SPEC_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_BY,CREATED_DTTM)
                values (8,'ALL',"&y",'1','4',NULL,'CWB Seed','03-FEB-13'd);
          quit;

      %end;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914979_4
   :DESCRIPTION:    Correction to template 5 - FCST_DISAGG_GEO_LVL_OFFSET
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 07FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

       UPDATE MODEL_SPEC_TEMPLATE SET SPEC_VALUE = '1' WHERE (MODEL_SPEC_ID = 5
          and SPEC_NM = 'FCST_DISAGG_GEO_LVL_OFFSET');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0868950_2
   :DESCRIPTION:    Set planned quantities by style/color/location in manual plans
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 09FEB2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE PKO_DELIVERY_STORE_GROUP
      (
         DELIVERY_STORE_GROUP_SK               INTEGER NOT NULL,
         DELIVERY_SK                           INTEGER,
         GEO_GROUP_SK                          INTEGER,
         STORE_GROUP_NM                        VARCHAR(40),
         PRIMARY KEY (DELIVERY_STORE_GROUP_SK)
      )
      ;

      CREATE SEQUENCE SEQ_DELIVERY_STORE_GROUP_SK START WITH 100000;

   :ORCL_END:

   :SAS_BEGIN:

      PROC SQL;

        CREATE TABLE PKO_DELIVERY_STORE_GROUP
        (
         DELIVERY_STORE_GROUP_SK               INTEGER NOT NULL,
         DELIVERY_SK                           INTEGER,
         GEO_GROUP_SK                          INTEGER,
         STORE_GROUP_NM                        VARCHAR(40)
        )
        ;

        ALTER TABLE PKO_DELIVERY_STORE_GROUP add CONSTRAINT PRIM_KEY PRIMARY KEY (DELIVERY_STORE_GROUP_SK);

      QUIT;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID943853_GPSTATUS_create
   :DESCRIPTION:    New tables GLOBAL_GEO_PROD_STATUS_RULE, ..._SPEC, ..._DETAILS, ..._VALUES
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 18FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE TABLE GLOBAL_GEO_PROD_STATUS_RULE
        (
                PROD_HIER_SK                INTEGER NOT NULL,
                RULE_NM                     VARCHAR(32) NOT NULL,
                RULE_VALUE                  VARCHAR(100),
                SPEC_VALUE                  VARCHAR(200),
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (PROD_HIER_SK,RULE_NM)
        )
        ;

        CREATE TABLE GLOBAL_GEO_PROD_STATUS_SPEC
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_VALUE                  VARCHAR(100),
                CREATED_DTTM                DATE,
                CREATED_BY                  VARCHAR(20),
                 PRIMARY KEY (SPEC_NM)
        )
        ;

       CREATE TABLE GLOBAL_GEO_PROD_STATUS_DETAILS
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_RULE_FLG               INTEGER NOT NULL,
                DEFAULT_SPEC_VALUE          VARCHAR(100),
                SPEC_DATATYPE               VARCHAR(40),
                SPEC_DATATYPE_EXT           VARCHAR(40),
                SPEC_VALUE_MIN              NUMERIC(12,4),
                SPEC_VALUE_MAX              NUMERIC(12,4),
                SPEC_VALUE_INCR             NUMERIC(12,4),
                REF_QUERY                   VARCHAR(500),
                SPEC_VALUE_LIST_DELIMITER   VARCHAR(3),
                DESC_KEY                    VARCHAR(100),
                 PRIMARY KEY (SPEC_NM,SPEC_RULE_FLG)
        )
        ;

        CREATE TABLE GLOBAL_GEO_PROD_STATUS_VALUES
        (
                SPEC_NM                     VARCHAR(32) NOT NULL,
                SPEC_RULE_FLG               INTEGER NOT NULL,
                SPEC_VALUE                  VARCHAR(100) NOT NULL,
                SPEC_VALUE_DESC_KEY         VARCHAR(100),
                 PRIMARY KEY (SPEC_NM,SPEC_RULE_FLG,SPEC_VALUE)
        )
        ;


   :ORCL_END:


   :SAS_BEGIN:

        data GLOBAL_GEO_PROD_STATUS_RULE;
        attrib PROD_HIER_SK                        length=6                                            ;
        attrib RULE_NM                             length=$32                                          ;
        attrib RULE_VALUE                          length=$100                                         ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table GLOBAL_GEO_PROD_STATUS_RULE add CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK, RULE_NM);
        quit;

        data GLOBAL_GEO_PROD_STATUS_SPEC;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib CREATED_DTTM                        length=8      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ;
        attrib CREATED_BY                          length=$20                                          ;
        stop; run;

        proc sql;
        alter table GLOBAL_GEO_PROD_STATUS_SPEC add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM);
        quit;

        data GLOBAL_GEO_PROD_STATUS_DETAILS;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_RULE_FLG                       length=4                                            ;
        attrib DEFAULT_SPEC_VALUE                  length=$100                                         ;
        attrib SPEC_DATATYPE                       length=$40                                          ;
        attrib SPEC_DATATYPE_EXT                   length=$40                                          ;
        attrib SPEC_VALUE_MIN                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_MAX                      length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib SPEC_VALUE_INCR                     length=8      FORMAT=NLNUM12.2   INFORMAT=NLNUM12.2 ;
        attrib REF_QUERY                           length=$500                                         ;
        attrib SPEC_VALUE_LIST_DELIMITER           length=$3                                           ;
        attrib DESC_KEY                            length=$100                                         ;
        stop; run;

        proc sql;
        alter table GLOBAL_GEO_PROD_STATUS_DETAILS add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, SPEC_RULE_FLG);
        quit;

        data GLOBAL_GEO_PROD_STATUS_VALUES;
        attrib SPEC_NM                             length=$32                                          ;
        attrib SPEC_RULE_FLG                       length=4                                            ;
        attrib SPEC_VALUE                          length=$100                                         ;
        attrib SPEC_VALUE_DESC_KEY                 length=$100                                         ;
        stop; run;

        proc sql;
        alter table GLOBAL_GEO_PROD_STATUS_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (SPEC_NM, SPEC_RULE_FLG, SPEC_VALUE);
        quit;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID943853_GPSTATUS_seed
   :DESCRIPTION:    Seed tables GLOBAL_GEO_PROD_STATUS_RULE, GLOBAL_GEO_PROD_STATUS_SPEC
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 27MAR2014
   :SUPPORT:        Jerry Haden/Pankaj Shinde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   DELETE FROM GLOBAL_GEO_PROD_STATUS_RULE WHERE PROD_HIER_SK = 1;
   DELETE FROM GLOBAL_GEO_PROD_STATUS_SPEC; 
   
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'GP_STATUS_RULE','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'GP_STATUS_FACT_DATA','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_INV_UNITS','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_STORE_PCT','0.2',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_INV_COST_AMT','100',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_SALES_AMT','100',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'ONE_ACTIVE_PER_SEASON','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'SEASON_ACTIVE_COEFF','0.3',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'INACTIVE_CNT_VAL','3',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'EXCLUDE_SEASON_START_WKS','2',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'EXCLUDE_SEASON_END_WKS','2',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'EXCLUDE_CLOSING_STORE_WKS','4',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'SEASON_INACTIVE_DURATION','',null,'CWB Seed');

   INSERT INTO GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      VALUES ('GEO_GROUP_LVL','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      VALUES ('GP_STATUS_HISTORY','104',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      VALUES ('SEASON_FLG','1',null,'CWB Seed');

   :ORCL_END:


   :SAS_BEGIN:

   proc sql;
   DELETE FROM GLOBAL_GEO_PROD_STATUS_RULE WHERE PROD_HIER_SK = 1;
   DELETE FROM GLOBAL_GEO_PROD_STATUS_SPEC; 
   
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'GP_STATUS_RULE','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'GP_STATUS_FACT_DATA','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_INV_UNITS','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_STORE_PCT','0.2',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_INV_COST_AMT','100',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'MIN_SALES_AMT','100',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'ONE_ACTIVE_PER_SEASON','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'SEASON_ACTIVE_COEFF','0.3',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'INACTIVE_CNT_VAL','3',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'EXCLUDE_SEASON_START_WKS','2',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'EXCLUDE_SEASON_END_WKS','2',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'EXCLUDE_CLOSING_STORE_WKS','4',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK, RULE_NM, RULE_VALUE, CREATED_DTTM, CREATED_BY)
      VALUES (1,'SEASON_INACTIVE_DURATION','',null,'CWB Seed');
   quit;

   proc sql;
   INSERT INTO GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      VALUES ('GEO_GROUP_LVL','1',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      VALUES ('GP_STATUS_HISTORY','104',null,'CWB Seed');
   INSERT INTO GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      VALUES ('SEASON_FLG','1',null,'CWB Seed');
   quit;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      IDS0943919
   :DESCRIPTION:    PKOPT_PLANNED_QTY Needs Unique Index Constraint
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 15FEB2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE UNIQUE INDEX PKOPT_PLANNED_QTY_IX3 ON PKOPT_PLANNED_QTY (IMPORT_ID, PROD_ID, GEO_ID) ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID943853_1
   :DESCRIPTION:    Add USE_MARKDOWN_STATUS and MAX_STATUS_CHANGE global gp status specs
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 25FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   delete from GLOBAL_GEO_PROD_STATUS_SPEC where SPEC_NM = 'MAX_STATUS_CHANGE';
    insert into GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      values ('MAX_STATUS_CHANGE','30',NULL,'CWB Seed');
   delete from GLOBAL_GEO_PROD_STATUS_SPEC where SPEC_NM = 'USE_MARKDOWN_STATUS';
    insert into GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
      values ('USE_MARKDOWN_STATUS','1',NULL,'CWB Seed');

    update GLOBAL_GEO_PROD_STATUS_SPEC set SPEC_VALUE = '156' where SPEC_NM = 'GP_STATUS_HISTORY';

    update GLOBAL_GEO_PROD_STATUS_SPEC set CREATED_DTTM = NULL;
    update GLOBAL_GEO_PROD_STATUS_RULE set CREATED_DTTM = NULL;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0944725
   :DESCRIPTION:    see defect S0944725
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 25FEB2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE PRICING_RELATION ADD ATTR_VALUE_LIST1_TYPE INTEGER;
   ALTER TABLE PRICING_RELATION ADD ATTR_VALUE_LIST2_TYPE INTEGER;
   ALTER TABLE PRICING_RELN_MATCH_ATTR ADD MATCH_ATTR_VALUE_LIST_TYPE INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      GEO_PROD_OVERRIDE
   :DESCRIPTION:    Add GEO_PROD_OVERRIDE in TABLE_PARTITION_META
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 20FEB2013
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_PROD_OVERRIDE';

      insert into TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      values ('GEO_PROD_OVERRIDE',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK');


      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_PROD_STATUS_OVERRIDE';

      insert into TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      values ('GEO_PROD_STATUS_OVERRIDE',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK VALID_FROM_DT');


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID931744
   :DESCRIPTION:    Add default scoring rules (seed table for new customers)
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 28FEB2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql noprint;
         select count (*) into :_cnt_rules from &m_di_trans..fa_scoring_rule;
         select count (*) into :_cnt_mod_rules from &m_di_trans..fa_scoring_rule where weight ^= 0;
         select count (*) into :_cnt_range_rules from &m_di_trans..fa_scoring_range_rule;
         select count (*) into :_cnt_mod_range_rules from &m_di_trans..fa_scoring_range_rule
               where range_value ^= 0 OR range_start_value ^= -99999999.99
               OR range_end_value ^= 99999999.99;
      quit;

      %if &_cnt_rules = 17 &_cnt_mod_rules = 0
            and &_cnt_range_rules = 17 and &_cnt_mod_range_rules = 0 %then %do;

         %include "%di_util_misc_path()/dbmsc/default_fa_scoring_rules.sas";

      %end;


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID943853_2
   :DESCRIPTION:    Add MIN_CLR_DISC_PCT gp status rule and GP_STATUS_GRACE_PERIOD gp status spec
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 04MAR2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      delete from MODEL_GEO_PROD_STATUS_RULE where RULE_NM = 'MIN_CLR_DISC_PCT';
      insert into MODEL_GEO_PROD_STATUS_RULE (PROD_HIER_SK,RULE_NM,RULE_VALUE,CREATED_DTTM,CREATED_BY)
         values (1,'MIN_CLR_DISC_PCT','0.5',NULL,'CWB Seed');

      delete from GLOBAL_GEO_PROD_STATUS_RULE where RULE_NM = 'MIN_CLR_DISC_PCT';
      insert into GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK,RULE_NM,RULE_VALUE,CREATED_DTTM,CREATED_BY)
         values (1,'MIN_CLR_DISC_PCT','0.5',NULL,'CWB Seed');

      delete from GLOBAL_GEO_PROD_STATUS_SPEC where SPEC_NM = 'GP_STATUS_GRACE_PERIOD';
      insert into GLOBAL_GEO_PROD_STATUS_SPEC (SPEC_NM,SPEC_VALUE,CREATED_DTTM,CREATED_BY)
         values ('GP_STATUS_GRACE_PERIOD','12',NULL,'CWB Seed');


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0940746
   :DESCRIPTION:    performance improvements for pack optimization in MR2
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 19FEB2013
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_filter_size_trans (prod_hier_sk integer) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_filter_prod_list (prod_hier_sk integer, prod_lvl integer) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_filter_profile_req (profile_id integer) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_filter_profile (profile_id integer) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_filter_prod_geo (prod_hier_sk integer, prod_lvl integer, geo_hier_sk integer, geo_lvl integer) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_filter_prod_hier (prod_hier_sk integer, prod_lvl integer, parent_prod_hier_sk integer, parent_prod_lvl integer) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_append_res_message (
                REQUEST_ID     INTEGER,
                DELIVERY_ID    INTEGER,
                PROD_ID        VARCHAR(32),
                GEO_ID         VARCHAR(32),
                MESSAGE_SK     INTEGER,
                MESSAGE_TEXT   VARCHAR(255)
        ) ON COMMIT PRESERVE ROWS;

        CREATE GLOBAL TEMPORARY TABLE gtt_pko_update_plk_stats (
                PROFILE_ID     INTEGER,
                NUM_EXPIRED    INTEGER,
                NUM            INTEGER
        ) ON COMMIT PRESERVE ROWS;


   :ORCL_END:

   :SAS_BEGIN:

      proc sql noprint;
        create table &m_di_trans..GTT_PKO_APPEND_RES_MESSAGE  (
                     REQUEST_ID integer,
                     DELIVERY_ID integer,
                     PROD_ID varchar(32),
                     GEO_ID varchar(32),
                     MESSAGE_SK integer,
                     MESSAGE_TEXT varchar(255)
                     );

        create table &m_di_trans..GTT_PKO_FILTER_PROD_GEO  (
                     PROD_HIER_SK integer,
                     PROD_LVL integer,
                     GEO_HIER_SK integer,
                     GEO_LVL integer
                     );

        create table &m_di_trans..GTT_PKO_FILTER_PROD_HIER  (
                     PROD_HIER_SK integer,
                     PROD_LVL integer,
                     PARENT_PROD_HIER_SK integer,
                     PARENT_PROD_LVL integer
                     );

        create table &m_di_trans..GTT_PKO_FILTER_PROD_LIST  (
                     PROD_HIER_SK integer,
                     PROD_LVL integer
                     );

        create table &m_di_trans..GTT_PKO_FILTER_PROFILE  (
                     PROFILE_ID integer
                     );

        create table &m_di_trans..GTT_PKO_FILTER_PROFILE_REQ  (
                     PROFILE_ID integer
                     );

        create table &m_di_trans..GTT_PKO_FILTER_SIZE_TRANS  (
                     PROD_HIER_SK integer
                     );

        create table &m_di_trans..GTT_PKO_UPDATE_PLK_STATS (
                    PROFILE_ID     INTEGER,
                    NUM_EXPIRED    INTEGER,
                    NUM            INTEGER
                    );

      quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID_0949494_2
   :DESCRIPTION:    see defect S0949494
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 06MAR2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE PRICING_RELATION ADD CARTESIAN_PROD_FLG INTEGER DEFAULT 0 NOT NULL;
   ALTER TABLE RPO_PLAN ADD NUM_PRICE_CHG_PCT_MAX NUMERIC(12,4);

   :ORCL_END:

   :SAS_BEGIN:

   proc sql noprint;
      alter table PRICING_RELATION add CARTESIAN_PROD_FLG INTEGER ;
      update PRICING_RELATION set CARTESIAN_PROD_FLG=0;
      alter table PRICING_RELATION add NOT NULL (CARTESIAN_PROD_FLG);
      ALTER TABLE RPO_PLAN ADD NUM_PRICE_CHG_PCT_MAX NUMERIC(12,4);
   quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID939752
   :DESCRIPTION:    Add model spec PRICE_RATIO_PRECISION
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 05MAR2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'PRICE_RATIO_PRECISION';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('PRICE_RATIO_PRECISION','ALL','-1','0.0',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'PRICE_RATIO_PRECISION';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'ALL','PRICE_RATIO_PRECISION','-1','0.0',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'PRICE_RATIO_PRECISION';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('ALL','PRICE_RATIO_PRECISION','Double','decimalPts:2',0,1,
             0.01,1,NULL,NULL,NULL,NULL,NULL,'mspec.PRICE_RATIO_PRECISION.description.txt');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID914979_5
   :DESCRIPTION:    Correction to template 5 name
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 07MAR2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

       update DATA_CONFIG_TEMPLATE set CONFIG_TEMPLATE_NM = 'Grocery or Other Basic Products with Substitution'
          where CONFIG_TEMPLATE_ID = 5;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S0905615
   :DESCRIPTION:    see defect S0905615
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 14MAR2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN EXP_COMP_PRICE_INDEX TO EXP_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX = EXP_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN EXP_COMP_PRICE_INDEX_RI TO EXP_COMP_PRICE_INDEX_RI_x;
   ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_RI NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_RI = EXP_COMP_PRICE_INDEX_RI_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_RI_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN EXP_COMP_PRICE_INDEX_PM TO EXP_COMP_PRICE_INDEX_PM_x;
   ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_PM NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_PM = EXP_COMP_PRICE_INDEX_PM_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_PM_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN EXP_COMP_PRICE_INDEX_CE TO EXP_COMP_PRICE_INDEX_CE_x;
   ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_CE NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_CE = EXP_COMP_PRICE_INDEX_CE_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_CE_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN EXP_COMP_PRICE_INDEX_PMRI TO EXP_COMP_PRICE_INDEX_PMRI_x;
   ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_PMRI NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_PMRI = EXP_COMP_PRICE_INDEX_PMRI_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_PMRI_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN BASE_COMP_PRICE_INDEX TO BASE_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX = BASE_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN BASE_COMP_PRICE_INDEX_RI TO BASE_COMP_PRICE_INDEX_RI_x;
   ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_RI NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_RI = BASE_COMP_PRICE_INDEX_RI_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_RI_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN BASE_COMP_PRICE_INDEX_PM TO BASE_COMP_PRICE_INDEX_PM_x;
   ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_PM NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_PM = BASE_COMP_PRICE_INDEX_PM_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_PM_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN BASE_COMP_PRICE_INDEX_CE TO BASE_COMP_PRICE_INDEX_CE_x;
   ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_CE NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_CE = BASE_COMP_PRICE_INDEX_CE_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_CE_x;

   ALTER TABLE RPO_PLAN_RESULT RENAME COLUMN BASE_COMP_PRICE_INDEX_PMRI TO BASE_COMP_PRICE_INDEX_PMRI_x;
   ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_PMRI NUMERIC(12,4);
   UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_PMRI = BASE_COMP_PRICE_INDEX_PMRI_x;
   ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_PMRI_x;


   ALTER TABLE RPO_PLAN_MEMBER_RESULT RENAME COLUMN BASE_COMP_PRICE_INDEX TO BASE_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD BASE_COMP_PRICE_INDEX NUMERIC(12,4);
   UPDATE RPO_PLAN_MEMBER_RESULT SET BASE_COMP_PRICE_INDEX = BASE_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_x;

   ALTER TABLE RPO_PLAN_MEMBER_RESULT RENAME COLUMN EXP_COMP_PRICE_INDEX TO EXP_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD EXP_COMP_PRICE_INDEX NUMERIC(12,4);
   UPDATE RPO_PLAN_MEMBER_RESULT SET EXP_COMP_PRICE_INDEX = EXP_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_x;


   ALTER TABLE RPO_PLAN_MEMBER_AGG RENAME COLUMN BASE_COMP_PRICE_INDEX TO BASE_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_AGG ADD BASE_COMP_PRICE_INDEX NUMERIC(12,4);
   UPDATE RPO_PLAN_MEMBER_AGG SET BASE_COMP_PRICE_INDEX = BASE_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_AGG DROP COLUMN BASE_COMP_PRICE_INDEX_x;

   ALTER TABLE RPO_PLAN_MEMBER_AGG RENAME COLUMN EXP_COMP_PRICE_INDEX TO EXP_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_AGG ADD EXP_COMP_PRICE_INDEX NUMERIC(12,4);
   UPDATE RPO_PLAN_MEMBER_AGG SET EXP_COMP_PRICE_INDEX = EXP_COMP_PRICE_INDEX_x;
   ALTER TABLE RPO_PLAN_MEMBER_AGG DROP COLUMN EXP_COMP_PRICE_INDEX_x;


   :ORCL_END:


   :SAS_BEGIN:

      proc datasets library=&m_di_trans nolist;

         modify RPO_PLAN_RESULT ;
         rename EXP_COMP_PRICE_INDEX=EXP_COMP_PRICE_INDEX_x;
         rename EXP_COMP_PRICE_INDEX_RI=EXP_COMP_PRICE_INDEX_RI_x;
         rename EXP_COMP_PRICE_INDEX_PM=EXP_COMP_PRICE_INDEX_PM_x;
         rename EXP_COMP_PRICE_INDEX_CE=EXP_COMP_PRICE_INDEX_CE_x;
         rename EXP_COMP_PRICE_INDEX_PMRI=EXP_COMP_PRICE_INDEX_PMRI_x;
         rename BASE_COMP_PRICE_INDEX=BASE_COMP_PRICE_INDEX_x;
         rename BASE_COMP_PRICE_INDEX_RI=BASE_COMP_PRICE_INDEX_RI_x;
         rename BASE_COMP_PRICE_INDEX_PM=BASE_COMP_PRICE_INDEX_PM_x;
         rename BASE_COMP_PRICE_INDEX_CE=BASE_COMP_PRICE_INDEX_CE_x;
         rename BASE_COMP_PRICE_INDEX_PMRI=BASE_COMP_PRICE_INDEX_PMRI_x;

      quit;

      proc datasets library=&m_di_trans nolist;

         modify RPO_PLAN_MEMBER_RESULT ;
         rename BASE_COMP_PRICE_INDEX=BASE_COMP_PRICE_INDEX_x;
         rename EXP_COMP_PRICE_INDEX=EXP_COMP_PRICE_INDEX_x;

      quit;

      proc datasets library=&m_di_trans nolist;

         modify RPO_PLAN_MEMBER_AGG ;
         rename BASE_COMP_PRICE_INDEX=BASE_COMP_PRICE_INDEX_x;
         rename EXP_COMP_PRICE_INDEX=EXP_COMP_PRICE_INDEX_x;

      quit;



   proc sql;
       ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX NUMERIC(12,4);
       UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX = EXP_COMP_PRICE_INDEX_x;
       ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_x;

       ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_RI NUMERIC(12,4);
       UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_RI = EXP_COMP_PRICE_INDEX_RI_x;
       ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_RI_x;

       ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_PM NUMERIC(12,4);
       UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_PM = EXP_COMP_PRICE_INDEX_PM_x;
       ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_PM_x;

      ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_CE NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_CE = EXP_COMP_PRICE_INDEX_CE_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_CE_x;

      ALTER TABLE RPO_PLAN_RESULT ADD EXP_COMP_PRICE_INDEX_PMRI NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET EXP_COMP_PRICE_INDEX_PMRI = EXP_COMP_PRICE_INDEX_PMRI_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_PMRI_x;

      ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX = BASE_COMP_PRICE_INDEX_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_x;

      ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_RI NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_RI = BASE_COMP_PRICE_INDEX_RI_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_RI_x;

      ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_PM NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_PM = BASE_COMP_PRICE_INDEX_PM_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_PM_x;

      ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_CE NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_CE = BASE_COMP_PRICE_INDEX_CE_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_CE_x;

      ALTER TABLE RPO_PLAN_RESULT ADD BASE_COMP_PRICE_INDEX_PMRI NUMERIC(12,4);
      UPDATE RPO_PLAN_RESULT SET BASE_COMP_PRICE_INDEX_PMRI = BASE_COMP_PRICE_INDEX_PMRI_x;
      ALTER TABLE RPO_PLAN_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_PMRI_x;


      ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD BASE_COMP_PRICE_INDEX NUMERIC(12,4);
      UPDATE RPO_PLAN_MEMBER_RESULT SET BASE_COMP_PRICE_INDEX = BASE_COMP_PRICE_INDEX_x;
      ALTER TABLE RPO_PLAN_MEMBER_RESULT DROP COLUMN BASE_COMP_PRICE_INDEX_x;

      ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD EXP_COMP_PRICE_INDEX NUMERIC(12,4);
      UPDATE RPO_PLAN_MEMBER_RESULT SET EXP_COMP_PRICE_INDEX = EXP_COMP_PRICE_INDEX_x;
      ALTER TABLE RPO_PLAN_MEMBER_RESULT DROP COLUMN EXP_COMP_PRICE_INDEX_x;


      ALTER TABLE RPO_PLAN_MEMBER_AGG ADD BASE_COMP_PRICE_INDEX NUMERIC(12,4);
      UPDATE RPO_PLAN_MEMBER_AGG SET BASE_COMP_PRICE_INDEX = BASE_COMP_PRICE_INDEX_x;
      ALTER TABLE RPO_PLAN_MEMBER_AGG DROP COLUMN BASE_COMP_PRICE_INDEX_x;

      ALTER TABLE RPO_PLAN_MEMBER_AGG ADD EXP_COMP_PRICE_INDEX NUMERIC(12,4);
      UPDATE RPO_PLAN_MEMBER_AGG SET EXP_COMP_PRICE_INDEX = EXP_COMP_PRICE_INDEX_x;
      ALTER TABLE RPO_PLAN_MEMBER_AGG DROP COLUMN EXP_COMP_PRICE_INDEX_x;

   quit;


   :SAS_END:


:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID935474
   :DESCRIPTION:    Add table for promotion plans.  To be used as input for calling scoring.
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 18MAR2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

            create table &m_di_trans..RPP_PRICE_PLAN_INPUT (
                    PLAN_SK     INTEGER,
                    PARTITION_ID    INTEGER
                    );


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;



:BEGIN_CHANGE:
   :CHANGE_ID:      FIX_DTTM_FMTS_SAS_ONLY
   :DESCRIPTION:    This change does not affect production systems
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 20MAR2012
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:



   :ORCL_END:


   :SAS_BEGIN:


          proc datasets library=&m_di_trans nolist;

             modify CALENDAR ;
                format ACTION_RESULT_DTTM NLDATM21.;
                informat ACTION_RESULT_DTTM NLDATM21.;

                format EVAL_OPT_RESULT_DTTM NLDATM21.;
                informat EVAL_OPT_RESULT_DTTM NLDATM21.;

             modify CATEGORY_PLAN ;
                format ACTION_RESULT_DTTM NLDATM21.;
                informat ACTION_RESULT_DTTM NLDATM21.;

                format EVAL_OPT_RESULT_DTTM NLDATM21.;
                informat EVAL_OPT_RESULT_DTTM NLDATM21.;

             modify DATA_CONFIG_TEMPLATE ;
                format CREATED_DTTM NLDATM21.;
                informat CREATED_DTTM NLDATM21.;

             modify RPO_PLAN ;
                format PROCESS_RUN_DTTM NLDATM21.;
                informat PROCESS_RUN_DTTM NLDATM21.;

             modify RPP_PLAN ;
                format ACTION_RESULT_DTTM NLDATM21.;
                informat ACTION_RESULT_DTTM NLDATM21.;



          quit;




   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID0640535
   :DESCRIPTION:    Allow request level fields to be set on buys
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 01MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_BUY ADD ALLOW_NEAR_MATCH_FLG INTEGER;
    ALTER TABLE PKO_BUY ADD USE_PROFILE_ATTR_FLG INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID0868953
   :DESCRIPTION:    Mismatch Alerts, Flagging
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 01MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD MISMATCH_THRESHOLD_PCT NUMERIC(20,3);
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD MISMATCH_UNDER_PCT NUMERIC(20,3);
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD MISMATCH_OVER_PCT NUMERIC(20,3);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID0868952
   :DESCRIPTION:    Sub-setting of Size Sets for Pack Optimization
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 01MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_BUY ADD SUBSETTING_ATTR_SK INTEGER;
    ALTER TABLE PKO_DELIVERY ADD SUBSETTING_ATTR_SK INTEGER;
    ALTER TABLE PKO_PACK_PRODUCT_SETTING ADD SUBSETTING_ATTR_SK INTEGER;
    ALTER TABLE PKO_PACK_DEFAULT ADD SUBSETTING_ATTR_SK INTEGER;

    ALTER TABLE REQ_PACKREC_SETTING ADD SUBSETTING_ATTR_NM VARCHAR(40);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID0868951
   :DESCRIPTION:    Rec Pack Order Mins for Pack Optimization
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 01MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_BUY ADD REC_PACK_ORDER_MIN INTEGER;
    ALTER TABLE PKO_DELIVERY ADD REC_PACK_ORDER_MIN INTEGER;
    ALTER TABLE PKO_PACK_PRODUCT_SETTING ADD REC_PACK_ORDER_MIN INTEGER;
    ALTER TABLE PKO_PACK_DEFAULT ADD REC_PACK_ORDER_MIN INTEGER;

    ALTER TABLE REQ_PACKREC_SETTING ADD REC_PACK_ORDER_MIN INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID0865873
   :DESCRIPTION:    Allow order quantity threshold to apply to minimum and/or maximum units to order
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 01MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_QTY_PERCENT_MIN NUMERIC(20,3);
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_QTY_PERCENT_MAX NUMERIC(20,3);
    UPDATE PKO_PURCHASE_ORDER_PLAN SET TOTAL_QTY_PERCENT_MIN=TOTAL_QTY_PERCENT;
    UPDATE PKO_PURCHASE_ORDER_PLAN SET TOTAL_QTY_PERCENT_MAX=TOTAL_QTY_PERCENT;

    ALTER TABLE PKO_BUY ADD TOTAL_QTY_PERCENT_MIN NUMERIC(20,3);
    ALTER TABLE PKO_BUY ADD TOTAL_QTY_PERCENT_MAX NUMERIC(20,3);
    ALTER TABLE PKO_DELIVERY ADD TOTAL_QTY_PERCENT_MIN NUMERIC(20,3);
    ALTER TABLE PKO_DELIVERY ADD TOTAL_QTY_PERCENT_MAX NUMERIC(20,3);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0909604
   :DESCRIPTION:    Schema changes for Size Profiling 3.2M3
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 29APR2013
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    CREATE TABLE PRF_RSLT_STORE_GROUP_RMSD (
        PROFILING_PROJECT_SK        INTEGER         NOT NULL,
        SIZESET_ID                  INTEGER         NOT NULL,
        STORE_GROUP_ID              INTEGER         NOT NULL,
        PRELIM_PROFILE_RMSD         NUMERIC(12,4)   NOT NULL,
        PRIMARY KEY (PROFILING_PROJECT_SK, SIZESET_ID, STORE_GROUP_ID)
    );

    CREATE TABLE PRF_RSLT_PROFILE_RMSD (
        PROFILE_SK                  INTEGER         NOT NULL,
        STORE_GROUP_ID              INTEGER         NOT NULL,
        PROFILE_RMSD                NUMERIC(12,4)   NOT NULL,
        PRIMARY KEY (PROFILE_SK, STORE_GROUP_ID)
    );

   :ORCL_END:

   :SAS_BEGIN:

   proc sql noprint;

    CREATE TABLE PRF_RSLT_STORE_GROUP_RMSD (
        PROFILING_PROJECT_SK        INTEGER         NOT NULL,
        SIZESET_ID                  INTEGER         NOT NULL,
        STORE_GROUP_ID              INTEGER         NOT NULL,
        PRELIM_PROFILE_RMSD         NUMERIC(12,4)   NOT NULL,
        constraint PRIM_KEY PRIMARY KEY (PROFILING_PROJECT_SK, SIZESET_ID, STORE_GROUP_ID)
    );

    CREATE TABLE PRF_RSLT_PROFILE_RMSD (
        PROFILE_SK                  INTEGER         NOT NULL,
        STORE_GROUP_ID              INTEGER         NOT NULL,
        PROFILE_RMSD                NUMERIC(12,4)   NOT NULL,
        constraint PRIM_KEY PRIMARY KEY (PROFILE_SK, STORE_GROUP_ID)
    );

    quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID912629
   :DESCRIPTION:    Size Profiling 3.2M3 - Support copy from overall flag
   :VERSION:        D3MICM62
   :DATE_OF_CHANGE: 29APR2013
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PRF_STORE_GROUP ADD COPY_FROM_OVERALL_DIST_FLG INTEGER;

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID881597
   :DESCRIPTION:    Currency Dimension table
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 30APR2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        create table CURRENCY_DM
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                CURRENCY_ID                        VARCHAR(3) NOT NULL,
                LOCAL_TO_GLOBAL_CONV_RATE          NUMERIC(12,4) NOT NULL,
                INHERITED_FLG                      INTEGER NOT NULL,
                PRIMARY KEY (GEO_HIER_SK)
        )
        ;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
        create table CURRENCY_DM
        (
                GEO_HIER_SK                        INTEGER NOT NULL,
                CURRENCY_ID                        VARCHAR(3) NOT NULL,
                LOCAL_TO_GLOBAL_CONV_RATE          NUMERIC(12,4) NOT NULL,
                INHERITED_FLG                      INTEGER NOT NULL
        )
        ;
        ALTER TABLE CURRENCY_DM  add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK);

      quit;


   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID912629_2
   :DESCRIPTION:    Size Profiling 3.2M3 - Support copy from overall flag -- default value
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 30APR2013
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    UPDATE PRF_STORE_GROUP SET COPY_FROM_OVERALL_DIST_FLG=0;
    ALTER TABLE PRF_STORE_GROUP MODIFY COPY_FROM_OVERALL_DIST_FLG INTEGER DEFAULT 0 NOT NULL;

   :ORCL_END:
   :SAS_BEGIN:

   proc sql noprint;
      alter table PRF_STORE_GROUP add COPY_FROM_OVERALL_DIST_FLG INTEGER ;
      update PRF_STORE_GROUP set COPY_FROM_OVERALL_DIST_FLG=0;
      alter table PRF_STORE_GROUP add NOT NULL (COPY_FROM_OVERALL_DIST_FLG);
   quit;

   :SAS_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID0865873_2
   :DESCRIPTION:    Allow order quantity threshold to apply to minimum and/or maximum units to order
   :VERSION:        D3MICM62
   :DATE_OF_CHANGE: 01MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_PURCHASE_ORDER_PLAN DROP COLUMN TOTAL_QTY_PERCENT;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID931747
   :DESCRIPTION:    Remove model spec CROSS_WEIGHT
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 06MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'CROSS_WEIGHT';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'CROSS_WEIGHT';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'CROSS_WEIGHT';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'CROSS_WEIGHT';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'CROSS_WEIGHT';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID945161
   :DESCRIPTION:    Remove model spec SALES_INTRO_FROM_GPSTATUS
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 06MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'SALES_INTRO_FROM_GPSTATUS';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID906970
   :DESCRIPTION:    Remove model spec FCST_ZEROMISS values RIGHT, BOTH
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 06MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'FCST_ZEROMISS' and (MODEL_GROUP_ID ^= -1 and SPEC_VALUE = 'RIGHT');
        delete from MODEL_SPEC where SPEC_NM = 'FCST_ZEROMISS' and (MODEL_GROUP_ID ^= -1 and SPEC_VALUE = 'BOTH');
        update MODEL_SPEC set SPEC_VALUE = 'NONE' where (MODEL_GROUP_ID = -1 and SPEC_VALUE = 'RIGHT');
        update MODEL_SPEC set SPEC_VALUE = 'NONE' where (MODEL_GROUP_ID = -1 and SPEC_VALUE = 'BOTH');
        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = 'NONE' where (SPEC_NM = 'FCST_ZEROMISS' and DEFAULT_SPEC_VALUE = 'RIGHT');
        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = 'NONE' where (SPEC_NM = 'FCST_ZEROMISS' and DEFAULT_SPEC_VALUE = 'BOTH');
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'FCST_ZEROMISS' and SPEC_VALUE = 'RIGHT';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'FCST_ZEROMISS' and SPEC_VALUE = 'BOTH';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID905917
   :DESCRIPTION:    Change DOW_PROFILE model spec type to -1
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 06MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where (SPEC_NM = 'DOW_PROFILE' and SPEC_TYPE = '2');
        update MODEL_SPEC set SPEC_TYPE = '-1' where (SPEC_NM = 'DOW_PROFILE'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_DEFAULT where (SPEC_NM = 'DOW_PROFILE' and SPEC_TYPE = '2');
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where (SPEC_NM = 'DOW_PROFILE'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_TEMPLATE where (SPEC_NM = 'DOW_PROFILE' and SPEC_TYPE = '2');
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '-1' where (SPEC_NM = 'DOW_PROFILE'
             and SPEC_TYPE = '1');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID936652
   :DESCRIPTION:    Remove FA spec BENCHMARK_PRIORITY
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 06MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from FA_SPEC where SPEC_NM = 'BENCHMARK_PRIORITY';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BENCHMARK_PRIORITY';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'BENCHMARK_PRIORITY';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'BENCHMARK_PRIORITY';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID936457
   :DESCRIPTION:    Add CPL_ADJ and CINV_ADJ scoring parameter default
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 08MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..SCORING_PARAM_DEFAULT

   :ORCL_BEGIN:

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CINV_ADJ';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CINV_ADJ',1,0,null,null);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CINV_ADJ',2,0,0,null);
        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CPL_ADJ';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CPL_ADJ',1,0,null,null);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CPL_ADJ',2,0,null,null);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID919779
   :DESCRIPTION:    Remove model spec MIN_HIST_INV
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 09MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'MIN_HIST_INV';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'MIN_HIST_INV';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'MIN_HIST_INV';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'MIN_HIST_INV';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID949364
   :DESCRIPTION:    Remove model spec NON_COMP_DISCARD_PERIOD
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 09MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'NON_COMP_DISCARD_PERIOD';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'NON_COMP_DISCARD_PERIOD';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'NON_COMP_DISCARD_PERIOD';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'NON_COMP_DISCARD_PERIOD';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID0968520
   :DESCRIPTION:    CRP PERFORMANCE:Need faster load of large number of purchase order plans
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 14MAY2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_STORES INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_STYLECOLORS INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD OPTIMIZED_QUANTITY INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD RES_MSG_COUNT INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_BUYS INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_DELIVERIES INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD TOTAL_PLANNED INTEGER;

    CREATE TABLE NSTORES_TMP AS SELECT P.PURCHASE_ORDER_PLAN_SK, COUNT(*) AS TOTAL_STORES
      FROM GEOGRAPHY_HIER_ASSOC_DM HIER, PKO_PURCHASE_ORDER_PLAN_LOC PL, GEOGRAPHY_DM G, PKO_PURCHASE_ORDER_PLAN P
        WHERE (HIER.GEO_HIER_ASSOC_CD=1) AND (HIER.GEO_LVL=(SELECT MAX(STD_HIER_GEO_LVL) FROM GEOGRAPHY_DM))
        AND (HIER.PARENT_GEO_HIER_SK=PL.GEO_HIER_SK) AND G.GEO_HIER_SK=HIER.GEO_HIER_SK
        AND (G.CLOSING_DT IS NULL OR G.CLOSING_DT >= P.START_DT) AND (G.OPEN_DT IS NULL OR G.OPEN_DT <= P.END_DT)
        AND G.FACILITY_TYPE=1 AND G.STD_HIER_GEO_LVL=(SELECT MAX(STD_HIER_GEO_LVL) FROM GEOGRAPHY_DM)
       AND P.PURCHASE_ORDER_PLAN_SK=PL.PURCHASE_ORDER_PLAN_SK
        GROUP BY P.PURCHASE_ORDER_PLAN_SK;

     UPDATE PKO_PURCHASE_ORDER_PLAN
       SET TOTAL_STORES=(SELECT TOTAL_STORES FROM NSTORES_TMP
         WHERE NSTORES_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE NSTORES_TMP ;

     CREATE TABLE NSTYLECOLORS_TMP AS SELECT P.PURCHASE_ORDER_PLAN_SK, COUNT(*) AS NS
       FROM PKO_PRODUCT_HIER_ASSOC_DM_ALL HIER, PKO_PURCHASE_ORDER_PLAN_PROD PP, PKO_PURCHASE_ORDER_PLAN P
       WHERE (HIER.PROD_HIER_ASSOC_CD=1) AND (HIER.PROD_LVL=(SELECT (MAX(STD_HIER_PROD_LVL)-1) FROM PRODUCT_DM))
       AND (HIER.PARENT_PROD_HIER_SK=PP.PROD_HIER_SK) AND (P.PURCHASE_ORDER_PLAN_SK=PP.PURCHASE_ORDER_PLAN_SK)
       GROUP BY P.PURCHASE_ORDER_PLAN_SK;

     UPDATE PKO_PURCHASE_ORDER_PLAN
       SET TOTAL_STYLECOLORS=(SELECT NS FROM NSTYLECOLORS_TMP
         WHERE NSTYLECOLORS_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE NSTYLECOLORS_TMP ;

     UPDATE PKO_PURCHASE_ORDER_PLAN SET OPTIMIZED_QUANTITY=NULL WHERE PLAN_STATUS_CD IN (0, 3, 7, 8, 9) ;

     CREATE TABLE OPT_TMP AS SELECT P.PURCHASE_ORDER_PLAN_SK, SUM(Q.NUM_PLANNED_ORDER) AS OPT_QTY
       FROM PKO_PURCHASE_ORDER_PLAN P, PKO_BUY B, PKO_RES_PROD_GEO_SIZE_QTY Q
       WHERE (P.PLAN_STATUS_CD IN (2, 4, 5))
       AND P.PURCHASE_ORDER_PLAN_SK=B.PURCHASE_ORDER_PLAN_SK AND B.BUY_SK=Q.BUY_SK GROUP BY P.PURCHASE_ORDER_PLAN_SK ;

     UPDATE PKO_PURCHASE_ORDER_PLAN
        SET OPTIMIZED_QUANTITY=(SELECT OPT_QTY FROM OPT_TMP
        WHERE OPT_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE OPT_TMP ;

     UPDATE PKO_PURCHASE_ORDER_PLAN SET RES_MSG_COUNT=NULL WHERE PLAN_STATUS_CD IN (0, 7, 8, 9) ;

     CREATE TABLE MSG_TMP AS SELECT P.PURCHASE_ORDER_PLAN_SK, COUNT(*) AS RES_COUNT
       FROM PKO_PURCHASE_ORDER_PLAN P, PKO_BUY B, PKO_RES_MESSAGE T
       WHERE P.PURCHASE_ORDER_PLAN_SK=B.PURCHASE_ORDER_PLAN_SK AND B.BUY_SK=T.BUY_SK AND (P.PLAN_STATUS_CD IN(2, 3, 4, 5))
       GROUP BY P.PURCHASE_ORDER_PLAN_SK;

     UPDATE PKO_PURCHASE_ORDER_PLAN
       SET RES_MSG_COUNT=(SELECT RES_COUNT FROM MSG_TMP
       WHERE MSG_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE MSG_TMP ;

     CREATE TABLE BUY_TMP AS SELECT PURCHASE_ORDER_PLAN_SK, COUNT(*) AS BUY_COUNT
       FROM PKO_BUY GROUP BY PURCHASE_ORDER_PLAN_SK ;

     UPDATE PKO_PURCHASE_ORDER_PLAN
       SET TOTAL_BUYS=(SELECT BUY_COUNT FROM BUY_TMP
       WHERE BUY_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE BUY_TMP ;

     CREATE TABLE DEL_TMP AS SELECT PURCHASE_ORDER_PLAN_SK, COUNT(*) AS DEL_COUNT
       FROM PKO_BUY PKOB, PKO_DELIVERY PKOD
       WHERE PKOB.BUY_SK=PKOD.BUY_SK GROUP BY PURCHASE_ORDER_PLAN_SK;

     UPDATE PKO_PURCHASE_ORDER_PLAN
       SET TOTAL_DELIVERIES=(SELECT DEL_COUNT FROM DEL_TMP
       WHERE DEL_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE DEL_TMP ;

     CREATE TABLE TOTAL_PLANNED_TMP AS SELECT PURCHASE_ORDER_PLAN_SK, TOTAL
       FROM PKO_IMPORTED_NEED;

     UPDATE PKO_PURCHASE_ORDER_PLAN
       SET TOTAL_PLANNED=(SELECT TOTAL FROM TOTAL_PLANNED_TMP
       WHERE TOTAL_PLANNED_TMP.PURCHASE_ORDER_PLAN_SK=PKO_PURCHASE_ORDER_PLAN.PURCHASE_ORDER_PLAN_SK);

     DROP TABLE TOTAL_PLANNED_TMP ;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID886306
   :DESCRIPTION:    Error occurs while running di_maintain_job
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 15MAY2013
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PURGE_QUERY

   :ORCL_BEGIN:

        update purge_query
        set partition_flg=1
        where table_nm in (
        'CALENDAR_MWW', 'PRF_GEO_PROD_STATUS_PARTIAL',  'PRF_SALES_FACT_PARTIAL',  'PRF_STOCKOUT_FACT_PARTIAL',
         'SAME_PRICE_SET_TBLS_STP', 'PROCESS_MESSAGE_DETAIL_RPO',  'CLEAN_ATTR_HIER_GEO',  'CLEAN_ATTR_HIER_PROD',
         'COMP_PRICE_RULE_RESULT_PLN', 'MARGIN_RULE_RESULT_PLN',  'MPLN_MTS', 'NON_ACTIVE_CLEAN_METRICS',
         'ORPHAN_CLEAN_METRICS');

        delete from purge_query
        where table_nm in (
        'PROD_DATA_CONFIG', 'PROMOTION_FACT_FUTURE', 'SCORING_PARAM_DEFAULT', 'ATTR_SPEC', 'CONFIG_AUDIT_TRAIL',
        'DATA_CONFIG', 'DATA_CONFIG_TEMPLATE', 'FA_ALERT', 'FA_ALERT_STATUS', 'FA_ARCHIVE', 'FA_MODEL_GROUP',
        'FA_MONITORING_FILTER_PROD_GEO', 'FA_MONITORING_GEO', 'FA_MONITORING_PROD', 'FA_PRESEASON_FILTER_PROD_GEO',
        'FA_PRESEASON_GEO', 'FA_PRESEASON_PROD', 'FA_SCENARIO', 'FA_SCENARIO_SPEC', 'FA_SCENARIO_STATUS', 'FA_SCORE',
        'FA_SPEC', 'IDX_SCORING_PARAM_AVG ', 'IDX_MODEL_DATA', 'IDX_MODEL_DATA_CALIB', 'IDX_PROMO_FACTOR',
        'IDX_PROMO_FACTOR_DECOM', 'IDX_SCORING_PARAM', 'Inventory_Sparse', 'Inventory_Sparse_Refresh', 'MG_PARTITIONS',
        'MODEL_DATA', 'MODEL_DATA_CALIB', 'MODEL_DATA_CALIB_PS','MODEL_GEO_PROD_STATUS_RULE', 'MODEL_GEO_PROD_STATUS_SPEC',
        'MODEL_GROUP','MODEL_SPEC', 'MODEL_SPEC_TEMPLATE', 'SCORING_PARAM_DEFAULT','PROMO_FACTOR','PROMO_FACTOR_DECOMP');

        update purge_query
           set database_nm='RDBMS'
        where table_nm in ('PKO_PURCHASE_ORDER_PLAN');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID906970_1
   :DESCRIPTION:    Remove model spec FCST_ZEROMISS values RIGHT, BOTH
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 20MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_VALUES

   :ORCL_BEGIN:

        delete from MODEL_SPEC_VALUES where SPEC_NM = 'FCST_ZEROMISS' and SPEC_VALUE = 'RIGHT';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'FCST_ZEROMISS' and SPEC_VALUE = 'BOTH';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID974262
   :DESCRIPTION:    Move GEO_GROUP_LVL from status spec to status rule
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 21MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_GEO_PROD_STATUS_RULE

   :ORCL_BEGIN:

        insert into MODEL_GEO_PROD_STATUS_RULE (PROD_HIER_SK,RULE_NM) values (1,'GEO_GROUP_LVL');
         update MODEL_GEO_PROD_STATUS_RULE r set RULE_VALUE
         = (select s.SPEC_VALUE from MODEL_GEO_PROD_STATUS_SPEC s where s.SPEC_NM = 'GEO_GROUP_LVL')
            where r.RULE_NM = 'GEO_GROUP_LVL';
      update MODEL_GEO_PROD_STATUS_RULE r set CREATED_DTTM
         = (select s.CREATED_DTTM from MODEL_GEO_PROD_STATUS_SPEC s where s.SPEC_NM = 'GEO_GROUP_LVL')
            where r.RULE_NM = 'GEO_GROUP_LVL';
      update MODEL_GEO_PROD_STATUS_RULE r set CREATED_BY
         = (select s.CREATED_BY from MODEL_GEO_PROD_STATUS_SPEC s where s.SPEC_NM = 'GEO_GROUP_LVL')
            where r.RULE_NM = 'GEO_GROUP_LVL';
      delete from MODEL_GEO_PROD_STATUS_SPEC where SPEC_NM = 'GEO_GROUP_LVL';

      insert into GLOBAL_GEO_PROD_STATUS_RULE (PROD_HIER_SK,RULE_NM) values (1,'GEO_GROUP_LVL');
         update GLOBAL_GEO_PROD_STATUS_RULE r set RULE_VALUE
         = (select s.SPEC_VALUE from GLOBAL_GEO_PROD_STATUS_SPEC s where s.SPEC_NM = 'GEO_GROUP_LVL')
            where r.RULE_NM = 'GEO_GROUP_LVL';
      update GLOBAL_GEO_PROD_STATUS_RULE r set CREATED_DTTM
         = (select s.CREATED_DTTM from GLOBAL_GEO_PROD_STATUS_SPEC s where s.SPEC_NM = 'GEO_GROUP_LVL')
            where r.RULE_NM = 'GEO_GROUP_LVL';
      update GLOBAL_GEO_PROD_STATUS_RULE r set CREATED_BY
         = (select s.CREATED_BY from GLOBAL_GEO_PROD_STATUS_SPEC s where s.SPEC_NM = 'GEO_GROUP_LVL')
            where r.RULE_NM = 'GEO_GROUP_LVL';
      delete from GLOBAL_GEO_PROD_STATUS_SPEC where SPEC_NM = 'GEO_GROUP_LVL';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860
   :DESCRIPTION:    Add model specs to support affinity groups
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 23MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AG_DENORM';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('AG_DENORM','REG','-1','0',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'AG_DENORM';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'REG','AG_DENORM','-1','0',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AG_DENORM';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('REG','AG_DENORM','Boolean',null,null,null,
             null,0,NULL,NULL,NULL,NULL,NULL,'mspec.AG_DENORM.description.txt');
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'AG_DENORM';
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('AG_DENORM','REG','1','mspec.AG_DENORM.truemeans.txt');
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('AG_DENORM','REG','0','mspec.AG_DENORM.falsemeans.txt');

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AG_MIN_OBS';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('AG_MIN_OBS','REG','-1','30',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'AG_MIN_OBS';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'REG','AG_MIN_OBS','-1','30',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AG_MIN_OBS';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('REG','AG_MIN_OBS','Integer',null,1,null,
             null,0,NULL,NULL,NULL,NULL,NULL,'mspec.AG_MIN_OBS.description.txt');

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AG_GRP_TYPE';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('AG_GRP_TYPE','REG','-1','N',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'AG_GRP_TYPE';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'REG','AG_GRP_TYPE','-1','N',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AG_GRP_TYPE';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('REG','AG_GRP_TYPE','MultiValue',null,null,null,
             null,0,NULL,NULL,NULL,NULL,NULL,'mspec.AG_GRP_TYPE.description.txt');
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'AG_GRP_TYPE';
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('AG_GRP_TYPE','REG','P','mspec.AG_GRP_TYPE.pmeaning.P.txt');
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('AG_GRP_TYPE','REG','N','mspec.AG_GRP_TYPE.pmeaning.N.txt');

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AG_MIN_CORR';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('AG_MIN_CORR','REG','-1','0.3',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'AG_MIN_CORR';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'REG','AG_MIN_CORR','-1','0.3',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AG_MIN_CORR';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('REG','AG_MIN_CORR','Double',null,0,1,
             0.01,0,NULL,NULL,NULL,NULL,NULL,'mspec.AG_MIN_CORR.description.txt');

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AUTO_CROSS';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('AUTO_CROSS','REG','-1','0',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'AUTO_CROSS';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'REG','AUTO_CROSS','-1','0',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AUTO_CROSS';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('REG','AUTO_CROSS','Boolean',null,null,null,
             null,0,NULL,NULL,NULL,NULL,NULL,'mspec.AUTO_CROSS.description.txt');
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'AUTO_CROSS';
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('AUTO_CROSS','REG','1','mspec.AUTO_CROSS.truemeans.txt');
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('AUTO_CROSS','REG','0','mspec.AUTO_CROSS.falsemeans.txt');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_1
   :DESCRIPTION:    Change min value for model spec AG_MIN_OBS
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 23MAY2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DETAILS

   :ORCL_BEGIN:

        update MODEL_SPEC_DETAILS set SPEC_VALUE_MIN = 2 where SPEC_NM = 'AG_MIN_OBS';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID958790_1
   :DESCRIPTION:    Add 2 partitioned metrics tables to support evaluation of promotions spanning multiple partitions.
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 30MAY2013
   :SUPPORT:        Ken Sizer
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..RPP_PLAN_METRIC_PART))) %then
        %do;

            %let m_sql_statement = %str(
            CREATE TABLE &m_di_trans..RPP_PLAN_METRIC_PART
            (
            PLAN_SK                            INTEGER NOT NULL,
            PARTITION_ID                       INTEGER NOT NULL,
            KPI_SK                             INTEGER NOT NULL,
            FCST_KPI_VALUE                     NUMERIC(20,3),
            BASE_KPI_VALUE                     NUMERIC(20,3),
            ACTUAL_KPI_VALUE                   NUMERIC(20,3),
            PRIMARY KEY (PLAN_SK,KPI_SK,PARTITION_ID)
            )

            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;


        %if not (%sysfunc(exist(&m_di_trans..RPP_PLAN_PROD_METRICS_PART))) %then
        %do;

            %let m_sql_statement = %str(
            CREATE TABLE &m_di_trans..RPP_PLAN_PROD_METRICS_PART
            (
            PLAN_SK                            INTEGER NOT NULL,
            PROD_HIER_SK                       INTEGER NOT NULL,
            KPI_SK                             INTEGER NOT NULL,
            PARTITION_ID                       INTEGER NOT NULL,
            FCST_KPI_VALUE                     NUMERIC(20,3),
            BASE_KPI_VALUE                     NUMERIC(20,3),
            ACTUAL_KPI_VALUE                   NUMERIC(20,3),
            PRIMARY KEY (PLAN_SK,PROD_HIER_SK,KPI_SK,PARTITION_ID)
            )

            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);
       %end;

   :ORCL_END:


   :SAS_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..RPP_PLAN_METRIC_PART))) %then
        %do;

            proc sql;
              CREATE TABLE RPP_PLAN_METRIC_PART
              (
               PLAN_SK                            INTEGER NOT NULL,
               KPI_SK                             INTEGER NOT NULL,
               PARTITION_ID                       INTEGER NOT NULL,
               FCST_KPI_VALUE                     NUMERIC(20,3),
               BASE_KPI_VALUE                     NUMERIC(20,3),
               ACTUAL_KPI_VALUE                   NUMERIC(20,3)
              )
              ;

                ALTER TABLE RPP_PLAN_METRIC_PART  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PLAN_SK,KPI_SK,PARTITION_ID);
             quit;
        %end;


        %if not (%sysfunc(exist(&m_di_trans..RPP_PLAN_PROD_METRICS_PART))) %then
        %do;

             proc sql;
              CREATE TABLE RPP_PLAN_PROD_METRICS_PART
              (
               PLAN_SK                            INTEGER NOT NULL,
               PROD_HIER_SK                       INTEGER NOT NULL,
               KPI_SK                             INTEGER NOT NULL,
               PARTITION_ID                       INTEGER NOT NULL,
               FCST_KPI_VALUE                     NUMERIC(20,3),
               BASE_KPI_VALUE                     NUMERIC(20,3),
               ACTUAL_KPI_VALUE                   NUMERIC(20,3)
              )
              ;

                ALTER TABLE RPP_PLAN_PROD_METRICS_PART  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PLAN_SK,PROD_HIER_SK,KPI_SK,PARTITION_ID);

              quit;

       %end;


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID954672
   :DESCRIPTION:    Create table identical to CUSTOM_ATTR to resolve price deletion issues
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 30AUG2013
   :SUPPORT:        Ken Sizer
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..CUSTOM_ATTR_PART))) %then
        %do;

            %let m_sql_statement = %str(
                CREATE TABLE &m_di_trans..CUSTOM_ATTR_PART
                (
                    OBJECT_SK                          INTEGER NOT NULL,
                    CAT_CUSTOM_ATTR_SK                 INTEGER NOT NULL,
                    ATTR_VALUE                         VARCHAR(40),

                    PRIMARY KEY (OBJECT_SK,CAT_CUSTOM_ATTR_SK)
                )

            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

        %end;


   :ORCL_END:


   :SAS_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..CUSTOM_ATTR_PART))) %then
        %do;

            proc sql;
                CREATE TABLE CUSTOM_ATTR_PART
                (
                    OBJECT_SK                          INTEGER NOT NULL,
                    CAT_CUSTOM_ATTR_SK                 INTEGER NOT NULL,
                    ATTR_VALUE                         VARCHAR(40)
                )
                ;

                ALTER TABLE CUSTOM_ATTR_PART  add CONSTRAINT PRIM_KEY
                       PRIMARY KEY (OBJECT_SK,CAT_CUSTOM_ATTR_SK);

             quit;
        %end;



   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_2
   :DESCRIPTION:    Change default value for AG_MIN_CORR, add spec AG_P_CUTOFF
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 03JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        update MODEL_SPEC_DEFAULT set DEFAULT_SPEC_VALUE = '0.4'
            where (SPEC_NM = 'AG_MIN_CORR' and DEFAULT_SPEC_VALUE = '0.3');
        update MODEL_SPEC set SPEC_VALUE = '0.4'
            where (MODEL_GROUP_ID = -1 and SPEC_NM = 'AG_MIN_CORR' and SPEC_VALUE = '0.3');

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AG_P_CUTOFF';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('AG_P_CUTOFF','REG','-1','0.1',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'AG_P_CUTOFF';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'REG','AG_P_CUTOFF','-1','0.1',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AG_P_CUTOFF';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('REG','AG_P_CUTOFF','Double',null,0,1,
             0.01,0,NULL,NULL,NULL,NULL,NULL,'mspec.AG_P_CUTOFF.description.txt');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID978101
   :DESCRIPTION:    Add 2 partitioned metrics tables to support evaluation of promotions spanning multiple partitions.
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 31MAY2013
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

      CREATE TABLE PROD_SCOPE_DETAIL
      (
            SCOPE_SK                           INTEGER NOT NULL,
            PROD_HIER_SK                       INTEGER NOT NULL,
            PRIMARY KEY (SCOPE_SK, PROD_HIER_SK)
      )
      ;

      CREATE TABLE GEO_SCOPE_DETAIL
      (
            SCOPE_SK                           INTEGER NOT NULL,
            GEO_HIER_SK                        INTEGER NOT NULL,
            PRIMARY KEY (SCOPE_SK, GEO_HIER_SK)
      )
      ;


   :ORCL_END:


   :SAS_BEGIN:

         proc sql;

         CREATE TABLE PROD_SCOPE_DETAIL
         (
               SCOPE_SK                           INTEGER NOT NULL,
               PROD_HIER_SK                       INTEGER NOT NULL
         )
         ;

            ALTER TABLE PROD_SCOPE_DETAIL  add CONSTRAINT PRIM_KEY  PRIMARY KEY (SCOPE_SK, PROD_HIER_SK);

         CREATE TABLE GEO_SCOPE_DETAIL
         (
               SCOPE_SK                           INTEGER NOT NULL,
               GEO_HIER_SK                        INTEGER NOT NULL
         )
         ;

            ALTER TABLE GEO_SCOPE_DETAIL  add CONSTRAINT PRIM_KEY  PRIMARY KEY (SCOPE_SK, GEO_HIER_SK);

       quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID978101_2
   :DESCRIPTION:    Get values into new tables from existing tables
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 31MAY2013
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

      insert into PROD_SCOPE_DETAIL
         select distinct scope_sk, prod_hier_sk from scope_detail;

      insert into GEO_SCOPE_DETAIL
         select distinct scope_sk, geo_hier_sk from scope_detail;


   :ORCL_END:




:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_3
   :DESCRIPTION:    Remove AG_DENORM model spec
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 06JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'AG_DENORM';
        delete from MODEL_SPEC where SPEC_NM = 'AG_DENORM';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'AG_DENORM';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'AG_DENORM';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID918433_ETL_02
   :DESCRIPTION:    Change FIELD_VALUE_DESC FIELD_VALUE_NM to NULL
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 07AUG2013
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

    %let check_id918433=0;
    Proc sql noprint;
      select count(*) into :check_id918433
      from &m_di_trans..rdbms_dm_change_management
      where upper(CHANGE_ID) eq upper('ID918433_ETL');
    quit;

   %let check_id918433_01=0;
   Proc sql noprint;
     select count(*) into :check_id918433_01
     from &m_di_trans..rdbms_dm_change_management
     where upper(CHANGE_ID) eq upper('ID918433_ETL_01');
  quit;

  %if &check_id918433 gt 0 and &check_id918433_01 eq 0 %then %do;

       %let m_sql_statement=%str(ALTER TABLE LANG_FIELD_LOOKUP_VALUES MODIFY FIELD_VALUE_DESC NULL );
       %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

       %let m_sql_statement=%str(ALTER TABLE LANG_FIELD_LOOKUP_VALUES MODIFY FIELD_VALUE_NM NULL );
       %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

       proc sql;
       insert  into &m_di_trans..Rdbms_DM_change_management
        values (
        "ID918433_ETL_01",
        "MULTILANGUAGE PERSISTENT TABLE",
        %sysfunc(datetime()),
        "&m_user"
        );
       quit;

  %end;

  :ORCL_END:

  :SAS_BEGIN:

   %let check_id918433=0;
   Proc sql noprint;
     select count(*) into :check_id918433
     from &m_di_trans..rdbms_dm_change_management
     where upper(CHANGE_ID) eq upper('ID918433_ETL');
   quit;

   %let check_id918433_01=0;
   Proc sql noprint;
     select count(*) into :check_id918433_01
     from &m_di_trans..rdbms_dm_change_management
     where upper(CHANGE_ID) eq upper('ID918433_ETL_01');
   quit;

  %if &check_id918433 gt 0 and &check_id918433_01 eq 0 %then %do;

      proc sql;
        CREATE TABLE LANG_FIELD_LOOKUP_VALUES
        (
           FIELD_NM VARCHAR(32) NOT NULL,
           TABLE_NAME VARCHAR(32) NOT NULL,
           FIELD_VALUE VARCHAR(100) NOT NULL,
           LANG_CD VARCHAR(11) NOT NULL,
           FIELD_VALUE_NM VARCHAR(100),
           FIELD_VALUE_DESC VARCHAR(100)
        );

        ALTER TABLE LANG_FIELD_LOOKUP_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (FIELD_NM, TABLE_NAME, FIELD_VALUE,LANG_CD);
     quit;

    proc sql;
       insert  into &m_di_trans..Rdbms_DM_change_management
        values (
        "ID918433_ETL_01",
        "MULTILANGUAGE PERSISTENT TABLE",
        %sysfunc(datetime()),
        "&m_user"
        );
    quit;

  %end;

 :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID918433_ETL_01
   :DESCRIPTION:    MULTILANGUAGE PERSISTENT TABLE
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 31MAY2013
   :SUPPORT:        Priyalal R
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:


      CREATE TABLE LANG_ATTRIBUTE
      (
             ATTR_SK INTEGER NOT NULL,
             LANG_CD VARCHAR2(11 CHAR) NOT NULL,
             ATTR_NM VARCHAR2(40 CHAR) NOT NULL,
             PRIMARY KEY (ATTR_SK,LANG_CD)

      )
      ;

      CREATE TABLE LANG_GEOGRAPHY_DM
      (
             GEO_HIER_SK INTEGER NOT NULL,
             LANG_CD VARCHAR2(11 CHAR) NOT NULL,
             GEO_NM VARCHAR2(40 CHAR),
             STREET_ADDRESS VARCHAR2(100 CHAR),
             CITY VARCHAR2(20 CHAR),
             STATE VARCHAR2(20 CHAR),
             ZIP_CODE VARCHAR2(20 CHAR),
             COUNTRY VARCHAR2(20 CHAR),
             PRIMARY KEY (GEO_HIER_SK,LANG_CD)
      )
      ;

      CREATE TABLE LANG_GEOGRAPHY_ATTRIBUTES
      (
             GEO_HIER_SK INTEGER NOT NULL,
             GEO_ATTR_SK INTEGER NOT NULL,
             LANG_CD VARCHAR2(11 CHAR) NOT NULL,
             GEO_ATTR_VALUE VARCHAR2(40 CHAR) NOT NULL,
             PRIMARY KEY (GEO_HIER_SK,GEO_ATTR_SK,LANG_CD)

      )
      ;

      CREATE TABLE LANG_PRODUCT_ATTRIBUTES
      (
             PROD_HIER_SK INTEGER NOT NULL,
             PROD_ATTR_SK INTEGER NOT NULL,
             LANG_CD VARCHAR2(11 CHAR) NOT NULL,
             PROD_ATTR_VALUE VARCHAR2(40 CHAR) NOT NULL,
             PRIMARY KEY (PROD_HIER_SK,PROD_ATTR_SK,LANG_CD)

      )
      ;

      CREATE TABLE LANG_PRODUCT_DM
      (
            PROD_HIER_SK INTEGER NOT NULL,
            LANG_CD VARCHAR2(11 CHAR) NOT NULL,
            PROD_NM VARCHAR2(40 CHAR),
            PROD_DESC VARCHAR2(100 CHAR),
            VOLUME_BASE_UOM VARCHAR2(20 CHAR),
            BRAND_NM VARCHAR2(40 CHAR),
            PRIMARY KEY (PROD_HIER_SK,LANG_CD)
      )
      ;

      CREATE TABLE LANG_PRICE_CHANGE_PRIORITY
      (
           PRICE_CHG_PRIORITY INTEGER NOT NULL,
           LANG_CD VARCHAR2(11 CHAR) NOT NULL,
           PRICE_CHG_PRIORITY_NM VARCHAR2(40 CHAR) not null,
           PRIMARY KEY (PRICE_CHG_PRIORITY,LANG_CD)
      )
      ;

     CREATE TABLE LANG_FIELD_LOOKUP_VALUES
     (
           FIELD_NM VARCHAR2(32 CHAR) not null,
           TABLE_NAME VARCHAR2(32 CHAR) not null,
           FIELD_VALUE VARCHAR2(100 CHAR) not null,
           LANG_CD VARCHAR2(11 CHAR) NOT NULL,
           FIELD_VALUE_NM VARCHAR2(100 CHAR),
           FIELD_VALUE_DESC VARCHAR2(100 CHAR),
           PRIMARY KEY (FIELD_NM, TABLE_NAME, FIELD_VALUE,LANG_CD)
     )
     ;

   :ORCL_END:


   :SAS_BEGIN:

      proc sql;


      CREATE TABLE LANG_ATTRIBUTE
      (
           ATTR_SK INTEGER NOT NULL,
           LANG_CD VARCHAR(11) NOT NULL,
           ATTR_NM VARCHAR(40) NOT NULL
      );

      ALTER TABLE LANG_ATTRIBUTE add CONSTRAINT PRIM_KEY  PRIMARY KEY (ATTR_SK,LANG_CD);


       CREATE TABLE LANG_GEOGRAPHY_DM
       (
            GEO_HIER_SK INTEGER NOT NULL,
            LANG_CD VARCHAR(11) NOT NULL,
            GEO_NM VARCHAR(40),
            STREET_ADDRESS VARCHAR(100),
            CITY VARCHAR(20),
            STATE VARCHAR(20),
            ZIP_CODE VARCHAR(20),
            COUNTRY VARCHAR(20)
        );

        ALTER TABLE LANG_GEOGRAPHY_DM add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,LANG_CD);



        CREATE TABLE LANG_GEOGRAPHY_ATTRIBUTES
        (
              GEO_HIER_SK INTEGER NOT NULL,
              GEO_ATTR_SK INTEGER NOT NULL,
              LANG_CD VARCHAR(11) NOT NULL,
              GEO_ATTR_VALUE VARCHAR(40) NOT NULL
        );

        ALTER TABLE LANG_GEOGRAPHY_ATTRIBUTES add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,GEO_ATTR_SK,LANG_CD);



       CREATE TABLE LANG_PRODUCT_ATTRIBUTES
       (
             PROD_HIER_SK INTEGER NOT NULL,
             PROD_ATTR_SK INTEGER NOT NULL,
             LANG_CD VARCHAR(11) NOT NULL,
             PROD_ATTR_VALUE VARCHAR(40) NOT NULL
       );

       ALTER TABLE LANG_PRODUCT_ATTRIBUTES add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_HIER_SK,PROD_ATTR_SK,LANG_CD);


       CREATE TABLE LANG_PRODUCT_DM
       (
            PROD_HIER_SK INTEGER NOT NULL,
            LANG_CD VARCHAR(11) NOT NULL,
            PROD_NM VARCHAR(40),
            PROD_DESC VARCHAR(100),
            VOLUME_BASE_UOM VARCHAR(20 ),
            BRAND_NM VARCHAR(40)
       );

       ALTER TABLE LANG_PRODUCT_DM add CONSTRAINT PRIM_KEY PRIMARY KEY (PROD_HIER_SK,LANG_CD);



       CREATE TABLE LANG_PRICE_CHANGE_PRIORITY
      (
            PRICE_CHG_PRIORITY INTEGER NOT NULL,
            LANG_CD VARCHAR(11) NOT NULL,
            PRICE_CHG_PRIORITY_NM VARCHAR(40) NOT NULL
      );

      ALTER TABLE LANG_PRICE_CHANGE_PRIORITY add CONSTRAINT PRIM_KEY PRIMARY KEY (PRICE_CHG_PRIORITY,LANG_CD);

      CREATE TABLE LANG_FIELD_LOOKUP_VALUES
      (
           FIELD_NM VARCHAR(32) NOT NULL,
           TABLE_NAME VARCHAR(32) NOT NULL,
           FIELD_VALUE VARCHAR(100) NOT NULL,
           LANG_CD VARCHAR(11) NOT NULL,
           FIELD_VALUE_NM VARCHAR(100),
           FIELD_VALUE_DESC VARCHAR(100)
      );

      ALTER TABLE LANG_FIELD_LOOKUP_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (FIELD_NM, TABLE_NAME, FIELD_VALUE,LANG_CD);

     quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID900227_GPSETTING
   :DESCRIPTION:    Add post-plan-markdown settings to geo_prod_setting
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 10JUN2013
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 36 ;
   INSERT INTO GEO_PROD_SETTING
   (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,
    SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
   VALUES (36,1,1,1,57,1,1,1,2,1);

   DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 37 ;
   INSERT INTO GEO_PROD_SETTING
   (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,
    SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
   VALUES (37,1,1,1,58,0,1,0,99999,1);

   DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 38 ;
   INSERT INTO GEO_PROD_SETTING
   (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,
    SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
   VALUES (38,1,1,1,59,0,1,0,99.9,1);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID918433_DATA_MIGRATION_01
   :DESCRIPTION:    Move  PRICE_CHANGE_PRIORITY from SAS to RDBMS
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 12JUN2013
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      %if NOT %sysfunc(exist(&m_di_trans..PRICE_CHANGE_PRIORITY)) %then %do;

         %let m_sql_statement = %str(
               CREATE TABLE PRICE_CHANGE_PRIORITY
               (
                 PRICE_CHG_PRIORITY INTEGER NOT NULL,
                 PRICE_CHG_PRIORITY_NM VARCHAR2(40 CHAR) not null,
                 APPROVAL_LEAD_TIME INTEGER,
                 USED_BY_APP INTEGER not null,
                 PRIMARY KEY (PRICE_CHG_PRIORITY)
               )
          );

         %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

      %end;
      %else %do;

         %let m_sql_statement = %str(TRUNCATE TABLE PRICE_CHANGE_PRIORITY);

         %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

      %end;

      %let no_of_obs_bfr =%di_util_nobs(&m_di_data..PRICE_CHANGE_PRIORITY);

      %di_dm_trans_append
      (
         di_trans=&m_di_trans.,
         trans_table=PRICE_CHANGE_PRIORITY,
         append_table=&m_di_data..PRICE_CHANGE_PRIORITY
      );

     %let no_of_obs_after=0;

     proc sql noprint;
        Select count(*) into :no_of_obs_after
        from &m_di_trans..PRICE_CHANGE_PRIORITY;
     quit;

     %if &no_of_obs_bfr = &no_of_obs_after %then %do;

        Proc sql;
           DROP TABLE &m_di_data..PRICE_CHANGE_PRIORITY;
        quit;

     %end;

   :ORCL_END:

   :SAS_BEGIN:

      %if NOT %sysfunc(exist(&m_di_trans..PRICE_CHANGE_PRIORITY)) %then %do;

         proc sql;
           CREATE TABLE PRICE_CHANGE_PRIORITY
           (
              PRICE_CHG_PRIORITY INTEGER NOT NULL,
              PRICE_CHG_PRIORITY_NM VARCHAR(40) not null,
              APPROVAL_LEAD_TIME INTEGER,
              USED_BY_APP INTEGER not null
           )
           ;

           ALTER TABLE PRICE_CHANGE_PRIORITY add CONSTRAINT PRIM_KEY PRIMARY KEY (PRICE_CHG_PRIORITY);

         quit;

      %end;
      %else %do;

         %di_util_truncate_table(&m_di_trans..PRICE_CHANGE_PRIORITY);

      %end;

      %let no_of_obs_bfr =%di_util_nobs(&m_di_data..PRICE_CHANGE_PRIORITY);

        %di_dm_trans_append
        (
         di_trans=&m_di_trans.,
         trans_table=PRICE_CHANGE_PRIORITY,
         append_table=&m_di_data..PRICE_CHANGE_PRIORITY
      );

      %let no_of_obs_after=0;

      proc sql noprint;
         Select count(*) into :no_of_obs_after
         from &m_di_trans..PRICE_CHANGE_PRIORITY;
      quit;

      %if &no_of_obs_bfr = &no_of_obs_after %then %do;

        Proc sql;
           DROP TABLE &m_di_data..PRICE_CHANGE_PRIORITY;
        quit;

      %end;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_4
   :DESCRIPTION:    Change AG_xx and AUTO_CROSS specs to DIRECT model only
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 14JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'AG_MIN_OBS';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'AG_MIN_OBS';
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '1' where SPEC_NM = 'AG_MIN_OBS';
        update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'AG_GRP_TYPE';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'AG_GRP_TYPE';
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '1' where SPEC_NM = 'AG_GRP_TYPE';
        update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'AG_MIN_CORR';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'AG_MIN_CORR';
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '1' where SPEC_NM = 'AG_MIN_CORR';
        update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'AG_P_CUTOFF';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'AG_P_CUTOFF';
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '1' where SPEC_NM = 'AG_P_CUTOFF';
        update MODEL_SPEC set SPEC_TYPE = '1' where SPEC_NM = 'AUTO_CROSS';
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '1' where SPEC_NM = 'AUTO_CROSS';
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '1' where SPEC_NM = 'AUTO_CROSS';


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID984010
   :DESCRIPTION:    Remove 4 model specs that are no longer needed
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 17JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where SPEC_NM = 'DEREG_TOLERANCE_FACTOR';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DEREG_TOLERANCE_FACTOR';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'DEREG_TOLERANCE_FACTOR';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'DEREG_TOLERANCE_FACTOR';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'DEREG_TOLERANCE_FACTOR';

        delete from MODEL_SPEC where SPEC_NM = 'DEREG_TOLERANCE_FACTOR_MINOBS';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DEREG_TOLERANCE_FACTOR_MINOBS';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'DEREG_TOLERANCE_FACTOR_MINOBS';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'DEREG_TOLERANCE_FACTOR_MINOBS';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'DEREG_TOLERANCE_FACTOR_MINOBS';

        delete from MODEL_SPEC where SPEC_NM = 'DEREG_MIN_FACTOR';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'DEREG_MIN_FACTOR';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'DEREG_MIN_FACTOR';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'DEREG_MIN_FACTOR';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'DEREG_MIN_FACTOR';

        delete from MODEL_SPEC where SPEC_NM = 'LCP_FACTOR_UPPER_BOUND';
        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'LCP_FACTOR_UPPER_BOUND';
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'LCP_FACTOR_UPPER_BOUND';
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'LCP_FACTOR_UPPER_BOUND';
        delete from MODEL_SPEC_TEMPLATE where SPEC_NM = 'LCP_FACTOR_UPPER_BOUND';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID943681
   :DESCRIPTION:    Remove GEO_PROD_ATTR_LOOKUP and GEO_PROD_ATTRIBUTES in TABLE_PARTITION_META
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 19JUN2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_PROD_ATTR_LOOKUP';

      delete from TABLE_PARTITION_META where TABLE_NM = 'GEO_PROD_ATTRIBUTES';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID943853_GPSTATUS_modify_1
   :DESCRIPTION:    Modify default for SEASON_INACTIVE_DURATION
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 20JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        update MODEL_GEO_PROD_STATUS_RULE set RULE_VALUE = '26'
         where (RULE_NM = 'SEASON_INACTIVE_DURATION' and RULE_VALUE IS NULL);
        update GLOBAL_GEO_PROD_STATUS_RULE set RULE_VALUE = '26'
         where (RULE_NM = 'SEASON_INACTIVE_DURATION' and RULE_VALUE IS NULL);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_5
   :DESCRIPTION:    Add affinity group scoring parameter defaults
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 21JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..SCORING_PARAM_DEFAULT

   :ORCL_BEGIN:

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CP_AG_N';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CP_AG_N',1,0,0,-3);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CP_AG_N',2,0,0,-3);

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CP_AG_P';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CP_AG_P',1,0,3,0);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CP_AG_P',2,0,3,0);

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CPL_AG_N';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CPL_AG_N',1,0,0,-3);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CPL_AG_N',2,0,0,-3);

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CPL_AG_P';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CPL_AG_P',1,0,3,0);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CPL_AG_P',2,0,3,0);

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CINV_AG_N';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CINV_AG_N',1,0,0,-3);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CINV_AG_N',2,0,0,-3);

        delete from SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = 'CINV_AG_P';
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CINV_AG_P',1,0,3,0);
        insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
          values (1,1,'CROSS','CINV_AG_P',2,0,3,0);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_6
   :DESCRIPTION:    Add expanded affinity group scoring parameter defaults
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 21JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %if "&m_delete_and_start_fresh"^="TRUE" %then %do;

      proc sql noprint;
        select spec_value into :hd_val
        from &m_di_data..global_setting
        where upcase(spec_nm)='PS_TOTAL_LENGTH';
      quit;

      %do j = 1 %to &hd_val;
          %let x = %sysfunc(compress('CPS_AG_N_', "'"))&j ;
          proc sql;
           delete from &m_di_trans..SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = "&x";
           insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
               values (1,1,'CROSS',"&x",0,0,0,-3);
          quit;

          %let y = %sysfunc(compress('CPS_AG_P_', "'"))&j ;
          proc sql;
           delete from &m_di_trans..SCORING_PARAM_DEFAULT where EFFECT_CATEGORY = "&y";
           insert into SCORING_PARAM_DEFAULT (GEO_HIER_SK,PROD_HIER_SK,EFFECT_TYPE,EFFECT_CATEGORY,
                 TSF_TYPE,EFFECT_EST,EFFECT_EST_U,EFFECT_EST_L)
               values (1,1,'CROSS',"&y",0,0,3,0);
          quit;

      %end;

   %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID918433_DATA_MIGRATION_02
   :DESCRIPTION:    Move FIELD_LOOKUP_VALUES from SAS to RDBMS
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 24JUN2013
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:


    %if %sysfunc(exist(&m_di_trans..FIELD_LOOKUP_VALUES)) %then %do;


        %let m_sql_statement=%str(DROP TABLE FIELD_LOOKUP_VALUES);


        %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);

    %end;



    %let m_sql_statement = %str(
            CREATE TABLE FIELD_LOOKUP_VALUES
            (
               FIELD_NM    VARCHAR2(32 CHAR) not null,
               TABLE_NAME  VARCHAR2(32 CHAR) not null,
               FIELD_VALUE VARCHAR2(100 CHAR) not null,
               FIELD_VALUE_NM VARCHAR2(100 CHAR),
               FIELD_VALUE_DESC VARCHAR2(100 CHAR),
               FIELD_DATATYPE VARCHAR2(40 CHAR),
               PRIMARY KEY (FIELD_NM, TABLE_NAME, FIELD_VALUE)
           )
           );

    %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);


      %di_dm_trans_append
      (
         di_trans=&m_di_trans.,
         trans_table=FIELD_LOOKUP_VALUES,
         append_table=&m_di_data..FIELD_LOOKUP_VALUES
      );

   :ORCL_END:

   :SAS_BEGIN:

    %if %sysfunc(exist(&m_di_trans..FIELD_LOOKUP_VALUES)) %then %do;
       Proc sql;
         DROP TABLE FIELD_LOOKUP_VALUES;
       quit;
   %end;

   proc sql;
      CREATE TABLE FIELD_LOOKUP_VALUES
      (
       FIELD_NM VARCHAR(32) not null,
       TABLE_NAME VARCHAR(32) not null,
       FIELD_VALUE VARCHAR(100) not null,
       FIELD_VALUE_NM VARCHAR(100),
       FIELD_VALUE_DESC VARCHAR(100),
       FIELD_DATATYPE VARCHAR(40)
      );

    ALTER TABLE FIELD_LOOKUP_VALUES add CONSTRAINT PRIM_KEY PRIMARY KEY (FIELD_NM, TABLE_NAME, FIELD_VALUE);

   quit;

   %di_dm_trans_append
      (
       di_trans=&m_di_trans.,
       trans_table=FIELD_LOOKUP_VALUES,
       append_table=&m_di_data..FIELD_LOOKUP_VALUES
      );

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID985903
   :DESCRIPTION:    actuals for rpp plans crossing parts shldnt read existing rows, output to RPP_PLAN_ACTUALS_PART
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 26JUN2013
   :SUPPORT:        Ken Sizer
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:


        %if not (%sysfunc(exist(&m_di_trans..RPP_PLAN_ACTUALS_PART))) %then
        %do;


            %let m_sql_statement = %str(
            CREATE TABLE RPP_PLAN_ACTUALS_PART
            (
            PLAN_SK                            INTEGER NOT NULL,
            PROD_HIER_SK                       INTEGER NOT NULL,
            KPI_SK                             INTEGER NOT NULL,
            PARTITION_ID                       INTEGER NOT NULL,
            ACTUAL_KPI_VALUE                   NUMERIC(20,3),
            PRIMARY KEY (PLAN_SK,PROD_HIER_SK,KPI_SK,PARTITION_ID)
            )

            );


            %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);



      %end;

   :ORCL_END:

   :SAS_BEGIN:

        %if not (%sysfunc(exist(&m_di_trans..RPP_PLAN_ACTUALS_PART))) %then
        %do;


          PROC SQL;

          CREATE TABLE RPP_PLAN_ACTUALS_PART
          (
                PLAN_SK                            INTEGER NOT NULL,
                PROD_HIER_SK                       INTEGER NOT NULL,
                KPI_SK                             INTEGER NOT NULL,
                PARTITION_ID                       INTEGER NOT NULL,
                ACTUAL_KPI_VALUE                   NUMERIC(20,3)
          )
          ;

            ALTER TABLE RPP_PLAN_ACTUALS_PART add CONSTRAINT RPP_PLAN_ACTUALS_PART_PK
             PRIMARY KEY (PLAN_SK,PROD_HIER_SK,KPI_SK,PARTITION_ID);

          QUIT;

      %end;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID968483
   :DESCRIPTION:    Add model spec BY_REFERENCE_PRICE
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 28JUN2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT, &m_di_trans..MODEL_SPEC

   :ORCL_BEGIN:

        delete from MODEL_SPEC_DEFAULT where SPEC_NM = 'BY_REFERENCE_PRICE';
        insert into MODEL_SPEC_DEFAULT (SPEC_NM,MODEL_COMP_NM,SPEC_TYPE,DEFAULT_SPEC_VALUE,PRIORITY)
           values ('BY_REFERENCE_PRICE','ALL','-1','1',NULL);
        delete from MODEL_SPEC where SPEC_NM = 'BY_REFERENCE_PRICE';
        insert into MODEL_SPEC (MODEL_GROUP_ID,MODEL_COMP_NM,SPEC_NM,SPEC_TYPE,SPEC_VALUE,PRIORITY,CREATED_DTTM,CREATED_BY)
           values (-1,'ALL','BY_REFERENCE_PRICE','-1','1',NULL,NULL,'SEED');
        delete from MODEL_SPEC_DETAILS where SPEC_NM = 'BY_REFERENCE_PRICE';
        insert into MODEL_SPEC_DETAILS (MODEL_COMP_NM,SPEC_NM,SPEC_DATATYPE,SPEC_DATATYPE_EXT,SPEC_VALUE_MIN,SPEC_VALUE_MAX,
             SPEC_VALUE_INCR,HIDDEN_FLG,OVERRIDE_MODEL_COMP_NM_LIST,REF_QUERY,GENERATE_PREFIX_NM,GENERATE_SUFFIX_MAX,
             SPEC_VALUE_LIST_DELIMITER,DESC_KEY)
           values ('ALL','BY_REFERENCE_PRICE','Boolean',null,null,null,
             null,0,NULL,NULL,NULL,NULL,NULL,'mspec.BY_REFERENCE_PRICE.description.txt');
        delete from MODEL_SPEC_VALUES where SPEC_NM = 'BY_REFERENCE_PRICE';
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('BY_REFERENCE_PRICE','ALL','1','mspec.BY_REFERENCE_PRICE.truemeans.txt');
        insert into MODEL_SPEC_VALUES (SPEC_NM,MODEL_COMP_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('BY_REFERENCE_PRICE','ALL','0','mspec.BY_REFERENCE_PRICE.falsemeans.txt');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID883824
   :DESCRIPTION:    Multi-objective markdown optimization
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 05JUL2013
   :SUPPORT:        Oliver Enseling
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE MDO_PLAN DROP COLUMN PROCESS_CD;
       ALTER TABLE MDO_PLAN DROP COLUMN APPR_AGG_PROCESS_CD;
       ALTER TABLE MDO_PLAN DROP COLUMN APPR_AGG_PROCESS_DTTM;
       ALTER TABLE MDO_PLAN DROP COLUMN SCHEDULING_TAG;

       ALTER TABLE MDO_PLAN ADD MULTI_OBJ_INV_WEIGHT NUMERIC(12,2);

       CREATE TABLE MPLN_MULTI_OBJ_RESULT
       (
          MDO_PLAN_SK INTEGER NOT NULL,
          MULTI_OBJ_INV_WEIGHT NUMERIC(12,2),
          REVENUE_AMT NUMERIC(20,3),
          INV_AT_RISK_UNITS NUMERIC(12,2),
          SALES_UNITS NUMERIC(12,2),
          SPEND NUMERIC(20,3),
          PRIMARY KEY(MDO_PLAN_SK, MULTI_OBJ_INV_WEIGHT)
       );

      ALTER TABLE MPLN_RESULT
      ADD
      (
         MULTI_OBJ_PLAN_FCN_VAL NUMERIC(12,2),
         MULTI_OBJ_DELAY_PLAN_FCN_VAL NUMERIC(12,2),
         MAX_REV_REVENUE_AMT NUMERIC(20,3),
         MAX_REV_INV_AT_RISK_UNITS NUMERIC(12,2),
         MAX_REV_SALES_UNITS NUMERIC(12,2),
         MAX_REV_SPEND NUMERIC(20,3),
         MIN_IAR_REVENUE_AMT NUMERIC(20,3),
         MIN_IAR_INV_AT_RISK_UNITS NUMERIC(12,2),
         MIN_IAR_SALES_UNITS NUMERIC(12,2),
         MIN_IAR_SPEND NUMERIC(20,3)
      )
      ;

      ALTER TABLE MPLN_GEO_PROD_RESULT
      ADD
      (
         MULTI_OBJ_PLAN_FCN_VAL NUMERIC(12,2),
         MULTI_OBJ_DELAY_PLAN_FCN_VAL NUMERIC(12,2),
         MAX_REV_REVENUE_AMT NUMERIC(20,3),
         MAX_REV_INV_AT_RISK_UNITS NUMERIC(12,2),
         MAX_REV_SALES_UNITS NUMERIC(12,2),
         MAX_REV_SPEND NUMERIC(20,3),
         MIN_IAR_REVENUE_AMT NUMERIC(20,3),
         MIN_IAR_INV_AT_RISK_UNITS NUMERIC(12,2),
         MIN_IAR_SALES_UNITS NUMERIC(12,2),
         MIN_IAR_SPEND NUMERIC(20,3)
      )
      ;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

          ALTER TABLE MDO_PLAN DROP COLUMN PROCESS_CD;
          ALTER TABLE MDO_PLAN DROP COLUMN APPR_AGG_PROCESS_CD;
          ALTER TABLE MDO_PLAN DROP COLUMN APPR_AGG_PROCESS_DTTM;
          ALTER TABLE MDO_PLAN DROP COLUMN SCHEDULING_TAG;

          ALTER TABLE MDO_PLAN ADD MULTI_OBJ_INV_WEIGHT NUMERIC(12,2);

          CREATE TABLE MPLN_MULTI_OBJ_RESULT
          (
             MDO_PLAN_SK INTEGER NOT NULL,
             MULTI_OBJ_INV_WEIGHT NUMERIC(12,2),
             REVENUE_AMT NUMERIC(20,3),
             INV_AT_RISK_UNITS NUMERIC(12,2),
             SALES_UNITS NUMERIC(12,2),
             SPEND NUMERIC(20,3)
          );

          ALTER TABLE MPLN_MULTI_OBJ_RESULT add CONSTRAINT PRIM_KEY PRIMARY KEY (MDO_PLAN_SK, MULTI_OBJ_INV_WEIGHT);


          ALTER TABLE MPLN_RESULT ADD MULTI_OBJ_PLAN_FCN_VAL NUMERIC(12,2);
          ALTER TABLE MPLN_RESULT ADD    MULTI_OBJ_DELAY_PLAN_FCN_VAL NUMERIC(12,2);
          ALTER TABLE MPLN_RESULT ADD    MAX_REV_REVENUE_AMT NUMERIC(20,3);
          ALTER TABLE MPLN_RESULT ADD    MAX_REV_INV_AT_RISK_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_RESULT ADD    MAX_REV_SALES_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_RESULT ADD    MAX_REV_SPEND NUMERIC(20,3);
          ALTER TABLE MPLN_RESULT ADD    MIN_IAR_REVENUE_AMT NUMERIC(20,3);
          ALTER TABLE MPLN_RESULT ADD    MIN_IAR_INV_AT_RISK_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_RESULT ADD    MIN_IAR_SALES_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_RESULT ADD    MIN_IAR_SPEND NUMERIC(20,3);



          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MULTI_OBJ_PLAN_FCN_VAL NUMERIC(12,2);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MULTI_OBJ_DELAY_PLAN_FCN_VAL NUMERIC(12,2);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MAX_REV_REVENUE_AMT NUMERIC(20,3);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MAX_REV_INV_AT_RISK_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MAX_REV_SALES_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MAX_REV_SPEND NUMERIC(20,3);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MIN_IAR_REVENUE_AMT NUMERIC(20,3);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MIN_IAR_INV_AT_RISK_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MIN_IAR_SALES_UNITS NUMERIC(12,2);
          ALTER TABLE MPLN_GEO_PROD_RESULT ADD    MIN_IAR_SPEND NUMERIC(20,3);


      quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID888392
   :DESCRIPTION:    Add multi-objective markdown setting to GEO_PROD_SETTING
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 05JUL2013
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 31 ;

        INSERT INTO GEO_PROD_SETTING(GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,
           SETTING_TYPE,SETTING_VAL,SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
        VALUES (31,1,1,1,56,0,1,0,99999 ,1);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID906007
   :DESCRIPTION:    Delay metrics for non-optimized plans
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 09JUL2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE MPLN_RESULT ADD DELAY_REVENUE_AMT NUMERIC(20,3);
       ALTER TABLE MPLN_RESULT ADD DELAY_NET_REVENUE_AMT NUMERIC(20,3);
       ALTER TABLE MPLN_RESULT ADD DELAY_END_INV_AT_RISK_VAL NUMERIC(20,3);
       ALTER TABLE MPLN_RESULT ADD DELAY_PLAN_FLGS INTEGER;

       ALTER TABLE MPLN_GEO_PROD_RESULT ADD DELAY_REVENUE_AMT NUMERIC(20,3);
       ALTER TABLE MPLN_GEO_PROD_RESULT ADD DELAY_NET_REVENUE_AMT NUMERIC(20,3);
       ALTER TABLE MPLN_GEO_PROD_RESULT ADD DELAY_END_INV_AT_RISK_VAL NUMERIC(20,3);
       ALTER TABLE MPLN_GEO_PROD_RESULT ADD DELAY_PLAN_FLGS INTEGER;

   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID906007_2
   :DESCRIPTION:    Drop columns OPP_COST_DELAY_* from MPLN_RESULT and MPLN_GEO_PROD_RESULT
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 24JUL2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


        ALTER TABLE MPLN_GEO_PROD_RESULT DROP COLUMN OPP_COST_DELAY_UNITS;
        ALTER TABLE MPLN_GEO_PROD_RESULT DROP COLUMN OPP_COST_DELAY_AMT;

        ALTER TABLE MPLN_RESULT DROP COLUMN OPP_COST_DELAY_UNITS;
        ALTER TABLE MPLN_RESULT DROP COLUMN OPP_COST_DELAY_AMT;


   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID975860_7
   :DESCRIPTION:    Fix affinity group scoring parameter default limits for CP_AG_P and CP_AG_N
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 16JUL2013
   :SUPPORT:        Jerry Haden
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..SCORING_PARAM_DEFAULT

   :ORCL_BEGIN:

        update SCORING_PARAM_DEFAULT set EFFECT_EST_L = 0 where (GEO_HIER_SK = 1
           and PROD_HIER_SK = 1 and EFFECT_CATEGORY = 'CP_AG_N');
        update SCORING_PARAM_DEFAULT set EFFECT_EST_U = 3 where (GEO_HIER_SK = 1
           and PROD_HIER_SK = 1 and EFFECT_CATEGORY = 'CP_AG_N');

        update SCORING_PARAM_DEFAULT set EFFECT_EST_L = -3 where (GEO_HIER_SK = 1
           and PROD_HIER_SK = 1 and EFFECT_CATEGORY = 'CP_AG_P');
        update SCORING_PARAM_DEFAULT set EFFECT_EST_U = 0 where (GEO_HIER_SK = 1
           and PROD_HIER_SK = 1 and EFFECT_CATEGORY = 'CP_AG_P');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID934410
   :DESCRIPTION:    Show regular price at plan start date in the UI
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 16JULY2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


   ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD PLAN_START_PRICE NUMERIC(20,3);


   :ORCL_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID934410_2
   :DESCRIPTION:    Show regular price at plan start date in the UI (need a range)
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 18JULY2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


    ALTER TABLE RPO_PLAN_MEMBER_RESULT DROP COLUMN PLAN_START_PRICE;
    ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD PLAN_START_PRICE_MIN NUMERIC(20,3);
    ALTER TABLE RPO_PLAN_MEMBER_RESULT ADD PLAN_START_PRICE_MAX NUMERIC(20,3);

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID_0949494_3
   :DESCRIPTION:    see defect S0949494
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 22JULY2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE PRICING_RELATION ADD ATTR_ORIGIN INTEGER DEFAULT 0 NOT NULL;


   :ORCL_END:

   :SAS_BEGIN:

   proc sql noprint;
      alter table PRICING_RELATION add ATTR_ORIGIN INTEGER ;
      update PRICING_RELATION set ATTR_ORIGIN=0;
      alter table PRICING_RELATION add NOT NULL (ATTR_ORIGIN);
   quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID991992
   :DESCRIPTION:    New Indices are needed for PKO performance
   :VERSION:        F2MICM521
   :DATE_OF_CHANGE: 18JULY2013
   :SUPPORT:        Eric Yang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE INDEX PKO_DELIVERY_LOCATION_IDX1     ON PKO_DELIVERY_LOCATION  (DELIVERY_SK);
        CREATE INDEX PKO_DELIVERY_STORE_IDX1        ON PKO_DELIVERY_STORE (DELIVERY_SK);
        CREATE INDEX PKO_DELIVERY_STYLECOLOR_IDX1   ON PKO_DELIVERY_STYLECOLOR (DELIVERY_SK);
        CREATE INDEX PKO_EXTERNAL_NEED_SUMMARY_IDX1 ON PKO_EXTERNAL_NEED_SUMMARY (PKO_NEED_LOCATION_GROUP_SK);
        CREATE INDEX PKO_NEED_LOCATION_IDX1         ON PKO_NEED_LOCATION (PKO_NEED_LOCATION_GROUP_SK);
        CREATE INDEX PKO_PO_PLAN_LOC_IDX1           ON PKO_PURCHASE_ORDER_PLAN_LOC (PURCHASE_ORDER_PLAN_SK);
        CREATE INDEX PKO_RES_PACK_IDX1              ON PKO_RES_PACK (RES_PACK_HIER_SK);
        CREATE INDEX PKO_RES_PROD_GEO_SIZE_QTY_IDX1 ON PKO_RES_PROD_GEO_SIZE_QTY (DELIVERY_SK);
        CREATE INDEX PKO_RES_PROD_GEO_SIZE_QTY_IDX2 ON PKO_RES_PROD_GEO_SIZE_QTY (BUY_SK);
        CREATE INDEX REQ_PROD_SIZE_IDX1             ON REQ_PROD_SIZE (REQUEST_ID);
        CREATE INDEX RES_PG_SIZE_QTY_IDX1           ON RES_PROD_GEO_SIZE_QTY (REQUEST_ID);

   :ORCL_END:
   :SAS_BEGIN:

        proc sql;

        CREATE INDEX DELIVERY_SK                ON PKO_DELIVERY_LOCATION  (DELIVERY_SK);
        CREATE INDEX DELIVERY_SK                ON PKO_DELIVERY_STORE (DELIVERY_SK);
        CREATE INDEX DELIVERY_SK                ON PKO_DELIVERY_STYLECOLOR (DELIVERY_SK);
        CREATE INDEX PKO_NEED_LOCATION_GROUP_SK ON PKO_EXTERNAL_NEED_SUMMARY (PKO_NEED_LOCATION_GROUP_SK);
        CREATE INDEX PKO_NEED_LOCATION_GROUP_SK ON PKO_NEED_LOCATION (PKO_NEED_LOCATION_GROUP_SK);
        CREATE INDEX PURCHASE_ORDER_PLAN_SK     ON PKO_PURCHASE_ORDER_PLAN_LOC (PURCHASE_ORDER_PLAN_SK);
        CREATE INDEX RES_PACK_HIER_SK           ON PKO_RES_PACK (RES_PACK_HIER_SK);
        CREATE INDEX DELIVERY_SK                ON PKO_RES_PROD_GEO_SIZE_QTY (DELIVERY_SK);
        CREATE INDEX BUY_SK                     ON PKO_RES_PROD_GEO_SIZE_QTY (BUY_SK);
        CREATE INDEX REQUEST_ID                 ON REQ_PROD_SIZE (REQUEST_ID);
        CREATE INDEX REQUEST_ID                 ON RES_PROD_GEO_SIZE_QTY (REQUEST_ID);

        quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID917127
   :DESCRIPTION:    Add plan setting ALLOW_MARKDN_BELOW_COST_CD to MDO PLAN
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 22JUL2013
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE MDO_PLAN add ALLOW_MARKDN_BELOW_COST_CD integer;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID917127_GPSETTING
   :DESCRIPTION:    Add allow-markdn-below-cost settings to geo_prod_setting
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 22JUL2013
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 35 ;
   INSERT INTO GEO_PROD_SETTING
   (GEO_PROD_SETTING_SK,GEO_HIER_SK,PROD_HIER_SK,USED_BY_APP,SETTING_TYPE,SETTING_VAL,
    SETTING_OVERRIDE_FLG,SETTING_FLOOR,SETTING_CEIL,GEO_HIER_ASSOC_CD)
   VALUES (35,1,1,1,63,1,1,1,2,1);

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID917127_DEFAULT_VALUES
   :DESCRIPTION:    Set default values for the plan setting ALLOW_MARKDN_BELOW_COST_CD
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 11SEP2013
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      update MDO_PLAN
         set ALLOW_MARKDN_BELOW_COST_CD = coalesce(ALLOW_MARKDN_BELOW_COST_CD,1);

   :ORCL_END:

   :SAS_BEGIN:

      data &m_di_trans..MDO_PLAN;
         modify &m_di_trans..MDO_PLAN;
         ALLOW_MARKDN_BELOW_COST_CD = coalesce(ALLOW_MARKDN_BELOW_COST_CD,1);
      run;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID917127_ALLOWED_PERIODS
   :DESCRIPTION:    Add a column to specify marddown below cost allowed periods for an MDO plan
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 25JUL2013
   :SUPPORT:        Oliver Enseling
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE MDO_PLAN ADD ALLOW_MARKDN_BELOW_COST_PRDS VARCHAR2(255);

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

      ALTER TABLE MDO_PLAN ADD ALLOW_MARKDN_BELOW_COST_PRDS VARCHAR(255);

      quit;

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID918433_THREE
   :DESCRIPTION:    Multi Language Replicate tables GEOGRAPHY_ATTR_LOOKUP and PRODUCT_ATTR_LOOKUP
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 24JUL2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


        CREATE TABLE GEOGRAPHY_ATTR_LOOKUP
        (
                GEO_HIER_SK      INTEGER NOT NULL,
                GEO_ATTR_SK      INTEGER NOT NULL,
         PRIMARY KEY (GEO_HIER_SK,GEO_ATTR_SK)
        )
        ;


        CREATE INDEX GEOGRAPHY_ATTR_LOOKUP_IX1 ON GEOGRAPHY_ATTR_LOOKUP
        (
                GEO_ATTR_SK
        )
        ;


        CREATE TABLE PRODUCT_ATTR_LOOKUP
        (
                PROD_HIER_SK      INTEGER NOT NULL,
                PROD_ATTR_SK      INTEGER NOT NULL,
         PRIMARY KEY (PROD_HIER_SK,PROD_ATTR_SK)
        )
        ;


        CREATE INDEX PRODUCT_ATTR_LOOKUP_IX1 ON PRODUCT_ATTR_LOOKUP
        (
                PROD_ATTR_SK
        )
        ;




   :ORCL_END:


   :SAS_BEGIN:

      proc sql;

        CREATE TABLE GEOGRAPHY_ATTR_LOOKUP
        (
                GEO_HIER_SK      INTEGER NOT NULL,
                GEO_ATTR_SK      INTEGER NOT NULL
        )
        ;

        ALTER TABLE GEOGRAPHY_ATTR_LOOKUP  add CONSTRAINT PRIM_KEY  PRIMARY KEY (GEO_HIER_SK,GEO_ATTR_SK);

        CREATE INDEX GEO_ATTR_SK ON GEOGRAPHY_ATTR_LOOKUP
        (
                GEO_ATTR_SK
        )
        ;


        CREATE TABLE PRODUCT_ATTR_LOOKUP
        (
                PROD_HIER_SK      INTEGER NOT NULL,
                PROD_ATTR_SK      INTEGER NOT NULL
        )
        ;

        ALTER TABLE PRODUCT_ATTR_LOOKUP  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PROD_HIER_SK,PROD_ATTR_SK);

        CREATE INDEX PROD_ATTR_SK ON PRODUCT_ATTR_LOOKUP
        (
                PROD_ATTR_SK
        )
        ;


      quit;



   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID918433_FOUR
   :DESCRIPTION:    Get Data from SAS Side
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 24JUL2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:


        proc sql noprint;
            delete * from di_trans.PRODUCT_ATTR_LOOKUP;
            insert into di_trans.PRODUCT_ATTR_LOOKUP
            select * from di_data.PRODUCT_ATTR_LOOKUP
         ;
        quit;
        proc sql noprint;
            delete * from di_trans.GEOGRAPHY_ATTR_LOOKUP;
            insert into di_trans.GEOGRAPHY_ATTR_LOOKUP
            select * from di_data.GEOGRAPHY_ATTR_LOOKUP
         ;
        quit;


   :ORCL_END:


:END_CHANGE:




***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID_S0988608
   :DESCRIPTION:    see defect S0988608
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 26JULY2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   ALTER TABLE PRICING_RELN_MATCH_ATTR ADD MATCH_ATTR_ORIGIN INTEGER DEFAULT 0 NOT NULL;


   :ORCL_END:

   :SAS_BEGIN:

   proc sql noprint;
      alter table PRICING_RELN_MATCH_ATTR add MATCH_ATTR_ORIGIN INTEGER ;
      update PRICING_RELN_MATCH_ATTR set MATCH_ATTR_ORIGIN=0;
      alter table PRICING_RELN_MATCH_ATTR add NOT NULL (MATCH_ATTR_ORIGIN);
   quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      SET_IX6_IX7_DROP
   :DESCRIPTION:    Set indexes IX6 and IX7 on  PRODUCT_HIER_ASSOC_DM
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 07JUL2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :NOERRORCHK:     TRUE
   :ASIS:           TRUE

   :DOC: Drop indexes in Oracle generate an error.  Bypass this error with NOERRORCHK tag

   :ORCL_BEGIN:

       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=PRODUCT_HIER_ASSOC_DM,m_index_name=PROD_HIER_IX6);
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=PRODUCT_HIER_ASSOC_DM,m_index_name=PROD_HIER_IX7);

   :ORCL_END:

   :SAS_BEGIN:


   :SAS_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      SET_IX6_IX7_CREATE
   :DESCRIPTION:    Set indexes IX6 and IX7 on  PRODUCT_HIER_ASSOC_DM
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 07JUL2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:


       CREATE INDEX PROD_HIER_IX6 ON PRODUCT_HIER_ASSOC_DM
       (
           PROD_HIER_SK,
           PARENT_PROD_LVL
       )
       ;

       CREATE INDEX PROD_HIER_IX7 ON PRODUCT_HIER_ASSOC_DM
       (
            PROD_HIER_ASSOC_CD,
            PARENT_PROD_HIER_SK,
            PROD_HIER_SK
       )
       ;

   :ORCL_END:

   :SAS_BEGIN:

   proc sql noprint;
       select count(*)
       into :_cnt_idx_ix6
       from sashelp.vindex
       where upcase(libname)=upcase("&m_di_data.")
       and upcase(memname) = "PRODUCT_HIER_ASSOC_DM"
       and upcase(indxname) = "PROD_HIER_IX6"
       ;

       select count(*)
       into :_cnt_idx_ix7
       from sashelp.vindex
       where upcase(libname)=upcase("&m_di_data.")
       and upcase(memname) = "PRODUCT_HIER_ASSOC_DM"
       and upcase(indxname) = "PROD_HIER_IX7"
       ;
   quit;

   %if &_cnt_idx_ix7 = 0 %then
   %do;

       %if &_cnt_idx_ix6 >0 %then
       %do;

           proc sql noprint;

               DROP INDEX PROD_HIER_IX6 FROM &m_di_data..PRODUCT_HIER_ASSOC_DM;

           quit;

       %end;

        proc sql noprint;


           CREATE INDEX PROD_HIER_IX6 ON &m_di_data..PRODUCT_HIER_ASSOC_DM
           (
               PROD_HIER_SK,
               PARENT_PROD_LVL
           )
           ;

           CREATE INDEX PROD_HIER_IX7 ON &m_di_data..PRODUCT_HIER_ASSOC_DM
           (
                PROD_HIER_ASSOC_CD,
                PARENT_PROD_HIER_SK,
                PROD_HIER_SK
           )
           ;
       quit;

   %end;



   :SAS_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      DROP_PRICE_CHG_PRIORITY_PURGE
   :DESCRIPTION:    Delete Price_change_priority from purge_query as it has moved to RDBMS
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 31JUL2013
   :SUPPORT:        Pradeep Swain
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      DELETE FROM PURGE_QUERY
       WHERE table_nm in ('PRICE_CHANGE_PRIORITY');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID847904_A
   :DESCRIPTION:    see defect S0847904
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 08AUG2013
   :SUPPORT:        Kais Arfaoui
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

    alter table PRICING_RELN_MATCH_ATTR modify MATCH_ATTR_VALUE_LIST VARCHAR(4000);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ATTR_PROD_HIER_KEYS_DTTM
   :DESCRIPTION:    This change is for internal users and does not affect production systems.
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 14AUG2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:



   :ORCL_END:


   :SAS_BEGIN:


          proc datasets library=&m_di_trans nolist;

             modify ATTR_PROD_HIER_KEYS ;
                format DTTM NLDATM21.;
                informat DTTM NLDATM21.;
          quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      GLOBAL_CONSTANTS_RUN_ALWAYS
   :DESCRIPTION:    Refresh non-user-editable CWB configuration tables
   :VERSION:        M2MICM521
   :DATE_OF_CHANGE: 18FEB2013
   :SUPPORT:        Jason Pace
   :FREQUENCY:      ALWAYS
   :ASIS:           TRUE
   :CHKLIB:         &m_di_data., &m_di_trans.
   :CHKTABLES:      &m_di_trans..ma_spec_seed


   :DOC: This change will be run every time apply_sas_data_model_changes.sas is run.
   :DOC:
   :DOC: It refreshes the following tables:
   :DOC: GLOBAL_GEO_PROD_STATUS_DETAILS
   :DOC: GLOBAL_GEO_PROD_STATUS_VALUES
   :DOC: GLOBAL_SETTING_DETAILS
   :DOC: GLOBAL_SETTING_GROUP
   :DOC: GLOBAL_SETTING_GROUP_MEMBER
   :DOC: GLOBAL_SETTING_VALUES
   :DOC: MA_SPEC_SEED
   :DOC: MODEL_GEO_PROD_STATUS_DETAILS
   :DOC: MODEL_GEO_PROD_STATUS_VALUES
   :DOC: MODEL_SPEC_WORKFLOW
   :DOC: SCORING_PARAM_CONFIG
   :DOC:
   :DOC: Jason Pace will be responsible for keeping latest version of these tables in CVS.
   :DOC: Tables will be maintained at this location:
   :DOC:      \vertical\Products\DemandIntelligence\Retail2\Server\DIMCServer\misc::m2micm521
   :DOC: The cport file for all these tables will be visible to customers and located here:
   :DOC:      \sas\dibase\misc\dbmsc::m3micm521
   :DOC: The file is named GLOBAL_CONSTANTS.CPORT
   :DOC:
   :DOC: This CPORT file will be imported to work library.  Data in these tables will be
   :DOC:   transferred to existing tables in di_data library.  There are no checks performed.
   :DOC:
   :DOC:

   :ORCL_BEGIN:

        %let DI_MISC_PATH=%di_util_misc_path();

        %include  "&DI_MISC_PATH/seed/seed_global_constants.sas";

        %let m_refresh=%nrstr(proc sql; delete * from &m_di_trans..&m_tn;
        create table work.z as select * from &m_di_trans..&m_tn outer union corr select * from work.&m_tn;
        insert into &m_di_trans..&m_tn select * from work.z; quit;);

        %let m_tn=global_geo_prod_status_details;
        %unquote(&m_refresh);

        %let m_tn=global_geo_prod_status_values;
        %unquote(&m_refresh);

        %let m_tn=global_setting_details;
        %unquote(&m_refresh);

        %let m_tn=global_setting_group;
        %unquote(&m_refresh);

        %let m_tn=global_setting_group_member;
        %unquote(&m_refresh);

        %let m_tn=global_setting_values;
        %unquote(&m_refresh);

        %let m_tn=ma_spec_seed;
        %unquote(&m_refresh);

        %let m_tn=model_geo_prod_status_details;
        %unquote(&m_refresh);

        %let m_tn=model_geo_prod_status_values;
        %unquote(&m_refresh);

        %let m_tn=model_spec_workflow;
        %unquote(&m_refresh);

        %let m_tn=scoring_param_config;
        %unquote(&m_refresh);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1002183
   :DESCRIPTION:    Size Profling: add prf_config setting super_sizeset_fill_zero_sales
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 16AUG2013
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_CONFIG

   :ORCL_BEGIN:
      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=2 and SPEC_NM='super_sizeset_fill_zero_sales';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 2, 'super_sizeset_fill_zero_sales', '0', 'INTEGER');
   :ORCL_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1000053
   :DESCRIPTION:    Create unique index for PRICE_CHANGE_PRIORITY
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 19AUG2013
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %if %sysfunc(exist(&m_di_trans..PRICE_CHANGE_PRIORITY)) %then %do;
        %let m_sql_statement=%str(CREATE UNIQUE INDEX PRICE_CHG_PRIORITY_NM on PRICE_CHANGE_PRIORITY(PRICE_CHG_PRIORITY_NM));
        %di_dm_trans_exe(pass_through_sql=%quote(&m_sql_statement),session_flg=1);
   %end;

   :ORCL_END:

   :SAS_BEGIN:
   %if %sysfunc(exist(&m_di_trans..PRICE_CHANGE_PRIORITY)) %then %do;
      proc sql noprint;
        CREATE UNIQUE INDEX PRICE_CHG_PRIORITY_NM on PRICE_CHANGE_PRIORITY(PRICE_CHG_PRIORITY_NM);
      quit;
   %end;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      TABLE_PARTITION_META_09
   :DESCRIPTION:    Update TABLE_PARTITION_META
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 03SEP2013
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql noprint;

      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'CLR_DC_INV_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'CLR_EFF_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'CLR_INV_AGING_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'CLR_ITEM_SEL_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'CLR_MD_PROJECTION_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'CLR_MD_PROJECTION_REPORT_WEEKLY';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'MKDN_APPR_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'PRICE_CHANGE_PRIORITY';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REG_COST_CHG_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REG_COST_HIST_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REG_GM_CHG_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REG_SKU_COST_CHG_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REG_SKU_RETAIL_CHG_REPORT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REPORT_DEMAND_DECOM_DATE_SK';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'REPORT_MEASURES_DATE_SK';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RETURN_RATE_AVG';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RPP_PGSPOT';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RPP_PROMOEFF';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RPP_PROMOPLAN';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RPP_PROMOSUMM';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RPP_VENDOR_FUND';
      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'RPP_VG_SUMMARY';

      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'ISO_CURRENCY';

      insert into DI_DM2.TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      values ('ISO_CURRENCY',1,0,0,0,'');

      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'PROD_CROSS_RELATION';

      insert into DI_DM2.TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      values ('PROD_CROSS_RELATION',1,0,0,0,'');

      delete from DI_DM2.TABLE_PARTITION_META where TABLE_NM = 'VENDOR_SUPPORT';
      insert into DI_DM2.TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
      values ('VENDOR_SUPPORT',1,0,0,0,'');

      quit;


        data work.table_partition_meta;
          set di_dm2.table_partition_meta;
        run;

        proc sort data=work.table_partition_meta;
          by table_nm;
        run;

        proc sql noprint;
          delete * from di_dm2.table_partition_meta;
          insert into di_dm2.table_partition_meta(TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER)
          select TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,ETL_STG2DM,SORT_ORDER
          from work.table_partition_meta
          ;
        quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID989518
   :DESCRIPTION:    Change spec type for MIN_PRICE_RATIO, MAX_PRICE_RATIO and PSY_POINTS to -1
   :VERSION:        M3MICM521
   :DATE_OF_CHANGE: 27AUG2013
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..MODEL_SPEC_DEFAULT

   :ORCL_BEGIN:

        delete from MODEL_SPEC where (SPEC_NM = 'MIN_PRICE_RATIO' and SPEC_TYPE = '2');
        update MODEL_SPEC set SPEC_TYPE = '-1' where (SPEC_NM = 'MIN_PRICE_RATIO'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_DEFAULT where (SPEC_NM = 'MIN_PRICE_RATIO' and SPEC_TYPE = '2');
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where (SPEC_NM = 'MIN_PRICE_RATIO'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_TEMPLATE where (SPEC_NM = 'MIN_PRICE_RATIO' and SPEC_TYPE = '2');
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '-1' where (SPEC_NM = 'MIN_PRICE_RATIO'
             and SPEC_TYPE = '1');

        delete from MODEL_SPEC where (SPEC_NM = 'MAX_PRICE_RATIO' and SPEC_TYPE = '2');
        update MODEL_SPEC set SPEC_TYPE = '-1' where (SPEC_NM = 'MAX_PRICE_RATIO'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_DEFAULT where (SPEC_NM = 'MAX_PRICE_RATIO' and SPEC_TYPE = '2');
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where (SPEC_NM = 'MAX_PRICE_RATIO'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_TEMPLATE where (SPEC_NM = 'MAX_PRICE_RATIO' and SPEC_TYPE = '2');
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '-1' where (SPEC_NM = 'MAX_PRICE_RATIO'
             and SPEC_TYPE = '1');

        delete from MODEL_SPEC where (SPEC_NM = 'PSY_POINTS' and SPEC_TYPE = '2');
        update MODEL_SPEC set SPEC_TYPE = '-1' where (SPEC_NM = 'PSY_POINTS'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_DEFAULT where (SPEC_NM = 'PSY_POINTS' and SPEC_TYPE = '2');
        update MODEL_SPEC_DEFAULT set SPEC_TYPE = '-1' where (SPEC_NM = 'PSY_POINTS'
             and SPEC_TYPE = '1');
        delete from MODEL_SPEC_TEMPLATE where (SPEC_NM = 'PSY_POINTS' and SPEC_TYPE = '2');
        update MODEL_SPEC_TEMPLATE set SPEC_TYPE = '-1' where (SPEC_NM = 'PSY_POINTS'
             and SPEC_TYPE = '1');

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID962538
   :DESCRIPTION:    Backend messages in Batch
   :VERSION:        M3MICM52
   :DATE_OF_CHANGE: 07OCT2013
   :SUPPORT:        Ken Sizer
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE RPP_PLAN      ADD PARENT_PROCESS_SK INTEGER;
      ALTER TABLE CALENDAR      ADD PARENT_PROCESS_SK INTEGER;
      ALTER TABLE CATEGORY_PLAN ADD PARENT_PROCESS_SK INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1033197
   :DESCRIPTION:    Subsidy Cost Adjustment Business Rules
   :VERSION:        M3MICM52
   :DATE_OF_CHANGE: 07OCT2013
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 20033;

        insert into
        geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
        PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,
        SETTING_CEIL)   values ( 20033, 2, 1, 1, 1, 33, 1, 100.0, 0.00,  100.0);

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 20034;
        insert into
        geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
        PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,
        SETTING_CEIL)   values ( 20034, 2, 1, 1, 1, 34, 1, 100.0, 0.00,  100.0);

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 20035;
        insert into
        geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
        PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,
        SETTING_CEIL)   values ( 20035, 2, 1, 1, 1, 35, 1, 100.0, 0.00,  100.0);

        DELETE FROM GEO_PROD_SETTING WHERE GEO_PROD_SETTING_SK = 20036;
        insert into
        geo_prod_setting(GEO_PROD_SETTING_SK,USED_BY_APP,GEO_HIER_SK,GEO_HIER_ASSOC_CD,
        PROD_HIER_SK,SETTING_TYPE,SETTING_OVERRIDE_FLG,SETTING_VAL,SETTING_FLOOR,
        SETTING_CEIL)   values ( 20036, 2, 1, 1, 1, 36, 1, 100.0, 0.00,  100.0);


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:

   :CHANGE_ID:      ID1038104
   :DESCRIPTION:    Add STORE GROUP RULE tables
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 04DEC2013
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE TABLE PRF_SG_RULE_BASE
       (
           PRF_SG_RULE_BASE_SK       INTEGER NOT NULL,
           PRF_SG_RULE_NM            VARCHAR(100) NOT NULL,
           PROD_HIER_SK              INTEGER NOT NULL,
           NOTES                     VARCHAR(255),
           PRIMARY KEY (PRF_SG_RULE_BASE_SK)
       )
       ;

       CREATE SEQUENCE SEQ_PRF_SG_RULE_BASE_SK START WITH 100000;


       CREATE TABLE PRF_SG_RULE
       (
           PRF_SG_RULE_SK         INTEGER NOT NULL,
           PRF_SG_RULE_BASE_SK    INTEGER NOT NULL,
           VERSION_NUM            INTEGER NOT NULL,
           CREATED_BY_USER_SK     INTEGER NOT NULL,
           CREATED_DTTM           DATE NOT NULL,
           PRIMARY KEY (PRF_SG_RULE_SK)
       )
       ;

       CREATE SEQUENCE SEQ_PRF_SG_RULE_SK START WITH 100000;

       CREATE TABLE PRF_SG_RULE_ASSGMT
       (
           PRF_SG_RULE_ASSGMT_SK         INTEGER NOT NULL,
           PRF_SG_RULE_SK                INTEGER NOT NULL,
           TARGET_GEO_HIER_SK            INTEGER,
           PRIMARY KEY (PRF_SG_RULE_ASSGMT_SK)
       )
       ;

       CREATE SEQUENCE SEQ_PRF_SG_RULE_ASSGMT_SK START WITH 100000;

       CREATE INDEX PRF_SG_RULE_ASSGMT_IX1 ON PRF_SG_RULE_ASSGMT
       (
           PRF_SG_RULE_SK
       )
       ;

                CREATE TABLE PRF_SG_RULE_ASSGMT_ELMT
       (
           PRF_SG_RULE_ASSGMT_SK      INTEGER NOT NULL,
           GEO_HIER_SK                INTEGER NOT NULL,
           PRIMARY KEY (PRF_SG_RULE_ASSGMT_SK, GEO_HIER_SK)
       )
       ;


     :ORCL_END:

   :SAS_BEGIN:


    proc sql;

       CREATE TABLE PRF_SG_RULE_BASE
       (
           PRF_SG_RULE_BASE_SK       INTEGER NOT NULL,
           PRF_SG_RULE_NM            VARCHAR(100) NOT NULL,
           PROD_HIER_SK              INTEGER NOT NULL,
           NOTES                     VARCHAR(255)
       )
       ;
        ALTER TABLE PRF_SG_RULE_BASE  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PRF_SG_RULE_BASE_SK);


       CREATE TABLE PRF_SG_RULE
       (
           PRF_SG_RULE_SK         INTEGER NOT NULL,
           PRF_SG_RULE_BASE_SK    INTEGER NOT NULL,
           VERSION_NUM            INTEGER NOT NULL,
           CREATED_BY_USER_SK     INTEGER NOT NULL,
           CREATED_DTTM           DATE NOT NULL
       )
       ;
        ALTER TABLE PRF_SG_RULE  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PRF_SG_RULE_SK);


       CREATE TABLE PRF_SG_RULE_ASSGMT
       (
           PRF_SG_RULE_ASSGMT_SK         INTEGER NOT NULL,
           PRF_SG_RULE_SK                INTEGER NOT NULL,
           TARGET_GEO_HIER_SK            INTEGER
       )
       ;

        ALTER TABLE PRF_SG_RULE_ASSGMT  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PRF_SG_RULE_ASSGMT_SK);


       CREATE INDEX PRF_SG_RULE_SK ON PRF_SG_RULE_ASSGMT ( PRF_SG_RULE_SK )  ;

       CREATE TABLE PRF_SG_RULE_ASSGMT_ELMT
       (
           PRF_SG_RULE_ASSGMT_SK      INTEGER NOT NULL,
           GEO_HIER_SK                INTEGER NOT NULL
       )
       ;


        ALTER TABLE PRF_SG_RULE_ASSGMT_ELMT  add CONSTRAINT PRIM_KEY
                  PRIMARY KEY (PRF_SG_RULE_ASSGMT_SK,GEO_HIER_SK);

     quit;

     :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1040612
   :DESCRIPTION:    Add Time based purge routine for PRF_inventory_fact
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 13DEC2013
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;

        DELETE FROM PURGE_QUERY WHERE TABLE_NM='PRF_INVENTORY_FACT';

        INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
          VALUES  ('PRF_INVENTORY_FACT', 'SAS', 11, 9999, '%szpf_purge_prf_inventory_fact(libref=DI_DM);', 365,1,'SZPF');
      quit;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1041371
   :DESCRIPTION:    Pack Recommendation Settings to support limits on number of
vendor packs
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 13DEC2013
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..REQ_PACKREC_SETTING


   :DOC:            Modify Pack Recommendation tables to add new columns
   :ORCL_BEGIN:
      ALTER TABLE REQ_PACKREC_SETTING ADD NUM_VENDOR_PACK_MAX INTEGER;
      ALTER TABLE REQ_PACKREC_SETTING ADD NUM_TOTAL_PACK_MAX INTEGER;
   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1041376
   :DESCRIPTION:    Specify Size Sets By Style/Color/Store in Import XML
   :VERSION:        M4MICM52
   :DATE_OF_CHANGE: 15DEC2013
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE PKO_DELIVERY_STORE_COLOR_SS
      (
        DELIVERY_STORE_COLOR_SS_SK           INTEGER NOT NULL,
        DELIVERY_STORE_SK                    INTEGER NOT NULL,
        PKO_SIZESET_SK                       INTEGER NOT NULL,
        PROD_HIER_SK                         INTEGER NOT NULL,
        PRIMARY KEY (DELIVERY_STORE_COLOR_SS_SK)
      )
      ;


      CREATE SEQUENCE SEQ_DELIVERY_STORE_COLOR_SS_SK START WITH 100000;

      CREATE TABLE PKO_NEED_LOCATION_COLOR_SS
      (
        NEED_LOCATION_COLOR_SS_SK           INTEGER NOT NULL,
        PKO_NEED_LOCATION_SK                INTEGER NOT NULL,
        PKO_SIZESET_SK                      INTEGER NOT NULL,
        PROD_HIER_SK                        INTEGER NOT NULL,
        PRIMARY KEY (NEED_LOCATION_COLOR_SS_SK)
      )
      ;

      CREATE SEQUENCE SEQ_NEED_LOCATION_COLOR_SS_SK START WITH 100000;

   :ORCL_END:

   :SAS_BEGIN:


   proc sql;

      CREATE TABLE PKO_DELIVERY_STORE_COLOR_SS
      (
        DELIVERY_STORE_COLOR_SS_SK           INTEGER NOT NULL,
        DELIVERY_STORE_SK                    INTEGER NOT NULL,
        PKO_SIZESET_SK                       INTEGER NOT NULL,
        PROD_HIER_SK                         INTEGER NOT NULL
      )
      ;

      ALTER TABLE PKO_DELIVERY_STORE_COLOR_SS  add CONSTRAINT PRIM_KEY
                  PRIMARY KEY (DELIVERY_STORE_COLOR_SS_SK);


      CREATE TABLE PKO_NEED_LOCATION_COLOR_SS
      (
        NEED_LOCATION_COLOR_SS_SK           INTEGER NOT NULL,
        PKO_NEED_LOCATION_SK                INTEGER NOT NULL,
        PKO_SIZESET_SK                      INTEGER NOT NULL,
        PROD_HIER_SK                        INTEGER NOT NULL
      )
      ;

      ALTER TABLE PKO_NEED_LOCATION_COLOR_SS  add CONSTRAINT PRIM_KEY
                  PRIMARY KEY (NEED_LOCATION_COLOR_SS_SK);

    quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1041371_2
   :DESCRIPTION:    Recommend a max number of Vendor Packs
   :VERSION:        M4MICM52
   :DATE_OF_CHANGE: 07JAN2014
   :SUPPORT:        Ron Stogner
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_BUY ADD NUM_DATAMART_PACK_MAX INTEGER;
      ALTER TABLE PKO_BUY ADD NUM_TOTAL_PACK_MAX INTEGER;

      ALTER TABLE PKO_DELIVERY ADD NUM_DATAMART_PACK_MAX INTEGER;
      ALTER TABLE PKO_DELIVERY ADD NUM_TOTAL_PACK_MAX INTEGER;

      ALTER TABLE PKO_PACK_DEFAULT ADD NUM_DATAMART_PACK_MAX INTEGER;
      ALTER TABLE PKO_PACK_DEFAULT ADD NUM_TOTAL_PACK_MAX INTEGER;

      ALTER TABLE PKO_PACK_PRODUCT_SETTING ADD NUM_DATAMART_PACK_MAX INTEGER;
      ALTER TABLE PKO_PACK_PRODUCT_SETTING ADD NUM_TOTAL_PACK_MAX INTEGER;

   :ORCL_END:

:END_CHANGE:



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1044373_2
   :DESCRIPTION:    Add Store Group Type to PRF_STORE_GROUP.  Migrate old data to populate this column
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 09JAN2014
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

         DELETE FROM PRF_CONFIG where spec_nm='lrm_starting_group_id';
         ALTER TABLE PRF_STORE_GROUP ADD STORE_GROUP_TYPE INTEGER;
       UPDATE PRF_STORE_GROUP set STORE_GROUP_TYPE = 1 where STORE_GROUP_ID < 2000;
       UPDATE PRF_STORE_GROUP set STORE_GROUP_TYPE = 4 where STORE_GROUP_ID >= 2000;
       ALTER TABLE PRF_STORE_GROUP MODIFY STORE_GROUP_TYPE INTEGER NOT NULL;


   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1035254
   :DESCRIPTION:    Model gp status should consider all unsold sizes active
   :VERSION:        F3MICM521
   :DATE_OF_CHANGE: 09JAN2014
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=4 and SPEC_NM='mgps_activate_all_sizes';

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
      VALUES ( -1, 4, 'mgps_activate_all_sizes', '0', 'INTEGER');


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1040982
   :DESCRIPTION:    Approvable Vehicles
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 13JAN2014
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   alter table VEHICLE_CATEGORY add VG_MASTER_TYPE INTEGER;
   alter table VEHICLE_CATEGORY add SPOTS_NOT_REQ_FLG INTEGER;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1047279
   :DESCRIPTION:    Vehicle Group Visual Editor
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 13JAN2014
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   alter table rpp_section add X integer;
   alter table rpp_section add Y integer;
   alter table rpp_section add WIDTH integer;
   alter table rpp_section add HEIGHT integer;
   alter table rpp_section add COLOR integer;
   alter table rpp_section add POSITION integer;

   alter table rpp_layout add COLOR integer;
   alter table rpp_layout add POSITION integer;

   alter table vehicle add COLOR integer;
   alter table vehicle add POSITION integer;

   alter table rpp_vehicle_group add COLOR integer;

   alter table rpp_vg_master add COLOR integer;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1035254_2
   :DESCRIPTION:    SIZE PROFILING M4 SCHEMA CHANGE
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 10JAN2014
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_CONFIG
   :ASIS:           TRUE


   :ORCL_BEGIN:

      proc sql noprint;
           select SPEC_VALUE into :activate_all_sizes
           from &m_di_trans..PRF_CONFIG
           where PRF_CONFIG_TYPE=4 and SPEC_NM='mgps_activate_all_sizes';

         %if "&activate_all_sizes"="" %then %do;
            INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
             VALUES ( -1, 4, 'mgps_activate_all_sizes', '0', 'INTEGER');
         %end;
      quit;

   :ORCL_END:



:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1044373_3
   :DESCRIPTION:    Add MANUALLY_ASSIGNED_FLG to PRF_RSLT_STORE_CLSF
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 15JAN2014
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

         ALTER TABLE PRF_RSLT_STORE_CLSF ADD MANUALLY_ASSIGNED_FLG INTEGER;
         UPDATE PRF_RSLT_STORE_CLSF SET MANUALLY_ASSIGNED_FLG = 0;

   :ORCL_END:

:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1048204
   :DESCRIPTION:    Repair Size Profiling data to handle geo-prod delete and reclass
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 15JAN2014
   :SUPPORT:        Eric Yang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


    CREATE SEQUENCE SEQ_GP_RECLASS_PURGE_EVENT_SK MINVALUE 1
      INCREMENT BY 1 START WITH 100000 CACHE 20 NOORDER NOCYCLE ;


   :ORCL_END:

   :SAS_BEGIN:


   :SAS_END:

 :END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1048204_2
   :DESCRIPTION:    Repair Size Profiling data to handle geo-prod delete and reclass
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 15JAN2014
   :SUPPORT:        Eric Yang
   :FREQUENCY:      ONCE
   :ASIS:           TRUE
   :ORCL_BEGIN:


     %if %sysfunc(exist(&m_di_trans..AUDIT_TRAIL_GP_RECLASS_PURGE)) %then %do;
       Proc sql;
         DROP TABLE AUDIT_TRAIL_GP_RECLASS_PURGE;
       quit;
     %end;
   :ORCL_END:



 :END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;



***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1048204_3
   :DESCRIPTION:    Repair Size Profiling data to handle geo-prod delete and reclass
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 15JAN2014
   :SUPPORT:        Eric Yang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      CREATE TABLE AUDIT_TRAIL_GP_RECLASS_PURGE
      (
          GP_RECLASS_PURGE_EVENT_SK  INTEGER NOT NULL,
          CONTEXT_NM                 VARCHAR(32),
          CONTEXT_SK                 INTEGER ,
          IMPACT                     VARCHAR(32),
          ACTION                     VARCHAR(32),
          PARENT_CONTEXT_NM          VARCHAR(32) ,
          PARENT_CONTEXT_SK          INTEGER ,
          CREATED_DTTM               DATE NOT NULL,
          COMMENT_TEXT               VARCHAR(2048)
       );

    CREATE INDEX AUDIT_TRAIL_GP_RP_IX ON AUDIT_TRAIL_GP_RECLASS_PURGE
    (
         GP_RECLASS_PURGE_EVENT_SK, CONTEXT_NM
    );

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;

         CREATE TABLE AUDIT_TRAIL_GP_RECLASS_PURGE
         (
             GP_RECLASS_PURGE_EVENT_SK  INTEGER NOT NULL,
             CONTEXT_NM                 VARCHAR(32) ,
             CONTEXT_SK                 INTEGER ,
             IMPACT                     VARCHAR(32),
             ACTION                     VARCHAR(32),
             PARENT_CONTEXT_NM          VARCHAR(32) ,
             PARENT_CONTEXT_SK          INTEGER,
             CREATED_DTTM               DATE NOT NULL,
             COMMENT_TEXT               VARCHAR(2048)
         );


         CREATE INDEX AUDIT_TRAIL_GP_RP_IX ON AUDIT_TRAIL_GP_RECLASS_PURGE
         (
             GP_RECLASS_PURGE_EVENT_SK, CONTEXT_NM
          );
      quit;

   :SAS_END:

 :END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;



:BEGIN_CHANGE:
   :CHANGE_ID:      ID1043886_DROP
   :DESCRIPTION:    DROP Table RPP_APPROVED_ASGMNT
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 14JAN2014
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..RPP_APPROVED_ASGMNT

  :ORCL_BEGIN:

         DROP TABLE RPP_APPROVED_ASGMNT;

         DELETE FROM TABLE_META WHERE TABLE_NAME = 'RPP_APPROVED_ASGMNT';

  :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1044373_4
   :DESCRIPTION:    Add MANUALLY_ASSIGNED_FLG to PRF_RSLT_STORE_CLSF
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 16JAN2014
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

         ALTER TABLE PRF_RSLT_STORE_CLSF ADD ASSIGNMENT_TYPE INTEGER;
         UPDATE PRF_RSLT_STORE_CLSF SET ASSIGNMENT_TYPE = 2;
         UPDATE PRF_RSLT_STORE_CLSF SET ASSIGNMENT_TYPE = 1 WHERE STORE_GROUP_ID IS NOT NULL;
         UPDATE PRF_RSLT_STORE_CLSF SET ASSIGNMENT_TYPE = 3 WHERE MANUALLY_ASSIGNED_FLG = 1;
         ALTER TABLE PRF_RSLT_STORE_CLSF DROP COLUMN MANUALLY_ASSIGNED_FLG;

   :ORCL_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1047279_2
   :DESCRIPTION:    Vehicle Group Visual Editor - changing to avoid FEDsql reserved keyword
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 13JAN2014
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   alter table VEHICLE rename column POSITION to POS;
   alter table RPP_LAYOUT rename column POSITION to POS;
   alter table RPP_SECTION rename column POSITION to POS;

   :ORCL_END:
   :SAS_BEGIN:
      proc datasets library=&m_di_trans nolist;
         modify VEHICLE ;
         rename POSITION=POS;
      quit;
      proc datasets library=&m_di_trans nolist;
         modify RPP_LAYOUT ;
         rename POSITION=POS;
      quit;
      proc datasets library=&m_di_trans nolist;
         modify RPP_SECTION ;
         rename POSITION=POS;
      quit;
   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1049544_C
   :DESCRIPTION:    Adding new row for Prf_inventory_fact table in table_partition_meta.
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 20JAN2014
   :SUPPORT:        Sourav Kumar Das
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   proc sql;
      delete from TABLE_PARTITION_META where TABLE_NM = 'PRF_INVENTORY_FACT';
      
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,
      ETL_STG2DM,SORT_ORDER) VALUES
      ('PRF_INVENTORY_FACT',0,1,0,1,'PROD_HIER_SK GEO_HIER_SK DATE_SK');
      
      delete from TABLE_PARTITION_META where TABLE_NM = 'PRF_INVENTORY_FACT_META';
      
      INSERT INTO TABLE_PARTITION_META (TABLE_NM,FULL_COPY_FLG,PARTITION_FLG,ESTIMATION_FLG,
      ETL_STG2DM,SORT_ORDER) VALUES
      ('PRF_INVENTORY_FACT_META',0,0,0,.,'');
   quit;

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1049105
   :DESCRIPTION:    Derive Prf_stockout_fact and Prf_geo_prod_status from Prf_inventory_fact
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 20JAN2014
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE TABLE PRF_GEO_PROD_STATUS_SPEC
        (
        PROD_HIER_SK INTEGER NOT NULL,
        SPEC_NM VARCHAR2(32) NOT NULL,
        SPEC_VALUE VARCHAR2(32),
        CREATED_DTTM DATE,
        CREATED_BY VARCHAR2(20),
        PRIMARY KEY (PROD_HIER_SK, SPEC_NM)
        );

        DELETE FROM PRF_GEO_PROD_STATUS_SPEC WHERE SPEC_NM = 'MAX_ACTIVE_STOCKOUT_WEEKS';

        INSERT INTO PRF_GEO_PROD_STATUS_SPEC VALUES( 1 ,'MAX_ACTIVE_STOCKOUT_WEEKS', '52', '' , 'ETL - Seeded');

   :ORCL_END:

   :SAS_BEGIN:
        proc sql;
           CREATE TABLE PRF_GEO_PROD_STATUS_SPEC
           (
              PROD_HIER_SK INTEGER NOT NULL,
              SPEC_NM VARCHAR(32) NOT NULL,
              SPEC_VALUE VARCHAR(32),
              CREATED_DTTM DATE,
              CREATED_BY VARCHAR(20)
           );

          ALTER TABLE PRF_GEO_PROD_STATUS_SPEC  add CONSTRAINT PRIM_KEY
                  PRIMARY KEY (PROD_HIER_SK, SPEC_NM);

           DELETE FROM PRF_GEO_PROD_STATUS_SPEC WHERE SPEC_NM = 'MAX_ACTIVE_STOCKOUT_WEEKS';

           INSERT INTO PRF_GEO_PROD_STATUS_SPEC VALUES( 1 ,'MAX_ACTIVE_STOCKOUT_WEEKS', '52', %sysfunc(datetime()), 'ETL - Seeded');
        quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1051023
   :DESCRIPTION:    Support marking a store group rule as deleted
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 24JAN2014
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

         ALTER TABLE PRF_SG_RULE_BASE ADD DELETE_FLG INTEGER;
         UPDATE PRF_SG_RULE_BASE SET DELETE_FLG = 0;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;



:BEGIN_CHANGE:
   :CHANGE_ID:      ID1050802
   :DESCRIPTION:    Schema changes for Detect Effective Size Sets
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 28JAN2014
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
      VALUES ( -1, 1, 'min_sizeset_products', '0', 'INTEGER');

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
      VALUES ( -1, 1, 'min_sizeset_sales_units', '0', 'INTEGER');

      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
      VALUES ( -1, 1, 'min_sizeset_sales_amt', '0.00', 'DOUBLE');

      CREATE TABLE PRF_EFFECTIVE_SIZESET_ATTR
        (
        PROFILING_PROJECT_SK INTEGER NOT NULL,
        GEO_ATTR_SK INTEGER NOT NULL,
        GEO_ATTR_VALUE VARCHAR(40) NOT NULL,
        PRIMARY KEY (PROFILING_PROJECT_SK, GEO_ATTR_SK, GEO_ATTR_VALUE)
        );

   :ORCL_END:
   :SAS_BEGIN:

         proc sql;

         INSERT INTO &m_di_trans..PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
         VALUES ( -1, 1, 'min_sizeset_products', '0', 'INTEGER');

         INSERT INTO &m_di_trans..PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
         VALUES ( -1, 1, 'min_sizeset_sales_units', '0', 'INTEGER');

         INSERT INTO &m_di_trans..PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
         VALUES ( -1, 1, 'min_sizeset_sales_amt', '0.00', 'DOUBLE');

         CREATE TABLE &m_di_trans..PRF_EFFECTIVE_SIZESET_ATTR
           (
           PROFILING_PROJECT_SK INTEGER NOT NULL,
           GEO_ATTR_SK INTEGER NOT NULL,
           GEO_ATTR_VALUE VARCHAR(40) NOT NULL
           );

         ALTER TABLE &m_di_trans..PRF_EFFECTIVE_SIZESET_ATTR
         ADD CONSTRAINT PRIM_KEY PRIMARY KEY (PROFILING_PROJECT_SK, GEO_ATTR_SK, GEO_ATTR_VALUE);
      quit;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
*********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1050802_2
   :DESCRIPTION:    Schema changes for Detect Effective Size Sets -- fix datatype
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 31JAN2014
   :SUPPORT:        Teresa McMains
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      UPDATE PRF_CONFIG set SPEC_TYPE='INTEGER' where SPEC_NM='min_sizeset_sales_amt';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1050802_3
   :DESCRIPTION:    Schema changes for Detect Effective Size Sets -- fix SPEC_VALUE
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 03Feb2014
   :SUPPORT:        Yu-wang Wang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      UPDATE PRF_CONFIG set SPEC_TYPE='INTEGER', SPEC_VALUE='0' where SPEC_NM='min_sizeset_sales_amt';

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      IDS1037633
   :DESCRIPTION:    Add needed index to GEO_PROD_RPP
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 05Feb2014
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      create index geo_prod_rpp_ix1 on geo_prod_rpp (PLAN_SK);

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      create index PLAN_SK on geo_prod_rpp (PLAN_SK);
      quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1049105_B
   :DESCRIPTION:    Modify format for CREATED_DTTM field in PRF_GEO_PROD_STATUS_SPEC
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 06Feb2014
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   :ORCL_END:

   :SAS_BEGIN:
       proc datasets library=di_trans nolist;
          modify  PRF_GEO_PROD_STATUS_SPEC;
              informat CREATED_DTTM &m_DTTMFMT. ;
              format CREATED_DTTM &m_DTTMFMT.;
       quit;

   :SAS_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1055613 
   :DESCRIPTION:    Sort_order in table_partition_meta is incorrect for PRF_GEO_PROD_STATUS_SPEC
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 06Feb2014
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:
        proc sql;
            update table_partition_meta
            set SORT_ORDER="PROD_HIER_SK GEO_HIER_SK VALID_FROM_DT"
            where table_nm="PRF_GEO_PROD_STATUS"
            and SORT_ORDER="PROD_HIER_SK GEO_HIER_SK STATUS_VALID_FROM_DT"
            ;
        quit;


   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1027463_B 
   :DESCRIPTION:    FULL_COPY_FLG in TABLE_PARTITION_META set to 1 GEO_PROD and GEO_PROD_STATUS
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 10Feb2014
   :SUPPORT:        Venu Kadari
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;
        update TABLE_PARTITION_META
           set partition_flg = 1,
               full_copy_flg = 0
         where table_nm in ('GEO_PROD','GEO_PROD_STATUS');
      quit;   

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1057063
   :DESCRIPTION:    New table to store model group estimation status codes
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 11FEB2014
   :SUPPORT:        Andy Therber
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE TABLE MODEL_GROUP_EST_STATUS
        (
            MODEL_GROUP_ID INTEGER NOT NULL,
            EST_STATUS_CD INTEGER NOT NULL,
            PRIMARY KEY (MODEL_GROUP_ID)
        );

   :ORCL_END:

   :SAS_BEGIN:

        proc sql;
            CREATE TABLE MODEL_GROUP_EST_STATUS
            (
                MODEL_GROUP_ID INTEGER NOT NULL,
                EST_STATUS_CD INTEGER NOT NULL
            );

            ALTER TABLE MODEL_GROUP_EST_STATUS
              ADD CONSTRAINT PRIM_KEY PRIMARY KEY (MODEL_GROUP_ID);
        quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1058899
   :DESCRIPTION:    Need to insert the default PRF_CONFIG entry for max_projects_to_apply_rule
   :VERSION:        M4MICM521
   :DATE_OF_CHANGE: 18FEB2014
   :SUPPORT:        YuWang Wang
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK = -1 and spec_nm='max_projects_to_apply_rule';

        INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
        VALUES ( -1, 2, 'max_projects_to_apply_rule', '1', 'INTEGER');
    :ORCL_END:

 
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      IDS1093081
   :DESCRIPTION:    Database Schema Changes to support Common Metrics 
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 23Jun2014
   :SUPPORT:        Ken Sizer
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE TABLE rpp_plan_results 
        ( 
             prod_hier_sk             INTEGER NOT NULL,
             geo_hier_sk              INTEGER NOT NULL,
             start_dt                 DATE NOT NULL,   
             end_dt                   DATE NOT NULL,   
             kpi_type                 INTEGER NOT NULL,
             object_sk                INTEGER DEFAULT 0 NOT NULL,
             status                   INTEGER NOT NULL,      
             sales_amt                NUMERIC(20, 3), 
             units                    NUMERIC(12, 2), 
             gm_pct                   NUMERIC(12, 4), 
             gm_amt                   NUMERIC(20, 3), 
             promo_markdn_amt         NUMERIC(20, 3), 
             promo_blend_pct          NUMERIC(12, 4), 
             close_inv_units          NUMERIC(20, 3), 
             close_inv_val_retail_amt NUMERIC(20, 3), 
             n_promo_items            NUMERIC(12, 2), 
             forecast_override        NUMERIC(20, 3) 
        ); 
        ALTER TABLE rpp_plan_results 
          ADD CONSTRAINT rpp_plan_results_pk 
          PRIMARY KEY (prod_hier_sk, geo_hier_sk, start_dt, end_dt, kpi_type, object_sk); 

        CREATE TABLE rpp_message_details 
        ( 
             rpp_message_details_sk     INTEGER NOT NULL, 
             start_dt                   DATE NOT NULL, 
             end_dt                     DATE NOT NULL, 
             prod_hier_sk               INTEGER NOT NULL, 
             geo_hier_sk                INTEGER NOT NULL, 
             message_sk                 INTEGER NOT NULL, 
             attr1                      VARCHAR(40), 
             attr2                      VARCHAR(40), 
             attr3                      VARCHAR(40), 
             attr4                      VARCHAR(40), 
             attr5                      VARCHAR(40) 
        ); 
        ALTER TABLE rpp_message_details 
          ADD CONSTRAINT rpp_message_details_pk PRIMARY KEY (rpp_message_details_sk);  
        CREATE SEQUENCE seq_rpp_message_details_sk 
          START WITH 100000; 
        CREATE INDEX rpp_message_details_ix2 
          ON rpp_message_details(start_dt, end_dt, prod_hier_sk, geo_hier_sk); 
          

        CREATE TABLE rpp_batch_eval_rules
        (  
            prod_hier_sk           INTEGER NOT NULL,
            geo_hier_sk            INTEGER NOT NULL,
            start_offset           INTEGER NOT NULL,
            end_offset             INTEGER NOT NULL
        ); 
        ALTER TABLE rpp_batch_eval_rules 
          ADD CONSTRAINT rpp_batch_eval_rules_pk PRIMARY KEY (prod_hier_sk, geo_hier_sk, start_offset);

          
        CREATE TABLE rpp_process_status 
        ( 
            rpp_process_sk         INTEGER NOT NULL,
            start_dt               DATE NOT NULL,          
            end_dt                 DATE NOT NULL,    
            created_dttm           TIMESTAMP NOT NULL,
            submitted_dttm         TIMESTAMP     
        ); 
        ALTER TABLE rpp_process_status 
          ADD CONSTRAINT rpp_process_status_pk PRIMARY KEY (rpp_process_sk);
        CREATE SEQUENCE seq_rpp_process_pk 
          START WITH 100000; 

          
        CREATE TABLE rpp_process_prod (
           rpp_process_sk       INTEGER NOT NULL,
           prod_hier_sk         INTEGER NOT NULL
        );
        ALTER TABLE rpp_process_prod
          ADD CONSTRAINT rpp_process_prod_pk PRIMARY KEY (rpp_process_sk, prod_hier_sk);


        CREATE TABLE rpp_process_geo (
           rpp_process_sk       INTEGER NOT NULL,
           geo_hier_sk          INTEGER NOT NULL
        );
        ALTER TABLE rpp_process_geo
          ADD CONSTRAINT rpp_process_geo_pk PRIMARY KEY (rpp_process_sk, geo_hier_sk);
           

   :ORCL_END:


   :SAS_BEGIN:

   proc sql;
   
        CREATE TABLE rpp_plan_results 
        ( 
             prod_hier_sk             INTEGER NOT NULL,
             geo_hier_sk              INTEGER NOT NULL,
             start_dt                 DATE NOT NULL,   
             end_dt                   DATE NOT NULL,   
             kpi_type                 INTEGER NOT NULL,
             object_sk                INTEGER NOT NULL,
             status                   INTEGER NOT NULL,      
             sales_amt                NUMERIC(20, 3), 
             units                    NUMERIC(12, 2), 
             gm_pct                   NUMERIC(12, 4), 
             gm_amt                   NUMERIC(20, 3), 
             promo_markdn_amt         NUMERIC(20, 3), 
             promo_blend_pct          NUMERIC(12, 4), 
             close_inv_units          NUMERIC(20, 3), 
             close_inv_val_retail_amt NUMERIC(20, 3), 
             n_promo_items            NUMERIC(12, 2), 
             forecast_override        NUMERIC(20, 3) 
        ); 
        ALTER TABLE rpp_plan_results 
          ADD CONSTRAINT rpp_plan_results_pk 
          PRIMARY KEY (prod_hier_sk, geo_hier_sk, start_dt, end_dt, kpi_type, object_sk); 

        CREATE TABLE rpp_message_details 
        ( 
             rpp_message_details_sk     INTEGER NOT NULL, 
             start_dt                   DATE NOT NULL, 
             end_dt                     DATE NOT NULL, 
             prod_hier_sk               INTEGER NOT NULL, 
             geo_hier_sk                INTEGER NOT NULL, 
             message_sk                 INTEGER NOT NULL, 
             attr1                      VARCHAR(40), 
             attr2                      VARCHAR(40), 
             attr3                      VARCHAR(40), 
             attr4                      VARCHAR(40), 
             attr5                      VARCHAR(40) 
        ); 
        ALTER TABLE rpp_message_details 
          ADD CONSTRAINT rpp_message_details_pk PRIMARY KEY (rpp_message_details_sk);  
    
        CREATE INDEX rpp_message_details_ix2 
          ON rpp_message_details(start_dt, end_dt, prod_hier_sk, geo_hier_sk); 
          

        CREATE TABLE rpp_batch_eval_rules
        (  
            prod_hier_sk           INTEGER NOT NULL,
            geo_hier_sk            INTEGER NOT NULL,
            start_offset           INTEGER NOT NULL,
            end_offset             INTEGER NOT NULL
        ); 
        ALTER TABLE rpp_batch_eval_rules 
          ADD CONSTRAINT rpp_batch_eval_rules_pk PRIMARY KEY (prod_hier_sk, geo_hier_sk, start_offset);

          
        CREATE TABLE rpp_process_status 
        ( 
            rpp_process_sk         INTEGER NOT NULL,
            start_dt               DATE NOT NULL,          
            end_dt                 DATE NOT NULL,    
            created_dttm           DATE NOT NULL,
            submitted_dttm         DATE     
        ); 
        
        ALTER TABLE rpp_process_status 
          ADD CONSTRAINT rpp_process_status_pk PRIMARY KEY (rpp_process_sk);
     
          
        CREATE TABLE rpp_process_prod (
           rpp_process_sk       INTEGER NOT NULL,
           prod_hier_sk         INTEGER NOT NULL
        );
        
        ALTER TABLE rpp_process_prod
          ADD CONSTRAINT rpp_process_prod_pk PRIMARY KEY (rpp_process_sk, prod_hier_sk);


        CREATE TABLE rpp_process_geo (
           rpp_process_sk       INTEGER NOT NULL,
           geo_hier_sk          INTEGER NOT NULL
        );
        
        ALTER TABLE rpp_process_geo
          ADD CONSTRAINT rpp_process_geo_pk PRIMARY KEY (rpp_process_sk, geo_hier_sk);
           
      quit;
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      IDS1093081_2
   :DESCRIPTION:    Database Schema Changes to support Common Metrics 
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 16Jul2014
   :SUPPORT:        Jeff Shaughnessy
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   alter table
      RPP_PLAN
   drop column
      EVAL_OPT_RESULT_CD; 

   alter table
      RPP_PLAN
   drop column
      EVAL_OPT_PROCESS_CD;    

   alter table
      CATEGORY_PLAN
   drop column
      EVAL_OPT_RESULT_CD; 

   alter table
      CATEGORY_PLAN
   drop column
      EVAL_OPT_PROCESS_CD;       

   alter table
      RPP_PLAN
   add
      (
      EVAL_OPT_PROCESS_CD INTEGER,
      EVAL_OPT_RESULT_CD INTEGER
      );

   alter table
      CATEGORY_PLAN
   add
      (
      EVAL_OPT_PROCESS_CD INTEGER,
      EVAL_OPT_RESULT_CD INTEGER
      );

           

   :ORCL_END:


   :SAS_BEGIN:

   proc sql;
           drop table rpp_plan;
           
      CREATE TABLE RPP_PLAN
      (
         PLAN_SK                            INTEGER NOT NULL,
         PLAN_ID                            VARCHAR(32),
         ACTIVE_PLAN_SK                     INTEGER,
         PLAN_TYPE                          INTEGER NOT NULL,
         PLAN_NM                            VARCHAR(100) NOT NULL,
         START_DT                           DATE      FORMAT=&DTFMT    INFORMAT=&DTFMT   NOT NULL,
         END_DT                             DATE      FORMAT=&DTFMT    INFORMAT=&DTFMT  ,
         NOTES                              VARCHAR(255),
         SCOPE_SK                           INTEGER NOT NULL,
         PLAN_DESC                          VARCHAR(100),
         EVAL_OPT_REQ_CD                    INTEGER NOT NULL,
         EVAL_OPT_RESULT_CD                 INTEGER NOT NULL,
         EVAL_OPT_PROCESS_CD                INTEGER NOT NULL,
         FCST_UNITS_ADJUST                  NUMERIC(20,3),
         APP_USER_SK                        INTEGER,
         STATUS_CD                          INTEGER NOT NULL,
         DUE_DT                             DATE      FORMAT=&DTFMT    INFORMAT=&DTFMT  ,
         OBJECTIVE_CD                       INTEGER,
         OBJECTIVE_SK                       INTEGER,
         STATE_SERVICE_TOKEN_SK             INTEGER,
         CREATED_DTTM                       DATE      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT   NOT NULL,
         UPDATED_DTTM                       DATE      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT   NOT NULL,
         EVAL_OPT_RESULT_DTTM               DATE      FORMAT=&DTTMFMT    INFORMAT=&DTTMFMT  ,
         APPROVAL_STATUS_USER_SK            INTEGER,
         CONTEXT_SK                         INTEGER
      )
      ;

      ALTER TABLE RPP_PLAN  add CONSTRAINT PRIM_KEY  PRIMARY KEY (PLAN_SK);

      CREATE INDEX SCOPE_SK ON RPP_PLAN
      (
         SCOPE_SK
      )
      ;

          ALTER TABLE RPP_PLAN ADD ACTION_RESULT_DTTM DATE FORMAT NLDATM21. INFORMAT NLDATM21.;
          ALTER TABLE RPP_PLAN ADD ACTION_CONTEXT_SK INTEGER;
          ALTER TABLE RPP_PLAN ADD ACTION_NM VARCHAR(40) ;
          ALTER TABLE RPP_PLAN ADD ACTION_PROCESS_CD INTEGER;

     ALTER TABLE RPP_PLAN ADD FCST_UNITS_ADJUST_TYPE INTEGER;
     
     ALTER TABLE RPP_PLAN      ADD PARENT_PROCESS_SK INTEGER;
     
   quit;
   
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1108027
   :DESCRIPTION:    RPO_GEO_PROD_AGG entry missing from PURGE_QUERY table
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 21AUG2014
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

    proc sql;
    
      DELETE FROM PURGE_QUERY WHERE TABLE_NM='RPO_GEO_PROD_AGG';


      INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt,num_days_preserved ,partition_flg ,app_nm)
          VALUES ('RPO_GEO_PROD_AGG','RDBMS', 2, 30,'%di_purge_rpo_geo_prod_agg(libref=di_trans);',921, 0, 'RPO');
          
    quit;
   :ORCL_END:
   
:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1111746
   :DESCRIPTION:    Schema Change for Packopt: Messages Keys to Suppress from UI 
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 01SEP2014
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   
   :ORCL_BEGIN:

       CREATE TABLE PKO_SUPPRESS_MESSAGE
       ( 
      MESSAGE_SK  INTEGER NOT NULL,
      PRIMARY KEY (MESSAGE_SK) 
       );
       
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (160);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (161);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (162);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (163);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (164);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (165);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (183);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (169);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (170);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (171);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (172);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (182);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (482);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (174);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (175);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (176);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (444);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (446);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (447);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (455);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (456);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (463);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (464);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (480);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (494);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (497);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (498);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (500);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (516);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (518);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (527);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (533);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (560);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (572);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (577);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (594);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (606);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (615);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (623);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (626);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (644);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (645);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (646);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (647);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (655);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (656);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (657);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (658);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (670);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (671);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (680);
    
   :ORCL_END:
   
   :SAS_BEGIN:
      proc sql;
         CREATE TABLE PKO_SUPPRESS_MESSAGE
         ( MESSAGE_SK  INTEGER NOT NULL 
               );
         ALTER TABLE PKO_SUPPRESS_MESSAGE add CONSTRAINT PRIM_KEY  PRIMARY KEY (MESSAGE_SK);
         
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (160);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (161);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (162);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (163);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (164);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (165);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (183);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (169);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (170);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (171);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (172);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (182);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (482);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (174);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (175);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (176);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (444);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (446);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (447);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (455);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (456);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (463);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (464);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (480);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (494);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (497);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (498);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (500);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (516);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (518);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (527);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (533);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (560);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (572);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (577);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (594);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (606);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (615);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (623);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (626);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (644);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (645);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (646);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (647);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (655);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (656);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (657);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (658);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (670);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (671);
       INSERT INTO PKO_SUPPRESS_MESSAGE (MESSAGE_SK) VALUES (680);
    
    
      quit; 
   :SAS_END:
   
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1100541
   :DESCRIPTION:    Rules based pricing requires additional metrics calculated and displayed in order to be useful
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 8SEP2014
   :SUPPORT:        Andriy Rysin
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      alter table rpo_plan_member_agg add EXP_COMP_AUR_PRICE_MIN NUMBER(20,3);
      alter table rpo_plan_member_agg add EXP_COMP_AUR_PRICE_MAX NUMBER(20,3);
      alter table rpo_plan_member_agg add BASE_COMP_AUR_PRICE_MIN NUMBER(20,3);
      alter table rpo_plan_member_agg add BASE_COMP_AUR_PRICE_MAX NUMBER(20,3);
      
      alter table rpo_plan_member_agg add BASE_AVG_UNIT_RETAIL_PRICE_MIN NUMBER(20,3);
      alter table rpo_plan_member_agg add BASE_AVG_UNIT_RETAIL_PRICE_MAX NUMBER(20,3);
      alter table rpo_plan_member_agg add EXP_AVG_UNIT_RETAIL_PRICE_MIN NUMBER(20,3);
      alter table rpo_plan_member_agg add EXP_AVG_UNIT_RETAIL_PRICE_MAX NUMBER(20,3);
      
      alter table rpo_plan_member_agg add BASE_COMP_PRICE_INDEX_MIN NUMBER(12,4);
      alter table rpo_plan_member_agg add BASE_COMP_PRICE_INDEX_MAX NUMBER(12,4);
      alter table rpo_plan_member_agg add EXP_COMP_PRICE_INDEX_MIN NUMBER(12,4);
      alter table rpo_plan_member_agg add EXP_COMP_PRICE_INDEX_MAX NUMBER(12,4);

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      alter table rpo_plan_member_agg add EXP_COMP_AUR_PRICE_MIN numeric(20,3);
      alter table rpo_plan_member_agg add EXP_COMP_AUR_PRICE_MAX numeric(20,3);
      alter table rpo_plan_member_agg add BASE_COMP_AUR_PRICE_MIN numeric(20,3);
      alter table rpo_plan_member_agg add BASE_COMP_AUR_PRICE_MAX numeric(20,3);
      
      alter table rpo_plan_member_agg add BASE_AVG_UNIT_RETAIL_PRICE_MIN numeric(20,3);
      alter table rpo_plan_member_agg add BASE_AVG_UNIT_RETAIL_PRICE_MAX numeric(20,3);
      alter table rpo_plan_member_agg add EXP_AVG_UNIT_RETAIL_PRICE_MIN numeric(20,3);
      alter table rpo_plan_member_agg add EXP_AVG_UNIT_RETAIL_PRICE_MAX numeric(20,3);
      
      alter table rpo_plan_member_agg add BASE_COMP_PRICE_INDEX_MIN numeric(12,4);
      alter table rpo_plan_member_agg add BASE_COMP_PRICE_INDEX_MAX numeric(12,4);
      alter table rpo_plan_member_agg add EXP_COMP_PRICE_INDEX_MIN numeric(12,4);
      alter table rpo_plan_member_agg add EXP_COMP_PRICE_INDEX_MAX numeric(12,4);
     quit;
   :SAS_END:
   
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1119120
   :DESCRIPTION:    Packopt Schema Change: Add column ALLOW_ADDITIONAL_CONFIGS
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 23SEP2014
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE REQ_PACKREC_SETTING ADD ALLOW_ADDITIONAL_CONFIGS INTEGER;

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      
      ALTER TABLE &m_di_trans..REQ_PACKREC_SETTING ADD ALLOW_ADDITIONAL_CONFIGS INTEGER;
      
      quit;
   :SAS_END:
   
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1121164
   :DESCRIPTION:    NF:New column required for multi color pack recommendation feature
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 1OCT2014
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_BUY ADD ALLOW_ADDITIONAL_CONFIGS INTEGER ;
      ALTER TABLE PKO_DELIVERY ADD ALLOW_ADDITIONAL_CONFIGS INTEGER ;
      ALTER TABLE PKO_PACK_PRODUCT_SETTING ADD ALLOW_ADDITIONAL_CONFIGS INTEGER ;
      ALTER TABLE PKO_PACK_DEFAULT ADD ALLOW_ADDITIONAL_CONFIGS INTEGER;
      
   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      
      ALTER TABLE &m_di_trans..PKO_BUY ADD ALLOW_ADDITIONAL_CONFIGS INTEGER ;
      ALTER TABLE &m_di_trans..PKO_DELIVERY ADD ALLOW_ADDITIONAL_CONFIGS INTEGER ;
      ALTER TABLE &m_di_trans..PKO_PACK_PRODUCT_SETTING ADD ALLOW_ADDITIONAL_CONFIGS INTEGER ;
      ALTER TABLE &m_di_trans..PKO_PACK_DEFAULT ADD ALLOW_ADDITIONAL_CONFIGS INTEGER;
     
      quit;
   :SAS_END:
   
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1121278
   :DESCRIPTION:    CRP:Remove FA_ARCHIVE_PATH and FA_RESULTS_PATH from the FA_SPEC seed file
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 1OCT2014
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      Delete from FA_SPEC where SPEC_NM='FA_ARCHIVE_PATH';
      Delete from FA_SPEC where SPEC_NM='FA_RESULTS_PATH';
      
   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      
      Delete from &m_di_trans..FA_SPEC where SPEC_NM='FA_ARCHIVE_PATH';
      Delete from &m_di_trans..FA_SPEC where SPEC_NM='FA_RESULTS_PATH';  
     
      quit;
   :SAS_END:
   
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1088825
   :DESCRIPTION:    Change default value for fa spec HOLDOUT_DETAILS_TABLES
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 18NOV2014
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :DOC:  Setting new default value ONLY IF the spec is set with older default value ('HAA_PPE').
   
   :ORCL_BEGIN:

     UPDATE FA_SPEC SET SPEC_VALUE = 'FORECAST.DETAILS_HOLIDAY.ACCURACY' WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES' AND SPEC_VALUE = 'HAA_PPE';
     UPDATE MODEL_SPEC_DEFAULT SET DEFAULT_SPEC_VALUE = 'FORECAST.DETAILS_HOLIDAY.ACCURACY' WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES' AND DEFAULT_SPEC_VALUE = 'HAA_PPE';

   :ORCL_END:

   :SAS_BEGIN:
      
      proc sql;
          UPDATE &m_di_trans..FA_SPEC SET SPEC_VALUE = 'FORECAST.DETAILS_HOLIDAY.ACCURACY' WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES' AND SPEC_VALUE = 'HAA_PPE';
          UPDATE &m_di_trans..MODEL_SPEC_DEFAULT SET DEFAULT_SPEC_VALUE = 'FORECAST.DETAILS_HOLIDAY.ACCURACY' WHERE SPEC_NM = 'HOLDOUT_DETAILS_TABLES' AND DEFAULT_SPEC_VALUE = 'HAA_PPE';
      quit;
      
   :SAS_END:
:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S1136150
   :DESCRIPTION:    Missing index for RPP_VENDOR_DEAL causing poor performance 
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 26Nov2014
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      create index RPP_VENDOR_DEAL_IX5 on RPP_VENDOR_DEAL (abs(PLAN_SK));

   :ORCL_END:
   
   :SAS_BEGIN:
   
   :SAS_END:

:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID838719A
   :DESCRIPTION:    Loading plans for larger number of plans is slow due to metric calculations
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 20Jan2015
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        CREATE TABLE TMP_PLAN_UPDT1 AS
        SELECT COUNT(*) AS NEED_COUNT, B.PURCHASE_ORDER_PLAN_SK FROM PKO_PURCHASE_ORDER_PLAN P, PKO_BUY B, PKO_DELIVERY D, PKO_STORE_NEED N
          WHERE B.PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK FROM PKO_PURCHASE_ORDER_PLAN)
          AND D.BUY_SK=B.BUY_SK
          AND N.DELIVERY_SK=D.DELIVERY_SK
          AND P.PURCHASE_ORDER_PLAN_SK=B.PURCHASE_ORDER_PLAN_SK
          GROUP BY B.PURCHASE_ORDER_PLAN_SK ;

        UPDATE PKO_PURCHASE_ORDER_PLAN SET HAS_NEED = 1
         WHERE PURCHASE_ORDER_PLAN_SK IN (SELECT PURCHASE_ORDER_PLAN_SK FROM TMP_PLAN_UPDT1 WHERE NEED_COUNT > 0);

        COMMIT;
        TRUNCATE TABLE TMP_PLAN_UPDT1;

        DROP TABLE TMP_PLAN_UPDT1;

        CREATE TABLE TMP_PLAN_UPDT2 AS
        SELECT PURCHASE_ORDER_PLAN_SK, SUM(STORE_NEED) AS SUM_NEED FROM PKO_STORE_NEED SN, PKO_DELIVERY D, PKO_BUY B
          WHERE PURCHASE_ORDER_PLAN_SK IN(SELECT PURCHASE_ORDER_PLAN_SK FROM PKO_PURCHASE_ORDER_PLAN)
          AND SN.DELIVERY_SK=D.DELIVERY_SK AND B.BUY_SK=D.BUY_SK GROUP BY PURCHASE_ORDER_PLAN_SK;

        UPDATE PKO_PURCHASE_ORDER_PLAN P SET P.TOTAL_NEED = ( SELECT SUM_NEED FROM TMP_PLAN_UPDT2 PT
            WHERE PT.SUM_NEED IS NOT NULL AND PT.PURCHASE_ORDER_PLAN_SK = P.PURCHASE_ORDER_PLAN_SK)
          WHERE EXISTS ( SELECT NULL FROM TMP_PLAN_UPDT2 PT WHERE PT.SUM_NEED IS NOT NULL
            AND PT.PURCHASE_ORDER_PLAN_SK = P.PURCHASE_ORDER_PLAN_SK);

        COMMIT;
        TRUNCATE TABLE TMP_PLAN_UPDT2;

        DROP TABLE TMP_PLAN_UPDT2;

   :ORCL_END:
   
   :SAS_BEGIN:
      
   :SAS_END:


:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1153862
   :DESCRIPTION:    Purge routines for static SO VA reporting tables - seeding for PURGE_QUERY
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 18Feb2015
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;
         DELETE FROM PURGE_QUERY WHERE TABLE_NM='PACK_OPTIMIZATION_REPORT';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('PACK_OPTIMIZATION_REPORT', 'SAS', 1, 9999, '%szpk_purge_po_report(libref=DI_DM);', 180,1,'SZPK');


         DELETE FROM PURGE_QUERY WHERE TABLE_NM='SIZE_PROFILING_REPORT'; 
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm) 
              VALUES ('SIZE_PROFILING_REPORT', 'SAS', 1, 9999, '%szpf_purge_profile_proj_report(libref=DI_DM);', 180,1,'SZPF'); 


         DELETE FROM PURGE_QUERY WHERE TABLE_NM='FACT_ANALYSIS_REPORT';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('FACT_ANALYSIS_REPORT', 'SAS', 1, 9999, '%szpf_purge_fact_report(libref=DI_DM);', 180,1,'SZPF');

      quit;
   :ORCL_END:
   
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1014730
   :DESCRIPTION:    Purge routines for comp_price_fact
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 27Feb2015
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;

        DELETE FROM PURGE_QUERY WHERE TABLE_NM='COMP_PRICE_FACT';

        INSERT INTO purge_query
          (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
          VALUES  ('COMP_PRICE_FACT', 'SAS', 1, 91, '%di_purge_comp_price_fact(libref=di_data);', 730,0,'RPP RPO');
      quit;


   :ORCL_END:
   
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1162130
   :DESCRIPTION:    NF:Enhancement to Pack mid-tier to read Profile related data
   :VERSION:        D4MICM54
   :DATE_OF_CHANGE: 17Mar2015
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:
   
   
      CREATE TABLE PKO_RES_PRF_CLUSTER_CONTRIB
      (
          PRF_CLUSTER_CONTRIB_SK      INTEGER NOT NULL,
          BUY_SK                      INTEGER NOT NULL,
          DELIVERY_SK                 INTEGER NOT NULL,
          PROFILE_ID                  INTEGER NOT NULL,
          CLUSTER_ID                  INTEGER,
          PROD_ID                     VARCHAR(32) NOT NULL,
          SRC_SIZE_CD                 INTEGER NOT NULL,
          CONTRIB_PCT                 NUMERIC(12,4),
          PRIMARY KEY (PRF_CLUSTER_CONTRIB_SK)  
      );
      
      CREATE SEQUENCE SEQ_PRF_CLUSTER_CONTRIB_SK START WITH 100000;


      CREATE TABLE PKO_RES_PROD_GEO_PROFILE
      (
         PROD_GEO_PROFILE_SK          INTEGER NOT NULL,
         BUY_SK                       INTEGER NOT NULL,
         DELIVERY_SK                  INTEGER NOT NULL,
         PROFILE_ID                   INTEGER NOT NULL,
         CLUSTER_ID                   INTEGER,
         PROD_ID                      VARCHAR(32) NOT NULL,
         GEO_ID                       VARCHAR(32) NOT NULL,
         STORE_CATEGORY               VARCHAR(20),
         TOTAL_SCORE                  NUMERIC(12,2),
         START_DT                     DATE,
         END_DT                       DATE,
         NEAR_MATCH_FLG               INTEGER,
         PRIMARY KEY (PROD_GEO_PROFILE_SK)
      );
      
      CREATE SEQUENCE SEQ_PROD_GEO_PROFILE_SK START WITH 100000;

 :ORCL_END:
   
 :SAS_BEGIN:
      /* No Change */
 :SAS_END:  
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1111012
   :DESCRIPTION:    Need to insert the default PRF_CONFIG entry for im_instore_maxlimit
   :VERSION:        D4micm54
   :DATE_OF_CHANGE: 24MAR2015
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK = -1 and spec_nm='im_instore_maxlimit';

        INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
        VALUES ( -1, 2, 'im_instore_maxlimit', '0', 'INTEGER');
    :ORCL_END:


    :SAS_BEGIN:
    
        proc sql noprint;
            DELETE FROM &m_di_trans..PRF_CONFIG WHERE PRF_CONFIG_SK = -1 and spec_nm='im_instore_maxlimit';

            INSERT INTO &m_di_trans..PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
                VALUES ( -1, 2, 'im_instore_maxlimit', '0', 'INTEGER');
        quit;

    :SAS_END: 
 
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1137516
   :DESCRIPTION:    CRP:Poor Performance during UI Population at Buy and Delivery level
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 22SEP2015
   :SUPPORT:        Sourav Kumar Das
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

         CREATE UNIQUE INDEX PKO_PROD_HIER_IX8 ON  PKO_PRODUCT_HIER_ASSOC_DM
         (PROD_HIER_ASSOC_CD, PARENT_PROD_LVL, PROD_HIER_SK);
         
         CREATE UNIQUE INDEX PKO_PROD_HIER_IX10 ON PKO_PRODUCT_HIER_ASSOC_DM
         (PROD_HIER_ASSOC_CD, PARENT_PROD_HIER_SK, PROD_LVL, PROD_HIER_SK);
         
         CREATE OR REPLACE FORCE VIEW PKO_PRODUCT_HIER_ASSOC_DM_ALL
         (
            PROD_HIER_SK,
            PARENT_PROD_HIER_SK,
            PARENT_PROD_LVL,
            PROD_LVL,
            PROD_LVL_FROM_BOTTOM,
            PROD_HIER_ASSOC_CD
         )
         AS
            SELECT PROD_HIER_SK,
                   PARENT_PROD_HIER_SK,
                   PARENT_PROD_LVL,
                   PROD_LVL,
                   PROD_LVL_FROM_BOTTOM,
                   PROD_HIER_ASSOC_CD
              FROM PRODUCT_HIER_ASSOC_DM p
            UNION ALL
            SELECT PROD_HIER_SK,
                   PARENT_PROD_HIER_SK,
                   PARENT_PROD_LVL,
                   PROD_LVL,
                   PROD_LVL_FROM_BOTTOM,
                   PROD_HIER_ASSOC_CD
              FROM PKO_PRODUCT_HIER_ASSOC_DM k;
     

   :ORCL_END:


   :SAS_BEGIN:

   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1182697
   :DESCRIPTION:    Removing component-specific support for model specs
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 24SEP2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE
   
   :DOC: Removing component-specific support for model specs HEDONIC_VOL_TSF, TPR_THRESHOLD, INV_ADJ_THRESHOLD, INV_ADJ_TSF, PL_ADJ_TSF
   
   :ORCL_BEGIN:

   UPDATE MODEL_SPEC_DETAILS SET override_model_comp_nm_list = null 
      WHERE spec_nm IN ( 'HEDONIC_VOL_TSF','TPR_THRESHOLD','INV_ADJ_THRESHOLD','INV_ADJ_TSF','PL_ADJ_TSF');
   
   :ORCL_END:

   :SAS_BEGIN:
   /* No Change */
   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1199456
   :DESCRIPTION:    Re-categorizing the global setting PROD_PARTITION_LVL to ALL-MI
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 28SEP2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   UPDATE GLOBAL_SETTING_GROUP_MEMBER SET global_setting_group_nm = 'ALL-MI' 
      WHERE spec_nm = 'PROD_PARTITION_LVL' and global_setting_group_nm = 'ALL-RO';
   
   :ORCL_END:

   :SAS_BEGIN:
   /* No Change */
   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID892089 
   :DESCRIPTION:    Moving the FORECAST_HORIZON model spec from DIRECT and SHARE models to model independent mode
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 09OCT2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :DOC:    The DIRECT model (spec_type=1) related FORECAST_HORIZON model specs will be converted to model independent spec (spec_type=-1).
   :DOC:    The SHARE model (spec_type=2) related FORECAST_HORIZON model specs will be deleted from MODEL_SPEC table.
   
   :ORCL_BEGIN:

   UPDATE MODEL_SPEC SET spec_type = -1 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = 1;
   
   DELETE MODEL_SPEC 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = 2;
      
   UPDATE MODEL_SPEC_DEFAULT SET spec_type = -1 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = 1;
      
   DELETE MODEL_SPEC_DEFAULT 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = 2;
   
    UPDATE MODEL_SPEC_WORKFLOW SET spec_type = -1 
      WHERE spec_nm = 'FORECAST_HORIZON' AND task_nm = '6.4.3';
   
   DELETE MODEL_SPEC_WORKFLOW  
      WHERE spec_nm = 'FORECAST_HORIZON' AND task_nm = '6.4.8';
   
   :ORCL_END:

   :SAS_BEGIN:
   /* No Change */
   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1105441
   :DESCRIPTION:    In the geo-prod staus editor, for GEO_GROUP_LVL rule using the std hierarchy level
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 16OCT2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      UPDATE model_geo_prod_status_details SET spec_datatype_ext = 'geo:0' 
         WHERE spec_nm = 'GEO_GROUP_LVL';
   
   :ORCL_END:

   :SAS_BEGIN:
   
      proc sql;
         UPDATE &m_di_trans..model_geo_prod_status_details SET spec_datatype_ext = 'geo:0' 
         WHERE spec_nm = 'GEO_GROUP_LVL';
      quit;

   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1182697_1
   :DESCRIPTION:    Removing component-specific support for model specs
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 24SEP2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE
   
   :DOC: Removing component-specific support for model specs HEDONIC_VOL_TSF, TPR_THRESHOLD, INV_ADJ_THRESHOLD, INV_ADJ_TSF, PL_ADJ_TSF

   :ORCL_BEGIN:

   UPDATE MODEL_SPEC_DETAILS SET override_model_comp_nm_list = null 
      WHERE spec_nm IN ( 'HEDONIC_VOL_TSF','TPR_THRESHOLD','INV_ADJ_THRESHOLD','INV_ADJ_TSF','PL_ADJ_TSF');
   
   :ORCL_END:

   :SAS_BEGIN:
   
         proc sql;
         UPDATE &m_di_trans..model_spec_details SET override_model_comp_nm_list = null 
            WHERE spec_nm IN ( 'HEDONIC_VOL_TSF','TPR_THRESHOLD','INV_ADJ_THRESHOLD','INV_ADJ_TSF','PL_ADJ_TSF');
      quit;
      
   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1199456_1
   :DESCRIPTION:    Re-categorizing the global setting PROD_PARTITION_LVL to ALL-MI
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 28SEP2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

   UPDATE GLOBAL_SETTING_GROUP_MEMBER SET global_setting_group_nm = 'ALL-MI' 
      WHERE spec_nm = 'PROD_PARTITION_LVL' and global_setting_group_nm = 'ALL-RO';
   
   :ORCL_END:

   :SAS_BEGIN:
   
      proc sql;
         UPDATE &m_di_trans..global_setting_group_member SET global_setting_group_nm = 'ALL-MI' 
            WHERE spec_nm = 'PROD_PARTITION_LVL' and global_setting_group_nm = 'ALL-RO';
      quit;
      
   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID892089_2
   :DESCRIPTION:    Moving the FORECAST_HORIZON model spec from DIRECT and SHARE models to model independent mode
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 27OCT2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :DOC:    The DIRECT model (spec_type=1) related FORECAST_HORIZON model specs will be converted to model independent spec (spec_type=-1).
   :DOC:    The SHARE model (spec_type=2) related FORECAST_HORIZON model specs will be deleted from MODEL_SPEC table.
   
   :ORCL_BEGIN:

   UPDATE MODEL_SPEC SET spec_type = '-1' 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '1';
   
   DELETE FROM MODEL_SPEC 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '2';
   
   UPDATE MODEL_SPEC_TEMPLATE SET spec_type = '-1' 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '1';
   
   DELETE FROM MODEL_SPEC_TEMPLATE 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '2';
   
   UPDATE MODEL_SPEC_DEFAULT SET spec_type = '-1' 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '1';
      
   DELETE FROM MODEL_SPEC_DEFAULT 
      WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '2';
   
    UPDATE MODEL_SPEC_WORKFLOW SET spec_type = '-1' 
      WHERE spec_nm = 'FORECAST_HORIZON' AND task_nm = '6.4.3';
   
   DELETE FROM MODEL_SPEC_WORKFLOW  
      WHERE spec_nm = 'FORECAST_HORIZON' AND task_nm = '6.4.8';
   
   :ORCL_END:

   :SAS_BEGIN:
   
      proc sql;
         UPDATE &m_di_trans..model_spec SET spec_type = '-1' 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '1';
         
         DELETE FROM &m_di_trans..model_spec 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '2';
         
         UPDATE &m_di_trans..model_spec_template SET spec_type = '-1' 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '1';
         
         DELETE FROM &m_di_trans..model_spec_template 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '2';
         
         UPDATE &m_di_trans..model_spec_default SET spec_type = '-1' 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '1';
            
         DELETE FROM &m_di_trans..model_spec_default 
            WHERE spec_nm = 'FORECAST_HORIZON' AND spec_type = '2';
         
          UPDATE &m_di_trans..model_spec_workflow SET spec_type = '-1' 
            WHERE spec_nm = 'FORECAST_HORIZON' AND task_nm = '6.4.3';
         
         DELETE FROM &m_di_trans..model_spec_workflow  
            WHERE spec_nm = 'FORECAST_HORIZON' AND task_nm = '6.4.8';
      quit;
      
   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1105441_2
   :DESCRIPTION:    In the model geo-prod staus editor, for GEO_GROUP_LVL rule use the geo hierarchy level used by modelling
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 25NOV2015
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      UPDATE model_geo_prod_status_details SET spec_datatype_ext = 'geo:1' 
         WHERE spec_nm = 'GEO_GROUP_LVL';
   
   :ORCL_END:

   :SAS_BEGIN:
   
      proc sql;
         UPDATE &m_di_trans..model_geo_prod_status_details SET spec_datatype_ext = 'geo:1' 
         WHERE spec_nm = 'GEO_GROUP_LVL';
      quit;

   :SAS_END: 
    
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1226504
   :DESCRIPTION:    Add a time based purge routine to purge sales_performance_report - seeding for PURGE_QUERY
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 08JAN2016
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;
         DELETE FROM PURGE_QUERY WHERE TABLE_NM='SALES_PERFORMANCE_REPORT';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('SALES_PERFORMANCE_REPORT', 'SAS', 1, 9999, '%di_purge_sale_performance_report(libref=DI_DM);', 730,1,'ALL');
      quit;

   :ORCL_END:
   
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1260888
   :DESCRIPTION:    CRP: PUBLISHED_DT in PROFILE need DATETIME stamp, need publish date and status in PRF_PROFILE
   :VERSION:        D4micm541
   :DATE_OF_CHANGE: 27MAY2016
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE PRF_PROFILE ADD PROFILE_STATUS_CD INTEGER;
       ALTER TABLE PRF_PROFILE ADD PROFILE_UPDATED_DTTM DATE;

   :ORCL_END:


    :SAS_BEGIN:
    
        proc sql noprint;

           ALTER TABLE &m_di_trans..PRF_PROFILE ADD PROFILE_STATUS_CD INTEGER;
           ALTER TABLE &m_di_trans..PRF_PROFILE ADD PROFILE_UPDATED_DTTM DATE;

        quit;

    :SAS_END: 
 
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1248769_2
   :DESCRIPTION:    DI_MAINTAIN_JOB does not purge table PROCESS_STATUS, PROCESS_PARAMETER, PROCESS_MESSAGE_DETAIL
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 27MAY2016
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;

        DELETE FROM PURGE_QUERY WHERE TABLE_NM='PROCESS_STATUS_SZPF';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('PROCESS_STATUS_SZPF', 'RDBMS', 3, 30, '%di_purge_szpf_process_status(libref=di_trans);', 545,1,'SZPF');

         DELETE FROM PURGE_QUERY WHERE TABLE_NM='PROCESS_MESSAGE_DETAIL_SZPF';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('PROCESS_MESSAGE_DETAIL_SZPF', 'RDBMS', 2, 30, '%di_purge_szpf_process_msg_dtl(libref=di_trans);', 545,1,'SZPF');

         DELETE FROM PURGE_QUERY WHERE TABLE_NM='PROCESS_STATUS_SZPK';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('PROCESS_STATUS_SZPK', 'RDBMS', 3, 30, '%di_purge_szpk_process_status(libref=di_trans);', 545,1,'SZPK');

         DELETE FROM PURGE_QUERY WHERE TABLE_NM='PROCESS_MESSAGE_DETAIL_SZPK';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('PROCESS_MESSAGE_DETAIL_SZPK', 'RDBMS', 2, 30, '%di_purge_szpk_process_msg_dtl(libref=di_trans);', 545,1,'SZPK');
      quit;

   :ORCL_END:
   
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID_1265934
   :DESCRIPTION:    Adding new columns in RPP_PROCESS_STATUS and RPP_PLAN_RESULTS table
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 08JUN2016
   :SUPPORT:        Pankaj Shinde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

		ALTER TABLE RPP_PROCESS_STATUS ADD DRAFT_PLAN_SK INTEGER DEFAULT 0 NOT NULL;
		ALTER TABLE RPP_PROCESS_STATUS ADD KPI_TYPE INTEGER DEFAULT 63 NOT NULL;
		
		ALTER TABLE RPP_PLAN_RESULTS ADD PROD_PARTITION_SK INTEGER DEFAULT 1 NOT NULL;
		ALTER TABLE RPP_PLAN_RESULTS ADD DATE_LVL INTEGER DEFAULT 1 NOT NULL;

   :ORCL_END:

   :SAS_BEGIN:

		proc sql noprint;
			alter table &m_di_trans..RPP_PROCESS_STATUS add DRAFT_PLAN_SK INTEGER ;
			alter table &m_di_trans..RPP_PROCESS_STATUS add KPI_TYPE INTEGER ;
			update &m_di_trans..RPP_PROCESS_STATUS set DRAFT_PLAN_SK=0;
			update &m_di_trans..RPP_PROCESS_STATUS set KPI_TYPE=63;
			alter table &m_di_trans..RPP_PROCESS_STATUS add NOT NULL (DRAFT_PLAN_SK);
			alter table &m_di_trans..RPP_PROCESS_STATUS add NOT NULL (KPI_TYPE);
			
			alter table &m_di_trans..RPP_PLAN_RESULTS add PROD_PARTITION_SK INTEGER ;
			alter table &m_di_trans..RPP_PLAN_RESULTS add DATE_LVL INTEGER ;
			update &m_di_trans..RPP_PLAN_RESULTS set PROD_PARTITION_SK=1;
			update &m_di_trans..RPP_PLAN_RESULTS set DATE_LVL=1;
			alter table &m_di_trans..RPP_PLAN_RESULTS add NOT NULL (PROD_PARTITION_SK);
			alter table &m_di_trans..RPP_PLAN_RESULTS add NOT NULL (DATE_LVL);
		quit;

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1278119
   :DESCRIPTION:    NF:Purge Data from RPP_PROCESS_STATUS, RPP_MESSAGE_DETAILS, RPP_PROCESS_GEO, RPP_PROCESS_PROD
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 20JUL2016
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql;

        DELETE FROM PURGE_QUERY WHERE TABLE_NM='RPP_MESSAGE_DETAILS';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('RPP_MESSAGE_DETAILS', 'RDBMS', 1, 91, '%di_purge_rpp_message_details(libref=di_trans);', 730,0,'RPP');

        DELETE FROM PURGE_QUERY WHERE TABLE_NM='RPP_PROCESS_STATUS';
         INSERT INTO PURGE_QUERY (table_nm ,database_nm ,purge_order ,purge_frequency ,purge_query_txt, num_days_preserved ,partition_flg ,app_nm)
             VALUES  ('RPP_PROCESS_STATUS', 'RDBMS', 1, 7, '%di_purge_process_status_rpp(libref=di_trans);', 7,0,'RPP');
         
      quit;

   :ORCL_END:
   
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1269699
   :DESCRIPTION:    Need to insert the default PRF_CONFIG entry for im_cross_maxlimit
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 11AUG2016
   :SUPPORT:        PRIYALAL
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK = -1 and spec_nm='im_cross_maxlimit';

        INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
        VALUES ( -1, 2, 'im_cross_maxlimit', '0', 'INTEGER');
    :ORCL_END:

 
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1284403
   :DESCRIPTION:    DERIVE_STOCKOUT_GP_STATUS should treat first weeks where OH = 0 as inactive
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 01SEP2016
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

        DELETE FROM PRF_GEO_PROD_STATUS_SPEC WHERE SPEC_NM = 'IGNORE_ZERO_INVENTORY_IN_STRT_WK';

        INSERT INTO PRF_GEO_PROD_STATUS_SPEC VALUES( 1 ,'IGNORE_ZERO_INVENTORY_IN_STRT_WK', '0', '' , 'ETL - Seeded');

   :ORCL_END:

   :SAS_BEGIN:
         proc sql noprint;
        
          DELETE FROM PRF_GEO_PROD_STATUS_SPEC WHERE SPEC_NM = 'IGNORE_ZERO_INVENTORY_IN_STRT_WK';

          INSERT INTO PRF_GEO_PROD_STATUS_SPEC VALUES( 1 ,'IGNORE_ZERO_INVENTORY_IN_STRT_WK', '0', %sysfunc(datetime()), 'ETL - Seeded');
        quit;

   :SAS_END:
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1268178
   :DESCRIPTION:    NF:TKMIServer related changes for common metrics
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 07DEC2016
   :SUPPORT:        ROHIT NAIR
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
   
         ALTER TABLE rpp_plan_results MODIFY "SALES_AMT" NUMBER(25,8);
         ALTER TABLE rpp_plan_results MODIFY "UNITS" NUMBER(18,8);
         ALTER TABLE rpp_plan_results MODIFY "GM_PCT" NUMBER(16,8);
         ALTER TABLE rpp_plan_results MODIFY "GM_AMT" NUMBER(25,8);
         ALTER TABLE rpp_plan_results MODIFY "PROMO_MARKDN_AMT" NUMBER(25,8);
         ALTER TABLE rpp_plan_results MODIFY "CLOSE_INV_VAL_RETAIL_AMT" NUMBER(25,8);
         ALTER TABLE rpp_plan_results MODIFY "FORECAST_OVERRIDE" NUMBER(25,8); 
                         
   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
      
         ALTER TABLE rpp_plan_results MODIFY SALES_AMT NUMERIC(25,8);
         ALTER TABLE rpp_plan_results MODIFY UNITS NUMERIC(18,8);
         ALTER TABLE rpp_plan_results MODIFY GM_PCT NUMERIC(16,8);
         ALTER TABLE rpp_plan_results MODIFY GM_AMT NUMERIC(25,8);
         ALTER TABLE rpp_plan_results MODIFY PROMO_MARKDN_AMT NUMERIC(25,8);
         ALTER TABLE rpp_plan_results MODIFY CLOSE_INV_VAL_RETAIL_AMT NUMERIC(25,8);
         ALTER TABLE rpp_plan_results MODIFY FORECAST_OVERRIDE NUMERIC(25,8); 
      quit;

   :SAS_END:

 
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1286333
   :DESCRIPTION:    CRP:Size Profiling 3.4 VAAR intedgrated reports must be self-service
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 27JAN2017
   :SUPPORT:        Sourav Das
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

    ALTER TABLE PROFILING_PROJECT ADD LOAD_STATUS INTEGER;
    ALTER TABLE PROFILING_PROJECT ADD LOADED_BY VARCHAR(40);
    ALTER TABLE PROFILING_PROJECT ADD DATASET_NM VARCHAR(40);
    ALTER TABLE PROFILING_PROJECT ADD LOAD_DTTM DATE;
    ALTER TABLE PROFILING_PROJECT ADD EXTRACT_DTTM DATE ;
    ALTER TABLE PROFILING_PROJECT ADD REPORT_SCHEDULE INTEGER ;

    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD LOAD_STATUS INTEGER;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD LOADED_BY VARCHAR(40);
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD DATASET_NM VARCHAR(40);
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD LOAD_DTTM DATE;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD EXTRACT_DTTM DATE ;
    ALTER TABLE PKO_PURCHASE_ORDER_PLAN ADD REPORT_SCHEDULE INTEGER ;

   :ORCL_END:

   :SAS_BEGIN:

    proc sql noprint;
      alter table &m_di_trans..PROFILING_PROJECT  add LOAD_STATUS INTEGER ;
      alter table &m_di_trans..PROFILING_PROJECT  add LOADED_BY VARCHAR(40);
      alter table &m_di_trans..PROFILING_PROJECT  add DATASET_NM VARCHAR(40);
      alter table &m_di_trans..PROFILING_PROJECT  add LOAD_DTTM DATE;
      alter table &m_di_trans..PROFILING_PROJECT  add EXTRACT_DTTM DATE ;
      alter table &m_di_trans..PROFILING_PROJECT  add REPORT_SCHEDULE INTEGER ;

    
      alter table &m_di_trans..PKO_PURCHASE_ORDER_PLAN  add LOAD_STATUS INTEGER ;
      alter table &m_di_trans..PKO_PURCHASE_ORDER_PLAN  add LOADED_BY VARCHAR(40);
      alter table &m_di_trans..PKO_PURCHASE_ORDER_PLAN  add DATASET_NM VARCHAR(40);
      alter table &m_di_trans..PKO_PURCHASE_ORDER_PLAN  add LOAD_DTTM DATE;
      alter table &m_di_trans..PKO_PURCHASE_ORDER_PLAN  add EXTRACT_DTTM DATE;
      alter table &m_di_trans..PKO_PURCHASE_ORDER_PLAN  add REPORT_SCHEDULE INTEGER ;
    quit;

   :SAS_END:

   :END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1288555
   :DESCRIPTION:    SMC is not showing the view / edit product location permissions properly
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 17JAN2017
   :SUPPORT:        Sangeeta
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %let m_mi_cfg_auth_sk=0;
   
    proc sql noprint;
	
        select max(auth_sk)+1 into :m_mi_cfg_auth_sk from Data_authorization where auth_sk<99000;
     
        DELETE FROM Data_authorization WHERE APP_GROUP_SK = 102;
		
        INSERT INTO Data_authorization(AUTH_SK, APP_GROUP_SK, PROD_HIER_SK, GEO_HIER_SK,PERMISSION_SK, AUTH_COMMENTS )
           VALUES( &m_mi_cfg_auth_sk ,102,1,1,1,"sasadm@saspw gets read permission for all products, everywhere");

        select max(auth_sk)+1 into :m_mi_cfg_auth_sk from Data_authorization  where auth_sk<99000;

        INSERT INTO Data_authorization(AUTH_SK, APP_GROUP_SK, PROD_HIER_SK, GEO_HIER_SK, PERMISSION_SK, AUTH_COMMENTS )
          VALUES( &m_mi_cfg_auth_sk ,102,1,1,2,"sasadm@saspw gets write permission for all products, everywhere");
    quit;
   
    :ORCL_END:

:END_CHANGE:
   
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1319439
   :DESCRIPTION:    Remove EVAL_OPT_PROCESS_CD, EVAL_OPT_RESULT_CD and EVAL_OPT_RESULT_DTTM from the tables RPP tables
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 30JAN2017
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

     alter table RPP_PLAN drop column EVAL_OPT_PROCESS_CD ;
     alter table RPP_PLAN drop column EVAL_OPT_RESULT_CD;
     alter table RPP_PLAN drop column EVAL_OPT_RESULT_DTTM;

     alter table CATEGORY_PLAN drop column EVAL_OPT_PROCESS_CD ;
     alter table CATEGORY_PLAN drop column EVAL_OPT_RESULT_CD;
     alter table CATEGORY_PLAN drop column EVAL_OPT_RESULT_DTTM;
     
     alter table CALENDAR drop column EVAL_OPT_PROCESS_CD ;
     alter table CALENDAR drop column EVAL_OPT_RESULT_CD;
     alter table CALENDAR drop column EVAL_OPT_RESULT_DTTM;

   :ORCL_END:
   
   :SAS_BEGIN:

    proc sql noprint;
      alter table &m_di_trans..RPP_PLAN drop CONSTRAINT _NM0007_;      
      alter table &m_di_trans..RPP_PLAN drop CONSTRAINT _NM0008_;
      alter table &m_di_trans..RPP_PLAN drop column EVAL_OPT_PROCESS_CD ;
      alter table &m_di_trans..RPP_PLAN drop column EVAL_OPT_RESULT_CD;
      alter table &m_di_trans..RPP_PLAN drop column EVAL_OPT_RESULT_DTTM;
     
      alter table &m_di_trans..CATEGORY_PLAN DROP CONSTRAINT _NM0010_;
      alter table &m_di_trans..CATEGORY_PLAN DROP CONSTRAINT _NM0012_;
      alter table &m_di_trans..CATEGORY_PLAN drop column EVAL_OPT_PROCESS_CD ;
      alter table &m_di_trans..CATEGORY_PLAN drop column EVAL_OPT_RESULT_CD;
      alter table &m_di_trans..CATEGORY_PLAN drop column EVAL_OPT_RESULT_DTTM;
     
      alter table &m_di_trans..CALENDAR drop column EVAL_OPT_PROCESS_CD ;
      alter table &m_di_trans..CALENDAR drop column EVAL_OPT_RESULT_CD;
      alter table &m_di_trans..CALENDAR drop column EVAL_OPT_RESULT_DTTM;      
    quit;

   :SAS_END:
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1187031_1
   :DESCRIPTION:    Rename seq_rpp_process_pk to seq_rpp_process_sk 
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 31JAN2017
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      %di_dm_trans_exe(
   	  pass_through_sql=%str(select * from user_sequences
          order by sequence_name),
	  _output_table=work.base_sequences,
	   session_flg=1
	  );

       
       %let rpp_sk_seq=0;
       proc sql noprint;
           select count(*) into :rpp_sk_seq
           from work.base_sequences  
           where upcase(SEQUENCE_NAME) eq 'SEQ_RPP_PROCESS_SK';
      quit;

      %let rpp_pk_seq=0;
      proc sql noprint;
           select count(*) into :rpp_pk_seq
           from work.base_sequences  
           where upcase(SEQUENCE_NAME) eq 'SEQ_RPP_PROCESS_PK';
      quit;

      
      %if &rpp_pk_seq gt 0 %then %do;
          %di_dm_trans_exe(
   	      pass_through_sql=%str(DROP SEQUENCE seq_rpp_process_pk),
	      session_flg=1
	   	 );
      %end;

      %if &rpp_sk_seq eq 0 %then %do;
          %di_dm_trans_exe(
   	     pass_through_sql=%str(CREATE SEQUENCE seq_rpp_process_sk START WITH 100000),
	     session_flg=1
	   );
      %end;

   :ORCL_END:
   
   :SAS_BEGIN:

      /*No Change In SAS*/

   :SAS_END:
  
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S1309342
   :DESCRIPTION:    Add Ability for Model Members in Pack Opt to support 3 attributes not just the current 2
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 06FEB2017
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       ALTER TABLE PKO_MODEL_MEMBER ADD RELEVANT_ATTR_SK_3 INTEGER;
       ALTER TABLE PKO_MODEL_MEMBER ADD RELEVANT_ATTR_VALUE_3 VARCHAR2(40);

   :ORCL_END:

   :SAS_BEGIN:

      proc sql;
         ALTER TABLE PKO_MODEL_MEMBER ADD RELEVANT_ATTR_SK_3 INTEGER;
         ALTER TABLE PKO_MODEL_MEMBER ADD RELEVANT_ATTR_VALUE_3 VARCHAR(40);
      quit;

   :SAS_END:


:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      S1322692
   :DESCRIPTION:    CRP:Add indexes to MPLN_GEO_PROD_AGG to improve performance
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 17FEB2017
   :SUPPORT:        Sourav Das
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
   
   	CREATE INDEX MPLN_GPA_IX2 ON  MPLN_GEO_PROD_AGG (MDO_PLAN_SK, PROD_HIER_SK, GEO_HIER_SK) PARALLEL ;
   	CREATE INDEX MPLN_GPA_IX3 ON  MPLN_GEO_PROD_AGG (PROD_HIER_SK, MDO_PLAN_SK, GEO_HIER_SK) PARALLEL ;
         
        ALTER INDEX MPLN_GPA_IX2 NOPARALLEL;
	ALTER INDEX MPLN_GPA_IX3 NOPARALLEL; 
   
   :ORCL_END:

   :SAS_BEGIN:

   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1324272
   :DESCRIPTION:    NF:Enable Split by Product and Split by week of Common Metric Process Requests
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 20FEB2017
   :SUPPORT:        Sourav Das
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:
   
	   create table RPP_BATCH_REQUEST_SETTING 
	      (
	         PARTITION_SK         INTEGER NOT NULL, 
	         PROD_SPLIT_LVL       INTEGER DEFAULT 0, 
	         GEO_SPLIT_LVL        INTEGER DEFAULT 0, 
	         TIME_SPLIT_OFFSET    INTEGER DEFAULT 0
	      ); 

   :ORCL_END:
   
   :SAS_BEGIN:
      
   :SAS_END:  
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1327091
   :DESCRIPTION:    RPP_FORECAST for SFE
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 01MAR2017
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:


	CREATE TABLE RPP_FORECAST_DAILY (
		PROD_HIER_SK           		   INTEGER NOT NULL,
		GEO_HIER_SK            		   INTEGER NOT NULL,
		START_DT               		   DATE    NOT NULL,
		END_DT                 		   DATE    NOT NULL,
		EFF_PRICE              		   NUMERIC(25,8),
		BASE_FORECAST_UNITS    		   NUMERIC(18,8),
		SALES_FORECAST_UNITS   		   NUMERIC(18,8),
		UNCON_STR_SALES_FORECAST_UNITS 	   NUMERIC(18,8),
		BEG_INV_UNITS 	                   NUMERIC(18,8),
		EFF_DISCOUNT_PCT                   NUMERIC(16,8),
		PERM_PRICE                         NUMERIC(25,8),
		REG_PRICE                          NUMERIC(25,8),
                REG_COST                           NUMERIC(25,8),
		CON_COST_AMT                       NUMERIC(25,8),
        	UNCON_COST_AMT                     NUMERIC(25,8),
		PRIMARY KEY (PROD_HIER_SK,GEO_HIER_SK,START_DT,END_DT)
	);


	CREATE TABLE RPP_FORECAST_WEEKLY (
		PROD_HIER_SK           		   INTEGER NOT NULL,
		GEO_HIER_SK            		   INTEGER NOT NULL,
		START_DT               		   DATE    NOT NULL,
		END_DT                 		   DATE    NOT NULL,
		EFF_PRICE              		   NUMERIC(25,8),
		BASE_FORECAST_UNITS    		   NUMERIC(18,8),
		SALES_FORECAST_UNITS   		   NUMERIC(18,8),
		UNCON_STR_SALES_FORECAST_UNITS 	   NUMERIC(18,8),
		BEG_INV_UNITS 	                   NUMERIC(18,8),
		EFF_DISCOUNT_PCT                   NUMERIC(16,8),
		PERM_PRICE                         NUMERIC(25,8),
		REG_PRICE                          NUMERIC(25,8),
                REG_COST                           NUMERIC(25,8),
		CON_COST_AMT                       NUMERIC(25,8),
        	UNCON_COST_AMT                     NUMERIC(25,8),
		PRIMARY KEY (PROD_HIER_SK,GEO_HIER_SK,START_DT,END_DT)
	);


  :ORCL_END:


  :SAS_BEGIN:

	proc sql noprint;

	CREATE TABLE RPP_FORECAST_DAILY (
		PROD_HIER_SK           		       INTEGER NOT NULL,
		GEO_HIER_SK            		       INTEGER NOT NULL,
		START_DT               		       DATE NOT NULL,
		END_DT                 		       DATE NOT NULL,
		EFF_PRICE              		       NUMERIC(25,8),
		BASE_FORECAST_UNITS    		       NUMERIC(18,8),
		SALES_FORECAST_UNITS   		       NUMERIC(18,8),
		UNCON_STR_SALES_FORECAST_UNITS 	       NUMERIC(18,8),
		BEG_INV_UNITS 	                       NUMERIC(18,8),
		EFF_DISCOUNT_PCT                       NUMERIC(16,8),
		PERM_PRICE                             NUMERIC(25,8),
		REG_PRICE                              NUMERIC(25,8),
		REG_COST                               NUMERIC(25,8),
		CON_COST_AMT                           NUMERIC(25,8),
                UNCON_COST_AMT                         NUMERIC(25,8),
		CONSTRAINT RPP_FORECAST_DAILY_PK PRIMARY KEY(PROD_HIER_SK,GEO_HIER_SK,START_DT,END_DT)
	);
	    
       quit;


       proc sql noprint;

	   CREATE TABLE RPP_FORECAST_WEEKLY (
		PROD_HIER_SK           		       INTEGER NOT NULL,
		GEO_HIER_SK            		       INTEGER NOT NULL,
		START_DT               		       DATE NOT NULL,
		END_DT                 		       DATE NOT NULL,
		EFF_PRICE              		       NUMERIC(25,8),
		BASE_FORECAST_UNITS    		       NUMERIC(18,8),
		SALES_FORECAST_UNITS   		       NUMERIC(18,8),
		UNCON_STR_SALES_FORECAST_UNITS 	       NUMERIC(18,8),
		BEG_INV_UNITS 	                       NUMERIC(18,8),
		EFF_DISCOUNT_PCT                       NUMERIC(16,8),
		PERM_PRICE                             NUMERIC(25,8),
		REG_PRICE                              NUMERIC(25,8),
		REG_COST                               NUMERIC(25,8),
		CON_COST_AMT                           NUMERIC(25,8),
                UNCON_COST_AMT                         NUMERIC(25,8),
		CONSTRAINT RPP_FORECAST_WEEKLY_PK PRIMARY KEY(PROD_HIER_SK,GEO_HIER_SK,START_DT,END_DT)
	 );
	    
     quit;

  :SAS_END:
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1332498
   :DESCRIPTION:    NF:Group Draft Plans into one Process during Batch Execution
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 27MAR2017
   :SUPPORT:        Sourav Das
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:
   
	   	ALTER TABLE RPP_PROCESS_STATUS DROP CONSTRAINT RPP_PROCESS_STATUS_PK;
		ALTER TABLE RPP_PROCESS_STATUS ADD CONSTRAINT RPP_PROCESS_STATUS_PK PRIMARY KEY ("RPP_PROCESS_SK","DRAFT_PLAN_SK");

   :ORCL_END:
   
   :SAS_BEGIN:
      
   :SAS_END:  
  
:END_CHANGE:
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1338313
   :DESCRIPTION:    Primary Keys are not given names on tables
   :VERSION:        d4micm541
   :DATE_OF_CHANGE: 10MAY2017
   :SUPPORT:        Sangeeta
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

      proc sql noprint;
         create table work.dict_tables1 as
            select memname from sashelp.vtable 
          where libname ='DI_TRANS'
               and memtype='DATA'
         ;
      quit;

      %let tbl_cnt=&sqlobs;

      data work.dict_tables;
        set work.dict_tables1;
        if length(memname) > 26 then do;
           memname_new=substr(memname,1,26);
        end;
        else memname_new=memname;
        PK_Name=cats(memname_new,'_PK');
      run;

      %put ____ Number of RDBMS tables=&tbl_cnt;

      %do  loop = 1 %to &tbl_cnt;
         data _null_;
            point_var = input("&loop", best12.);
            set work.dict_tables point = point_var;
            call symputx('tbl_nm', memname, 'l');
            call symputx('pk_nm', PK_Name, 'l');
            stop;
         run;
     
         %di_util_rename_pk(m_table_name=%str(&tbl_nm), m_schema_name=%str(&di_trans_schema), m_libref=%str(DI_TRANS),m_pk_name=%str(&pk_nm));
      %end;

      proc datasets lib = work nolist nowarn memtype = (data view);
         delete dict_tables1 dict_tables;
      quit;
     

   :ORCL_END:

   :SAS_BEGIN:
   
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1338313_1
   :DESCRIPTION:    Add indexes to enhance the performance of Common Metrics tasks
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 10MAY2017
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :NOERRORCHK:     TRUE
   :ASIS:           TRUE

   :DOC: Drop indexes in Oracle generate an error.  Bypass this error with NOERRORCHK tag

   :ORCL_BEGIN:

       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=PRODUCT_HIER_ASSOC_DM,m_index_name=PROD_HIER_IX10);
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=PRODUCT_HIER_ASSOC_DM,m_index_name=PROD_HIER_IX11);
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=GEOGRAPHY_HIER_ASSOC_DM,m_index_name=GEO_HIER_IX5);
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=RPP_PLAN_PROD_ASGMNT,m_index_name=RPP_PL_PRD_ASG_IX2);
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=RPP_NOTIFICATION,m_index_name=RPP_NOTIFICATION_IDX1); 
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=ALERT_COMP,m_index_name=ALERT_COMP_IX1); 
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=ALERT_COST,m_index_name=ALERT_COST_IX1); 
       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=ALERT_NEW_PROD,m_index_name=ALERT_NEW_PROD_IX1); 
   
   :ORCL_END:

   :SAS_BEGIN:


   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1338313_2
   :DESCRIPTION:    Add indexes to enhance the performance of Common Metrics tasks
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 10MAY2017
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE INDEX PROD_HIER_IX10 ON PRODUCT_HIER_ASSOC_DM
       (
           PARENT_PROD_LVL, 
           PROD_LVL, 
           PROD_HIER_ASSOC_CD
       )
       ;

       CREATE INDEX PROD_HIER_IX11 ON PRODUCT_HIER_ASSOC_DM
       (
            PROD_HIER_ASSOC_CD, 
            PROD_LVL, 
            PARENT_PROD_HIER_SK
       )
       ;

       CREATE INDEX GEO_HIER_IX5 ON GEOGRAPHY_HIER_ASSOC_DM
       (
           GEO_HIER_ASSOC_CD, 
           GEO_HIER_SK, 
           GEO_LVL
       )
       ;
          
       CREATE INDEX RPP_PL_PRD_ASG_IX2 ON RPP_PLAN_PROD_ASGMNT
       (
          EXCLUDE_SK
       )
       ;
       
       CREATE INDEX RPP_NOTIFICATION_IDX1 ON RPP_NOTIFICATION
       (
          OBJECT_CAT_TYPE, 
          OBJECT_SK
       )
       ; 
       
       CREATE INDEX ALERT_COMP_IX1 ON ALERT_COMP
       (
          CREATED_DTTM, 
          PROD_HIER_SK, 
          GEO_HIER_SK
       )
       ;

       CREATE INDEX ALERT_COST_IX1 ON ALERT_COST
       (
          CREATED_DTTM,
          PROD_HIER_SK,
          GEO_HIER_SK
       )
       ;

       CREATE INDEX ALERT_NEW_PROD_IX1 ON ALERT_NEW_PROD
       (
          CREATED_DTTM,
          PROD_HIER_SK,
          GEO_HIER_SK
       )
       ;

   :ORCL_END:

   :SAS_BEGIN:
 
   :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1342637
   :DESCRIPTION:    Drop SFE Oracle table
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 23MAY2017
   :SUPPORT:        Priyalal
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      DROP TABLE RPP_FORECAST_DAILY;

      DROP TABLE RPP_FORECAST_WEEKLY;

   :ORCL_END:

   :SAS_BEGIN:

      proc sql noprint;
          DROP TABLE RPP_FORECAST_DAILY; 
      quit;

      proc sql noprint;
         DROP TABLE RPP_FORECAST_WEEKLY;
      quit;

  :SAS_END:

:END_CHANGE:


***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1004759
   :DESCRIPTION:    Crash in business rule violations occur when prod id is greater then 20 characters
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 06JUN2017
   :SUPPORT:        Sourav
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE rpp_plan_opt_setting MODIFY OPT_PARM_VALUE VARCHAR(200);

   :ORCL_END:

   :SAS_BEGIN:

      proc sql noprint;
    	ALTER TABLE &m_di_trans..rpp_plan_opt_setting MODIFY OPT_PARM_VALUE VARCHAR(200);
      quit;

  :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      ID1353979
   :DESCRIPTION:    Deleting each draft plan is taking several seconds to delete
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 24JUN2017
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE
   :NOERRORCHK:     TRUE
   :ASIS:           TRUE

   :DOC: Drop indexes in Oracle generate an error.  Bypass this error with NOERRORCHK tag

   :ORCL_BEGIN:

       %di_util_rdbms_drop_index(m_lib=di_trans, m_table=RPP_PLAN_RESULTS,m_index_name=RPP_PLAN_RESULTS_IX1);
  
   :ORCL_END:

   :SAS_BEGIN:


   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1353979_1
   :DESCRIPTION:    Deleting each draft plan is taking several seconds to delete 
   :VERSION:        D4MICM541
   :DATE_OF_CHANGE: 24JUN2017
   :SUPPORT:        Sangeeta
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:
      

      CREATE INDEX RPP_PLAN_RESULTS_IX1 ON RPP_PLAN_RESULTS
       (
          OBJECT_SK
       )
       ;

   :ORCL_END:

   :SAS_BEGIN:


   :SAS_END:
 
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1347438
   :DESCRIPTION:    Found duplicate values for PS_* specification when REG/TS enabled
   :VERSION:        F0MICM541
   :DATE_OF_CHANGE: 26JUL2017
   :SUPPORT:        Sourav Das
   :FREQUENCY:      ONCE
   :ASIS:           TRUE

   :ORCL_BEGIN:

   %if "&m_delete_and_start_fresh"^="TRUE" %then %do;

      proc sql noprint;
        select spec_value into :ps_val
        from &m_di_data..global_setting
        where upcase(spec_nm)='PS_TOTAL_LENGTH';
      quit;

      /* check if ps_val > 1 */
      %if (&ps_val > 1) %then %do;
        %do j = 1 %to &ps_val;
          %let x = %sysfunc(compress('PS_', "'"))&j ;

          proc sql;
           delete from &m_di_trans..model_spec_values where spec_nm = "&x" and MODEL_COMP_NM = 'REG' and SPEC_VALUE = '2';
           insert into &m_di_trans..model_spec_values (MODEL_COMP_NM,SPEC_NM,SPEC_VALUE,SPEC_VALUE_DESC_KEY)
            values ('REG',"&x",'2','include_if_selected.txt');
          quit;

        %end;
      %end;

   %end;

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;


:BEGIN_CHANGE:
   :CHANGE_ID:      ID1388241
   :DESCRIPTION:    Tables with CREATED_BY columns generate errors if APP_USER_ID is greater than 20 char
   :VERSION:        F0MICM541
   :DATE_OF_CHANGE: 21AUG2018
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE


   :ORCL_BEGIN:

      alter table ATTR_SPEC modify CREATED_BY VARCHAR(40);
      alter table DATA_CONFIG modify CREATED_BY VARCHAR(40);
      alter table DATA_CONFIG_TEMPLATE modify CREATED_BY VARCHAR(40);
      alter table GLOBAL_GEO_PROD_STATUS_RULE modify CREATED_BY VARCHAR(40);
      alter table GLOBAL_GEO_PROD_STATUS_SPEC modify CREATED_BY VARCHAR(40);
      alter table MODEL_GEO_PROD_STATUS_RULE modify CREATED_BY VARCHAR(40);
      alter table MODEL_GEO_PROD_STATUS_SPEC modify CREATED_BY VARCHAR(40);
      alter table MODEL_SPEC modify CREATED_BY VARCHAR(40);
      alter table MODEL_SPEC_TEMPLATE modify CREATED_BY VARCHAR(40);
      alter table PRF_GEO_PROD_STATUS_SPEC modify CREATED_BY VARCHAR(40);

   :ORCL_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1483750
   :DESCRIPTION:    Addition of alternate indexes for the PROCESS_STATUS table to prevent full table scans during SOAP
   :VERSION:        F0MICM541
   :DATE_OF_CHANGE: 22Apr2019
   :SUPPORT:        Sangeeta Rokde
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

       CREATE INDEX PROC_STATUS_IX2 ON PROCESS_STATUS
       (
           CONTEXT_SK, 
           PROCESS_STATUS_CD
       )
       ;

	   CREATE INDEX PROC_STATUS_IX3 ON PROCESS_STATUS
       (
           CONTEXT_SK
       )
       ;

   :ORCL_END:

   :SAS_BEGIN:
 
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1399687
   :DESCRIPTION:    New Parameter mgps_sales_unit_threshold
   :VERSION:        F0MICM541
   :DATE_OF_CHANGE: 24MAY2019
   :SUPPORT:        Sourav Das
   :FREQUENCY:      ONCE
   :CHKTABLES:      &m_di_trans..PRF_CONFIG

   :ORCL_BEGIN:

      DELETE FROM PRF_CONFIG WHERE PRF_CONFIG_SK=-1 and PRF_CONFIG_TYPE=4 and SPEC_NM='mgps_sales_unit_threshold';
      INSERT INTO PRF_CONFIG (PRF_CONFIG_SK, PRF_CONFIG_TYPE, SPEC_NM, SPEC_VALUE, SPEC_TYPE)
              VALUES ( -1, 4, 'mgps_sales_unit_threshold', '0', 'INTEGER');

   :ORCL_END:


:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;

:BEGIN_CHANGE:
   :CHANGE_ID:      ID1535369
   :DESCRIPTION:    PERFORMANCE:Adding Bitmap indexes on PROD_HIER_SK & PROD_PARTITION_SK reduces consistent gets & physical reads 
   :VERSION:        F0MICM541
   :DATE_OF_CHANGE: 14Nov2019
   :SUPPORT:        Sourav Kumar Das
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

	  create bitmap index RPP_PLAN_RESULTS_BMPIDX1 on RPP_PLAN_RESULTS
		(PROD_HIER_SK);

      create bitmap index RPP_PLAN_RESULTS_BMPIDX2 on RPP_PLAN_RESULTS
		(PROD_PARTITION_SK);

   :ORCL_END:

   :SAS_BEGIN:
 
   :SAS_END:

:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
:BEGIN_CHANGE:
   :CHANGE_ID:      PMFULFILLMNT_423
   :DESCRIPTION:    Packopt Schema Change: Add column PREPACK_ELIGIBILITY_CHECK_FLG in PKO_DELIVERY
   :VERSION:        F4MICM541
   :DATE_OF_CHANGE: 10SEP2025
   :SUPPORT:        Avinash Khairnar
   :FREQUENCY:      ONCE

   :ORCL_BEGIN:

      ALTER TABLE PKO_DELIVERY ADD PREPACK_ELIGIBILITY_CHECK_FLG INTEGER DEFAULT 0;
      ALTER TABLE REQ_DELIVERY ADD PREPACK_ELIGIBILITY_CHECK_FLG INTEGER DEFAULT 0;

   :ORCL_END:

   :SAS_BEGIN:
      proc sql;
      
      ALTER TABLE &m_di_trans..PKO_DELIVERY ADD PREPACK_ELIGIBILITY_CHECK_FLG INTEGER;
      ALTER TABLE &m_di_trans..REQ_DELIVERY ADD PREPACK_ELIGIBILITY_CHECK_FLG INTEGER;      
      
	  quit;
   :SAS_END:
   
:END_CHANGE:

***********************************************************************************************;
***********************************************************************************************;
***********************************************************************************************;
