Focal Point
[SOLVED] How to apply a common set of parms to multiple reports in one html layout

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/4031000912

March 19, 2007, 02:25 PM
Lusheng
[SOLVED] How to apply a common set of parms to multiple reports in one html layout
It may contains 4 reports in HTML form by using HTML layout. We want to pass a common set of parameters to all these 4 reports (in same HTML form). I only see the sample to pass a common set of parms to one report and one external report in Designing a User Interface for a Web Application With the HTML Layout Painter. Is this possible?

Thanks in advance for your response!

This message has been edited. Last edited by: Kerry,
March 19, 2007, 02:35 PM
Leah
quote:
reports in HTML form by using HTML layout. We want to pass a common set of parameters to all these 4 reports (in same HTML form).


If your parameter name is the same for all reports, you only need the parameter in the form once - external procedures any way.


Leah
March 19, 2007, 03:46 PM
Lusheng
Leah, that's what I thought as long as I apply same where conditions to all reports, then the common set of parms should applied to all the reports. It is NOT true when I ran it, and found the common set of parms only applied to one of the reports, not all! This is in the version 7.60.
March 19, 2007, 03:57 PM
susannah
does your fex produce 4 separate html tables thatyou want to display at the same time? or does your fex produce 4 separate files that you post somewhere. It might be an important distinction.
-* heres 1 way - your form launches a fex that, itself, runs the 4 individual fexes;

-SET &MYPAR1M = 'VALUE1' ;
-SET &MYPARM2 = 'VALUE2';
-SET &MYPARM3 = 1234 ;
EXEC FEX1 MYPARM1 = &MYPARM1 , MYPARM2 = &MYPARM2, MYPARM3 = &MYPARM3
-RUN
EXEC FEX2 MYPARM1 = &MYPARM1 , MYPARM2 = &MYPARM2, MYPARM3 = &MYPARM3
-RUN
EXEC FEX3 MYPARM1 = &MYPARM1 , MYPARM2 = &MYPARM2, MYPARM3 = &MYPARM3
-RUN
EXEC FEX4 MYPARM1 = &MYPARM1 , MYPARM2 = &MYPARM2, MYPARM3 = &MYPARM3
...
or
if you have no labels/internalparms in common
you can use -INCLUDE FEX1 ... etc, risky.
nb1: the command EXEC contains an internal -MRNOEDIT BEGIN...which really screws things up if you're trying to go to a remote server with this sort of JCL.
nb2: if your individual fexes produce an html report, make sure you
ON TABLE HOLD AS MYTAB1..

ON TABLE HOLD AS MYTAB2, etc
and do NOT use -HTMLFORM BEGIN in any of these fexes (bypass it , if you do)
Then at the end of this EXEC jcl, you plop your
-HTMLFORM BEGIN
!IBI.FIL.MYTAB1;
!IBI.FIL.MYTAB2;
..etc
-HTMLFORM END




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
March 19, 2007, 04:40 PM
Lusheng
Susannah, we are using different platform than yours. Our situation is one HTML file contains 4 focexec queries. Here is a portion of HTML file looks like (this is done in Webfocus HTML Layout):
<request requestid="0" targetname="report1" ibif_ex="report1" targettype="0" sourcetype="typeAdhocfex" ibiapp_app="" paramremovedbyuser="CAR&COUNTRY">
		
< ![CDATA[-*focexectool
TABLE FILE CAR
PRINT
     CAR
BY COUNTRY
WHERE ( CAR EQ '&CAR.(FIND CAR IN CAR).Select a car.');
WHERE ( COUNTRY EQ '&COUNTRY.(FIND COUNTRY IN CAR).Select a country.');
HEADING
""
FOOTING
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML

END]]>
		
<variables>
			
<variable field="CAR" file="CAR.mas" desc="Select a car" datatype="1" operation="" default="" name="CAR" accept="0" type="unresolved" select="0" controltype="8">
			</variable>
			
<variable field="COUNTRY" file="CAR.mas" desc="Select a country" datatype="1" operation="" default="" name="COUNTRY" accept="0" type="unresolved" select="0" controltype="8">
			</variable></variables></request>
	
<request requestid="1" targetname="report2" ibif_ex="report2" targettype="0" sourcetype="typeAdhocfex" ibiapp_app="" paramremovedbyuser="CAR&COUNTRY">
		
< ![CDATA[TABLE FILE CAR
WHERE ( CAR EQ '&CAR.(FIND CAR IN CAR).Select a car.');
WHERE ( COUNTRY EQ '&COUNTRY.(FIND COUNTRY IN CAR).Select a country.');
PRINT
     MODEL
     RETAIL_COST
BY COUNTRY
BY CAR
HEADING
""
FOOTING
""
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML

END]]> 

This message has been edited. Last edited by: Kerry,
March 19, 2007, 04:42 PM
Lusheng
In my post above, the set of common parms only applies to first table query, not the second one within that HTML file.
March 19, 2007, 06:35 PM
Lusheng
I figured out to use Javascript to do this. Thanks for your reply.
March 19, 2007, 06:45 PM
susannah
Lu, you need to put code tags around the code in your post, so we can read it.

Would you be kind enough to post your js solution?




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
March 20, 2007, 10:41 AM
Lusheng
Susan,

Here is the javascript code. I hided 3 buttons, and each is associated with a report resides in the separate frame, but within one html form. When you click on the first button, you set focus to other 3, and other 3 buttons launch onfocus event. To the users, all the events happens at same time.

