In this section: |
How to: |
Reference: |
Use the Dialogue Manager command -HTMLFORM to design the HTML page on which a report displays. You can control page style and format, and imaginatively enhance a report. A custom HTML page can include HTML elements such as frames, tables, and graphic images. It must be a complete HTML page with all required HTML tags. It also contains a special HTML comment that indicates where to insert the WebFOCUS report output.
You can do one of the following:
You can display one or many reports on a page. A report can be dynamic or static.
The following image shows multiple reports displayed on a custom HTML page.
For more information on -HTMLFORM and its capabilities, see Enhancing an HTML Webpage With a Procedure.
Note: HTML Composer design time is not meant to be used with -HTMLFORM when the -HTMLFORM has runtime references to file names and objects that are not available to HTML Composer to evaluate. Therefore, HTML Composer cannot support -HTMLFORMs with runtime references.
For more information about HTML Composer, see Designing a User Interface for a Web Application With HTML Composer
!IBI.FIL.report;
or
<!--WEBFOCUS TABLE report-->
where:
Is the name of a virtual file that holds the report output. That file is generated in step 2.
Note: The HTML comment line must be closed with the ---> characters or a single > character and should not have any other HTML tags within it.
The Reporting Server must be able to locate the page using APP PATH or EDAPATH. For details on search paths, see Storing and Searching for Application Files.
When the page displays, the comment is replaced by report output.
ON TABLE HOLD FORMAT HTMTABLE AS report
where:
report is the name of a virtual file that contains the report output. The name can be from 1 to 8 characters. Do not include an extension. This file is not saved to disk.
-HTMLFORM filename
where:
filename is the name of the HTML page that will incorporate the report output. You create this page in step 1.
Note: For information on where to store the files created in this example, see Defining and Allocating WebFOCUS Files.
The letters on the left correspond to the notes explaining the code.
HTML Page: RPTPG.HTM
<HTML> <BODY BGCOLOR="#CCCCCC"> <FONT FACE="Arial" COLOR="Black"> <H2>Orders Summary</H2> a. !IBI.FIL.ORDERS; </BODY> </HTML>
Procedure: ORDERS.FEX
SET PAGE-NUM = OFF TABLE FILE GGORDER SUM QUANTITY AS 'Units Ordered' BY HIGHEST 1 ORDER_DATE AS 'Order Date' BY PRODUCT_DESCRIPTION a. ON TABLE HOLD FORMAT HTMTABLE AS ORDERS END b. -HTMLFORM RPTPG
Launch Page: RUNRPT.HTM
<HTML> <BODY> <A HREF="/ibi_apps/WFServlet?IBIF_ex=orders">Click here for the Orders Summary report.</A> </BODY> </HTML>
-HTMLFORM BEGIN html_code html_code html_code . . .-HTMLFORM END
where:
Is a line of standard HTML code. It cannot exceed 80 characters.
Note: For information on where to store the files created in this example, see Defining and Allocating WebFOCUS Files.
Procedure: ORDERS2
SET PAGE-NUM = OFF TABLE FILE GGORDER SUM QUANTITY AS 'Units Ordered' BY HIGHEST 1 ORDER_DATE AS 'Order Date' BY PRODUCT_DESCRIPTION a. ON TABLE HOLD FORMAT HTMTABLE AS ORDERS2 END b. -HTMLFORM BEGIN <HTML><HEAD><STYLE>TD {FONT-FAMILY: ARIAL; COLOR: BLUE;}</STYLE></HEAD> <BODY BGCOLOR="FAEBD7"><DIV align="left"> c. !IBI.FIL.ORDERS2; </DIV></BODY></HTML> b. -HTMLFORM END
Launch Page: RUNRPT.HTM
<HTML> <BODY> <A HREF="/ibi_apps/WFServlet?IBIF_ex=orders2">Click here for the Orders Summary report.</A> </BODY> </HTML>
Note: For information on where to store the files created in this example, see Defining and Allocating WebFOCUS Files.
The letters on the left correspond to the notes explaining the code.
HTML Page: FIRST.HTM
<HTML> <BODY BGCOLOR="#CCCCCC"> a. <H2>Report for Product Code B***</H2> b. <!--WEBFOCUS TABLE UPPER--> <HR SIZE=5> a. <H2>Report for Product Code F***</H2> b. <!--WEBFOCUS TABLE LOWER--> </BODY> </HTML>
Note: The HTML comment line must be closed with the ---> characters or a single > character and should not have any other HTML tags within it.
Procedure: TWOSALES.FEX
SET PAGE-NUM = OFF TABLE FILE GGORDER SUM QUANTITY BY PCD IF PCD EQ 'B$$$' a. ON TABLE HOLD FORMAT HTMTABLE AS UPPER END TABLE FILE GGORDER SUM QUANTITY BY PCD IF PCD EQ 'F$$$' a. ON TABLE HOLD FORMAT HTMTABLE AS LOWER END b. -RUN c. -HTMLFORM FIRST
Launch Page: MULTIRPT.HTM
<HTML> <BODY> <A HREF="/ibi_apps/WFServlet?IBIF_ex=twosales">Click here for sales reports for two product codes.</A> </BODY> </HTML>
Note: For information on where to store the files created in this example, see Defining and Allocating WebFOCUS Files.
Procedure: SALES2.FEX
SET PAGE-NUM = OFF TABLE FILE GGORDER SUM QUANTITY BY PCD IF PCD EQ 'B$$$' a. ON TABLE HOLD FORMAT HTMTABLE AS UPPER END TABLE FILE GGORDER SUM QUANTITY BY PCD IF PCD EQ 'F$$$' a. ON TABLE HOLD FORMAT HTMTABLE AS LOWER END b. -RUN c. -HTMLFORM BEGIN <HTML><HEAD><STYLE>TD {FONT-FAMILY: ARIAL; COLOR: BLUE;}</STYLE></HEAD> <BODY BGCOLOR="FAEBD7"><DIV align="left"> <H2>Report for Product Code B***</H2> d. <!--WEBFOCUS TABLE UPPER--> <HR SIZE=5> <H2>Report for Product Code F***</H2> d. <!--WEBFOCUS TABLE LOWER--> </DIV></BODY></HTML> c. -HTMLFORM END
Note: The HTML comment line must be closed with the ---> characters or a single > character and should not have any other HTML tags within it.
Launch Page: MULTIRPT.HTM
<HTML> <BODY> <A HREF="/ibi_apps/WFServlet?IBIF_ex=sales2">Click here for sales reports for two product codes.</A> </BODY> </HTML>
To create a procedure:
For example, on Windows, the command is
FILEDEF htmlpage DISK app/htmlpage.HTM
where:
Is the name of the combined report output and custom HTML page file. The file name can be from 1 to 8 characters.
Is the application directory in which to save the file.
For other platform-specific commands, see Defining and Allocating WebFOCUS Files.
ON TABLE HOLD FORMAT HTMTABLE AS report
where:
Is the name of a virtual file that contains the report output. The name can be from 1 to 8 characters. Do not include an extension. This file is not saved to disk.
-HTMLFORM filename SAVE AS htmlpage
where:
Is the name of the custom HTML page that will incorporate the report output. You create this page in step 2. The Reporting Server must be able to locate the page using APP PATH or EDAPATH. See Storing and Searching for Application Files for details on search paths.
Is the name of the HTML file that will combine the report output and the custom HTML page. The web server must be able to locate this file.
!IBI.FIL.report;
or
<!--WEBFOCUS TABLE report-->
where:
Is the name of the virtual file that holds the report output. That file was created in step 1.
Note: The HTML comment line must be closed with the ---> characters or a single > character and should not have any other HTML tags within it.
The Reporting Server must be able to locate the page using APP PATH or EDAPATH. See Storing and Searching for Application Files for details on search paths.
On the HTML page, WebFOCUS replaces the comment with the report output.
This example runs on WebFOCUS for Windows. If you are using another platform, substitute the appropriate platform-specific command for the FILEDEF command. For more information, see Defining and Allocating WebFOCUS Files.
Note: For information on where to store the files created in this example, see Defining and Allocating WebFOCUS Files.
Displaying One Static Report on an Existing HTML Webpage
Procedure: CONTACTS.FEX
a. FILEDEF WEBPAGE DISK APPDIR/WEBPAGE.HTM SET PAGE-NUM = OFF TABLE FILE GGSTORES PRINT STORE_NAME ADDRESS1 BY CITY b. ON TABLE HOLD FORMAT HTMTABLE AS AREPORT END c. -HTMLFORM DATAOUT SAVE AS WEBPAGE
HTML Page: DATAOUT.HTM
<HTML> <BODY BGCOLOR="#CCCCCC"> a. <H2>Store Contacts</H2> b. <!--WEBFOCUS TABLE AREPORT--> </BODY> </HTML>
Note: The HTML comment line must be closed with the ---> characters or a single > character and should not have any other HTML tags within it.
<HTML> <BODY> <A HREF="/ibi_apps/WFServlet?IBIF_ex=contacts">Click here to run CONTACTS and create a static report.</A> </BODY> </HTML>
The message Done in your browser indicates that file was created.
Launch Page: ONESTAT.HTM
<HTML> <BODY> <A HREF="WEBPAGE.HTM">Click here to view store contacts.</A> </BODY> </HTML>
Displaying Two Static Reports on an Existing HTML Webpage
Procedure: DEMOG.FEX
a. FILEDEF RPTPAGE DISK APPDIR/RPTPAGE.HTM SET PAGE-NUM = OFF TABLE FILE GGDEMOG SUM HH AS 'Number of,Households' AVGHHSZ98 AS 'Avg.,Size' MEDHHI98 AS 'Avg.,Income' BY ST WHERE ST EQ 'CA' b. ON TABLE HOLD FORMAT HTMTABLE AS UPPER END TABLE FILE GGDEMOG SUM HH AS 'Number of,Households' AVGHHSZ98 AS 'Avg.,Size' MEDHHI98 AS 'Avg.,Income' BY ST WHERE ST EQ 'NY' c. ON TABLE HOLD FORMAT HTMTABLE AS LOWER END -RUN d. -HTMLFORM RPTOUT SAVE AS RPTPAGE
HTML Page: RPTOUT.HTM
<HTML> <BODY BGCOLOR="#CCCCCC"> a. <H3>Demographic Report for California</H3> b. <!--WEBFOCUS TABLE UPPER--> <HR SIZE=5> a. <H3>Demographic Report for New York</H3> b. <!--WEBFOCUS TABLE LOWER--> </BODY> </HTML>
Note: The HTML comment line must be closed with the ---> characters or a single > character and should not have any other HTML tags within it.
<HTML> <BODY> <A HREF="/ibi_apps/WFServlet?IBIF_ex=demog">Click here to run DEMOG and create two static reports.</A> </BODY> </HTML>
Launch Page: TWOSTATS.HTM
<HTML> <BODY> <A HREF="RPTPAGE.HTM">Click here to view the demographic reports.</A> </BODY> </HTML>
How to: |
The HOLD FORMAT HTMTABLE command in conjunction with -HTMLFORM functionality supports the display of Accordion By Row (SET EXPANDBYROW) reports to create an HTML page. Accordion by Column reports (SET EXPANDABLE) are not supported with -HTMLFORM.
You can display one or more Accordion By Row reports on a custom HTML page by creating the report with the SET EXPANDBYROW command, specifying HOLD FORMAT HTMTABLE, and then using the Dialogue Manager command -HTMLFORM.
Include the following commands in the procedure:
ON TABLE SET EXPANDBYROW ON ON TABLE HOLD FORMAT HTMLTABLE AS report
where:
Is the 1-character to 8-character name of a virtual file that contains the report output.
Running this report creates an output file that contains only the report data. In order to display the output as an HTML Accordion By Row report, the following JavaScript code must be included in the HTML by using the following syntax and placement:
Is the JavaScript for HTML Accordion report functionality. Must be coded in the -HTMLFORM after the <HTML tag> and before the <BODY> tag.
Is required prior to display of the first Accordion report (using !IBI.FIL.filename) for display of pop-up column title description.
Is the JavaScript that requests the load of the global environment setup for WebFOCUS HTML reports. Must be coded within the <BODY> tag before the comment line (!IBI.FIL.report) that indicates where to display the first HTML report as:
<BODY ONLOAD='!IBI.OBJ.IBIGBLONLOAD';>
Is the JavaScript for global environment setup for WebFOCUS HTML reports. Must be coded after the comment line (!IBI.FIL.report) that indicates where to display the last HTML report, and before the closing </HTML> tag.
The following request contains two Accordion By Row reports, RPT1 and RPT2, saved as format HTMTABLE. The -HTMLFORM block contains all of the JavaScript code to display them on an HTML page.
TABLE FILE GGSALES HEADING "Regional Budget and Sales Report" " " SUM BUDUNITS UNITS BUDDOLLARS DOLLARS BY REGION BY ST BY CATEGORY BY PRODUCT ON TABLE HOLD AS RPT1 FORMAT HTMTABLE ON TABLE SET EXPANDBYROW ON ON TABLE SET HTMLCSS ON ON TABLE SET DROPBLNKLINE ALL ON TABLE SET STYLE * TYPE=REPORT,COLOR=NAVY,FONT='ARIAL',SIZE=9,GRID=OFF,$ TYPE=HEADING,LINE=1,STYLE=BOLD,SIZE=12,JUSTIFY=CENTER,$ TYPE=TITLE,BACKCOLOR=RGB(45 111 205),COLOR=WHITE,STYLE=-UNDERLINE+BOLD, $ TYPE=DATA,BACKCOLOR=(WHITE RGB(235 235 255)),$ TYPE=SUBTOTAL,BACKCOLOR=RGB(163 200 236),STYLE=BOLD,$ END
TABLE FILE GGSALES HEADING "Product Category Sales Report" " " SUM GGSALES.SALES01.DOLLARS GGSALES.SALES01.BUDDOLLARS BY GGSALES.SALES01.CATEGORY BY GGSALES.SALES01.REGION BY GGSALES.SALES01.ST ON TABLE HOLD AS RPT2 FORMAT HTMTABLE ON TABLE SET EXPANDBYROW ON ON TABLE SET HTMLCSS ON ON TABLE SET PAGE-NUM NOLEAD ON TABLE SET SQUEEZE ON ON TABLE SET EMPTYREPORT ON ON TABLE SET DROPBLNKLINE ALL ON TABLE SET STYLE * TYPE=REPORT,COLOR=NAVY,SQUEEZE=ON,FONT='ARIAL',SIZE=9,GRID=OFF,$ TYPE=HEADING,LINe=1,STYLE=BOLD,SIZE=12,JUSTIFY=CENTER,$ TYPE=TITLE,BACKCOLOR=RGB(45 111 205),COLOR=WHITE,STYLE=-UNDERLINE+BOLD, $ TYPE=DATA,BACKCOLOR=(WHITE RGB(235 235 255)),$ TYPE=SUBTOTAL,BACKCOLOR=RGB(163 200 236),STYLE=BOLD,$ END
-HTMLFORM BEGIN <HTML>!IBI.OBJ.EXPBYROWJS; <BODY ONLOAD='!IBI.OBJ.IBIGBLONLOAD;'> <font face="arial" color="blue"><b>This HTML page is created with -HTMLFORM and displays <br> two Accordion By Row (SET EXPANDBYROW) Reports</b> <br></br> </font> <div id="IBI_popupHere"></div> !IBI.FIL.RPT1; <br></br> !IBI.FIL.RPT2; !IBI.OBJ.IBIGBLJS; </BODY> </HTML> -HTMLFORM END
The output is:
How to: |
You can display one or more HTML HFREEZE reports on a custom HTML page by creating the report with the HFREEZE=ON styling attribute, adding the HOLD FORMAT HTMTABLE command, and then using the Dialogue Manager command -HTMLFORM.
Include the following command in the report request:
ON TABLE HOLD FORMAT HTMLTABLE AS report
Also, include the following in the StyleSheet section of the request:
ON TABLE SET STYLE * TYPE=REPORT, HFREEZE=ON,$
where:
Is the 1 to 8 character name of a virtual file that will contain the report output.
Running this report creates an output file that contains only the report data. In order to display the output as an HTML HFREEZE report, the following JavaScript code must be included in the HTML by using the following syntax and placement:
Is required as a placeholder to indicate the positioning or placement of the report on the HTML page.
Is placed in the <HEAD> tag of the HTML page.
The following FOCEXEC creates and displays two HFREEZE reports in an HTML page created with -HTMLFORM . The first two TABLE requests create the HFREEZE reports (styling code specifies HFREEZE=ON) that are saved to the Reporting Server with ON TABLE HOLD FORMAT HTMLTABLE:
-*Example: Displaying Two HTML HFREEZE Reports on an HTML Web Page -* TABLE FILE GGSALES HEADING CENTER "Regional Sales Report" SUM DOLLARS BUDDOLLARS BY CATEGORY BY PRODUCT BY REGION BY ST BY CITY ON REGION SUBTOTAL FOOTING CENTER "*** Scroll To See All Data ***" ON TABLE HOLD AS TOPRPT FORMAT HTMTABLE ON TABLE SET HTMLCSS ON ON TABLE SET PAGE-NUM NOLEAD ON TABLE SET SQUEEZE ON ON TABLE SET EMPTYREPORT ON ON TABLE SET BYDISPLAY ON ON TABLE SET STYLE * TYPE=REPORT,COLOR=NAVY,SQUEEZE=ON,FONT='ARIAL',SIZE=9,GRID=OFF,$ TYPE=REPORT,HFREEZE=ON,SCROLLHEIGHT=2.25, $ TYPE=HEADING,STYLE=BOLD,SIZE=12,JUSTIFY=CENTER,$ TYPE=FOOTING,STYLE=BOLD,SIZE=10,JUSTIFY=CENTER,$ TYPE=TITLE,BACKCOLOR=RGB(45 111 205),COLOR=WHITE,STYLE=-UNDERLINE+BOLD, $ TYPE=DATA,BACKCOLOR=(WHITE RGB(235 235 255)),$ TYPE=SUBTOTAL,BACKCOLOR=RGB(163 200 236),STYLE=BOLD,$ TYPE=SUBTOTAL,BORDER-TOP=LIGHT,BORDER-TOP-COLOR=RGB(111 155 246),$ END
TABLE FILE GGSALES HEADING CENTER "Regional Sales Report" SUM GGSALES.SALES01.DOLLARS GGSALES.SALES01.BUDDOLLARS BY GGSALES.SALES01.CATEGORY BY GGSALES.SALES01.ST BY GGSALES.SALES01.REGION ON REGION SUBTOTAL FOOTING CENTER "*** Scroll To See All Data ***" ON TABLE HOLD AS BOTRPT FORMAT HTMTABLE ON TABLE SET HTMLCSS ON ON TABLE SET PAGE-NUM NOLEAD ON TABLE SET SQUEEZE ON ON TABLE SET EMPTYREPORT ON ON TABLE SET BYDISPLAY ON ON TABLE SET STYLE * TYPE=REPORT,COLOR=NAVY,SQUEEZE=ON,FONT='ARIAL',SIZE=9,GRID=OFF,$ TYPE=REPORT,HFREEZE=ON,SCROLLHEIGHT=2.25, $ TYPE=HEADING,STYLE=BOLD,SIZE=12,JUSTIFY=CENTER,$ TYPE=FOOTING,STYLE=BOLD,SIZE=10,JUSTIFY=CENTER,$ TYPE=TITLE,BACKCOLOR=RGB(45 111 205),COLOR=WHITE,STYLE=-UNDERLINE+BOLD, $ TYPE=DATA,BACKCOLOR=(WHITE RGB(235 235 255)),$ TYPE=SUBTOTAL,BACKCOLOR=RGB(163 200 236),STYLE=BOLD,$ TYPE=SUBTOTAL,BORDER-TOP=LIGHT,BORDER-TOP-COLOR=RGB(111 155 246),$ END
-HTMLFORM BEGIN <HTML> <HEAD>!IBI.OBJ.IBIHEADJS; </HEAD> <BODY> <font face="arial" color="blue" ><b>This HTML page is created with -HTMLFORM displaying two HFREEZE reports</b> <br></br> HTMLTABLE data from TOPRPT HOLD file </font> !IBI.FIL.TOPRPT; <font face="arial" color="blue">HTMLTABLE data from BOTRPT HOLD file</font> !IBI.FIL.BOTRPT; </BODY> </HTML> -HTMLFORM END
The generated HTML page with the two reports is:
You can display one or more HTML Active Technologies Reports on a custom HTML page using HOLD FORMAT AHTMLTAB and the Dialogue Manager command -HTMLFORM.
Include the following command in the procedure:
ON TABLE HOLD FORMAT AHTMLTAB AS report
where:
Is the name of a virtual file that contains the report output. The name can be from 1 to 8 characters.
Running this report creates an output file that contains only data and parameters used in the HTML active report. In order to display the output as a complete HTML active report, active report JavaScript code must be included in the HTML BODY by using the following syntax:
<BODY> !IBI.OBJ.ACTIVEREPORTJS;
The HTML code to include active technologies report JavaScript is shown in boldface type in the following example:
TABLE FILE GGSALES SUM DOLLARS UNITS BY REGION BY ST BY CITY HEADING "Regional Sales Summary" ON TABLE HOLD AS REPORT1 FORMAT AHTMLTAB END
-* TABLE FILE GGSALES SUM DOLLARS UNITS BY CATEGORY BY PRODUCT HEADING "Production Order Summary" ON TABLE HOLD AS REPORT2 FORMAT AHTMLTAB END -* -HTMLFORM BEGIN <!DOCTYPE html> <HTML> <HEAD> <TITLE>Displaying HTML Active Technologies Reports on an HTML Web Page</TITLE> </HEAD>
<BODY> !IBI.OBJ.ACTIVEREPORTJS;
<TABLE BORDER='1'> <TR> <TD valign=top> !IBI.FIL.REPORT1; </TD> <TD valign=top> !IBI.FIL.REPORT2; </TD> </TR> </TABLE> </BODY> </HTML> -HTMLFORM END
Running a report which creates a HOLD FORMAT XML that is called by -HTMLFORM requires additional code to avoid generating an empty HOLD file and an error condition. Add two lines of FILEDEF code, shown in boldface type in the following example:
TABLE FILE GGORDER SUM QUANTITY ON TABLE HOLD FORMAT XML END -RUN FILEDEF HOLD CLEAR FILEDEF HOLD DISK HOLD.XML -HTMLFORM BEGIN !IBI.FILE.HOLD; -HTMLFORM END
|
WebFOCUS |