Skip Headers
Oracle® Retail Merchandise Financial Planning Operations Guide
Release 14.1
E55750-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

6 RMS and Retail Analytics Integration

This chapter describes the overall MFP data flow and integration with RMS, Oracle Retail Analytics (RA), markdown optimization applications, and data warehouses.

For information about ODI Enabled Integration for the Fashion Planning Bundle, see Chapter 4, "Fashion Planning Bundle and ODI Integration". For information about script integration for the bundle, see Chapter 5, "Script Integration".

Overview of the MFP Data Flow

Figure 6-1 shows the integration of MFP with other applications and the flow of data between the applications.

Figure 6-1 Data Flow for the Integration of MFP with Other Applications


Integration Interface Data Flow Description

These descriptions explain some of the data flows in Figure 6-1. For information about the data flows among MFP, IP, and AP, see Chapter 4, "Fashion Planning Bundle and ODI Integration" and Chapter 5, "Script Integration".

From RMS to MFP


Note:

The integration between RMS and MFP includes only hierarchy, on order, and inventory data. All other data required by MFP are not part of the RMS/MFP integration.

Data for the following hierarchies is imported into MFP from RMS:

  • Product (PROD) hierarchy

  • Location (LOC) hierarchy

  • Calendar (CLND) hierarchy


Note:

Non-stockholding company stores and non-inventory items which are non-merchandise items, consignment, concession and deposit returns are sent from RMS to MFP but are not utilized in MFP.

Hierarchies are the structures used by an organization to define the relationships that exist between measures of data, products, locations, time, and other dimensions. These dimensions are represented within the Fashion Planning Bundle applications as hierarchies that correspond to an organization's structure, including all roll-ups.

The Product hierarchy provides the parent-child merchandise level relationships that are available within an application. The Location hierarchy provides the parent-child-location level relationships that are available within an application. Application data is presented at an intersection level of the Product, Location, and Calendar hierarchies.

In addition to the hierarchy files, MFP receives on order and inventory from RMS. These files are based at the week/style-color/store level and then aggregated to the planning levels in the MFP domain.

Fore more information about the RMS integration, see RMS to MFP Transformation. For additional details on the RMS/MFP integration from the perspective of RMS, see the RPAS/MFP - RMS Integration chapter of the RMS Operations Guide - Volume 1.

From a Data Warehouse Application to MFP

The following data are imported into MFP from a data warehouse application:

  • Historic sales

  • Inventory

From MFP to a Markdown Optimization Engine

MFP Retail sends the current plan markdown budget to a markdown optimization application such as Oracle Retail Markdown Optimization.

For more information, see Markdown Optimization Integration.

From MFP to RA

The following data are sent from MFP to RA:

  • Current Plan (Cp)

  • Original Plan (Op)

RA uses these plans for detailed reporting.

RMS to MFP Transformation

This section details the process that is required to transform the extracted RMS files to create load ready files for the MFP solution.

Script Installation

  1. The RETLforRpas directory and MFPIntegration directory should be installed under the same directory. Both directory structures should overlap because MFP uses the schema and environment files of the RETLforRpas release. The RETLforRpas is part of the RMS release while the MFPIntegration directory is part of the MFP release.

  2. On some flavors of Unix, you may not have the nawk executable. You may only have the awk executable. In that case a soft link is needed to be created with the name nawk which will point to the awk executable.

  3. RETL should be installed in the machine.

Environment Setup

The following environment variables need to be set in the environment:

  • RMSE_RPAS_HOME points to the RMS release of RPAS integration scripts directory.

    export RMSE_RPAS_HOME=$MFP_HOME
    
  • The DATA_DIR is the input and output directory. The RMS input files has to be copied to the DATA_DIR directory. After the MFP transformation, the output files also will be stored in the same location. Once the processing is done, the processed input files will be transfer to the processed directory in the DATA_DIR.

  • RMSE_RPAS_HOME points to the RMS release of RPAS integration scripts directory.

    export RMSE_RPAS_HOME=$MFP_HOME
    
  • As the RMS environment scripts use the RDF_HOME variable internally, this needs to be set.

    export RDF_HOME=$MFP_HOME
    
  • The RMS Schema directory

    export RMS_RPAS_SCHEMA_DIR=$RMSE_RPAS_HOME/rfx/schema/
    
  • The MFP Schema directory

    export MFP_SCHEMA_DIR=$MFP_HOME/rfx/schema/
    
  • The intermediate data files are stored in the MFP_TEMP_DIR, If the input files are very huge, it is advisable to use a special Temp directory, rather than using the default OS temp directory. By default /tmp is taken as MFP_TEMP_DIR if this variable is not set.

    export MFP_TEMP_DIR=$MFP_HOME/data
    