function button1_OnClick(ctrl) {
// TODO: Add your event handler code here
OnExecute(ctrl)
button2.focus();
button3.focus();
button4.focus();

}

function button2_onfocus(ctrl) {
OnExecute(ctrl)
}

function button3_onfocus(ctrl) {
OnExecute(ctrl)
}

function button4_onfocus(ctrl) {
OnExecute(ctrl)
}

function button4_OnClick(ctrl) {
// TODO: Add your event handler code here
OnExecute(ctrl)
}
March 22, 2007, 10:59 AM
Trav
I'm not sure if this is where you're going, but take a look at your "hyperlink properties" for your button_1. You can add multiple hyperlinks to a single button...



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
June 23, 2011, 11:16 AM
vaayu
I am running into the same problem. I have 4 report blocks(Iframes) with one input parameter common for all. For some reason only one gets refreshed. I have updated the hyperlink properties to add all 4 external procedures. here's the code for IFRAMES
 <IFRAME style="Z-INDEX: 11; POSITION: absolute; WIDTH: 430px; HEIGHT: 350px; TOP: 100px; LEFT: 490px" id=report2 title=app/exceptionsbystatus.fex tabIndex=10 elementtype="2" requests_list="3" autoExecute="True" yaxiscolumns="Students" xaxiscolumns="Status" HEIGHTOLD="350" WIDTHOLD="430" activeType="6" name="report2"></IFRAME>
<IFRAME style="Z-INDEX: 12; POSITION: absolute; WIDTH: 470px; HEIGHT: 350px; TOP: 100px; LEFT: 10px" id=report3 title=app/exceptionsbyreason.fex tabIndex=11 elementtype="2" requests_list="4" autoExecute="True" yaxiscolumns="Students" xaxiscolumns="Reason" HEIGHTOLD="350" WIDTHOLD="470" activeType="5" name="report3"></IFRAME>
<IFRAME style="Z-INDEX: 13; POSITION: absolute; WIDTH: 550px; HEIGHT: 580px; TOP: 460px; LEFT: 10px" id=report4 title=app/exceptionstable.fex tabIndex=12 elementtype="2" requests_list="8" autoExecute="True" HEIGHTOLD="580" WIDTHOLD="550" activeType="2" name="report4"></IFRAME>
<IFRAME style="Z-INDEX: 1; POSITION: absolute; WIDTH: 450px; HEIGHT: 350px; TOP: 460px; LEFT: 580px" id=report1 title=app/exceptionsbyterm.fex tabIndex=1 elementtype="2" persistentuniqueid="compUid_2" requests_list="0" autoExecute="True" yaxiscolumns="Students" xaxiscolumns="Term" HEIGHTOLD="350" WIDTHOLD="450" activeType="4" name="report1"></IFRAME> 


I just want to be able to refresh all IFRAMEs but only report4 gets updated. THey're all Active reports if it matters and I'm using HTML Composer 7.7.2

here's the variable part of HTML
 <variables>
			
<variable controltype="7" parametercreatedinreslay="0" type="default" desc="YEAR" name="YEAR" default="2010" textvarname="" accept="0" select="0" create="1" top="70" left="30" width="60" height="20" inbinding="1">
				
<link linktype="default" from="compUid_1" persistentuniqueid="compUid_2">
					
<condition default="1" name="Default" whattodowithcontrol="4" valuescompareoperator="0" parameterscompareoperator="0" conditionmultiselectoperator="0">
						
<data_info checkForDuplicateValues="0" displayfield="YEAR" ibiformat="A4" datafield="YEAR" datasource="exceptionsummary.mas" datatype="0" selectedvalue="2010" operation="" slider_range_from="" slider_range_to="" previewvalue="2010" sourcetype="typeMaster" linktype="none">
							
<static_values>
<static value="2010" display="2010" selected="1" noinput="0"></static></static_values></data_info></condition></link>
				
<requestid id="11"></requestid>
				
<requestid id="3"></requestid>
<requestid id="4"></requestid>
<requestid id="0"></requestid></variable></variables> 


Please help!

Thanks a bunch!


-********************
Sandbox: 8206.10
Dev: 8201M
Prod:8009
-********************
June 24, 2011, 10:29 AM
Dan Pinault
We have a 'dashboard' with several iframes on it. We update them by creating a javascript function and calling that when the 'Run' button is clicked.

  
//Begin function reLoadFrames
function reLoadFrames() {
  ctl1=document.getElementById("mapframe");
  ctl2=document.getElementById("barframe");
  ctl3=document.getElementById("pieframe");
  ctl4=document.getElementById("gridframe");
  ctl5=document.getElementById("picframe");
  OnExecute(ctl1); //Refresh mapframe procedure
  OnExecute(ctl2); //Refresh barframe procedure
  ctl3.src="";     //Clear contents of pieframe
  ctl4.src="";     //Clear contents of gridframe
  OnExecute(ctl5); //Refresh picframe procedure
}
//End function reLoadFrames

//Begin function runButt_onclick
function runButt_onclick(ctrl) {
reLoadFrames()
}
//End function runButt_onclick



7.7.05M/7.7.03 HF6 on Windows Server 2003 SP2 output to whatever is required.
June 24, 2011, 10:38 AM
vaayu
Dan - This is great, I'm sure it will work just fine...

Thanks so much..