changeset:   8173:21647fb2ad73
tag:         tip
user:        Asier Lostalé <asier.lostale@openbravo.com>
date:        Wed Aug 18 12:22:23 2010 +0200
summary:     [ModelObject] Make menu without reading model object for tabs

diff -r 9ccbdd3a9f00 -r 21647fb2ad73 src/org/openbravo/erpCommon/utility/Menu_data.xsql
--- a/src/org/openbravo/erpCommon/utility/Menu_data.xsql	Tue Aug 17 16:13:00 2010 +0200
+++ b/src/org/openbravo/erpCommon/utility/Menu_data.xsql	Wed Aug 18 12:22:23 2010 +0200
@@ -30,13 +30,13 @@
         SELECT DISTINCT tn.Node_ID,tn.Parent_ID,tn.SeqNo,menuData.NAME,menuData.Description,menuData.IsSummary,
         menuData.Action, (case menuData.Action when 'W' then MOW.CLASSNAME 
                                               when  'X' then MOX.CLASSNAME
-                                              when  'T' then MOT.CLASSNAME
+                                              when  'T' then null
                                               when 'F' then MOF.CLASSNAME
                                               else MOP.CLASSNAME
                                               end) AS CLASSNAME, 
         (case menuData.Action when 'W' then MOMW.MAPPINGNAME
                               when 'X' then MOMX.MAPPINGNAME
-                              when 'T' then MOMT.MAPPINGNAME
+                              when 'T' then null
                               when 'F' then MOMF.MAPPINGNAME
                               else MOMP.MAPPINGNAME
                               end) AS MAPPINGNAME, 
@@ -47,11 +47,15 @@
         menuData.AD_Form_ID,
         menuData.url,
         P.IsExternalService,
-        P.Service_Type
+        P.Service_Type,
+        MW.AD_Module_ID as windowModule, MT.AD_Module_ID as tabModule,
+        MW.JAVAPACKAGE as windowPackage, MT.JAVAPACKAGE as tabPackage,
+        AD_MAPPING_FORMAT(to_char(w.name)) as windowName, 
+        AD_MAPPING_FORMAT(to_char(t.name)) as tabName
         FROM AD_TREENODE tn,
         (SELECT m.AD_Menu_ID, COALESCE(m_t.NAME, m.NAME) AS NAME, COALESCE(m_t.DESCRIPTION, m.Description) AS DESCRIPTION, 
         m.IsSummary,m.Action, m.AD_Window_ID, m.AD_Process_ID, 
-        m.AD_FORM_ID, m.AD_Task_ID, m.AD_Workflow_ID, m.url 
+        m.AD_FORM_ID, m.AD_Task_ID, m.AD_Workflow_ID, m.url
         FROM AD_MENU m left join AD_MENU_TRL m_t on m.AD_MENU_ID = m_t.AD_MENU_ID 
                                                 AND m_t.AD_LANGUAGE = ?,
              AD_MODULE mod
@@ -68,6 +72,9 @@
                     AND w.isActive = 'Y'
                     AND wa.AD_Role_ID=?)
         )) menuData left join AD_TAB T on menuData.AD_Window_ID = T.AD_WINDOW_ID
+                    left join AD_WINDOW W on menuData.AD_Window_ID = W.AD_WINDOW_ID
+                    left join AD_MODULE MW on W.AD_MODULE_ID = MW.AD_MODULE_ID
+                    left join AD_MODULE MT on T.AD_Module_ID = MT.AD_Module_ID
                     left join AD_PROCESS P on P.AD_Process_ID = menuData.AD_Process_ID 
                     left join AD_MODEL_OBJECT MOW on T.AD_TAB_ID = MOW.AD_TAB_ID
                                                   AND MOW.ACTION    = 'W' 
@@ -83,13 +90,6 @@
                     left join AD_MODEL_OBJECT_MAPPING MOMX on MOX.AD_MODEL_OBJECT_ID = MOMX.AD_MODEL_OBJECT_ID 
                                                   AND MOMX.ISACTIVE  = 'Y'
                                                   AND MOMX.ISDEFAULT = 'Y'