In addition to the variable described above, the following optional environment variables can be set:

  • ADD_AT_SIGN_TO_WH_DESC: This variable is used by the mfp_lochier.ksh. In the warehouse records if @ sign needs to be prefixed with warehouse name description field then this should be set to True. By default this feature is disabled. If this feature is required the following command should be executed in the environment.

    export ADD_AT_SIGN_TO_WH_DESC=True
    
  • PROCESS_WAREHOUSE_DATA: This variable is used by the mfp_lochier.ksh. By default this variable is set to True. If you do not want the mfp_lochier.ksh to process the warehouse data then this variable must be set as False.

    export PROCESS_WAREHOUSE_DATA=False
    
  • ENABLE_INVENTORY_RETAIL
    ENABLE_ON_ORDER_RETAIL

    These two variables are used by the mfp_inventory.ksh and mfp_on_order.ksh. The setting of these variables is dependent on the type of MFP being used. If you are using MFP Retail, you need to set these values to true to get the retail version of the inventory and on order files. By default both these variables are set to True. Use the following command in environment to disable them if you are instead using MFP Cost.

    export ENABLE_INVENTORY_RETAIL=False
            export 
    ENABLE_ON_ORDER_RETAIL=False
    
  • ENABLE_INVENTORY_COST
    ENABLE_ON_ORDER_COST

    These two variables are used by the mfp_inventory.ksh and mfp_on_order.ksh. The setting of these variables is dependent on the type of MFP being used. If you are using MFP Cost, you need to set these values to true to get the cost version of the inventory and on order files. By default both these variables are set to True. Use the following command in environment to disable them if you are instead using MFP Retail.

    export ENABLE_INVENTORY_COST=False
                    export 
    ENABLE_ON_ORDER_COST=False
    

RMS Integration Script Details

This section outlines the scripts that will be run to transform the RMS files to load into MFP. These scripts reside in the $MFP_HOME/rfx/src directory. As previously stated, the input files and output files are in the $DATA_DIR.

  • Script name: mfp_calhier.ksh
    Description: Transforms exported calendar hierarchy data from RMS to MFP-loadable format.
    Input data file(s): rmse_rpas_clndmstr.dat
    Output file(s): clnd.csv.dat
    Params: None

  • Script name: mfp_prodhier.ksh
    Description: Transforms exported product hierarchy data from RMS to MFP-loadable format.
    Input file(s): rmse_rpas_item_master.dat, rmse_rpas_merchhier.dat
    Output file(s): prod.csv.dat
    Params: None

  • Script name: mfp_lochier.ksh
    Description: Transforms exported location hierarchy data from RMS to MFP-loadable format.
    Input data file(s): rmse_rpas_orghier.dat, rmse_rpas_store.dat and rmse_rpas_wh.dat
    Output file(s): loc.csv.dat
    Params: None

  • Script name: mfp_inventory.ksh
    Description: Transforms the extracted Inventory data from RMS to an MFP-loadable format.
    Required input data file: rmse_mfp_inventory.W.dat
    Optional Input data file: rmse_mfp_inventory.I.dat
    Output file(s):
    Params: None

  • Script name: mfp_on_order.ksh
    Description: Transforms the extracted On-order data from RMS into an MFP-loadable format.
    Required input data file(s): rmse_mfp_onorder.dat
    Output file(s): mfp_inventory_retail.csv.ovr, mfp_inventory_cost.csv.ovr
    Params: None

Once the processing is done, the processed input files are transferred to the processed directory in the $DATA_DIR. The output files need to be transferred to the MFP domains input directory in order to load with the standard load scripts. For more about the standard load scripts, see Batch Designs.

Markdown Optimization Integration

The exportToMDO.ksh script is located in the MFP_HOME/bin folder. It is used to create MFP Retail current plan markdown budget extract for exports to markdown optimization applications such as Oracle Retail Markdown Optimization (MDO).

The script takes three arguments:

  • The location for the destination directory.

  • The RPAS name for a dimension along the location hierarchy. All location dimensions above or at the lowest stored dimension, channel (CHNL), are valid. You must provide a valid dimension.

  • The RPAS name for a dimension along the product hierarchy. All product dimensions above or at the lowest stored dimension, subclass (SCLS), are valid. You must provide a valid dimension.

The script generates the total value of current approved markdowns. This is the sum of the promotional, permanent, and clearance markdowns at the base intersection. This is derived from the product and location dimensions that you supply.


Note:

The script assumes the calendar dimension to be month.

The markdowns, along with position names along the dimensions, are written to the ASH_BUDGET_TBL.dat file in the destination directory that you provide. It is a pipe delimited file that contains the following information:

  • Product key

  • Location key

  • Fiscal year

  • Fiscal month

  • Total markdown

The product key (also known as the merchandise key) and location key are the position names for the product and location. The year is a four digit year. The month is an index of the fiscal month. For instance, if you start your fiscal year on February 1, the calendar month of December 2011 would be 2011|11.

