diff --git a/plugins/birt/config/BirtErrorUiLabels.xml b/plugins/birt/config/BirtErrorUiLabels.xml
index c7734e7..58498a9 100644
--- a/plugins/birt/config/BirtErrorUiLabels.xml
+++ b/plugins/birt/config/BirtErrorUiLabels.xml
@@ -65,6 +65,10 @@
         <value xml:lang="en">No report to delete</value>
         <value xml:lang="fr">Aucun rapport à supprimer</value>
     </property>
+    <property key="BirtErrorNotPublishedReport">
+        <value xml:lang="en">After creating a new Flexible Birt report, before visualising it, you need to add the data set fields with the Birt Report Designer and publish the report</value>
+        <value xml:lang="fr">Après avoir créé un nouveau rapport Birt Flexible, avant de le visualiser, vous devez ajouter les champs du jeu de données (data set fields) avec le Concepteur de rapports Birt (Birt Report Designer) et publier le rapport</value>
+    </property>
     <property key="BirtErrorRetrievingTurnOver">
         <value xml:lang="en">Error while retrieving turnover informations</value>
         <value xml:lang="fr">Erreur lors de l'accès aux informations liées au chiffre d'affaire</value>
diff --git a/plugins/birt/groovyScripts/report/PrepareBirtCall.groovy b/plugins/birt/groovyScripts/report/PrepareBirtCall.groovy
index cf47151..aba1d4c 100644
--- a/plugins/birt/groovyScripts/report/PrepareBirtCall.groovy
+++ b/plugins/birt/groovyScripts/report/PrepareBirtCall.groovy
@@ -17,6 +17,8 @@
  * under the License.
  */
 
+import org.apache.ofbiz.base.util.UtilProperties
+
 def birtParameters = [:]
 
 birtParameters.parameters = parameters
@@ -24,5 +26,9 @@
 birtParameters.userLogin = context.userLogin
 birtParameters.locale = locale
 
+if(!birtParameters.rptDesignFile) {
+    request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage("BirtErrorUiLabels", "BirtErrorNotPublishedReport", locale))
+    return "error"
+}
 request.setAttribute("birtParameters", birtParameters)
 return "success"
diff --git a/plugins/birt/src/main/java/org/apache/ofbiz/birt/webapp/view/BirtViewHandler.java b/plugins/birt/src/main/java/org/apache/ofbiz/birt/webapp/view/BirtViewHandler.java
index 62d367f..6040c88 100644
--- a/plugins/birt/src/main/java/org/apache/ofbiz/birt/webapp/view/BirtViewHandler.java
+++ b/plugins/birt/src/main/java/org/apache/ofbiz/birt/webapp/view/BirtViewHandler.java
@@ -30,13 +30,11 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.eclipse.birt.core.exception.BirtException;
-import org.eclipse.birt.report.engine.api.IReportEngine;
-import org.eclipse.birt.report.engine.api.IReportRunnable;
 import org.apache.ofbiz.base.util.Debug;
 import org.apache.ofbiz.base.util.GeneralException;
 import org.apache.ofbiz.base.util.UtilGenerics;
 import org.apache.ofbiz.base.util.UtilHttp;
+import org.apache.ofbiz.base.util.UtilProperties;
 import org.apache.ofbiz.base.util.UtilValidate;
 import org.apache.ofbiz.birt.BirtFactory;
 import org.apache.ofbiz.birt.BirtWorker;
@@ -46,11 +44,15 @@
 import org.apache.ofbiz.entity.util.EntityUtilProperties;
 import org.apache.ofbiz.webapp.view.ViewHandler;
 import org.apache.ofbiz.webapp.view.ViewHandlerException;
