In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
quote:FILEDEF PAYFEED1 DISK C:\IBI\APPS\BASEAPP\PAYROLL_DATA\PAYFEED1.FTM
TABLE FILE PAYFEED1
SUM PAYPERIOD
BY PAYPERIOD
ON TABLE PCHOLD FORMAT XML
END
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
-* File selctry.fex TABLE FILE CAR SUM FST.COUNTRY BY COUNTRY ON TABLE PCHOLD FORMAT XML ENDNext create a new procedure, call it car_rep.fex and place the following code within it -
-* File car_rep.fex -DEFAULT &Country = 'FOC_NONE' SET PAGE-NUM = NOPAGE TABLE FILE CAR SUM RCOST DCOST BY COUNTRY BY CAR BY MODEL WHERE COUNTRY EQ '&Country' HEADING "</2" ON TABLE SET ONLINE-FMT HTML ON TABLE SET HTMLCSS ON ENDNow open the car_rep.fex with resource layout painter and you should see a semi built web page with a combo box with Country shown within it together with submit and reset buttons.
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
-* File selcar.fex -DEFAULT &Country = 'FOC_NONE' TABLE FILE CAR SUM FST.CAR BY CAR WHERE COUNTRY EQ '&Country' ON TABLE PCHOLD FORMAT XML ENDNow add a default value for &Car to the car_rep.fex and a selection clause for CAR being equal to &Car -
AND CAR EQ '&Car'Next reopen the car_rep.fex using resource layout painter and you should see a new combo box for the variable &Car. Select this and assign the parameter settings to Procedure, selcar.fex and the ALL option as before.
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
<HTML> <HEAD> <TITLE>HtmlPage </TITLE> <META content="WebFocus Report Layout Painter" name ="Generator"> <script id=IbiOptionsScript type=text/javascript> var cgipath = "cgipath"; var ibirls = "ibirls"; var multidrill = "multidrill"; var mntFormValidate = "mntFormValidate"; var dyncalendar = "dyncalendar"; var ibiOptions = new Array(cgipath,ibirls,mntFormValidate,multidrill); </SCRIPT> <script id=nls src="/ibi_html/javaassist/nls.js" type=text/javascript> </SCRIPT> <script id=ibigbl src="/ibi_html/javaassist/ibi/html/js/ibigbl.js" type=text/javascript> </SCRIPT> <script id=ibigblloadCss type=text/javascript> ibigblloadCss(null); </SCRIPT> </HEAD> <BODY onload=OnLoad[) nextelementnum="6" drawgrid="1" snaptogrid="1" gridsizeCX="5" gridsizeCY="5" pagesizeCX="2000" pagesizeCY="2000"> < !--startibiitems--> <FORM onsubmit=SaveValues[) method=post name ="form"> <INPUT type=hidden value=car_rep name ="IBIF_ex"> <INPUT id=IBIAPP_app type=hidden value=baseapp name ="IBIAPP_app"> <SELECT id=ITEM1 style="Z-INDEX: 4; LEFT: 20px; WIDTH: 150px; POSITION: absolute; TOP: 25px; HEIGHT: 22px" name ="Country" elementname="combobox1" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="1" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="selctry1.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <INPUT id=ITEM2 style="Z-INDEX: 5; LEFT: 20px; WIDTH: 80px; POSITION: absolute; TOP: 60px; HEIGHT: 30px" type=submit value=Submit name ="button2" elementname="button2" elementtype="button" sourcetype="typeUrl" targetname targettype="0" onclickset="0"> <INPUT id=ITEM3 style="Z-INDEX: 6; LEFT: 110px; WIDTH: 80px; POSITION: absolute; TOP: 60px; HEIGHT: 30px" type=reset value=Reset name ="button3" elementname="button3" elementtype="button" sourcetype="typeUrl" targetname targettype="0" onclickset="0"> <SELECT id=ITEM4 style="Z-INDEX: 11; LEFT: 185px; WIDTH: 150px; POSITION: absolute; TOP: 25px; HEIGHT: 22px" name ="Car" elementname="combobox4" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="2" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="selctry2.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <SELECT id=ITEM5 style="Z-INDEX: 12; LEFT: 350px; WIDTH: 150px; POSITION: absolute; TOP: 25px; HEIGHT: 22px" name ="Model" elementname="combobox5" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="3" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="selctry3.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> </FORM> <script type=text/javascript> < !-- window.chain0=new Array(1); window.chain0[0]=new String("ITEM1;ITEM4;ITEM5"); window.chain0[1]=0 //--> </SCRIPT> < !--endibiitems--> <script id=OnloadHandler> function OnLoad() { < !--startibilines--> UpdateData(); < !--endibilines--> } </SCRIPT> </BODY> </HTML>
-* File selctry1.fex TABLE FILE CAR SUM FST.COUNTRY BY COUNTRY ON TABLE PCHOLD FORMAT XML END -* File selctry2.fex -DEFAULT &Country = 'FOC_NONE' TABLE FILE CAR SUM FST.CAR BY CAR WHERE COUNTRY EQ '&Country' ON TABLE PCHOLD FORMAT XML END -* File selctry3.fex -DEFAULT &Country = 'FOC_NONE' -DEFAULT &Car = 'FOC_NONE' TABLE FILE CAR SUM FST.MODEL BY MODEL WHERE COUNTRY EQ '&Country' AND CAR EQ '&Car' ON TABLE PCHOLD FORMAT XML END
-* File car_rep.fex -DEFAULT &Country = 'FOC_NONE' -DEFAULT &Car = 'FOC_NONE' -DEFAULT &Model = 'FOC_NONE' SET PAGE-NUM = NOPAGE TABLE FILE CAR SUM RCOST DCOST BY COUNTRY BY CAR BY MODEL WHERE COUNTRY EQ '&Country' AND CAR EQ '&Car' AND MODEL EQ '&Model' ON TABLE SET ONLINE-FMT HTML ON TABLE SET HTMLCSS ON END
-* Don't forget to set up your connection strings etc. SQL SELECT DISTINCT EmployeeID , FirstName + " " + LastName AS FullName FROM NorthWind ; TABLE FILE SQLOUT PRINT * ON TABLE HOLD END -RUN TABLE FILE HOLD PRINT FullName BY EmployeeID ON TABLE PCHOLD FORMAT XML END -RUN
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |
<HTML> <HEAD> <TITLE>HtmlPage </TITLE> <META content="WebFocus Report Layout Painter" name ="Generator"> <script id=IbiOptionsScript type=text/javascript> var cgipath = "cgipath"; var ibirls = "ibirls"; var multidrill = "multidrill"; var mntFormValidate = "mntFormValidate"; var dyncalendar = "dyncalendar"; var ibiOptions = new Array(cgipath,ibirls,mntFormValidate,multidrill); </SCRIPT> <script id=nls src="/ibi_html/javaassist/nls.js" type=text/javascript> </SCRIPT> <script id=ibigbl src="/ibi_html/javaassist/ibi/html/js/ibigbl.js" type=text/javascript> </SCRIPT> <script id=ibigblloadCss type=text/javascript> ibigblloadCss(null); </SCRIPT> </HEAD> <BODY style="FONT-WEIGHT: 700; FONT-SIZE: 10pt; OVERFLOW: auto; FONT-STYLE: normal; FONT-FAMILY: System; BACKGROUND-COLOR: rgb[147,181,206); TEXT-DECORATION: none" bgColor=#000000> < !--startibiitems--> <FORM id=form2 style="Z-INDEX: 2; LEFT: 0px; WIDTH: 790px; POSITION: absolute; TOP: 60px; HEIGHT: 630px" tabIndex=2 name=form2 onsubmit="OnExecute[this);win_open[);return false;" method=get form_dist_between_desc_and_input="10" form_hor_dist_between_controls="10" vert_dist_between_controls="10" form_number_of_columns="4" form_number_of_visible_rows="4" form_prompt_location="1" fexlist_list="report1;form2" requests_list="6" operation="OR" multiple="multiple"> <INPUT id=ITEM2 style="Z-INDEX: 5; LEFT: 20px; WIDTH: 80px; POSITION: absolute; TOP: 160px; HEIGHT: 30px" type=submit value=Submit name ="button2" elementname="button2" elementtype="button" sourcetype="typeUrl" targetname targettype="0" onclickset="0"> <INPUT id=ITEM3 style="Z-INDEX: 6; LEFT: 110px; WIDTH: 80px; POSITION: absolute; TOP: 160px; HEIGHT: 30px" type=reset value=Reset name ="button3" elementname="button3" elementtype="button" sourcetype="typeUrl" targetname targettype="0" onclickset="0"> <SELECT id=ITEM1 style="Z-INDEX: 4; LEFT: 20px; WIDTH: 150px; POSITION: absolute; TOP: 5px; HEIGHT: 140px" size=5 name="Country" elementname="combobox1" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="1" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="rvts668a.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <SELECT id=ITEM4 style="Z-INDEX: 11; LEFT: 185px; WIDTH: 150px; POSITION: absolute; TOP: 5px; HEIGHT: 140px" size=5 name="Car" elementname="combobox4" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="2" chainnumber="0" cacheruntimedata="0" displayfield="CAR" numofrecords="-1" datafield="CAR" sourcetype="typeFex" datasource="rvts668b.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <SELECT id=ITEM5 style="Z-INDEX: 12; LEFT: 350px; WIDTH: 150px; POSITION: absolute; TOP: 5px; HEIGHT: 140px" size=5 name="Model" elementname="combobox5" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="3" chainnumber="0" cacheruntimedata="0" displayfield="MODEL" numofrecords="-1" datafield="MODEL" sourcetype="typeFex" datasource="rvts668c.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <INPUT id=IBIMR_domain style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=developm/developm.htm name=IBIMR_domain> <INPUT id=IBIMR_folder style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=#testinghlvo3 name=IBIMR_folder> <INPUT id=ibif_ex style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=app/rvts668z.htm name=ibif_ex> <INPUT id=ibiapp_app style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=baseapp name=ibiapp_app ismre="1"> <INPUT id=ibic_server style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=SHARED name=ibic_server> <input type='hidden' name='IBIMR_action' value="MR_RUN_FEX"> <input type='hidden' name='IBIMR_sub_action' value="MR_STD_REPORT"> <input type='hidden' name='IBIMR_fex' value="app/rvts668r.fex"> < !-- THIS IS THE SAME AS THE LINE ABOVE IT... --> <input type='hidden' name='IBIF_ex' value="app/rvts668r.fex"> <input type='hidden' name='IBIMR_flags' value=""> </FORM> <script type=text/javascript> < !-- window.chain0=new Array(1); window.chain0[0]=new String("ITEM1;ITEM4;ITEM5"); window.chain0[1]=0 //--> </SCRIPT> < !--endibiitems--> <script id=OnloadHandler> function OnLoad() { < !--startibilines--> UpdateData(); < !--endibilines--> } </SCRIPT> </BODY> </HTML>
-* File rvts668a.fex -*APP HOLD BASEAPP -* TABLE FILE CAR SUM FST.COUNTRY BY COUNTRY ON TABLE PCHOLD FORMAT XML END -* File rvts668b.fex -*APP HOLD BASEAPP -* -DEFAULT &Country = 'FOC_NONE' TABLE FILE CAR SUM FST.CAR BY CAR WHERE COUNTRY EQ '&Country' ON TABLE PCHOLD FORMAT XML END -* File rvts668c.fex -*APP HOLD BASEAPP -* -DEFAULT &Country = 'FOC_NONE' -DEFAULT &Car = 'FOC_NONE' TABLE FILE CAR SUM FST.MODEL BY MODEL WHERE COUNTRY EQ '&Country' AND CAR EQ '&Car' ON TABLE PCHOLD FORMAT XML END
This message has been edited. Last edited by: Kerry,quote:Originally posted by Tony A:
Of course.
The following code was hand coded in 5.3.2 on Windows. As you are probably aware, I'm not a fan of the GUI although the HTML originates from the report layout painter. This is because it provides the basics that I needed to refine the HTML and also speeds the end result. I could go into why I take this approach but you might have heard the phrase - "Old coders never die, they just ..........".
Given that this is provided code and the problem Bill had in placing it into the required file, just right click in your application and choose "New" and then "Procedure" or "HTML File" as required. Before clicking OK on the next dialogue, choose "Text Editor" from the "Create with" selection box.
The HMTL file. Place it in the baseapp application folder to ensure that you require no changes to the code -<HTML> <HEAD> <TITLE>HtmlPage </TITLE> <META content="WebFocus Report Layout Painter" name ="Generator"> <script id=IbiOptionsScript type=text/javascript> var cgipath = "cgipath"; var ibirls = "ibirls"; var multidrill = "multidrill"; var mntFormValidate = "mntFormValidate"; var dyncalendar = "dyncalendar"; var ibiOptions = new Array(cgipath,ibirls,mntFormValidate,multidrill); </SCRIPT> <script id=nls src="/ibi_html/javaassist/nls.js" type=text/javascript> </SCRIPT> <script id=ibigbl src="/ibi_html/javaassist/ibi/html/js/ibigbl.js" type=text/javascript> </SCRIPT> <script id=ibigblloadCss type=text/javascript> ibigblloadCss(null); </SCRIPT> </HEAD> <BODY onload=OnLoad[) nextelementnum="6" drawgrid="1" snaptogrid="1" gridsizeCX="5" gridsizeCY="5" pagesizeCX="2000" pagesizeCY="2000"> < !--startibiitems--> <FORM onsubmit=SaveValues[) method=post name ="form"> <INPUT type=hidden value=car_rep name ="IBIF_ex"> <INPUT id=IBIAPP_app type=hidden value=baseapp name ="IBIAPP_app"> <SELECT id=ITEM1 style="Z-INDEX: 4; LEFT: 20px; WIDTH: 150px; POSITION: absolute; TOP: 25px; HEIGHT: 22px" name ="Country" elementname="combobox1" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="1" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="selctry1.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <INPUT id=ITEM2 style="Z-INDEX: 5; LEFT: 20px; WIDTH: 80px; POSITION: absolute; TOP: 60px; HEIGHT: 30px" type=submit value=Submit name ="button2" elementname="button2" elementtype="button" sourcetype="typeUrl" targetname targettype="0" onclickset="0"> <INPUT id=ITEM3 style="Z-INDEX: 6; LEFT: 110px; WIDTH: 80px; POSITION: absolute; TOP: 60px; HEIGHT: 30px" type=reset value=Reset name ="button3" elementname="button3" elementtype="button" sourcetype="typeUrl" targetname targettype="0" onclickset="0"> <SELECT id=ITEM4 style="Z-INDEX: 11; LEFT: 185px; WIDTH: 150px; POSITION: absolute; TOP: 25px; HEIGHT: 22px" name ="Car" elementname="combobox4" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="2" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="selctry2.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> <SELECT id=ITEM5 style="Z-INDEX: 12; LEFT: 350px; WIDTH: 150px; POSITION: absolute; TOP: 25px; HEIGHT: 22px" name ="Model" elementname="combobox5" elementtype="combobox" labelid caption="combobox" operation="NONE" ibiformat datatype="1" addalloption="1" dynalldisplayvalue="ALL" inchainindex="3" chainnumber="0" cacheruntimedata="0" displayfield="COUNTRY" numofrecords="-1" datafield="COUNTRY" sourcetype="typeFex" datasource="selctry3.fex" IBIC_server IBIAPP_app="baseapp" datafieldtype="CHAR"> </SELECT> </FORM> <script type=text/javascript> < !-- window.chain0=new Array(1); window.chain0[0]=new String("ITEM1;ITEM4;ITEM5"); window.chain0[1]=0 //--> </SCRIPT> < !--endibiitems--> <script id=OnloadHandler> function OnLoad() { < !--startibilines--> UpdateData(); < !--endibilines--> } </SCRIPT> </BODY> </HTML>
The fexes used to populate the selects. Place all three in the baseapp application folder, as per your HTML above. Fex names are in the comment lines --* File selctry1.fex TABLE FILE CAR SUM FST.COUNTRY BY COUNTRY ON TABLE PCHOLD FORMAT XML END -* File selctry2.fex -DEFAULT &Country = 'FOC_NONE' TABLE FILE CAR SUM FST.CAR BY CAR WHERE COUNTRY EQ '&Country' ON TABLE PCHOLD FORMAT XML END -* File selctry3.fex -DEFAULT &Country = 'FOC_NONE' -DEFAULT &Car = 'FOC_NONE' TABLE FILE CAR SUM FST.MODEL BY MODEL WHERE COUNTRY EQ '&Country' AND CAR EQ '&Car' ON TABLE PCHOLD FORMAT XML END
The ultimate report would need to have a default for each variable that will be pumped in from the web page (good practice) and also a WHERE clause.-* File car_rep.fex -DEFAULT &Country = 'FOC_NONE' -DEFAULT &Car = 'FOC_NONE' -DEFAULT &Model = 'FOC_NONE' SET PAGE-NUM = NOPAGE TABLE FILE CAR SUM RCOST DCOST BY COUNTRY BY CAR BY MODEL WHERE COUNTRY EQ '&Country' AND CAR EQ '&Car' AND MODEL EQ '&Model' ON TABLE SET ONLINE-FMT HTML ON TABLE SET HTMLCSS ON END
Whilst this uses the IB CAR file and just FOCUS reports the code will be the same format if you are using synonyms against your DB2 tables (or any other RDBMS). It is also simple to adjust for SQL passthru and with MS SQL I use this method all the time -
For instance, if you have the MS Access data adapter setup and you have access to NorthWind.mdb via WebFOCUS then you could code the following to populate your select box --* Don't forget to set up your connection strings etc. SQL SELECT DISTINCT EmployeeID , FirstName + " " + LastName AS FullName FROM NorthWind ; TABLE FILE SQLOUT PRINT * ON TABLE HOLD END -RUN TABLE FILE HOLD PRINT FullName BY EmployeeID ON TABLE PCHOLD FORMAT XML END -RUN
Sorry this post is a bit long but it gives you a complete scenarion that should work "out of the box"
Edited because of the tismypes and we still don't have a speelchuker
Edited again because Mabel has been changing things (again) and mucking up the post. Thanks Mabel
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | ||
WebFOCUS App Studio 8.2.06 standalone on Windows 10 |