RA Integration

Oracle Retail Analytics is a business intelligence solution for the retail industry. Retail Analytics offers an integrated view of retail data from various source systems, and it allows users to create analytical reports for areas such as merchandising and marketing, supply chain management, and corporate planning and performance management. Retail Analytics supports as-is, as-was, and point in time analysis methods and reporting.

Retail Analytics extracts data from the source systems and then transforms and loads the data into the Oracle Business Intelligence Repository to support reporting and analysis. MFP is an application from which Retail Analytics extracts data. Retail Analytics uses Oracle Data Integrator (ODI) for extraction, transformation, and loading. ODI programs that extract information from MFP are packaged with the Oracle Retail Analytics application. At the time of Retail Analytics installation, these ODI programs are deployed to the MFP instance. For more information about Oracle Retail Analytics and the ODI extraction programs, see the following guides:

  • Oracle Retail Analytics Implementation Guide

  • Oracle Retail Analytics Installation Guide

  • Oracle Retail Analytics Operations Guide

Initial Setup

Before running either of the MFP to RA integration packages for the first time, domain support data must be initialized by running the following commands once per MFP domain:

mfp_integration_setup.ksh  -d  "{mfpcost-domain-path}"
mfp_integration_setup.ksh  -d  "{mfpretail-domain-path}"

This script generates mappings between the MFP Week positions and RA Week Number IDs. Similarly, it generates mappings between the MFP Channel positions and RA Channel Number IDs. Therefore, in an MFP domain, if Week positions are added to the Calendar hierarchy or if Channels are added to the Location hierarchy, then the mfp_integration_setup.ksh script must be run again to update the support data.This script is located in the RA media pack.

Measure Data Integration

The following data integration points for each application-to-application package are described in this section:

Scripts Used By the MFP to RA Packages

(None)

Data Mappings for SDE_MFPCostFact Package

The SDE_MFPCostFact package clears the data in the RA staging tables-
W_RTL_MFPCPC_SC_CH_WK_FS and W_RTL_MFPOPC_SC_CH_WK_FS, and then populates data records wherever MFP's "Newly Approved" flag is "True" (mowpappcpnewb for Current Plan and mowpappopnewb for Original Plan).

Table 6-1 MFP Cost to RA Current Plan Cost (CPC) Data

MFP Cost Expression W_RTL_MFPCPC_SC_CH_WK_FS Table

{Part of SCLS after last underscore.}

PROD_SC_NUM

{Part of CLSS after last underscore.}

PROD_CL_NUM

DEPT

PROD_DP_NUM

RAWEEKNUM

MFP_WK_NUM

RACHANNELNUM

CHANNEL_NUM

BUCPSLSU

MFPCPC_SLS_QTY

BUCPSLSR

MFPCPC_SLS_RTL_AMT

BUCPSLSC

MFPCPC_SLS_COST_AMT

(BUCPSLSR / (1 + BUCPVATP)) * BUCPVATP

MFPCPC_TAX_RTL_AMT

BUCPSLSR / ( 1 + BUWPVATP )

MFPCPC_SLSTE_RTL_AMT

BUCPGMPV

MFPCPC_PROF_COST_AMT

BUCPBOPC

MFPCPC_BOH_COST_AMT

BUCPBOPU

MFPCPC_BOH_QTY

BUCPEOPC

MFPCPC_EOH_COST_AMT

BUCPEOPU

MFPCPC_EOH_QTY

BUCPRECC

MFPCPC_INVRC_COST_AMT

BUCPRECU

MFPCPC_INVRC_QTY

BUCPCHRINKC

MFPCPC_SHRINK_COST_AMT

BUCPCHRINKU

MFPCPC_SHRINK_QTY

BUCPMISCOUTC

MFPCPC_MISCO_COST_AMT

BUCPMISCOUTU

MFPCPC_MISCO_QTY

BUCPMISCINC

MFPCPC_MISCI_COST_AMT

BUCPMISCINU

MFPCPC_MISCI_QTY

BUCPDEVALC

MFPCPC_DVAL_COST_AMT

RASOURCENUM

DATASOURCE_NUM_ID

RACURRENCYCODE

DOC_CURR_CODE

{Part of SCLS after last underscore.} || '~' || RAWEEKNUM || '~' || RACHANNELNUM

INTEGRATION_ID


Table 6-2 MFP Cost to RA Original Plan Cost (OPC) Data

MFP Cost Expression W_RTL_MFPOPC_SC_CH_WK_FS Table

{Part of SCLS after last underscore.}

PROD_SC_NUM

{Part of CLSS after last underscore.}

PROD_CL_NUM

DEPT

PROD_DP_NUM

RAWEEKNUM

MFP_WK_NUM

RACHANNELNUM