-                    left join AD_MODEL_OBJECT MOT on menuData.AD_TASK_ID = MOT.AD_TASK_ID 
-                                                  AND MOT.ACTION    = 'T' 
-                                                  AND MOT.ISACTIVE  = 'Y'
-                                                  AND MOT.ISDEFAULT = 'Y'
-                    left join AD_MODEL_OBJECT_MAPPING MOMT on MOT.AD_MODEL_OBJECT_ID = MOMT.AD_MODEL_OBJECT_ID 
-                                                  AND MOMT.ISACTIVE  = 'Y'
-                                                  AND MOMT.ISDEFAULT = 'Y'
                     left join AD_MODEL_OBJECT MOF on menuData.AD_WORKFLOW_ID = MOF.AD_WORKFLOW_ID 
                                                   AND MOF.ACTION   = 'X' 
                                                   AND MOF.ISACTIVE = 'Y'
diff -r 9ccbdd3a9f00 -r 21647fb2ad73 src/org/openbravo/erpCommon/utility/VerticalMenu.java
--- a/src/org/openbravo/erpCommon/utility/VerticalMenu.java	Tue Aug 17 16:13:00 2010 +0200
+++ b/src/org/openbravo/erpCommon/utility/VerticalMenu.java	Wed Aug 18 12:22:23 2010 +0200
@@ -302,10 +302,7 @@
             if (menuData[i].action.equals("L") || menuData[i].action.equals("I"))
               strText.append(menuData[i].url);
             else {
-              strText.append(getUrlString(strDireccion, menuData[i].name, menuData[i].action,
-                  menuData[i].classname, menuData[i].mappingname, menuData[i].adWorkflowId,
-                  menuData[i].adTaskId, menuData[i].adProcessId, menuData[i].isexternalservice,
-                  menuData[i].serviceType));
+              strText.append(getUrlString(strDireccion, menuData[i]));
             }
             strText.append("', '");
             if (menuData[i].action.equals("F")
@@ -397,46 +394,59 @@
   public static String getUrlStringStatic(String strDireccionBase, String name, String action,
       String classname, String mappingname, String adWorkflowId, String adTaskId,
       String adProcessId, String isExternalService, String externalType) {
-    return new VerticalMenu().getUrlString(strDireccionBase, name, action, classname, mappingname,
-        adWorkflowId, adTaskId, adProcessId, isExternalService, externalType);
+    MenuData menuItem = new MenuData();
+    menuItem.name = name;
+    menuItem.action = action;
+    menuItem.classname = classname;
+    menuItem.mappingname = mappingname;
+    menuItem.adWorkflowId = adWorkflowId;
+    menuItem.adTaskId = adTaskId;
+    menuItem.adProcessId = adProcessId;
+    menuItem.isexternalservice = isExternalService;
+    menuItem.serviceType = externalType;
+    return new VerticalMenu().getUrlString(strDireccionBase, menuItem);
   }
 
-  private String getUrlString(String strDireccionBase, String name, String action,
-      String classname, String mappingname, String adWorkflowId, String adTaskId,
-      String adProcessId, String isExternalService, String externalType) {
+  private String getUrlString(String strDireccionBase, MenuData menuItem) {
     final StringBuffer strResultado = new StringBuffer();
     strResultado.append(strDireccionBase);
-    if (mappingname.equals("")) {
-      if (action.equals("F")) {
+    if (menuItem.mappingname.equals("")) {
+      if (menuItem.action.equals("W")) {
+        strResultado.append("/" + ("0".equals(menuItem.windowmodule) ? "" : menuItem.windowpackage)
+            + menuItem.windowname + "/" + menuItem.tabname + "_Relation.html");
+      } else if (menuItem.action.equals("F")) {
         strResultado.append("/ad_workflow/WorkflowControl.html?inpadWorkflowId=").append(
-            adWorkflowId);
-      } else if (action.equals("T")) {
-        strResultado.append("/utility/ExecuteTask.html?inpadTaskId=").append(adTaskId);
-      } else if (action.equals("P")) {
-        if (isExternalService.equals("Y") && externalType.equals("PS"))
-          strResultado.append("/utility/OpenPentaho.html?inpadProcessId=").append(adProcessId);
+            menuItem.adWorkflowId);
+      } else if (menuItem.action.equals("T")) {
+        strResultado.append("/utility/ExecuteTask.html?inpadTaskId=").append(menuItem.adTaskId);
+      } else if (menuItem.action.equals("P")) {
+        if (menuItem.isexternalservice.equals("Y") && menuItem.serviceType.equals("PS"))
+          strResultado.append("/utility/OpenPentaho.html?inpadProcessId=").append(
+              menuItem.adProcessId);
         else {
           try {
-            if (MenuData.isGenericJavaProcess(this, adProcessId))
+            if (MenuData.isGenericJavaProcess(this, menuItem.adProcessId))
               strResultado.append(
                   "/ad_actionButton/ActionButtonJava_Responser.html?inpadProcessId=").append(
-                  adProcessId);
+                  menuItem.adProcessId);
             else
               strResultado.append("/ad_actionButton/ActionButton_Responser.html?inpadProcessId=")
-                  .append(adProcessId);
+                  .append(menuItem.adProcessId);
           } catch (final Exception e) {
             e.printStackTrace();
             strResultado.append("/ad_actionButton/ActionButton_Responser.html?inpadProcessId=")
-                .append(adProcessId);
+                .append(menuItem.adProcessId);
           }
         }
-      } else if (action.equals("X")) {
-        strResultado.append("/ad_forms/").append(FormatUtilities.replace(name)).append(".html");
-      } else if (action.equals("R")) {
-        strResultado.append("ad_reports/").append(FormatUtilities.replace(name)).append(".html");
+      } else if (menuItem.action.equals("X")) {
+        strResultado.append("/ad_forms/").append(FormatUtilities.replace(menuItem.name)).append(
+            ".html");
+      } else if (menuItem.action.equals("R")) {
+        strResultado.append("ad_reports/").append(FormatUtilities.replace(menuItem.name)).append(
+            ".html");
       }
     } else {
-      strResultado.append(mappingname);
+      strResultado.append(menuItem.mappingname);
     }
     return strResultado.toString();
   }

changeset:   8172:9ccbdd3a9f00
user:        Asier Lostalé <asier.lostale@openbravo.com>
date:        Tue Aug 17 16:13:00 2010 +0200
summary:     [ModelObject] Generate web.xml without model_object for tabs

diff -r e25fc3e19dfd -r 9ccbdd3a9f00 src-wad/src/org/openbravo/wad/Wad.java
--- a/src-wad/src/org/openbravo/wad/Wad.java	Mon Aug 16 16:51:34 2010 +0200
+++ b/src-wad/src/org/openbravo/wad/Wad.java	Tue Aug 17 16:13:00 2010 +0200
@@ -749,6 +749,10 @@
       WadData[] contextParams = WadData.selectContextParams(pool);
       xmlDocument.setData("structureContextParams", contextParams);
 
+      WadData[] allTabs = WadData.selectAllTabs(pool);
+      xmlDocument.setData("structureServletTab", getTabServlets(allTabs));
+      xmlDocument.setData("structureMappingTab", getTabMappings(allTabs));
+
       final WadData[] servlets = WadData.select(pool);
       WadData[][] servletParams = null;
       if (servlets != null && servlets.length > 0) {
@@ -788,6 +792,58 @@
     }
   }
 
+  private WadData[] getTabServlets(WadData[] allTabs) {
+    ArrayList<WadData> servlets = new ArrayList<WadData>();
+    for (WadData tab : allTabs) {
+      String tabClassName = "org.openbravo.erpWindows."
+          + ("0".equals(tab.windowmodule) ? "" : tab.windowpackage) + tab.windowname + "."
+          + tab.tabname;
+      WadData servlet = new WadData();
+      servlet.displayname = tabClassName;
+      servlet.name = "W" + tab.adTabId;
+      servlet.classname = tabClassName;
+      servlets.add(servlet);
+
+      String comboReloadClassName = "org.openbravo.erpCommon.ad_callouts.ComboReloads"
+          + tab.adTabId;
+      WadData servletCombo = new WadData();
+      servletCombo.displayname = comboReloadClassName;
+      servletCombo.name = "WR" + tab.adTabId;
+      servletCombo.classname = comboReloadClassName;
+      servlets.add(servletCombo);
+    }
+    return servlets.toArray(new WadData[servlets.size()]);
+  }
+
+  private FieldProvider[] getTabMappings(WadData[] allTabs) {
+    ArrayList<WadData> mappings = new ArrayList<WadData>();
+    for (WadData tab : allTabs) {
+      String prefix = "/" + ("0".equals(tab.windowmodule) ? "" : tab.windowpackage)
+          + tab.windowname + "/" + tab.tabname;
+
+      WadData mapping = new WadData();
+      mapping.name = "W" + tab.adTabId;
+      mapping.classname = prefix + "_Relation.html";
+      mappings.add(mapping);
+
+      WadData mapping2 = new WadData();
+      mapping2.name = "W" + tab.adTabId;
+      mapping2.classname = prefix + "_Edition.html";
+      mappings.add(mapping2);
+
+      WadData mapping3 = new WadData();
+      mapping3.name = "W" + tab.adTabId;
+      mapping3.classname = prefix + "_Excel.xls";
+      mappings.add(mapping3);
+
+      WadData mapping4 = new WadData();
+      mapping4.name = "WR" + tab.adTabId;
+      mapping4.classname = "/ad_callouts/ComboReloads" + tab.adTabId + ".html";
+      mappings.add(mapping4);
+    }
+    return mappings.toArray(new WadData[mappings.size()]);
+  }
+
   /**
    * Generates all the windows defined in the dictionary. Also generates the translated files for
    * the defineds languages.
diff -r e25fc3e19dfd -r 9ccbdd3a9f00 src-wad/src/org/openbravo/wad/Wad_data.xsql
--- a/src-wad/src/org/openbravo/wad/Wad_data.xsql	Mon Aug 16 16:51:34 2010 +0200
+++ b/src-wad/src/org/openbravo/wad/Wad_data.xsql	Tue Aug 17 16:13:00 2010 +0200
@@ -26,15 +26,37 @@
     <Sql>
       <![CDATA[
       SELECT MAX(COALESCE(ACTION, '') || AD_MODEL_OBJECT_ID) AS NAME, CLASSNAME, CLASSNAME AS DISPLAYNAME, 
-      MAX(LOADONSTARTUP) AS LOADONSTARTUP, '' AS VALUE, '' AS LINE, '' AS AUTH, '' as buildxml
+      MAX(LOADONSTARTUP) AS LOADONSTARTUP, '' AS VALUE, '' AS LINE, '' AS AUTH, '' as buildxml, 
+      '' as ad_tab_id, '' as windowName, '' as tabName, '' as windowPackage, '' as windowmodule, '' as tabPackage, '' as tabmodule
       FROM AD_MODEL_OBJECT 
       WHERE ISACTIVE = 'Y' 
       AND OBJECT_TYPE = 'S'
+      AND ACTION != 'W'
       GROUP BY CLASSNAME
       ORDER BY NAME
       ]]>
     </Sql>
   </SqlMethod>
+  
+  
+  <SqlMethod name="selectAllTabs" type="preparedStatement" return="multiple">
+    <Sql>
+      <![CDATA[
+        select t.ad_tab_id, AD_MAPPING_FORMAT(to_char(w.name)) as windowName, 
+               AD_MAPPING_FORMAT(to_char(t.name)) as tabName, 
+               m2.javapackage windowPackage, m2.ad_module_id windowmodule,
+               m.javapackage tabPackage, m.ad_module_id tabmodule
+          from ad_tab t, ad_window w, ad_module m, ad_module m2
+         where t.ad_module_id = m.ad_module_id
+           and w.ad_module_id = m2.ad_module_id
+           and w.ad_window_id = t.ad_window_id
+           and t.isactive='Y'
+           and w.isactive='Y'
+           order by w.name, t.seqno
+      ]]>
+    </Sql>
+  </SqlMethod>
+  
   <SqlMethod name="set" type="constant" return="multiple">
       <SqlMethodComment>Create a registry</SqlMethodComment>
       <Sql></Sql>
@@ -49,6 +71,7 @@
       AND MO.OBJECT_TYPE = 'S' 
       AND MO.AD_MODEL_OBJECT_ID = MOM.AD_MODEL_OBJECT_ID 
       AND MOM.ISACTIVE = 'Y' 
+      AND MO.ACTION != 'W'
       GROUP BY MO.CLASSNAME, MOM.MAPPINGNAME
       ORDER BY NAME
       ]]>
diff -r e25fc3e19dfd -r 9ccbdd3a9f00 src-wad/src/org/openbravo/wad/web.xml
--- a/src-wad/src/org/openbravo/wad/web.xml	Mon Aug 16 16:51:34 2010 +0200
+++ b/src-wad/src/org/openbravo/wad/web.xml	Tue Aug 17 16:13:00 2010 +0200
@@ -12,7 +12,7 @@
     * under the License. 
     * The Original Code is Openbravo ERP. 
     * The Initial Developer of the Original Code is Openbravo SLU
-    * All portions are Copyright (C) 2001-2009 Openbravo SLU 
+    * All portions are Copyright (C) 2001-2010 Openbravo SLU 
     * All Rights Reserved. 
     * Contributor(s):    ______________________________________.
     ************************************************************************
@@ -57,6 +57,20 @@
     <param-value><FIELD_TMP id="paramValue">codigo</FIELD_TMP></param-value>
   </context-param>
   </FIELDS_TMP>
+  
+  <FIELDS_TMP id="sectionDetailServletTab">
+    <servlet>
+      <display-name>
+        <FIELD_TMP id="fieldTabDisplayName">codigo</FIELD_TMP>
+      </display-name>
+      <servlet-name>
+        <FIELD_TMP id="fieldTabName">codigo</FIELD_TMP>
+      </servlet-name>
+      <servlet-class>
+        <FIELD_TMP id="fieldTabClassName">codigo</FIELD_TMP>
+      </servlet-class>
+    </servlet>
+  </FIELDS_TMP>
 
   <FIELDS_TMP id="sectionDetail1">
     <servlet>
@@ -85,6 +99,15 @@
       <url-pattern><FIELD_TMP id="fieldFilterMClassName">codigo</FIELD_TMP></url-pattern>
     </filter-mapping>
   </FIELDS_TMP>
+  
+  <FIELDS_TMP id="sectionDetailMappingTab">
+    <servlet-mapping>
+      <servlet-name>
+        <FIELD_TMP id="fieldServletName">codigo</FIELD_TMP>
+      </servlet-name>
+      <url-pattern><FIELD_TMP id="fieldTabMappingName">codigo</FIELD_TMP></url-pattern>
+    </servlet-mapping>
+  </FIELDS_TMP>
 
   <FIELDS_TMP id="sectionDetail2">
     <servlet-mapping>
diff -r e25fc3e19dfd -r 9ccbdd3a9f00 src-wad/src/org/openbravo/wad/webConf.xml
--- a/src-wad/src/org/openbravo/wad/webConf.xml	Mon Aug 16 16:51:34 2010 +0200
+++ b/src-wad/src/org/openbravo/wad/webConf.xml	Tue Aug 17 16:13:00 2010 +0200
@@ -12,7 +12,7 @@
     * under the License. 
     * The Original Code is Openbravo ERP. 
     * The Initial Developer of the Original Code is Openbravo SLU
-    * All portions are Copyright (C) 2001-2009 Openbravo SLU 
+    * All portions are Copyright (C) 2001-2010 Openbravo SLU 
     * All Rights Reserved. 
     * Contributor(s):    ______________________________________.
     ************************************************************************
@@ -60,6 +60,13 @@
     <FIELD id="paramValue">value</FIELD>
     <SECTION id="sectionContextParams" />
   </structure>
+  
+  <structure name="structureServletTab">
+    <FIELD id="fieldTabDisplayName">displayname</FIELD>
+    <FIELD id="fieldTabName">name</FIELD>
+    <FIELD id="fieldTabClassName">classname</FIELD>
+    <SECTION id="sectionDetailServletTab" />
+  </structure>
 
   <structure name="structure1">
     <FIELD id="fieldDisplayName">displayname</FIELD>
@@ -75,9 +82,14 @@
     <FIELD id="fieldFilterMClassName">classname</FIELD>
     <SECTION id="sectionFilterMapping" />
   </structure>
+  
+  <structure name="structureMappingTab">
+    <FIELD id="fieldServletName">name</FIELD>
+    <FIELD id="fieldTabMappingName">classname</FIELD>
+    <SECTION id="sectionDetailMappingTab" />
+  </structure>
 
   <structure name="structure2">
-    <FIELD id="fieldDisplayName2">displayname</FIELD>
     <FIELD id="fieldName2">name</FIELD>
     <FIELD id="fieldClassName2">classname</FIELD>
     <SECTION id="sectionDetail2" />

changeset:   8171:e25fc3e19dfd
user:        Asier Lostalé <asier.lostale@openbravo.com>
date:        Mon Aug 16 16:51:34 2010 +0200
summary:     [ModelObject] Removed unused ad_model_object reference

diff -r 121cde4dd41b -r e25fc3e19dfd src-wad/src/org/openbravo/wad/Tabs_data.xsql
--- a/src-wad/src/org/openbravo/wad/Tabs_data.xsql	Mon Aug 16 14:18:54 2010 +0200
+++ b/src-wad/src/org/openbravo/wad/Tabs_data.xsql	Mon Aug 16 16:51:34 2010 +0200
@@ -31,15 +31,12 @@
         ad_tab.AD_COLUMNSORTYESNO_ID,
         AD_TABLE.ACCESSLEVEL, AD_TAB.ad_process_id, AD_TAB.UIPATTERN, AD_TAB.NAME AS realTabName, AD_TAB.ORDERBYCLAUSE, 
         '' as tabNameTrl, AD_TABLE.ad_table_id AS table_Id, ad_tab.isInfoTab, ad_tab.isTranslationTab, '' AS NameTab, 
-        replace(replace(AD_TAB.FILTERCLAUSE, CHR(10), ' '), CHR(13), ' ') AS FILTERCLAUSE, AD_TAB.EDITREFERENCE, AD_MODEL_OBJECT.CLASSNAME,
+        replace(replace(AD_TAB.FILTERCLAUSE, CHR(10), ' '), CHR(13), ' ') AS FILTERCLAUSE, AD_TAB.EDITREFERENCE,
         (CASE WHEN M1.AD_MODULE_ID='0' THEN NULL ELSE M1.JavaPackage END) AS JAVAPACKAGE, AD_TAB.AD_MODULE_ID as tabmodule,
         AD_TABLE.ISDELETEABLE
-        FROM AD_TAB, AD_WINDOW, AD_TABLE, AD_MODEL_OBJECT, AD_MODULE M1
+        FROM AD_TAB, AD_WINDOW, AD_TABLE, AD_MODULE M1
         WHERE AD_TAB.AD_WINDOW_ID = AD_WINDOW.AD_WINDOW_ID
         AND AD_TAB.AD_TABLE_ID = AD_TABLE.AD_TABLE_ID 
-        AND AD_TAB.AD_TAB_ID = AD_MODEL_OBJECT.AD_TAB_ID 
-        AND AD_MODEL_OBJECT.ISACTIVE = 'Y' 
-        AND AD_MODEL_OBJECT.ISDEFAULT = 'Y' 
         AND AD_WINDOW.IsActive = 'Y'
         AND UPPER(AD_WINDOW.NAME) LIKE '%' || UPPER(?) || '%' 
         AND AD_TAB.ad_table_id IN
@@ -71,15 +68,12 @@
         ad_tab.AD_COLUMNSORTYESNO_ID,
         AD_TABLE.ACCESSLEVEL, AD_TAB.ad_process_id, AD_TAB.UIPATTERN, AD_TAB.NAME AS realTabName, AD_TAB.ORDERBYCLAUSE, 
         '' as tabNameTrl, AD_TABLE.ad_table_id AS table_Id, ad_tab.isInfoTab, ad_tab.isTranslationTab, '' AS NameTab, 
-        replace(replace(AD_TAB.FILTERCLAUSE, CHR(10), ' '), CHR(13), ' ') AS FILTERCLAUSE, AD_TAB.EDITREFERENCE, AD_MODEL_OBJECT.CLASSNAME,
+        replace(replace(AD_TAB.FILTERCLAUSE, CHR(10), ' '), CHR(13), ' ') AS FILTERCLAUSE, AD_TAB.EDITREFERENCE, 
         (CASE WHEN M1.AD_MODULE_ID='0' THEN NULL ELSE M1.JavaPackage END) AS JAVAPACKAGE, AD_TAB.AD_MODULE_ID as tabmodule,
         AD_TABLE.ISDELETEABLE
-        FROM AD_TAB, AD_WINDOW, AD_TABLE, AD_MODEL_OBJECT, AD_MODULE M1, AD_MODULE M
+        FROM AD_TAB, AD_WINDOW, AD_TABLE, AD_MODULE M1, AD_MODULE M
         WHERE AD_TAB.AD_WINDOW_ID = AD_WINDOW.AD_WINDOW_ID
         AND AD_TAB.AD_TABLE_ID = AD_TABLE.AD_TABLE_ID 
-        AND AD_TAB.AD_TAB_ID = AD_MODEL_OBJECT.AD_TAB_ID 
-        AND AD_MODEL_OBJECT.ISACTIVE = 'Y' 
-        AND AD_MODEL_OBJECT.ISDEFAULT = 'Y' 
         AND AD_WINDOW.IsActive = 'Y'
         AND UPPER(AD_WINDOW.NAME) LIKE '%' || UPPER(?) || '%' 
         AND AD_TAB.ad_table_id IN
@@ -149,15 +143,12 @@
         ad_tab.AD_COLUMNSORTYESNO_ID,
         AD_TABLE.ACCESSLEVEL, AD_TAB.ad_process_id, AD_TAB.UIPATTERN, AD_TAB.NAME AS realTabName, AD_TAB.ORDERBYCLAUSE, 
         '' as tabNameTrl, AD_TABLE.ad_table_id AS table_Id, ad_tab.isInfoTab, ad_tab.isTranslationTab, '' AS NameTab, 
-        replace(replace(AD_TAB.FILTERCLAUSE, CHR(10), ' '), CHR(13), ' ') AS FILTERCLAUSE, AD_TAB.EDITREFERENCE, AD_MODEL_OBJECT.CLASSNAME,
+        replace(replace(AD_TAB.FILTERCLAUSE, CHR(10), ' '), CHR(13), ' ') AS FILTERCLAUSE, AD_TAB.EDITREFERENCE, 
         (CASE WHEN M1.AD_MODULE_ID='0' THEN NULL ELSE M1.JavaPackage END) AS JAVAPACKAGE, AD_TAB.AD_MODULE_ID as tabmodule,
         AD_TABLE.ISDELETEABLE
-        FROM AD_TAB, AD_WINDOW, AD_TABLE, AD_MODEL_OBJECT, AD_SYSTEM_INFO SI, AD_MODULE M1
+        FROM AD_TAB, AD_WINDOW, AD_TABLE, AD_SYSTEM_INFO SI, AD_MODULE M1
         WHERE AD_TAB.AD_WINDOW_ID = AD_WINDOW.AD_WINDOW_ID
         AND AD_TAB.AD_TABLE_ID = AD_TABLE.AD_TABLE_ID 
-        AND AD_TAB.AD_TAB_ID = AD_MODEL_OBJECT.AD_TAB_ID 
-        AND AD_MODEL_OBJECT.ISACTIVE = 'Y' 
-        AND AD_MODEL_OBJECT.ISDEFAULT = 'Y' 
         AND AD_WINDOW.IsActive = 'Y'
         AND M1.AD_MODULE_ID = AD_WINDOW.AD_Module_ID
         AND AD_TAB.ad_table_id IN