+import org.eclipse.birt.core.exception.BirtException;
+import org.eclipse.birt.report.engine.api.IReportEngine;
+import org.eclipse.birt.report.engine.api.IReportRunnable;
 import org.xml.sax.SAXException;
 
 public class BirtViewHandler implements ViewHandler {
 
     public static final String module = BirtViewHandler.class.getName();
+    public static final String resource_error = "BirtErrorUiLabels";
 
     protected ServletContext servletContext = null;
 
@@ -81,7 +83,10 @@
             if (UtilValidate.isEmpty(page) || page.equals("ExecuteFlexibleReport")) {
                 page = (String) request.getParameter("rptDesignFile");
             }
-
+            if (UtilValidate.isEmpty(page)) {
+                Locale locale = (Locale) request.getLocale();
+                throw new ViewHandlerException(UtilProperties.getMessage(resource_error, "BirtErrorNotPublishedReport", locale));
+            }
             if (page.startsWith("component://")) {
                 InputStream reportInputStream = BirtFactory.getReportInputStreamFromLocation(page);
                 design = engine.openReportDesign(reportInputStream);
@@ -101,7 +106,7 @@
                 context.put(BirtWorker.getBirtParameters(), UtilHttp.getParameterMap(request));
             }
             // set locale from request
-            Locale locale = (Locale)request.getAttribute(BirtWorker.getBirtLocale());
+            Locale locale = (Locale) request.getAttribute(BirtWorker.getBirtLocale());
             if (locale == null) {
                 locale = UtilHttp.getLocale(request);
             }
diff --git a/plugins/birt/webapp/birt/WEB-INF/controller.xml b/plugins/birt/webapp/birt/WEB-INF/controller.xml
index adfda1a..1072b8b 100644
--- a/plugins/birt/webapp/birt/WEB-INF/controller.xml
+++ b/plugins/birt/webapp/birt/WEB-INF/controller.xml
@@ -1,178 +1,178 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-        xmlns="http://ofbiz.apache.org/Site-Conf" xsi:schemaLocation="http://ofbiz.apache.org/Site-Conf http://ofbiz.apache.org/dtds/site-conf.xsd">
-    <!-- The controller elements that are common to all OFBiz components
-         can be found in the following xml file. A component can override the
-         elements found in the common-controller.xml file. -->
-    <include location="component://common/webcommon/WEB-INF/common-controller.xml"/>
-    
-    <description>BIRT Component Site Configuration File</description>
-
-    <handler name="birt" type="view" class="org.apache.ofbiz.birt.webapp.view.BirtViewHandler"/>
-    <handler name="simplecontent" type="view" class="org.apache.ofbiz.content.view.SimpleContentViewHandler"/>
-
-    <!-- Events to run on every request before security (chains exempt) -->
-    <!--
-    <preprocessor>
-    </preprocessor>
-    -->
-    <!-- Events to run on every request after all other processing (chains exempt) -->
-    <!--
-    <postprocessor>
-        <event type="java" path="org.apache.ofbiz.webapp.event.TestEvent" invoke="test"/>
-    </postprocessor>
-    -->
-
-    <!-- Request Mappings -->
-    <request-map uri="main">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="main"/>
-    </request-map>
-    <request-map uri="Report">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="Report"/>
-    </request-map>
-    <request-map uri="Mail">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="Mail"/>
-    </request-map>
-    <request-map uri="sendBirtMail">
-        <security https="true" auth="true"/>
-        <event type="service" invoke="sendBirtMail"/>
-        <response name="success" type="view" value="Mail"/>
-        <response name="error" type="view" value="Mail"/>
-    </request-map>
-    <request-map uri="ViewHandler">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="ViewHandler"/>
-    </request-map>
-
-    <!-- BIRT example Requests -->
-    <request-map uri="BirtMain">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="BirtMain"/>
-    </request-map>
-
-    <request-map uri="chartReport">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="chartReport"/>
-    </request-map>
-    <request-map uri="chartViewHandler">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="chartViewHandler"/>
-    </request-map>
-
-    <!--Flexible Report Request-->
-    <request-map uri="UseFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="UseFlexibleReport"/></request-map>
-    <request-map uri="ListFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="ListFlexibleReport" /></request-map>
-    <request-map uri="SelectMasterFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="CreateFlexibleReport" /></request-map>
-    <request-map uri="EditFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="EditFlexibleReport" /></request-map>
-    <request-map uri="PreviewReportSearchForm"><security https="true" auth="true" /><response name="success" type="view" value="PreviewReportSearchForm" /></request-map>
-    <request-map uri="DisplayFlexibleReportSearchForm"><security https="true" auth="true" /><response name="success" type="view" value="DisplayFlexibleReportSearchForm" /></request-map>
-    <request-map uri="ViewBinaryDataResource"><security auth="true" https="true" /><response name="success" type="view" value="ViewBinaryDataResource" /></request-map>
-
-    <request-map uri="ExecuteFlexibleReport">
-        <security https="true" auth="true" />
-        <event type="groovy" path="component://birt/groovyScripts/report/PrepareBirtCall.groovy" />
-        <response name="success" type="view" value="ExecuteFlexibleReport" />
-        <response name="error" type="request" value="viewLast" />
-    </request-map>
-    <request-map uri="CreateFlexibleReport">
-        <security https="true" auth="true" />
-        <event type="service" invoke="createFlexibleReportFromMaster" />
-        <response name="error" type="view" value="CreateFlexibleReport" />
-        <response name="success" type="view" value="EditFlexibleReport" />
-    </request-map>
-    <request-map uri="EditFlexibleReportSearchForm">
-        <security https="true" auth="true" />
-        <event type="service" invoke="updateFlexibleReportSearchForm" />
-        <response name="error" type="view" value="DisplayFlexibleReportSearchForm" />
-        <response name="success" type="view" value="DisplayFlexibleReportSearchForm" />
-    </request-map>
-
-    <request-map uri="DeleteAllFlexibleReports">
-        <security https="true" auth="true" />
-        <event type="service" invoke="deleteAllFlexibleReports" />
-        <response name="success" type="view" value="main" />
-        <response name="error" type="view" value="main" />
-    </request-map>
-    <request-map uri="DeleteFlexibleReport">
-        <security https="true" auth="true" />
-        <event type="service" invoke="deleteFlexibleReport" />
-        <response name="success" type="view" value="ListFlexibleReport" />
-        <response name="error" type="view" value="ListFlexibleReport" />
-    </request-map>
-
-    <request-map uri="UpdateFlexibleReport">
-        <security https="true" auth="true" />
-        <event type="service" invoke="updateContent" />
-        <response name="success" type="view" value="ListFlexibleReport" />
-        <response name="error" type="view" value="ListFlexibleReport" />
-    </request-map>
-    <request-map uri="UploadRptDesign">
-        <security https="true" auth="true" />
-        <event type="service" invoke="uploadFlexibleReportRptDesign" />
-        <response name="success" type="view" value="EditFlexibleReport" />
-        <response name="error" type="view" value="EditFlexibleReport" />
-    </request-map>
-    <!-- end of request mappings -->
-
-    <!-- ================ Entity Lookup Requests ================= -->
-    <request-map uri="LookupProductCategory"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductCategory"/></request-map>
-    <request-map uri="LookupProductStore"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductStore"/></request-map>
-    
-    <!-- View Mappings -->
-    <view-map name="main" type="screen" page="component://birt/widget/birt/BirtScreens.xml#main"/>
-    <view-map name="Report" type="screen" page="component://birt/widget/birt/BirtScreens.xml#Report"/>
-    <view-map name="chartReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#chartReport"/>
-    <view-map name="Mail" type="screen" page="component://birt/widget/birt/BirtScreens.xml#EditMail"/>
-    
-    <!-- Supported Content Types -->
-    <!--
-        text/html
-        application/pdf
-        application/postscript
-        application/vnd.ms-excel
-        application/vnd.ms-word
-        application/vnd.ms-powerpoint
-        application/vnd.oasis.opendocument.text
-        application/vnd.oasis.opendocument.spreadsheet
-        application/vnd.oasis.opendocument.presentation
-        application/vnd.openxmlformats-officedocument.wordprocessingml.document
-        application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
-        application/vnd.openxmlformats-officedocument.presentationml.presentation
-     -->
-    <view-map name="ViewHandler" type="birt" page="component://birt/webapp/birt/report/example.rptdesign" content-type="application/pdf"/>
-    <view-map name="chartViewHandler" type="birt" page="component://birt/webapp/birt/report/chart.rptdesign" content-type="application/pdf"/>
-    <view-map name="UseFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#UseFlexibleReport"/>
-    <view-map name="EditFlexibleReportSearchForm" type="screen" page="component://birt/widget/birt/BirtScreens.xml#EditFlexibleReportSearchForm"/>
-    <view-map name="CreateFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#CreateFlexibleReport"/>
-    <view-map name="DisplayFlexibleReportSearchForm" type="screen" page="component://birt/widget/birt/BirtScreens.xml#DisplayFlexibleReportSearchForm"/>
-    <view-map name="ListFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#ListFlexibleReport"/>
-    <view-map name="EditFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#EditFlexibleReport"/>
-    <view-map name="PreviewReportSearchForm" type="screen" page="component://birt/widget/birt/BirtScreens.xml#PreviewReportSearchForm"/>
-    <view-map name="ExecuteFlexibleReport" type="birt" />
-    <view-map name="ViewBinaryDataResource" page="" type="simplecontent"/>
-    
-    <view-map name="LookupProductCategory" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductCategory"/>
-    <view-map name="LookupProductStore" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductStore"/>
-</site-conf>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        xmlns="http://ofbiz.apache.org/Site-Conf" xsi:schemaLocation="http://ofbiz.apache.org/Site-Conf http://ofbiz.apache.org/dtds/site-conf.xsd">
+    <!-- The controller elements that are common to all OFBiz components
+         can be found in the following xml file. A component can override the
+         elements found in the common-controller.xml file. -->
+    <include location="component://common/webcommon/WEB-INF/common-controller.xml"/>
+    
+    <description>BIRT Component Site Configuration File</description>
+
+    <handler name="birt" type="view" class="org.apache.ofbiz.birt.webapp.view.BirtViewHandler"/>
+    <handler name="simplecontent" type="view" class="org.apache.ofbiz.content.view.SimpleContentViewHandler"/>
+
+    <!-- Events to run on every request before security (chains exempt) -->
+    <!--
+    <preprocessor>
+    </preprocessor>
+    -->
+    <!-- Events to run on every request after all other processing (chains exempt) -->
+    <!--
+    <postprocessor>
+        <event type="java" path="org.apache.ofbiz.webapp.event.TestEvent" invoke="test"/>
+    </postprocessor>
+    -->
+
+    <!-- Request Mappings -->
+    <request-map uri="main">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="main"/>
+    </request-map>
+    <request-map uri="Report">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="Report"/>
+    </request-map>
+    <request-map uri="Mail">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="Mail"/>
+    </request-map>
+    <request-map uri="sendBirtMail">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="sendBirtMail"/>
+        <response name="success" type="view" value="Mail"/>
+        <response name="error" type="view" value="Mail"/>
+    </request-map>
+    <request-map uri="ViewHandler">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ViewHandler"/>
+    </request-map>
+
+    <!-- BIRT example Requests -->
+    <request-map uri="BirtMain">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="BirtMain"/>
+    </request-map>
+
+    <request-map uri="chartReport">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="chartReport"/>
+    </request-map>
+    <request-map uri="chartViewHandler">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="chartViewHandler"/>
+    </request-map>
+
+    <!--Flexible Report Request-->
+    <request-map uri="UseFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="UseFlexibleReport"/></request-map>
+    <request-map uri="ListFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="ListFlexibleReport" /></request-map>
+    <request-map uri="SelectMasterFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="CreateFlexibleReport" /></request-map>
+    <request-map uri="EditFlexibleReport"><security https="true" auth="true" /><response name="success" type="view" value="EditFlexibleReport" /></request-map>
+    <request-map uri="PreviewReportSearchForm"><security https="true" auth="true" /><response name="success" type="view" value="PreviewReportSearchForm" /></request-map>
+    <request-map uri="DisplayFlexibleReportSearchForm"><security https="true" auth="true" /><response name="success" type="view" value="DisplayFlexibleReportSearchForm" /></request-map>
+    <request-map uri="ViewBinaryDataResource"><security auth="true" https="true" /><response name="success" type="view" value="ViewBinaryDataResource" /></request-map>
+
+    <request-map uri="ExecuteFlexibleReport">
+        <security https="true" auth="true" />
+        <event type="groovy" path="component://birt/groovyScripts/report/PrepareBirtCall.groovy" />
+        <response name="success" type="view" value="ExecuteFlexibleReport" />
+        <response name="error" type="view-last"/>
+    </request-map>
+    <request-map uri="CreateFlexibleReport">
+        <security https="true" auth="true" />
+        <event type="service" invoke="createFlexibleReportFromMaster" />
+        <response name="error" type="view" value="CreateFlexibleReport" />
+        <response name="success" type="view" value="EditFlexibleReport" />
+    </request-map>
+    <request-map uri="EditFlexibleReportSearchForm">
+        <security https="true" auth="true" />
+        <event type="service" invoke="updateFlexibleReportSearchForm" />
+        <response name="error" type="view" value="DisplayFlexibleReportSearchForm" />
+        <response name="success" type="view" value="DisplayFlexibleReportSearchForm" />
+    </request-map>
+
+    <request-map uri="DeleteAllFlexibleReports">
+        <security https="true" auth="true" />
+        <event type="service" invoke="deleteAllFlexibleReports" />
+        <response name="success" type="view" value="main" />
+        <response name="error" type="view" value="main" />
+    </request-map>
+    <request-map uri="DeleteFlexibleReport">
+        <security https="true" auth="true" />
+        <event type="service" invoke="deleteFlexibleReport" />
+        <response name="success" type="view" value="ListFlexibleReport" />
+        <response name="error" type="view" value="ListFlexibleReport" />
+    </request-map>
+
+    <request-map uri="UpdateFlexibleReport">
+        <security https="true" auth="true" />
+        <event type="service" invoke="updateContent" />
+        <response name="success" type="view" value="ListFlexibleReport" />
+        <response name="error" type="view" value="ListFlexibleReport" />
+    </request-map>
+    <request-map uri="UploadRptDesign">
+        <security https="true" auth="true" />
+        <event type="service" invoke="uploadFlexibleReportRptDesign" />
+        <response name="success" type="view" value="EditFlexibleReport" />
+        <response name="error" type="view" value="EditFlexibleReport" />
+    </request-map>
+    <!-- end of request mappings -->
+
+    <!-- ================ Entity Lookup Requests ================= -->
+    <request-map uri="LookupProductCategory"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductCategory"/></request-map>
+    <request-map uri="LookupProductStore"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductStore"/></request-map>
+    
+    <!-- View Mappings -->
+    <view-map name="main" type="screen" page="component://birt/widget/birt/BirtScreens.xml#main"/>
+    <view-map name="Report" type="screen" page="component://birt/widget/birt/BirtScreens.xml#Report"/>
+    <view-map name="chartReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#chartReport"/>
+    <view-map name="Mail" type="screen" page="component://birt/widget/birt/BirtScreens.xml#EditMail"/>
+    
+    <!-- Supported Content Types -->
+    <!--
+        text/html
+        application/pdf
+        application/postscript
+        application/vnd.ms-excel
+        application/vnd.ms-word
+        application/vnd.ms-powerpoint
+        application/vnd.oasis.opendocument.text
+        application/vnd.oasis.opendocument.spreadsheet
+        application/vnd.oasis.opendocument.presentation
+        application/vnd.openxmlformats-officedocument.wordprocessingml.document
+        application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
+        application/vnd.openxmlformats-officedocument.presentationml.presentation
+     -->
+    <view-map name="ViewHandler" type="birt" page="component://birt/webapp/birt/report/example.rptdesign" content-type="application/pdf"/>
+    <view-map name="chartViewHandler" type="birt" page="component://birt/webapp/birt/report/chart.rptdesign" content-type="application/pdf"/>
+    <view-map name="UseFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#UseFlexibleReport"/>
+    <view-map name="EditFlexibleReportSearchForm" type="screen" page="component://birt/widget/birt/BirtScreens.xml#EditFlexibleReportSearchForm"/>
+    <view-map name="CreateFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#CreateFlexibleReport"/>
+    <view-map name="DisplayFlexibleReportSearchForm" type="screen" page="component://birt/widget/birt/BirtScreens.xml#DisplayFlexibleReportSearchForm"/>
+    <view-map name="ListFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#ListFlexibleReport"/>
+    <view-map name="EditFlexibleReport" type="screen" page="component://birt/widget/birt/BirtScreens.xml#EditFlexibleReport"/>
+    <view-map name="PreviewReportSearchForm" type="screen" page="component://birt/widget/birt/BirtScreens.xml#PreviewReportSearchForm"/>
+    <view-map name="ExecuteFlexibleReport" type="birt" />
+    <view-map name="ViewBinaryDataResource" page="" type="simplecontent"/>
+    
+    <view-map name="LookupProductCategory" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductCategory"/>
+    <view-map name="LookupProductStore" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductStore"/>
+</site-conf>