CHANNEL_NUM

BUCPSLSU

MFPOPC_SLS_QTY

BUCPSLSR

MFPOPC_SLS_RTL_AMT

BUCPSLSC

MFPOPC_SLS_COST_AMT

(BUCPSLSR / (1 + BUCPVATP)) * BUCPVATP

MFPOPC_TAX_RTL_AMT

BUCPSLSR / ( 1 + BUWPVATP )

MFPOPC_SLSTE_RTL_AMT

BUCPGMPV

MFPOPC_PROF_COST_AMT

BUCPBOPC

MFPOPC_BOH_COST_AMT

BUCPBOPU

MFPOPC_BOH_QTY

BUCPEOPC

MFPOPC_EOH_COST_AMT

BUCPEOPU

MFPOPC_EOH_QTY

BUCPRECC

MFPOPC_INVRC_COST_AMT

BUCPRECU

MFPOPC_INVRC_QTY

BUCPCHRINKC

MFPOPC_SHRINK_COST_AMT

BUCPCHRINKU

MFPOPC_SHRINK_QTY

BUCPMISCOUTC

MFPOPC_MISCO_COST_AMT

BUCPMISCOUTU

MFPOPC_MISCO_QTY

BUCPMISCINC

MFPOPC_MISCI_COST_AMT

BUCPMISCINU

MFPOPC_MISCI_QTY

BUCPDEVALC

MFPOPC_DVAL_COST_AMT

RASOURCENUM

DATASOURCE_NUM_ID

RACURRENCYCODE

DOC_CURR_CODE

{Part of SCLS after last underscore.} || '~' || RAWEEKNUM || '~' || RACHANNELNUM

INTEGRATION_ID


Data Mappings for SDE_MFPRetailFact Package

The SDE_MFPRetailFact package clears the data in the RA staging tables
W_RTL_MFPCPR_SC_CH_WK_FS and W_RTL_MFPOPR_SC_CH_WK_FS, and then populates data records wherever MFP's "Newly Approved" flag is "True" (mowpappcpnewb for Current Plan and mowpappopnewb for Original Plan).

Table 6-3 MFP Retail to RA Current Plan Retail (CPR) Data

MFP Retail Expression W_RTL_MFPCPR_SC_CH_WK_FS Table

{Part of SCLS after last underscore.}

PROD_SC_NUM

{Part of CLSS after last underscore.}

PROD_CL_NUM

DEPT

PROD_DP_NUM

RAWEEKNUM

MFP_WK_NUM

RACHANNELNUM

CHANNEL_NUM

BUCPSLSREGR

MFPCPR_SLSRG_RTL_AMT

BUCPSLSPROR

MFPCPR_SLSPR_RTL_AMT

BUCPSLSCLRR

MFPCPR_SLSCL_RTL_AMT

BUCPSLSREGU

MFPCPR_SLSRG_QTY

BUCPSLSPROU

MFPCPR_SLSPR_QTY

BUCPSLSCLRU

MFPCPR_SLSCL_QTY

BUCPVATR

MFPCPR_TAX_RTL_AMT

(BUCPSLSREGR + BUCPSLSCLRR + BUCPSLSPROR) / (1 + BUWPVATP)

MFPCPR_SLSTE_RTL_AMT

BUCPIGMPV

MFPCPR_MARGIN_RTL_AMT

BUCPICOGSC

MFPCPR_COGS_COST_AMT

BUCPMKDPERMR

MFPCPR_MKDNPM_RTL_AMT

BUCPMKDPROMOR

MFPCPR_MKDNPR_RTL_AMT

BUCPMKDCLRR

MFPCPR_MKDNCL_RTL_AMT

BUCPMKUPR

MFPCPR_MKUP_RTL_AMT

BUCPBOPC

MFPCPR_BOH_COST_AMT

BUCPBOPR

MFPCPR_BOH_RTL_AMT

BUCPBOPU

MFPCPR_BOH_QTY

BUCPEOPC

MFPCPR_EOH_COST_AMT

BUCPEOPR

MFPCPR_EOH_RTL_AMT

BUCPEOPU

MFPCPR_EOH_QTY

BUCPRECC

MFPCPR_INVRC_COST_AMT

BUCPRECR

MFPCPR_INVRC_RTL_AMT

BUCPRECU

MFPCPR_INVRC_QTY

BUCPRHRINKR

MFPCPR_SHRINK_RTL_AMT

BUCPRHRINKU

MFPCPR_SHRINK_QTY

BUCPMISCOUTR

MFPCPR_MISCO_RTL_AMT

BUCPMISCOUTU

MFPCPR_MISCO_QTY

BUCPMISCINR

MFPCPR_MISCI_RTL_AMT

BUCPMISCINU

MFPCPR_MISCI_QTY

RASOURCENUM

