As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name.
We have a few custom HTML pages that have a dropdown, the value of which is a fex name. The user picks one, and presses a button to run that report. In WebFOCUS 8.1, we used a JavaScript function like this to change the ibif_ex attribute in the XML to the fex name, e.g. /WFC/Repository/MyFolder/my_stub.fex:
function resetRequest(rep, attr){
//for changing the attributes about what procedure to run
var reqid = "report1";
var myXmlRoot = loadXmlDoc();
var pattern = "//requests/request[@requestid='" + reqid + "']";
var requestNode = getSingleNode(myXmlRoot, pattern);
if(requestNode) {
requestNode.setAttribute(attr,rep);
} else {
alert("No request was found for request ID " + reqid + ". Be sure the reqid variable in cboReport_change() of the HTML file is set to the request ID of the Run button.");
}
}
But now, in 8204, this code works, but doesn't affect what is actually run when the button is clicked anymore.
What changed? What's the new way to change what FEX is run for a particular request?This message has been edited. Last edited by: FP Mod Chuck,
I'm not really sure what you mean by the first option. We give the choice to run the report as AHTML or as Excel, and deferred or immediately, but most users just use the Excel option, so there's no pane to open the report in, and in any case, my JavaScript is supposed to already be running the report chosen.
As to the second option, I was thinking of that yesterday, and need to ruminate on it a bit more, but it's complicated by the fact that we have over 50 reports, and each one of them could run 1 of 2 fexes, depending on whether the user chooses AHTML or Excel.
But for the sake of argument, do you have any sample code handy for what that "switcher fex" could look like? Right now we have a stub procedure for each report the user could pick and within that, depending on whether they chose AHTML or Excel, there's a GO TO statement with MRNOEDIT INCLUDE to run 1 of 2 fexes. Is there a way to say "INCLUDE &FEX_NAME"?
This isn't what you asked for; I can't think where I've done exactly that. However, I have a number of reports with multiple forms, each executing a different task. I wonder if you could use multiple tasks to your advantage somehow. . .
That's awesome, thanks. I tried the HTML option first, and got something working; at least it's able to run a fex on the reporting server from a variable name, which is cool.
But I'll probably have to go the switcher route, because once the user picks the report, they can pick Excel or AHTML output, as well as running immediately or deferred, and to me those don't seem like they would work with your HTML option. For example, Excel deferred; not sure if that would work. At least, me changing to defer for the HTML option didn't work for me.
I like the HTML option in that it's short being that it runs the fex based on the variable, whereas the switcher would mean a long fex with a section for each report (we have like 100), but that option wouldn't really have any problem doing AHTML/Excel/Defer/Immediate, since it's all just code. But if we add a new report, we need to add a new section.
Any further comments welcome, but thank you Waz for the help and samples!