Solution – This scenario can have a Single GO Button as a solution, which can be created in addition to the different GO buttons coming by default with the different prompts. We will call this additional GO Button as the Global GO Button. This Global Go Button will take all the dashboard prompts filter entries and will submit them to the reports. Follow the following steps to create single GO button on the dashboard page. This change involves scripting/modifying some of OBIEE js files.
a. Add a new function to globalfilterprompt.js. This file resides into multiple locations
\OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res\b_mozilla\prompts
And
\OracleBI\web\app\res\b_mozilla\prompts.
If you are using OC4J, then add the following code in the former location and if you use Web Application Server, then add the code in the file at the later location.
Add the following code to the js file –
//Custom Function To be appended for the Custom Global Go button
function GFPDoFilters_samvi(sViewID, tTable, bGFPReloadInline){
if(sViewID==ksGFPStatePath)
return;
var tExpr = XUICreateElement(saw.xml.kSawxNamespace, 'expr');
tExpr.setAttribute("xsi:type", "sawx:logical");
tExpr.setAttribute("op", "and");
for(var h=0; h
var tPromptCells_New = tTable[h].getElementsByTagName("TD");
for(var i=0; i
var tElement = tPromptCells_New[i];
if(tElement.getAttribute("GFPBuilder") != null)
{
try
{
var tFilter = eval(tElement.getAttribute("GFPBuilder"));
if(tFilter)
{
tExpr.appendChild(tFilter);
}
}
catch(e)
{
alert('Exception Resulted'+e);
return;
}
}
}
}
var tDelayedDash = document.getElementById("sawDashboardDelayed");
if(tExpr.childNodes.length==0 && !document.getElementById("sawDashboardDelayed"))
return false;
else if(tExpr.childNodes.length==0)
tExpr = null;
else if(tExpr.childNodes.length==1)
tExpr=tExpr.childNodes[0];
if(tExpr)
{
tExpr.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
}
var tForm = GetViewForm('', -1, bGFPReloadInline);
if(sViewID==ksGFPStatePath)
{
var tRoot = XUIGetRootXML("idXUIGFPPreview");
tForm.P1.value = saw.getXmlText(saw.getFirstChildElement(tRoot));
tForm.action = saw.commandToURL("ViewPreview");
submitViewForm(tForm, null);
return;
}
GFPApplyFilters(tForm, tExpr, sViewID);
return false;
}
b. Restart presentation service
c. Please go to the dashboard page, edit dashboard and add a “Text” dashboard object, after the prompts
d. Edit the Text object and paste the code attached below and check the “Contains HTML Markup” check-box. Please add script open and close tags to the attached code
e. Please save and you can validate the Global Go Button.
Pros:
1) This method is very helpful, where we need only one button to take the values of the rest of the prompt buttons.
2) Ease of using the multiple dashboard prompts
3) No effect of this button on any other dashboard pages or other projects.
Cons:
1) Oracle has not yet supported this in the forthcoming versions.

hey i m getting this error
ReplyDeleteException OccurredReferenceError: GFPDoFilters_samvi is not defined
i don't know , why?