DATASOURCE_NUM_ID

RACURRENCYCODE

DOC_CURR_CODE

{Part of SCLS after last underscore.} || '~' || RAWEEKNUM || '~' || RACHANNELNUM

INTEGRATION_ID


Table 6-4 MFP Retail to RA Original Plan Retail (OPR) Data

MFP Retail Expression W_RTL_MFPOPR_SC_CH_WK_FS Table

{Part of SCLS after last underscore.}

PROD_SC_NUM

{Part of CLSS after last underscore.}

PROD_CL_NUM

DEPT

PROD_DP_NUM

RAWEEKNUM

MFP_WK_NUM

RACHANNELNUM

CHANNEL_NUM

BUCPSLSREGR

MFPOPR_SLSRG_RTL_AMT

BUCPSLSPROR

MFPOPR_SLSPR_RTL_AMT

BUCPSLSCLRR

MFPOPR_SLSCL_RTL_AMT

BUCPSLSREGU

MFPOPR_SLSRG_QTY

BUCPSLSPROU

MFPOPR_SLSPR_QTY

BUCPSLSCLRU

MFPOPR_SLSCL_QTY

BUCPVATR

MFPOPR_TAX_RTL_AMT

(BUCPSLSREGR + BUCPSLSCLRR + BUCPSLSPROR) / (1 + BUWPVATP)

MFPOPR_SLSTE_RTL_AMT

BUCPIGMPV

MFPOPR_MARGIN_RTL_AMT

BUCPICOGSC

MFPOPR_COGS_COST_AMT

BUCPMKDPERMR

MFPOPR_MKDNPM_RTL_AMT

BUCPMKDPROMOR

MFPOPR_MKDNPR_RTL_AMT

BUCPMKDCLRR

MFPOPR_MKDNCL_RTL_AMT

BUCPMKUPR

MFPOPR_MKUP_RTL_AMT

BUCPBOPC

MFPOPR_BOH_COST_AMT

BUCPBOPR

MFPOPR_BOH_RTL_AMT

BUCPBOPU

MFPOPR_BOH_QTY

BUCPEOPC

MFPOPR_EOH_COST_AMT

BUCPEOPR

MFPOPR_EOH_RTL_AMT

BUCPEOPU

MFPOPR_EOH_QTY

BUCPRECC

MFPOPR_INVRC_COST_AMT

BUCPRECR

MFPOPR_INVRC_RTL_AMT

BUCPRECU

MFPOPR_INVRC_QTY

BUCPRHRINKR

MFPOPR_SHRINK_RTL_AMT

BUCPRHRINKU

MFPOPR_SHRINK_QTY

BUCPMISCOUTR

MFPOPR_MISCO_RTL_AMT

BUCPMISCOUTU

MFPOPR_MISCO_QTY

BUCPMISCINR

MFPOPR_MISCI_RTL_AMT

BUCPMISCINU

MFPOPR_MISCI_QTY

RASOURCENUM

DATASOURCE_NUM_ID

RACURRENCYCODE

DOC_CURR_CODE

{Part of SCLS after last underscore.} || '~' || RAWEEKNUM || '~' || RACHANNELNUM

INTEGRATION_ID


Configuring RPAS JDBC for ODI to Facilitate Retail Analytics Integration

These configuration instructions are relevant only for the integration between Retail Analytics and Merchandise Financial Planning (MFP). F or more information about Retail Analytics and its use of ODI, see the Oracle Retail Analytics documentation set.

Customers who use RPAS JDBC with Oracle Data Integrator (ODI) must perform the following steps:

  1. Install the RPAS JDBC drivers on the ODI server:

    1. Extract the file jdbcclient.tar.gz to create the jdbcclient directory:

      cd "$RPAS_HOME"
      unzip -q jdbcclient.tar.zip
      tar xf jdbcclient.tar
      
    2. Copy the following four files to the ODI server under the directory $ODI_HOME/drivers:

      jdbcclient/driver/lib/ORjc.jar
      jdbcclient/driver/lib/ORssl14.jar
      jdbcclient/driver/lib/iaik_jce_full.jar
      jdbcclient/spy/lib/ORy.jar
      
    3. If the jdbcclient directory is on the same machine as the ODI server, execute the following commands:

      cd  "$RPAS_HOME/jdbcclient/driver/lib"
      cp -p ORjc.jar  ORssl14.jar  iaik_jce_full.jar  "$ODI_HOME/drivers"
      cp -p ../../spy/lib/ORy.jar  "$ODI_HOME/drivers"
      
  2. From $ODI_HOME/bin directory, stop and restart the ODI agent.

    agentstop.sh -port=xxxx
    agent.sh -port=1055 -name=<agent_name>
    

    Note:

    The startup scripts are set to automatically add all *.jar files in the ODI_HOME/drivers directory to the agent CLASSPATH.

  3. Retrieve the TECH_RPASJDBC.xml file from $RPAS_HOME/ODI directory and import the file to ODI work repository. For importing instructions, see the Oracle Retail Analytics Installation Guide.

