Hi Gurus,
I have problem with this oracle applications customization, I have an OASubTabLayoutBean, depending to the input params, I have to show/hide some subTabs, in another projects I just have to do:
OASubTabLayoutBean tab = (OASubTabLayoutBean)pageContext.getPageLayoutBean().findIndexedChild("MySubTabLayout");
tab.hideSubTab(0, true); // hide
tab.hideSubTab(1, true); // hide
tab.hideSubTab(2, false); // show
tab.hideSubTab(3, true); // hide
But this doesn't work right now, I ran the application and the result is just the page shows all the subTabs without showing any error on the Log, and when it debug it, execute the command lines fine.
what can i do to force to hide these subtabs regions? please help me
Best Regards,
Mentor
here's my code:
Note:
Like I said before, this is an OAF customization, so as you can see on the processrequest this one is extending from the original controller
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package xxdi.oracle.apps.eam.toolbelt.webui;
import oracle.apps.eam.toolbelt.webui.WorkOrderDetailsPGCO;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.beans.layout.OASubTabLayoutBean;
import oracle.jbo.Row;
/**
* Controller for ...
*/
public class XxdiWorkOrderDetailsPGCO60 extends WorkOrderDetailsPGCO
{
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
/**
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
*/
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
OAViewObject voWOCreateUpdateVO = (OAViewObject)am.findViewObject("WorkOrderDetailsVO");
String rowStatus = "";
if (true) {
if (true) {
Row row = voWOCreateUpdateVO.getRowAtRangeIndex(0);
if(true)
{
pageContext.putSessionValue("AssetGroup",row.getAttribute("AssetGroup").toString());
rowStatus = row.getAttribute("SystemStatus").toString();
if ("4".equalsIgnoreCase(rowStatus))
{
HideOptions(pageContext, webBean);
}
}
}
}
}
/**
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
*/
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processFormRequest(pageContext, webBean);
}
private void HideOptions(OAPageContext pageContext, OAWebBean webBean) {
OASubTabLayoutBean tab = (OASubTabLayoutBean)pageContext.getPageLayoutBean().findIndexedChild("WorkOrderSubTabs");
tab.hideSubTab(0,true);
tab.hideSubTab(2,true);
tab.hideSubTab(3, false);
tab.hideSubTab(1, true);
}
}