Configuring PO View

POView is designed around Database views which depend on various tables in RMS. The application pulls Open and Pending Purchase Orders from RMS. This section covers the following topics:

Installation and Setup of Fusion Client for MFP with POView

To install and set up the Fusion Client for MFP to use POView:

  1. Install Oracle Retail Extract, Transform, and Load (RETL) for RPAS.

  2. Transform the hierarchy, on-order, and inventory extracts from RMS to MFP readable format.

    There are separate scripts, each for product hierarchy, calendar, location, inventory data, and on-order data. The scripts are available in the MFP CD under
    MFP_HOME/rfx/src. For example, after running mfp_calhier.ksh, the
    rmse_rpas_clndmstr.dat file is transformed into MFP readable format in the clnd.csv.dat file.

  3. Build the MFP Cost and Retail domains with the transformed hierarchy files.

  4. Load the hierarchy files into the MFP Cost and Retail domains using the loadHier command.

  5. Load On-order and Inventory files into MFP Cost and Retail by running the loadmeasure utility.

  6. Install Fusion Client using the installer and connect to the MFP domain. Detailed steps for installing Fusion Client are available in the Oracle Retail Predictive Application Server Installation Guide.

  7. Install POView using the installer. The database objects needed for POView will be created during installation or manually. In case the datasource is not setup/available, users can manually create the objects post install. Detailed steps for installing POView are available in the Oracle Retail Predictive Application Server Installation Guide. See the Installing Solution Plug-ins section.

  8. Reinstall Fusion Client with Solution Plugin set to POView.

For more details on setup and configuration of POView, refer to the Oracle Retail Predictive Application Server Configuration Tools User Guide or Oracle Retail Predictive Application Server Installation Guide.

Overview of the PO View Dataflow

The following figure shows the interaction between RMS and POView.

Figure 6-2 Relationship between RMS and POView


The following table shows the list of RMS tables used by POView:

Table 6-5 Tables used by POView

DEPS

CLASS

SUBCLASS

ITEM_MASTER

COMPHEAD

CHAIN

STORE

WH

STORE_HIERARCHY

CHANNELS

ORDHEAD

ORDLOC


The following Database Objects need to be created in RMS:


Note:

RMS uses a relational database, hence the SQL statements.

Example 6-1 SQL to create Custom Data Types

CREATE OR REPLACE TYPE POVIEW_DEPARTMENTIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_CLASS1IDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_SUBCLASSIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_CHAINIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_CHANNELIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_AREAIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_DISTRICTIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_REGIONIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_LOCATIONIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_SUBCLASSCLASS1IDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_SUBCLASSDEPARTMENTIDS AS TABLE OF NUMBER(10);
CREATE OR REPLACE TYPE POVIEW_CLASS1DEPARTMENTIDS AS TABLE OF NUMBER(10);

Note:

When a user launches PO View, they have selected a list of departments, classes, channels, etc. The corresponding IDs are temporarily held in the placeholders created by the above SQL. This information is then used to populate the views below that are used to hold the information required for the PO View dialog box.

Example 6-2 SQL for POVIEW_ITEM_MASTER_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_ITEM_MASTER_VIEW" ("ITEM", "ITEM_DESC",
"DEPT", "DEPT_NAME", "CLASS", "CLASS_NAME", "SUBCLASS", "SUB_NAME", "STAND-ARD_
UOM") AS 
  Select Im.Item,im.item_desc, Im.Dept,Dp.Dept_Name, Im.Class,Cl.Class_Name,
Im.Subclass,Sc.Sub_Name, Im.Standard_Uom 
  From Item_Master Im, Deps Dp, Class Cl, Subclass Sc
  Where Im.Dept = Dp.Dept And Im.Dept = cl.dept and IM.CLASS = cl.class and
Im.Dept = sc.dept and im.class = sc.class and
  im.subclass = sc.subclass;

Example 6-3 SQL for POVIEW_ORDHEAD_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_ORDHEAD_VIEW" ("NOT_AFTER_DATE", "NOT_BEFORE_
DATE", "OTB_EOW_DATE", "EARLIEST_SHIP_DATE", "LATEST_SHIP_DATE", "COMMENT_DESC",
"SUPPLIER", "CURRENCY_CODE", "ORDER_NO", "STATUS") AS 
  Select Oh.Not_After_Date, Oh.Not_Before_Date, Oh.Otb_Eow_Date,
    Oh.Earliest_Ship_Date, Oh.Latest_Ship_Date, Oh.Comment_Desc, Oh.Supplier,
    oh.currency_code, oh.order_no, oh.status from ordhead oh;

Example 6-4 SQL for POVIEW_ORDLOC_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_ORDLOC_VIEW" ("ORDER_NO", "QTY_ORDERED",
"QTY_RECEIVED", "QTY_CANCELLED", "ESTIMATED_INSTOCK_DATE", "ITEM", "LOCATION",
"LOC_TYPE", "UNIT_COST", "UNIT_RETAIL") AS 
  Select Ol.Order_No, Ol.Qty_Ordered, Ol.Qty_Received, Ol.Qty_Cancelled,
    Ol.Estimated_Instock_Date, Ol.Item, Ol.Location, Ol.Loc_Type,
    ol.unit_cost, ol.unit_retail from ordloc ol;

Example 6-5 SQL for POVIEW_STORE_HIERARCHY_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_STORE_HIERARCHY_VIEW" ("COMPANY", "CHAIN",
"AREA", "DISTRICT", "REGION", "STORE") AS 
  Select SH.COMPANY, Sh.Chain, Sh.Area, Sh.District, sh.region, SH.STORE from
STORE_HIERARCHY SH;

Example 6-6 SQL for POVIEW_STORE_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_STORE_VIEW" ("STORE", "CHANNEL_ID",
"CURRENCY_CODE", "STORE_NAME10") AS 
 Select S.STORE, S.CHANNEL_ID, S.CURRENCY_CODE, S.STORE_NAME10  From STORE S;

Example 6-7 SQL for POVIEW_SUPS_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_SUPS_VIEW" ("SUPPLIER", "SUP_NAME") AS 
  Select sp.supplier, sp.sup_name from sups sp;

Example 6-8 SQL for POVIEW_WH_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_WH_VIEW" ("WH", "WH_NAME", "CHANNEL_ID",
"ORG_HIER_TYPE", "ORG_HIER_VALUE", "CURRENCY_CODE") AS 
  Select wh.wh, wh.WH_NAME, WH.CHANNEL_ID, WH.ORG_HIER_TYPE, WH.ORG_HIER_VALUE,
WH.CURRENCY_CODE from wh wh;

Example 6-9 SQL for POVIEW_AREA_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_AREA_VIEW" ("AREA_NAME", "AREA") AS 
  Select Area_Name, Area From Area;

Example 6-10 SQL for POVIEW_CHAIN_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_CHAIN_VIEW" ("CHAIN_NAME", "CHAIN") AS 
  Select Chain_Name, Chain From CHAIN;

Example 6-11 SQL for POVIEW_CHANNELS_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_CHANNELS_VIEW" ("CHANNEL_NAME", "CHANNEL_ID")
AS 
  Select Channel_Name, Channel_Id From Channels;

Example 6-12 SQL for POVIEW_COMPHEAD_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_COMPHEAD_VIEW" ("CO_NAME", "COMPANY") AS 
  Select Co_Name, Company From Comphead;

Example 6-13 SQL for POVIEW_DEPS_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_DEPS_VIEW" ("DEPT_NAME", "DEPT") AS 
  Select Dept_Name, Dept From Deps;

Example 6-14 SQL for POVIEW_DISTRICT_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_DISTRICT_VIEW" ("DISTRICT_NAME", "DISTRICT")
AS 
  Select District_Name, District From District;

Example 6-15 SQL for POVIEW_REGION_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_DISTRICT_VIEW" ("DISTRICT_NAME", "DISTRICT")
AS 
  Select District_Name, District From District;

Example 6-16 SQL for POVIEW_CLASS_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_CLASS_VIEW" ("CLASS_NAME", "CLASS", "DEPT")
AS 
  Select Class_Name, Class, Dept From Class;

Example 6-17 SQL for POVIEW_SUBCLASS_VIEW

CREATE OR REPLACE FORCE VIEW "POVIEW_SUBCLASS_VIEW" ("SUB_NAME", "SUBCLASS",
"DEPT", "CLASS") AS 
  Select Sub_Name, Subclass, Dept, Class From Subclass;

Note:

The above set of views (6 - 2 to 6 - 17) collect the building blocks of the data required to populate the PO View dialog box. The view below (6 - 18) collates all the data together into the form that will be displayed in the PO View dialog box.

Example 6-18 SQL for POVIEW

CREATE OR REPLACE FORCE VIEW "POVIEW" ("ORDER_NO", "NOT_AFTER_DATE", "NOT_BEFORE_
DATE", "OTB_EOW_DATE", "EARLIEST_SHIP_DATE", "LATEST_SHIP_DATE", "QTY_ORDERED",
 "QTY_RECEIVED", "QTY_CANCELLED", "ESTIMATED_INSTOCK_DATE", "COMMENT_DESC",
"ITEM", "LOC_TYPE", "SUPPLIER", "SUP_NAME", "ORDER_COST_CURRENCY_CODE", "UNIT_
COST", "UNIT_RETAIL", "ITEM_DESC", "DEPARTMENT", "DEPT_NAME", "CLASS1", "CLASS_
NAME", "SUBCLASS", "SUB_NAME", "STANDARD_UOM", "LOCATION", "LOC_NAME", "COMPANY",
"CHAIN", "AREA", "DISTRICT", "REGION", "CHANNEL", "ORG_HIER_TYPE", "ORG_HIER_
VALUE", "RETAIL_CURRENCY_CODE") AS 

  SELECT OL.ORDER_NO,
  OH.NOT_AFTER_DATE,
  OH.NOT_BEFORE_DATE,
  OH.OTB_EOW_DATE,
  OH.EARLIEST_SHIP_DATE,
  OH.LATEST_SHIP_DATE,
  OL.QTY_ORDERED,
  OL.QTY_RECEIVED,
  OL.QTY_CANCELLED,
  OL.ESTIMATED_INSTOCK_DATE,
  OH.COMMENT_DESC,
  OL.ITEM,
  OL.LOC_TYPE,
  OH.SUPPLIER,
  SP.SUP_NAME,
  OH.CURRENCY_CODE ORDER_COST_CURRENCY_CODE,
  OL.UNIT_COST,
  Ol.Unit_Retail,
  im.item_desc,
  Im.Dept Department,
  IM.DEPT_NAME,
  Im.Class Class1,
  IM.CLASS_NAME,
  Im.Subclass,
  IM.SUB_NAME,
  IM.STANDARD_UOM,
  S.STORE LOCATION,
  S.STORE_NAME10 LOC_NAME,
  SH.COMPANY COMPANY,
  Sh.Chain Chain,
  Sh.Area Area,
  Sh.District District,
  sh.region region,
  S.CHANNEL_ID Channel,
  NULL ORG_HIER_TYPE,
  NULL ORG_HIER_VALUE,
  S.CURRENCY_CODE RETAIL_CURRENCY_CODE
FROM Poview_Ordloc_View OL,
  Poview_Ordhead_View OH,
  Poview_Sups_View SP,
  Poview_Item_Master_View IM,
  Poview_Store_View S,
  Poview_Store_Hierarchy_View SH
WHERE OH.STATUS = 'A'
AND OL.QTY_ORDERED - (OL.QTY_RECEIVED + NVL(OL.QTY_CANCELLED, 0)) > 0
AND OL.LOC_TYPE = 'S'
AND OL.ORDER_NO = OH.ORDER_NO
AND OH.SUPPLIER = SP.SUPPLIER
AND OL.ITEM     = IM.ITEM
AND OL.LOCATION = S.STORE
AND S.STORE     = SH.STORE
UNION ALL
SELECT OL.ORDER_NO,
  OH.NOT_AFTER_DATE,
  OH.NOT_BEFORE_DATE,
  OH.OTB_EOW_DATE,
  OH.EARLIEST_SHIP_DATE,
  OH.LATEST_SHIP_DATE,
  OL.QTY_ORDERED,
  OL.QTY_RECEIVED,
  OL.QTY_CANCELLED,
  OL.ESTIMATED_INSTOCK_DATE,
  OH.COMMENT_DESC,
  OL.ITEM,
  OL.LOC_TYPE,
  OH.SUPPLIER,
  SP.SUP_NAME,
  OH.CURRENCY_CODE ORDER_COST_CURRENCY_CODE,
  OL.UNIT_COST,
  Ol.Unit_Retail,
  im.item_desc,
  Im.Dept Department,
  IM.DEPT_NAME,
  Im.Class Class1,
  IM.CLASS_NAME,
  Im.Subclass,
  IM.SUB_NAME,
  IM.STANDARD_UOM,
  WH.WH LOCATION,
  WH.WH_NAME LOC_NAME,
  NULL COMPANY,
  Null Chain,
  Null Area,
  Null District,
  Null region,
  WH.CHANNEL_ID Channel,
  WH.ORG_HIER_TYPE ORG_HIER_TYPE,
  WH.ORG_HIER_VALUE ORG_HIER_VALUE,
  WH.CURRENCY_CODE RETAIL_CURRENCY_CODE
FROM Poview_Ordloc_View OL,
  Poview_Ordhead_View OH,
  Poview_Sups_View SP,
  Poview_Item_Master_View IM,
  Poview_Wh_View WH
WHERE OH.STATUS = 'A'
AND OL.QTY_ORDERED - (OL.QTY_RECEIVED + NVL(OL.QTY_CANCELLED, 0)) > 0
AND OL.LOC_TYPE = 'W'
AND OL.ORDER_NO = OH.ORDER_NO
AND OH.SUPPLIER = SP.SUPPLIER
And Ol.Item     = Im.Item
And Ol.Location = Wh.Wh;