WF 713 Appsgt
WF 713 Appsgt
Graphical Tools
Version 7 Release 1.3
DN4500724.0206
EDA, EDA/SQL, FIDEL, FOCCALC, FOCUS, FOCUS Fusion, FOCUS Vision, Hospital-Trac, Information Builders, the
Information Builders logo, Parlay, PC/FOCUS, SmartMart, SmartMode, SNAPpack, TableTalk, WALDO, Web390,
WebFOCUS and WorldMART are registered trademarks, and iWay and iWay Software are trademarks of Information
Builders, Inc.
Due to the nature of this material, this document refers to numerous hardware and software products by their
trademarks. In most, if not all cases, these designations are claimed as trademarks or registered trademarks by
their respective companies. It is not this publisher’s intent to use any of these names generically. The reader is
therefore cautioned to investigate all claimed trademark rights before using any of these names other than to refer
to the product described.
Copyright © 2006, by Information Builders, Inc and iWay Software. All rights reserved. Patent Pending. This manual,
or parts thereof, may not be reproduced in any form without the written permission of Information Builders, Inc.
WebFOCUS7
Preface
This documentation describes how to use WebFOCUS graphical tools to create and deploy
self-service report applications on the Internet or corporate intranets. It is intended for
application developers.
Chapter/Appendix Contents
8 Partitioning and Describes the steps you will perform for successful
Deploying Project Files deployment of your project files to the Web.
Chapter/Appendix Contents
9 Editing Application Describes how to create, view, and edit the source
Components as Text in code for procedures, procedure components, Master
Developer Studio and Access files, and other types of files required by
your applications with the Developer Studio text editor.
A Creating a Report The following topics describe how to create content for
Template for the Report the Report Wizard tool using a Reporting Template.
Wizard
Documentation Conventions
The following conventions apply throughout this manual:
Convention Description
THIS TYPEFACE or Denotes syntax that you must enter exactly as shown.
this typeface
iv WebFOCUS7
Preface
Convention Description
... Indicates that you can enter a parameter multiple times. Type
only the parameter, not the ellipsis points (…).
. Indicates that there are (or could be) intervening or additional
. commands.
.
Related Publications
To view a current listing of our publications and to place an order, visit our World Wide Web
site, http://www.informationbuilders.com. You can also contact the Publications Order
Department at (800) 969-4636.
Customer Support
Do you have questions about this product?
Call Information Builders Customer Support Services (CSS) at (800) 736-6130 or
(212) 736-6130. Customer Support Consultants are available Monday through Friday
between 8:00 A.M. and 8:00 P.M. EST to address all your questions. Information Builders
consultants can also give you general guidance regarding product capabilities and
documentation. Please be ready to provide your six-digit site code (xxxx.xx) when you call.
You can also access support services electronically, 24 hours a day, with InfoResponse
Online. InfoResponse Online is accessible through our World Wide Web site, http://
www.informationbuilders.com. It connects you to the tracking system and known-problem
database at the Information Builders support center. Registered users can open, update,
and view the status of cases in the tracking system and read descriptions of reported
software issues. New users can register immediately for this service. The technical
support section of www.informationbuilders.com also provides usage techniques,
diagnostic tips, and answers to frequently asked questions.
To learn about the full range of available support services, ask your Information Builders
representative about InfoResponse Online, or call (800) 969-INFO.
vi WebFOCUS7
Preface
User Feedback
In an effort to produce effective documentation, the Documentation Services staff
welcomes your opinions regarding this manual. Please use the Reader Comments form at
the end of this manual to relay suggestions for improving the publication or to alert us to
corrections. You can also use the Documentation Feedback form on our Web site,
http://documentation.informationbuilders.com/feedback.asp.
Thank you, in advance, for your comments.
viii WebFOCUS7
WebFOCUS7
Contents
1. Where Am I? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
WebFOCUS Core Documentation Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
2. Understanding User Interface Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
User Interface Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
About a Logon Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Setting a Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
About a Launch Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Adding a Control to a Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Types of Launch Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Ways to Create a Launch Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
About an HTML Display Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
3. Creating a Reporting Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
What Is a Reporting Application? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Project-based and Remote Development Environments . . . . . . . . . . . . . . . . . . . . . . 3-2
Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Organizing a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Adding a Master File to a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Viewing and Modifying Project Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17
Managing a Project With Source Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
Source Control Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39
Securing a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42
Removing a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43
4. Creating a Reporting Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
Selecting a Creation Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Incorporating a Procedure Into an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Copying a Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Creating a Procedure Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Working With a Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Using the SQL Report Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Using the Report Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
Creating a Parameterized Report Using the Report Wizard . . . . . . . . . . . . . 4-35
Calling a Procedure From the Current One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46
Engine Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55
x WebFOCUS7
Contents
xii WebFOCUS7
WebFOCUS7
1 Where Am I?
Developing an Application
WebFOCUS Application
Development Getting Started
Developing Reporting
Applications
Using i-Base
Functions Archives
Describing and
Creating a Report Accessing Data
1-2 WebFOCUS7
Where Am I?
1-4 WebFOCUS7
WebFOCUS7
2-2 WebFOCUS7
Understanding User Interface Basics
You can copy the file and modify the code for your application, or create a custom page of
your own.
The sample logon page prompts the user for an ID and password. The values are assigned
to the variables IBIC_user and IBIC_pass and sent to the Reporting Server for
authentication. If authentication is successful, the values are encrypted and stored in a
cookie. Using a cookie, you set security credentials once. Subsequent requests to the
Reporting Server automatically include the proper authorization.
For details on security, see the WebFOCUS Security and Administration manual.
You can use values collected on a logon page to customize components of an interface for
an individual user. For an example, see Chapter 7, Enhancing a User Interface.
The following is the supplied logon page displayed in a browser.
2-4 WebFOCUS7
Understanding User Interface Basics
2. Modify the lines with letters on the left, as explained in the notes following the code.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>WebFOCUS signon screen</title>
</head>
<body bgcolor="#FFFFFF" alink="#0000FF">
<font size=4>
a. <form action="/ib_apps/WFServlet" method="POST">
<a href="http://www.informationbuilders.com"><img border="0"
src="ib_logo_home.gif" width="114" height="48"></a>
<p> </p>
<p>
UserID :
<input type=text size=15 maxlength=256 name="IBIC_user" value="">
<pre>
</pre>
PassWord :
<input type=password size=15 maxlength=256 name="IBIC_pass"
value="">
<pre>
</pre>
<input type=submit name="submit" value="Submit"></tr>
<input type=reset name="reset" value="Reset"></tr>
b. <input type=hidden name="IBIWF_action" value="WF_SIGNON"></tr>
</form>
</font>
</body>
</html>
a. Replace the hyperlink to the Web site shown with a hyperlink that applies to your
application. Do the same for the image.
b. After this line
<input type=hidden name="IBIWF_action" value="WF_SIGNON"></tr>
add the code that identifies the first application page that displays after
successful logon. The syntax is
<input type="hidden" name="WF_SIGNON_MESSAGE"
value="address/first_pg.htm">
where:
address is an absolute or relative address. See the examples. Use the address
that applies to WebFOCUS.
first_pg is the name of the page that displays after logon. For example, if your
application includes a main page, it is the name of that page.
Setting a Browser
A secure WebFOCUS application that includes a logon page requires a browser that
accepts cookies. A cookie is the mechanism that WebFOCUS uses to pass information to
and from the Web server. If your browser is not configured to accept all cookies, you may
experience unexpected behavior from WebFOCUS.
All examples in the user interface chapters are run with Microsoft Internet Explorer on
Windows 71. Netscape Navigator is not supported.
2-6 WebFOCUS7
Understanding User Interface Basics
Suppose that managers on their company intranet periodically need a sales report for one
of four regions. You:
❏ Create the procedure, including a variable for the region so that the report can run
with different values.
❏ Create the launch page, from which a manager runs the report. The page prompts for
the region of interest.
The following image shows a sample launch page was created in FrontPage.
At minimum, a launch page is a simple form that contains a Run and Clear button,
allowing the user to run a report. More often, it is a form, like the one shown, containing
controls that prompt for user input.
Controls include text boxes, check boxes, radio buttons, drop-down menus, push buttons,
and hyperlinks. A launch page usually displays default values or valid values to help the
user provide input. The Reporting Server uses the input to process the procedure and
return the desired output.
When a launch page is complete, deploy it to the Web server using the Deploy Wizard.
Supporting files such as procedures are deployed to the Reporting Server. Once the files
are stored on the appropriate servers, users can access the launch page by typing the
URL in the browser. See Chapter 8, Partitioning and Deploying Project Files.
2-8 WebFOCUS7
Understanding User Interface Basics
One-Line Text Box Enter a single value for a variable, such as user name or
password on a custom logon page.
Dynamic Multi-Select Choose multiple values from a drop-down list populated by field
Drop-Down List values retrieved live from a data source.
2-10 WebFOCUS7
Understanding User Interface Basics
2-12 WebFOCUS7
WebFOCUS7
3-2 WebFOCUS7
Creating a Reporting Application
❏ Configure access to one or more WebFOCUS environments so that you can manage
resources on the WebFOCUS Client and Reporting Server, and in the Managed
Reporting Repository (if installed). From the environment tree you can create and edit
procedures, metadata, HTML files, and more.
If you do not install a WebFOCUS Reporting Server during the Developer Studio installation
procedure, your environment allows the last two capabilities.
For details, see the Developer Studio Application Development Getting Started manual.
Creating a Project
How to:
Create a Project Directory
Reference:
File Types
File description Includes Master Files (.mas) and Access Files (.acx).
HTML resource Includes files displayed to the end user through a Web browser,
such as Web pages and HTML files (.htm, .html), graphic images
(.gif, .jpg), and Java executable objects (.class).
Temporary data file Includes temporary hold files (.ftm) that Developer Studio
creates during processing, and a number of temporary work files
used internally.
3-4 WebFOCUS7
Creating a Reporting Application
❏ Highlight the Projects on localhost node and click (New) on the Main toolbar.
2. In the first input field, type a name for the new project. The name can be up to 18
characters in length. It can include spaces.
Developer Studio creates a new subdirectory on the WebFOCUS Reporting Server
under APPROOT. APPROOT is a variable defined in the edaserve.cfg file. The default
setting for APPROOT is install_drive:\ibi\apps.
For example, if you create a project named Sales, Developer Studio creates a
subdirectory named Sales under APPROOT. The newly created subdirectory will contain
all project files, including the .GFA file. The .GFA file is an XML control file that
contains Information about the project, such as associated deployment scenarios,
folder names and file types, and accessible servers.
Important: Do not modify the .GFA file. Modification may corrupt the project.
Subdirectory names do not support spaces. If you include a space in the project name
(for example, Human Resources), Developer Studio replaces the space with an
underscore in the subdirectory name (for example, Human_Resources).
3. The Project Wizard displays the project name as the default directory in the second
input field.
In the second input field, you can optionally enter the name of a subdirectory
associated with another project. In that case, the new project and the existing project
will share project files.
4. Note: Project directories are created in lowercase. Before you entered information on
the dialog box, the default location and name of the new project was shown as IBFS:/
localhost/DEV. This value represents the location of the project in the Information
Builders File System (IBFS), where localhost is the name of the server on which the
project will be created, and DEV is an internal string indicating that you are working in
the project (development) area. The value of the IBFS location translates to the value
of APPROOT.
Once you enter information on the dialog box, the location and name changes to a
value like IBFS:/localhost/DEV/sales/Sales.GFA, where Sales is the project directory,
and Sales.GFA is the project control file created by the Project Wizard.
The following image shows a completed dialog box.
3-6 WebFOCUS7
Creating a Reporting Application
6. A message is displayed if the directory does not exist. Click Yes to create the new
directory. Click No to change the name.
The Create a Project - Step 2 of 2 dialog box opens.
7. From this dialog box, you can add other directories to the project path. Project files in
those directories are visible to the project and can be made accessible for
development and deployment. The order of directories in the list box represents the
search sequence that the project uses.
To add directories to the project, click Add. From the Browse for Folder dialog box,
select a folder to add to the project path. The dialog box displays the folders available
on the WebFOCUS Reporting Server, based on the value of APPROOT.
By default, baseapp is automatically added to the search path for project resources.
You can use the baseapp folder to place common (shared) files in a central location.
Click OK. The directory (folder) is added. To add more directories, repeat this step.
If you highlight a directory in the list box on the Create a Project dialog box, click Add,
and select a directory in the Browse for Folder dialog box, the new directory will be
added after the highlighted directory.
❏ To change the order of the directories, select the directory and click Move Up or
Move Down.
❏ To remove a directory from the list, select the directory and click Remove.
When you are satisfied with the order of the directories and have no other changes,
click Finish, and the new project is added to the Explorer.
Tip: You can change directory paths for a project after you exit the Project Wizard. See
Viewing and Modifying Project Properties on page 3-17.
3-8 WebFOCUS7
Creating a Reporting Application
Note: If you create a project with the same name as another project, the location of the
GFA file directory is shown next to it in the Explorer window.
Organizing a Project
How to:
Add a Virtual Folder to a Project and Customize File Types
Customize Directories for Virtual Folders
Rename a Component
Remove a Component
Developer Studio has many features that help you organize a project:
❏ You can add a virtual folder to an existing project, or a virtual subfolder to an existing
folder, and customize the file types that display in it.
❏ You can customize the file types that display in any folder using the Project Properties
dialog box. For details, see How to Customize Display of File Types on page 3-20.
❏ You can rename a component to identify its function in the project, or remove a
component that is no longer used. You can rename and remove components such as
folders, subfolders, HTML files, Master Files, and procedures.
Procedure: How to Add a Virtual Folder to a Project and Customize File Types
1. Select and right-click the project. Select New from the shortcut menu, and click Virtual
Folder.
The New Virtual Folder dialog box opens.
2. In the Name field, enter a name for the new virtual folder.
Customize the list of file types that will be displayed in the folder. File types (filters)
already defined in the project are shown in the list box. Click the check box next to a
file type in this list to add it to the new folder.
3-10 WebFOCUS7
Creating a Reporting Application
To add a file type not shown in the list, click the Add new file type filter(s) button.
The New Filter dialog box opens, listing the file types registered with the operating
system.
3. Scroll through the list and select one or more file types. Click OK when you are done.
The selected file type is added to the list.
To remove a file type from the list, select it and click the Remove file type filter(s)
button. Confirm the deletion as prompted.
Click OK on the New Virtual Folder dialog box to close it and return to the Explorer.
This sample window shows a new folder named Text Files, which includes .log files
used by the project named Sales.
Tip: You can also customize file types and directories from a drop-down list. To access the
drop-down list, click the down arrow next to the Filters button on the Explorer
toolbar.
3-12 WebFOCUS7
Creating a Reporting Application
2. The Location list box shows the directory paths associated with the project. By
default, the boxes next to directory paths are checked. Click the box to deselect it if
you want to remove a directory from the search path.
3. Click OK to apply the changes and close the Edit Filters dialog box.
Tip: You can also customize file types and directories from a drop-down list. To access the
drop-down list, click the down arrow next to the Filters button on the Explorer
toolbar.
3-14 WebFOCUS7
Creating a Reporting Application
Before you create a procedure that reports against a data source, your project must
understand how the data is organized. To obtain this information, a project reads a data
source description. Developer Studio refers to these descriptions as Master Files and
Access Files:
❏ A Master File describes the structure of the data.
❏ An Access File supplements the Master File for some data sources. An Access File
includes additional information that completes the description of a data source, for
example, the full data source name and location. If your data source is local and is
either FOCUS or text format, an Access File is not necessary.
There are three ways to provide metadata to a project:
❏ Add visible files to a project. When you designate one or more project paths in the
Project Wizard, all of the Master Files in those paths are visible to your current project
and can be made accessible for development and deployment.
When you add a visible Master File to a project, Developer Studio creates an active
link to the file; it does not copy the Master File to the project directory. See How to
Add a Master File to a Project on page 3-16 for details.
❏ Create synonyms. Using the Server Console or the Create Synonym Wizard, you can
create synonyms for remote data sources configured with the WebFOCUS Reporting
Server or for tables that reside on a subserver. For more information, see the
Describing Data With Graphical Tools manual.
❏ Create a Master File from scratch. Intended primarily for use by a database
administrator, the Master File Editor can be used to create a data source description
from scratch. An application developer can use this tool to view the structure of a data
source to make minor, authorized modifications to the Master File. For more
information, see the Describing Data With Graphical Tools manual.
Included in Developer Studio are several sample Master Files (.MAS) and corresponding
data sources (.FOC). Optionally use these sample files to practice creating projects.
2. Click the Displays all files in the project path button on the Explorer toolbar.
The right window pane displays a list of all Master Files in the paths defined for the
selected project. Master Files that are not added to the project have a light gray icon
next to them and the file type description is Master File Visible within Project Path.
3. Right-click a Master File from the available Master Files list in the right window pane
and select Add to Project.
or
Select a Master File and click the Inserts the selected items into the project button
on the Explorer toolbar.
The Master File icon changes color to signify that it has been added to the list of
Master Files in your project and the file type description changes to Master File.
Tip: You can add two or more Master Files at one time. Hold down the Ctrl key to select
multiple Master Files.
2. Click the Displays all files in the project path button on the Explorer toolbar.
The right window pane displays a list of all Master Files in the paths defined for the
selected project. Master Files that are added to the project path have a color icon next
to them and the file type description is Master File.
3. In the right window pane, right-click a Master File and choose Remove from Project.
or
Select a Master File and click the Removes the selected items from the project
button on the Explorer toolbar.
Click Yes to confirm removal of the Master File.
Tip: You can remove two or more Master Files at one time. Hold down the Ctrl key to
select multiple Master Files.
3-16 WebFOCUS7
Creating a Reporting Application
1. Select a Master File and click the Delete button on the Explorer toolbar.
2. Click Yes to confirm permanent deletion of the Master File.
3-18 WebFOCUS7
Creating a Reporting Application
❏ To add a new directory path, click the Add new directory button. Select from
the available folders and click OK. The new directory is added to the Related
Directories list.
❏ To remove a directory path, highlight it and click the Remove directory button.
Click Yes to confirm the deletion.
3. Complete the dialog box as described in this topic. Click OK to apply changes and
close the dialog box, or click Apply to temporarily apply changes and keep the dialog
box open. Click Close to apply the temporary changes.
3-20 WebFOCUS7
Creating a Reporting Application
The Filters list box shows the file types associated with the project. You can make the
following modifications to the list:
❏ To add an item, click the Add new file type filters button. The New Filter dialog
box opens, listing the file types registered with the operating system.
❏ To remove an item, highlight it and click the Remove file type filters button.
Click Yes to confirm the deletion.
3. Click OK when you are done.
3. Place the cursor in the Comment field, and type your comment.
4. Complete the dialog box as described in this topic. Click OK to apply changes and
close the dialog box, or click Apply to temporarily apply changes and keep the dialog
box open. Click Close to apply the temporary changes.
3-22 WebFOCUS7
Creating a Reporting Application
3. On the Deployment tab, click the Active Scenario drop-down list, and select a scenario.
The list contains all the scenarios created using the New Scenario option of the
Deploy feature, and the default scenario (Local Deploy).
If you select a scenario other than the default scenario (Local Deploy), the Target
Application field is enabled. This displays the application name to be created in the
target deploy environment, or you can enter a new application name that will be used
on the Web server and WebFOCUS Reporting Server deployment paths.
4. Click the Starting Object drop-down list, and make your selection. You can select any
object from the list, but typically the starting object for a deployed application is an
HTML file. The list contains all the valid starting objects created for this project.
5. Click OK to apply changes and close the dialog box, or click Apply to temporarily apply
changes and keep the dialog box open. Click Close to apply the temporary changes.
In the Explorer, the icon for a starting object shows a down arrow, indicating that it will
run first.
Tip: You can also designate a starting object by right-clicking it and choosing Set as
Scenario Starting Object, or by highlighting it and selecting Set as Scenario Starting Object
from the File menu.
3-24 WebFOCUS7
Creating a Reporting Application
Type
Is the type of project. Developer Studio supplies this value.
Location
Is the path in which the project and its associated files reside. Developer Studio
supplies this value.
Size
Is the size of the project, in bytes. Developer Studio supplies this value.
Modified
Is the date and time the project was last changed. Developer Studio supplies this
value.
Read-only
Prohibits modification to or deletion of a project.
Run Remote
Runs the project on a remote server.
OK
Confirms changes and returns to the Explorer.
Cancel
Aborts changes and returns to the Explorer.
Apply
Temporarily applies changes and keeps the dialog box open. Click Close to apply them
permanently.
Paths Tab
3-26 WebFOCUS7
Creating a Reporting Application
3-28 WebFOCUS7
Creating a Reporting Application
Filters
Are the file types associated with a project. Use the Add new file type filter(s) and
Remove file type filter(s) buttons to modify the Filters list.
Add New File Type Filter(s)
Adds a filter.
Remove File Type Filter(s)
Removes a filter.
OK
Confirms changes and returns to the Explorer.
Cancel
Aborts changes and returns to the Explorer.
Apply
Temporarily applies changes and keeps the dialog box open. Click Close to apply them
permanently.
Comment Tab
Comment
Type a descriptive comment for the project in the Comment field.
OK
Confirms changes and returns to the Explorer.
Cancel
Aborts changes and returns to the Explorer.
Apply
Temporarily applies changes and keeps the dialog box open. Click Close to apply them
permanently.
3-30 WebFOCUS7
Creating a Reporting Application
Deployment Tab
Active Scenario
Indicates how to partition the files. Select from the available scenarios in the drop-
down list.
3-32 WebFOCUS7
Creating a Reporting Application
Developer Studio supports third-party source file management products such as Microsoft
Visual SourceSafe, PVCS Version Manager from Merant, and others that use an industry
standard API. Source file management (called source control in Developer Studio) provides
version control for your individual projects and for your team projects, allowing multiple
users to work on the same files without overwriting each other’s changes. A source control
product manages access to source code and documents all code changes.
Developer Studio provides access to basic source control functions through menu options
in the Explorer. If your site has installed a supported source control product, you can track
the history of project code without leaving your development environment.
Source control is available from the Projects on localhost area in the Explorer. It does not
apply to files in the WebFOCUS Environments area.
How It Works
How to:
Determine If Source Control Is Enabled
Access Source Control Options
Restore Write Access to a Single File
Restore Write Access to a Project
Reference:
Source Control Icons
Guidelines for Using Source Control
When you start Developer Studio, it checks your system to determine if a supported
source control product is installed.
If Developer Studio detects a supported product, it enables optional use of that product
for the management of Developer Studio project files.
3-34 WebFOCUS7
Creating a Reporting Application
3-36 WebFOCUS7
Creating a Reporting Application
Status Description
3-38 WebFOCUS7
Creating a Reporting Application
In this section:
Get Latest Version
Check Out
Check In
Undo Check Out
Add to Source Control
Remove From Source Control
Show History
Show Differences
Source Control Properties
Share From Source Control
Refresh Status
Source Control
Unbind From Source Control
Open From Source Control
This topic describes the source control options available from Developer Studio.
Check Out
To make changes to a file in source control, you must first check it out of the database.
The Check Out option retrieves the latest version of the selected file and allows you to
edit it. Source control removes the attribute R (read only) from a checked out file.
A file that has been checked out displays the description Checked Out in the Developer
Studio Explorer.
Check In
Select this option to return a checked out file to the source control database. Source
control stores any changes made to the file in the database.
3-40 WebFOCUS7
Creating a Reporting Application
Show History
Select this option to view information about a file, such as version history, date of creation
or modification, and other details.
Show Differences
Select this option to display the differences between a local copy of a file and the copy
stored in the database.
Refresh Status
Select this option to refresh the display of file status in the Developer Studio Explorer.
Source Control
This option opens the source control product.
It is available in one of the following ways:
❏ Click the Source Control button on the toolbar and select Source Control from the drop-
down menu.
❏ Select Source Control on the menu bar and select Source Control from the drop-down
menu.
Securing a Project
Some Master Files or procedures in a project may have security restrictions applied to
them. To see the data or portion of the data in a Master File or procedure you have access
to, you must enable your password.
Enabling your password also allows you to encrypt data to secure information in a
procedure or Master File, or decrypt data for use with the Developer Studio tools. For
information on encryption and decryption, see the Describing Data with Graphical Tools
manual. For additional information on security, see the WebFOCUS Security and
Administration manual.
3-42 WebFOCUS7
Creating a Reporting Application
Removing a Project
When necessary, you can remove a project from the Explorer. The .GFA control file is
deleted from the default directory. You also have the option of deleting the associated
project files from the directory.
3-44 WebFOCUS7
WebFOCUS7
4-2 WebFOCUS7
Creating a Reporting Procedure
The display box lists all the procedures currently visible in the project path, or all
procedures that have been added to the project path (QTY_ALL.fex in the sample
dialog box). Click the Displays all files in the project path button to toggle between
the two displays.
3. In the File name field, type a name for the new procedure. Do not include any spaces
in the name or add an extension; Developer Studio automatically appends the
extension .fex.
4. In the Files of type drop-down list, accept the default, Procedure Files (*.fex).
4-4 WebFOCUS7
Creating a Reporting Procedure
Procedure: How to Create a Report Procedure With the Report Painter or Report
Assistant
1. In the Add Procedure dialog box, enter a name for the new procedure in the File name
field, then select Report Painter or Report Assistant from the Create with drop-down
list, and click Open. For details on the Add Procedure dialog box, see Add Procedure
Dialog Box on page 4-9.
The Open dialog box prompts you for the name of the Master File to use.
The display box lists all the Master Files currently visible in the project path, or all the
Master Files that have been added to the project path. Click the Displays all files in the
project path button to toggle between the two displays.
2. Select a Master File from the display box to add it to the File name field.
3. In the Files of type drop-down list, accept the default, Master Files (*.mas).
4. Choose either Open Report Painter or Open Report Assistant, and click Open to start
the selected tool.
You can now build the report procedure. See the Creating Reports With Graphical Tools
manual or the Creating Reports With WebFOCUS Language manual for information.
Note: If you create a Hold file for a report procedure, you can select this file from the
Open dialog box. To select a Hold file, click and hold a component connector from the
Procedure window and select the Report tool. The Open dialog box displays. Select
the Hold file and click Open. Report Painter opens with the Hold file that you selected.
4-6 WebFOCUS7
Creating a Reporting Procedure
This window contains a default Comment component with two diamond objects on
either side called component connectors. The Comment component does not contain
any executable commands. At this point, you have created a procedure shell. You can
now make this shell executable by adding components, such as a report or graph.
Components are stored in a file with the extension .FEX, including any information on
running the procedure remotely.
2. Click and hold a diamond object and select a component, such as Report or Graph.
For details on how to proceed, see Creating a Procedure Component on page 4-12.
2. Enter the syntax for your procedure. See the Creating Reports With WebFOCUS
Language manual for details on WebFOCUS syntax.
3. Click the Save button on the text editor toolbar when you are done. See Chapter 9,
Editing Application Components as Text in Developer Studio for details on the text
editor.
4-8 WebFOCUS7
Creating a Reporting Procedure
When you create a procedure in the current project, it is automatically incorporated into
that project. However, you are not limited to the use of procedures created in the project.
You can make procedures from another project available in the current project.
To incorporate a procedure from another project into the current project, complete the
following steps:
1. Add the procedure’s directory to the project path. When you add a procedure’s
directory to the project path, all project files become available. For details on
modifying available directories for a project, see Modify Directory Paths in Chapter 3,
Creating a Reporting Application.
2. Add a procedure to the project. Once a procedure’s directory is visible to a project,
add the procedure to the project so it will be available for reporting and deployment.
For details, see How to Add a Procedure to a Project on page 4-10.
Note: You can also remove a procedure from a project. For details, see How to Remove a
Procedure From a Project on page 4-11.
2. If not already selected, click the Displays all files in the project path button on the
Explorer toolbar.
The right window pane displays all procedures in the paths defined for the selected
project. Procedures that are not added to the project path have a light gray icon next
to them, and the file type description is Focus Executable Visible within Project Path.
3. Do one of the following:
❏ Right-click a procedure from the available procedures on the right, and select Add
to Project from the shortcut menu.
or
❏ Select a procedure and click the Inserts the selected items into the project
button on the Explorer toolbar.
4-10 WebFOCUS7
Creating a Reporting Procedure
The procedure icon changes color to signify that it has been added to the project, and
the file type changes to Focus Executable.
Tip: Clicking the Displays all files in the project path button on the Explorer toolbar
toggles between the files that are visible in the project path and the files that have been
added to the project.
2. If not already selected, click the Displays all files in the project path button on the
Explorer toolbar.
The right window pane displays all procedures in the paths defined for the selected
project. Procedures that have been added to the project path have a color icon next to
them, and the file type description is Focus Executable.
3. Do one of the following:
❏ In the right window pane, right-click a procedure and choose Remove from Project
from the pop-up menu.
or
❏ Select a procedure and click the Delete button on the Explorer toolbar.
4. Click Yes to confirm permanent removal of the procedure.
Copying a Procedure
You can drag and drop any component of a project, including a procedure, between
projects or WebFOCUS environments, or within a single project. When a procedure is
copied within a project, it is identified as Copy of procedure_name. A second copy is
identified as Copy (2) of procedure_name, and so on.
After creating a procedure shell, you can create components that make the shell
executable. The Component Connector toolbar contains the available types of
components. The Comment component is created by default and is not included on the
toolbar.
Several of the components on the toolbar are usually placed in a specific order based on
the logical flow of a procedure. These components are Let, Set, Filedef, Use, Join, Define,
and Report or Graph, in that order. The remaining components—Execute, Include, and
Other—enhance the user interface and efficiency, and can be placed anywhere in the
order of execution. However, Dimension must be placed before the Report component.
You can have one or several components in a procedure. The following example includes a
Comment, four instances of a Report, a Use, Define, and Other components. Together
these components make up the procedure named APP6.
4-12 WebFOCUS7
Creating a Reporting Procedure
Component Description
SQL Report The SQL Report Wizard assists you with SQL passthru, which allows you
to execute SQL code that retrieves data from an RDBMS. You can use
the resulting extract file in the Report Painter or the Graph Assistant.
For details, see Using the SQL Report Wizard on page 4-22.
Component Description
Let Defines a word that represents another string of text. This feature saves
time when you are writing code for local use. However, you must delete
any Let components before you deploy a project to the Web.
For details on the Let tool, see Unique FOCUS Topics on the
Documentation CD.
Use Provides flexibility in using a FOCUS data source. You can specify read-
only access, treat multiple data sources as one, and request the use of
data sources not stored in your current directory (whether elsewhere on
your hard disk or on a network file server).
For details on accessing FOCUS data sources, including techniques for
maintaining Use commands, see Accessing a FOCUS Data Source in the
Developing Reporting Applications manual.
Execute Enables one procedure to call another. You can select a procedure to be
called by the one you are editing.
An Execute component can be placed anywhere in a procedure.
For details on the Execute component, see Calling a Procedure From the
Current One on page 4-46.
4-14 WebFOCUS7
Creating a Reporting Procedure
Component Description
HtmlForm Creates a text file you can use to add HTML code to the procedure
currently being edited. HTML forms are used to launch applications in
the Web environment.
Note: The Deploy Wizard guides you through the process of creating a
configuration that manages the deployment of your project files,
including HTML forms, to the Web.
For more information on the Deploy Wizard, see the Developer Studio
Application Development Getting Started manual.
Other Enables you to enter commands that connect other components. This
feature is useful for writing code that does not have a graphical tool
(such as Dialogue Manager). However, you can also use Other for any
kind of manual coding—for example, to code a virtual field or a report.
When used this way, the Other component automatically converts to the
corresponding component type.
An Other component can be placed anywhere in a procedure.
For information on the Other component, see the Developer Studio
Application Development Getting Started manual. For details on the
WebFOCUS language, see the Creating Reports With WebFOCUS
Language manual.
Olap Creates an OLAP hierarchy and dimensions based on data for multi-
Dimensions dimensional analysis without changing the Master File. The new logical
view is saved as part of the procedure.
A Dimension component applies to FOCUS data sources and relational
tables. It must be placed before the Report component.
For information on defining dimensions, see the Describing Data With
Graphical Tools manual and the Describing Data With WebFOCUS
Language manual.
Unlike the Dimension Builder (addressed in the Describing Data With
Graphical Tools manual), the Dimension Tool, accessed through the
Dimension component, does not show the graphical representation of a
Master File; rather, it lists the fields. The process of creating a hierarchy
is the same; drag and drop fields from the left pane to the right pane.
Component Description
SQL Editor The SQL Editor enables you to code SQL Passthru and highlights any
SQL commands within the code. This editor also allows you to choose
your connection engine and connection name from drop-down lists on
the toolbar.
For more information on the SQL Editor, see the Developer Studio
Application Development Getting Started manual.
Match The Match Wizard enables you to merge two or more data sources, and
specify which records to merge and which to sort out. The wizard
creates a new data source, a HOLD file, into which it merges fields from
the selected records. You can report from the new data source and use
it as you would any other HOLD file.
For more information on the Match Wizard, see the Developer Studio
Application Development Getting Started manual.
Engine The Engine tool exposes the FOCUS ENGINE SET commands and
enables you to enter ENGINE commands or connection attributes, and
override parameters.
Note: The Engine tool is only used to create ENGINE statements. You
are responsible for having the knowledge of the ENGINE SET command
or the Connection Attribute needed. For details see the For details, see
Engine Tool on page 4-55.
Dialogue The Dialogue Manager enables you to control the flow of your
Mngr application with the use of variables.
For more information on the Dialogue Manager, see Managing Flow of
Control on page 4-56.
Modify Changes or modifies data. There is no Modify tool but you can use the
Other tool to create a Modify request by typing code, at which point the
Other tool changes to a Modify component.
For details on Modify, see Unique FOCUS Topics on the Documentation
CD.
4-16 WebFOCUS7
Creating a Reporting Procedure
Component Description
Comment Includes a comment for the project. This comment is not necessary and
you can delete it if you wish. A procedure shell, when created, contains
a default Comment component. Once you create an executable
component for a procedure, the file name defaults as a comment in this
component. For example, if you named the shell TEST, the default
Comment component will contain the comment -* File TEST.FEX.
For information on the Comment component, see the Developer Studio
Application Development Getting Started manual.
3. Select the tool for the component you wish to create. You can also select a tool from
the static Component Connector toolbar that displays in the Procedure window.
The corresponding tool opens. For details, see Component Types on page 4-13.
4. After you have constructed a component using a tool, exit the tool. You are asked if
you want to update the procedure. Answer yes, and your changes are saved and the
component is added to the procedure as a graphical object of the type created
(Report, Graph, Define, Join, and so on).
4-18 WebFOCUS7
Creating a Reporting Procedure
4-20 WebFOCUS7
Creating a Reporting Procedure
The SQL Report Wizard assists you with SQL passthru, which allows you to execute SQL
code that retrieves data from an RDBMS. You can use the resulting extract file in the
Report Painter or the Graph Assistant. The supported engines are DB2, DB2 for AS/400,
Microsoft SQL Server, Oracle, Sybase, and Teradata.
The SQL Report Wizard is available throughout all development areas of Developer Studio:
Projects, Data Servers, and Managed Reporting. When working in Managed Reporting, the
tool enables administrators to use SQL in Standard Reports available in the Domain or
use procedures that reside on the WebFOCUS Reporting Server.
4-22 WebFOCUS7
Creating a Reporting Procedure
2. Click the option button next to Executed from a stored procedure call within an SQL
database. This enables you to type in a stored procedure name in a specified
database. This is useful if you do not know SQL, but know the stored procedure that
creates the data.
3. Click Next to see the SQL Report Wizard - Data access information window.
4. In the Select the SQL database engine area, select a database engine from the drop-
down list. The list consists of available engines in the edasprof.prf file. You can
choose the first value, Default, which is the first value set in the edasprof.prf file.
5. In the Select the connection area, choose a connection from the drop-down list
generated from the engine that you selected. You can choose the default value, which
is the first connection in the edasprof.prf file for the selected engine, or choose
another connection defined in edasprof.prf.
6. Click Next to see the SQL Report Wizard - Call SQL Stored Procedure window.
Note: When typing procedure names and parameters, note that SQL is case-sensitive.
4-24 WebFOCUS7
Creating a Reporting Procedure
7. In the Remote procedure name field, type the name of the remote procedure you want
to execute.
8. In the Parameters (comma delimited) field, type the parameter names and values you
wish to execute along with the procedure.
9. Optionally, you can run with limited records by clicking Run SQL. By default, the Run
with limited records check box is selected so you can test your procedure with a
readlimit if the engine supports it. There is a field box next to the check box in which
you can enter the number of records to be read. 100 is the default limit.
10. Click Next to see the SQL Report Wizard - Summary of SQL options window.
Do one of the following:
❏ To create a report, select the Create Report option button. This option is selected
by default.
❏ To create a graph, select the Create Graph option button.
11. Click Finish to create the SQLOUT file. The Report Painter or Graph Assistant opens.
When you have completed the procedure, you can run it from the Procedures folder in
the Explorer view.
4. In the Select the SQL database engine area, select a database engine from the drop-
down list. The list consists of available engines in the edasprof.prf file. You can
choose the first value, Default, which is the first value set in the edasprof.prf file.
5. In the Select the connection area, choose a connection from the drop-down list
generated from the engine that you selected. You can choose the default value, which
is the first connection in the edasprof.prf file for the selected engine, or choose
another connection defined in edasprof.prf.
6. Click Next to see the SQL Report Wizard - Include external SQL file window.
7. Enter the external SQL file name in the field, or click Browse to select it.
Note: You can only browse the files on the APP PATH if your .sql extension is a valid
filter in the Properties dialog box. To do this, see How to Add an .sql Extension as a
Valid Filter.
8. Optionally, you can run with limited records by clicking Run SQL. By default, the Run
with limited records check box is selected so you can test your procedure with a
readlimit if the engine supports it. There is a field box next to the check box in which
you can enter the number of records to be read. 100 is the default limit.
9. Click Next to see the SQL Report Wizard - Summary of SQL options window.
Do one of the following:
❏ To create a report, select the Create Report option button. This option is selected
by default.
❏ To create a graph, select the Create Graph option button.
4-26 WebFOCUS7
Creating a Reporting Procedure
10. Click Finish to run the SQL procedure. The Report Painter or Graph Assistant opens.
When you have completed the procedure, you can run it from the Procedures folder in
the Explorer view.
Procedure: How to Pass SQL Commands to the RDBMS Using SQL Passthru
1. Access the SQL Report Wizard by doing one of the following:
❏ In the Explorer, right-click the Procedures folder and select New, Procedure. In the
Add Procedure dialog box enter a file name and then select SQL Report Wizard
from the Create with drop-down list. Click Open.
❏ In the Procedure Viewer, click the component connector and then click SQL Report
on the drop-down list.
You can also click the SQL Report icon on the Procedure Viewer toolbar.
The SQL Report Wizard - Welcome window opens.
2. Click the option button next to Type SQL statements in the report request. This
enables you to enter SQL commands that will be passed on to the RDBMS with the
SQL Passthru feature.
3. Click Next to see the SQL Report Wizard - Data access information window.
4. In the Select the SQL database engine area, select a database engine from the drop-
down list. The list consists of available engines in the edasprof.prf file. You can
choose the first value, Default, which is the first value set in the edasprof.prf file.
5. In the Select the connection area, choose a connection from the drop-down list
generated from the engine that you selected. You can choose the default value, which
is the first connection in the edasprof.prf file for the selected engine, or choose
another connection defined in edasprof.prf.
6. Click Next to see the SQL Report Wizard - Enter SQL statements window.
7. In the field box, type the SQL statements you want to pass to the RDBMS.
8. Optionally, you can run with limited records by clicking Run SQL. By default, the Run
with limited records check box is selected so you can test your procedure with a read
limit if the engine supports it. There is a field box next to the check box in which you
can enter the number of records to be read. 100 is the default limit.
9. Click Run SQL to run your report.
10. Click Next to see the SQL Report Wizard - Summary of SQL options window.
Do one of the following:
❏ To create a report, select the Create Report option button. This option is selected
by default.
❏ To create a graph, select the Create Graph option button.
11. Click Finish to run the SQL procedure.The Report Painter or Graph Assistant opens.
When you have completed the procedure, you can run it from the Procedures folder in
the Explorer view.
4-28 WebFOCUS7
Creating a Reporting Procedure
7. Type the SQL file name that you want to import or click Browse to select it.
Note: You can only browse the files on the APP PATH if your .sql extension is a valid
filter in the Properties dialog box. To do this, see How to Add an .sql Extension as a
Valid Filter.
8. Optionally, you can run with limited records by clicking Run SQL. By default, the Run
with limited records check box is selected so you can test your procedure with a
readlimit if the engine supports it. There is a field box next to the check box in which
you can enter the number of records to be read. 100 is the default limit.
9. Click Run SQL to run your report.
10. Click Next to see the SQL Report Wizard - Enter SQL statements window. You can edit
the imported SQL code if necessary.
11. Click Run SQL to run your report.
12. Click Next to see the SQL Report Wizard - Summary of SQL options window.
Do one of the following:
❏ To create a report, select the Create Report option button. This option is selected
by default.
❏ To create a graph, select the Create Graph option button.
13. Click Finish to run the SQL procedure. The Report Painter or Graph Assistant opens.
When you have completed the procedure, you can run it from the Procedures folder in
the Explorer view.
4-30 WebFOCUS7
Creating a Reporting Procedure
Example: Executing SQL Code for a Stored Procedure With the SQL Report Wizard
Start the WebFOCUS Reporting Server and create an adapter:
1. Start the WebFOCUS Reporting Server with security OFF.
2. Create the following adapter:
CON01 - Northwind Database as default (for Stored Procedures).
This is the connection name automatically assigned by the server.
3. Start Developer Studio.
Launch the SQL Report Wizard to begin executing SQL code:
4. Launch the SQL Report Wizard by right-clicking the Procedures folder and selecting
SQL Report from the Create with drop-down list in the Add Procedure dialog box.
The SQL Report Wizard - Welcome window opens.
5. Click the option button next to Executed from a stored procedure call within an SQL
database.
6. Click Next to see the SQL Report Wizard - Data access information window.
7. In the Select the SQL database engine area, select a database engine from the drop-
down list. The list consists of available engines in the edasprof.prf file. You can
choose the first value, MSSQL, which is the first value set in the edasprof.prf file.
8. In the Select the connection area, choose the CON01 connection from the drop-down
list.
9. Click Next to see the SQL Report Wizard - Call SQL Stored Procedure window.
Note: When typing procedure names and parameters, note that SQL is case-sensitive.
10. In the Remote procedure name field, type TenMostExpensiveProducts.
11. Do not type a parameter in the Parameters (comma delimited) field.
12. Click Next to see the SQL Report Wizard - Summary of SQL options window.
13. Select the Create Graph option button.
14. Click Finish to open the Graph Assistant.
4-32 WebFOCUS7
Creating a Reporting Procedure
The WebFOCUS Report Wizard provides a step-by-step tool for developers to create
parameterized reports based on predefined templates. The reports developed with the
Report Wizard can accept any number of parameter values supplied by users at run time,
when the report is executed. The parameter values include variables to populate the
report, and optional filters to control the amount of output. The required variables may
include measures, which are numeric fields that can be added or summed, and
dimensions, which are fields that can be used to sort the report output. For example, a
measure can be a quantity or cost field, and a dimension can be a product or category
field.
A set of predefined report templates are available from the Report Wizard interface that
enable you to create a variety of business reports and forms, and take advantage of the
most powerful WebFOCUS reporting features. For more information, see Types of Report
Wizard Templates. You can also develop customized report templates and make them
available to Report Wizard users. For more information, see Appendix A, Creating a Report
Template for the Report Wizard in the Developing Reporting Applications With Graphical
Tools manual.
2. In the File name field, type the name of the new HTML file you want to create.
Note: You must specify a new name for the HTML file you want to create in the Report
Wizard. If you select an existing HTML file name, that file will be opened in the HTML
Layout Painter and the Report Wizard will not be launched.
3. In the Files of type field, accept the default HTML Files.
4. In the Create with field, select HTML Layout Painter from the drop-down list. This
specifies that your finished report will de displayed in the HTML Layout Painter.
4-34 WebFOCUS7
Creating a Reporting Procedure
5. Click Open.
The Report Wizard opens.
1. In the Templates pane, highlight the type of report you wish to create. To determine
which template meets your needs, refer to information about each template in the
Overview tab of the Template Details pane.
Optionally, to view an example of the type of report you highlighted in the Templates
pane, click the Definition and Sample link in the Overview tab.
4-36 WebFOCUS7
Creating a Reporting Procedure
2. Click the Variables tab. This tab lists and describes the variables associated with the
report template you selected.
If a drop-down list appears in the Number column of the Variables tab, as shown in
the following image, you must specify the number of instances of that variable to
create at run time. This is a required step.
Tip: After the report is created, instances of a variable can be made optional by
assigning the value to the relevant drop-down box in the HTML Layout Painter. See
Adding an All Value in the Developing Reporting Applications With Graphical Tools
manual.
3. Click Next to continue to the Report Wizard, Data Requirements dialog box.
4-38 WebFOCUS7
Creating a Reporting Procedure
The following image shows an example of a completed Data Requirements dialog box.
Note: If you want to change the way the data source fields are displayed or change
the context of the fields list, for example, displaying in alphabetical order, right-click in
the list of fields and select other data source display options.
4. When you are finished assigning values to all of the variables, click Next, and the
Filters and Defaults dialog box opens where you can create filters.
Note: All check boxes in the Assigned column will be populated when you have
assigned values for every variable, which is required to continue in the Report Wizard.
Otherwise, an error message will be displayed when you click Next.
Note: After you exit the Report Wizard, you can further modify the dynamic parameters in
your report in the HTML Layout Painter. For more information, see Designing a User
Interface for a Web Application With the HTML Layout Painter in the Developing Reporting
Applications With Graphical Tools manual.
2. In the Fields list pane, select the data source field you want to use in your filter.
3. In the Multiselect pane, select the type of filter you want to create. Select:
❏ None if you want to create a single-select filter. (A single-select filter allows users
to select only one value at run time, for example, REGION EQ 'EAST')
❏ OR if you want to create a multi-select filter. (A multi-select filter allows users to
select more than one value at run time, for example, PLANT EQ 'LA' OR 'BOS')
4. Click OK and you are returned to the Filters and Defaults dialog box.
You can repeat the previous steps to create additional filters if desired.
5. Optionally, you can select an existing filter in the Filters and Defaults dialog box, and
click Edit to make changes to meet your specifications, or click Delete to remove the
filter.
4-40 WebFOCUS7
Creating a Reporting Procedure
The following image shows the syntax for two filters as displayed in the Filters and
Defaults dialog box:
6. When you are finished creating filters, click Next to continue to the Reporting Options
dialog box.
Select options for your report output by completing the following steps:
1. Select whether the output for a report will be determined by the developer or the user.
2. In the Report format options menu, select an output format from the drop-down list.
For some of the templates available in the Report Wizard, one or both of the first two
output options may be greyed out (inactive).
3. In the Select HTML Template menu, select a launch page template from the drop-down
list.
Your options are: No template, WebFOCUS 7 template, or a customized launch page
template if you have developed one.
4. When you have completed making reporting options selections, click Next, and the
New Parameters dialog box opens, as shown in the following image:
Each parameter is associated with a default form control type listed in the Control
Type column. If you want to change to another type of form control, click the down-
arrow to the far right of the current Control Type value, and select another type of
control from the drop-down list.
Note: If the New Parameters dialog box is not displayed, the check box next to “Don’t
show this message again and use default selection” was previously selected. To
reactivate, go to the Tools, Settings dialog box of the HTML Painter and select Show
new parameters.
4-42 WebFOCUS7
Creating a Reporting Procedure
5. If you want to suppress the display of a parameter in the HTML report you are
creating, un-check the Create control check box for that parameter.
6. If you are satisfied with the control type values, click OK to continue.
From the Report Wizard Summary dialog box, you have the following options:
❏ Click Run Report to preview the report’s launch page and environment in a new
browser window. You can select values for any of the parameters and click the Run
button to execute this report and view the output. When finished previewing your
report, close the browser window to return to the Report Wizard Summary.
❏ Click Back to return to previous Report Wizard screens to modify your report.
From the browser window displaying this launch page, select File, then Save As, and
enter a name to save your new HTML report.
4-44 WebFOCUS7
Creating a Reporting Procedure
The Execute Wizard and the Include component enable you to call another procedure from
the current one.
The Execute component allows one procedure to execute or call another procedure. The
redesigned Execute Wizard allows you to view and select available procedures and supply
values for parameters in the called procedure and also test that called procedure. The
called procedure behaves as a completely separate procedure, with its own context.
Execute Wizard allows you to select the procedure that you are supplying parameter
values for. Once this procedure is specified, Execute Wizard displays these parameters
and prompts you to provide values for them. You can provide values for all parameters in
the procedure, or can choose to provide values for only some of the parameters. If you
provide values for only some of the parameters, you must provide values for the other
parameters using another method. (For example, values are passed from another part of
the application, etc.) After providing parameter values, you can test the called procedure.
The Execute Wizard is available throughout all development areas of the product: Projects,
Data Servers, and Managed Reporting. When working in Managed Reporting, the tool
allows developers to use Standard Reports available in the Domain or use procedures that
reside on the WebFOCUS Reporting Server.
Execute Wizard uses the WFDESCRIBE auto-prompting feature to locate and pass
parameters. To activate the WFDESCRIBE feature, change the default value in the
IBIF_wfdescribe setting in the cgivars.wfs file.
The Include component allows one procedure to run another procedure as if the second
one were embedded in the first. In this case, the procedure being included (called) has full
access to variables defined in the calling procedure. Using this tool, you can create an
object that includes another procedure within a host procedure. There is no limit to the
number of procedures that can be included.
4-46 WebFOCUS7
Creating a Reporting Procedure
4-48 WebFOCUS7
Creating a Reporting Procedure
3. Select the procedure you want to execute from the list of available procedures, and
click Next. The Execute Procedure Wizard - Enter Procedure Parameters window opens:
The Enter Procedure Parameters window contains a list of variables contained in the
procedure you are executing, and fields in which to enter values for those variables.
This screen will not appear if the procedure you are calling does not have parameters.
4. Enter the variable values you wish to use in the procedure you are executing. If you do
not wish to provide a value for a variable, uncheck the Optional box next to the
variable name.
5. Click Next.
The Execute Procedure Wizard - Summary window opens. This window allows you to
view the name of the procedure you are calling and view the variables-value pairs.
6. Click Test Procedure to ensure that the procedure runs properly. If the procedure works
properly, a report will display in your browser.
7. Click Finish to insert the selected procedure into the current procedure.
Tip: The Execute component inserts the EX command in the procedure’s code. Hover your
cursor over the Execute object to see the EX command. If you wish to run the embedded
procedure, right-click the Execute object and choose Run from the shortcut menu.
4-50 WebFOCUS7
Creating a Reporting Procedure
4-52 WebFOCUS7
Creating a Reporting Procedure
4-54 WebFOCUS7
Creating a Reporting Procedure
Engine Tool
How to:
Create an Engine Statement
Reference:
ENGINE Dialog Box
The Engine tool exposes the FOCUS ENGINE SET commands and enables you to enter
ENGINE commands or connection attributes, and override parameters.
Note: The Engine tool is only used to create ENGINE statements. You are responsible for
having the knowledge of the ENGINE SET command or the Connection Attribute needed.
Engine
Contains a list of current adapters for which ENGINE statements exist. This field is
editable. You may manually type a new engine name.
Connection
Contains any existing connections found in your environment.
SET parameters
Type in a parameter statement.
For more information about Adapters, see the iWay Adapter Administration for
Windows, UNIX, OpenVMS, OS/400, OS/390, and z/OS manual.
4-56 WebFOCUS7
Creating a Reporting Procedure
Although most of procedure development happens at the component level, there are
several tasks that you can perform on a full procedure:
❏ Activating OLAP. If a procedure is set to run in HTML format and it uses an
OLAP-enabled Master File, you can activate OLAP for that procedure and use the OLAP
interface to manipulate data in a report or graph. For details on OLAP, see the Creating
Reports With Graphical Tools manual.
❏ Scheduling a report for distribution. You can schedule a report for distribution to a
single user or multiple users at specific times. For details on scheduling a report, see
the Creating Reports With Graphical Tools manual.
You can schedule an HTML-formatted report that has been OLAP-enabled, but the
OLAP feature will not be active. See How to Access ReportCaster to Schedule a Report
on page 4-58.
❏ Create a Web-based user interface. You can use the HTML Layout Painter or
Microsoft® FrontPage 2000 to create a launch page (Web-based interface) that makes
a report available to browser users. For more information on your options, see
Chapter 2, Understanding User Interface Basics.
❏ Securing a procedure’s contents by encrypting or decrypting it. You can restrict
a user from viewing a procedure by encrypting it. To restore access to a procedure,
decrypt it. See How to Encrypt or Decrypt a Procedure on page 4-58.
❏ Editing a procedure. You can edit a procedure as text. See How to Edit a Procedure
as Text on page 4-59.
❏ Debugging a Procedure. Debugging enables you to check a procedure for any errors
by viewing the logical execution of the request line-by-line in the Command Console.
4-58 WebFOCUS7
Creating a Reporting Procedure
Running a Procedure
How to:
Run a Procedure on a Local Server
Identify a Remote Server
Run a Procedure on a Remote Server
You can run a procedure on the local host or on a remote server at any point during the
development process:
2. Select the remote server from the Server drop-down list and enter your user name and
password to access that server.
3. Enter a port number where the remote server is listening in the Service field.
4. Click OK.
4-60 WebFOCUS7
Creating a Reporting Procedure
3. Select the remote server from the Server drop-down list and enter your user name and
password to access that server.
4. Enter a port number where the remote server is listening in the Service field.
5. Click OK.
The selected procedure is run, and its output appears in the output facility associated
with the tool that created it. For example, an HTML report or graph is displayed in the
browser, and the result of a query command is displayed in the Command Console.
Tip: You can also set a procedure to run remotely from the New Procedure dialog box.
See Selecting a Creation Tool on page 4-2.
4-62 WebFOCUS7
WebFOCUS7
You can create procedures and HTML forms in one integrated process with the HTML
Layout Painter. When you save your layout, both the procedure file (.fex) and the HTML file
are saved in their respective Project folders. You can deploy both files with your project
and they will retain their relationship.
Note: The HTML Layout Painter does not support OLAP-enabled reports. If you execute a
report from the HTML Layout Painter with this option, the output window will not display
the OLAP controls and you will receive a scripting error. In order to execute this type of
report, you must use a frame. For more information, see Adding a Frame to the Layout on
page 5-16.
5-2 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
2. Enter a name for the new procedure in the File name field.
3. Select HTML Layout Painter from the Create with drop-down list.
4. Click Open.
The HTML Layout Painter opens.
5-4 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Events Tab
Displays the events associated with objects in the layout. For details, see Working
With the Properties Window on page 5-56.
QuickLinks Window
Displays links to information on Developer Studio Help, configuration options,
metadata creation, and reports and procedures.
Parameters Tab
Displays information about the parameters in your report or graph. For details, see
Working With the Parameters Tab in the Properties Window on page 5-58.
Button Description
Saves the existing procedure (.fex) and HTML files to the current project.
This button is grayed out once the layout is saved and no new changes have
been made. When a change has been made to the layout, the Save button is
active until the report is saved again.
Button Description
Inserts a placeholder for an IFRAME. An IFRAME can have its own URL and
contain HTML content, and it can be a placeholder for a drill-down report.
Inserts text.
Inserts a line.
5-6 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Button Description
Inserts a hyperlink.
Adds a calendar
Saves a selection.
You can use the HTML Layout Painter to create an HTML page that launches and displays
your report or graph. You can add elements to the HTML page including a report or graph,
text, and form controls. The following is a complete list of objects you can add to your
HTML page with the HTML Layout Painter:
❏ A report or graph. For details, see Adding a Report or Graph to the HTML Layout on
page 5-9.
❏ A frame. For details, see Adding a Frame to the Layout on page 5-16.
❏ A line. For details, see Adding a Line to the Layout on page 5-20.
❏ An image. For details, see Adding an Image to the Layout on page 5-22.
❏ Text. For details, see Adding Text to the Layout on page 5-24.
❏ A hyperlink. For details, see Adding a Hyperlink to the Layout on page 5-26.
❏ A group box. For details, see Adding a Group Box to the Layout on page 5-28.
❏ A push button. For details, see Adding a Push Button to the Layout on page 5-30.
❏ A form control. For details, see Adding a Push Button to the Layout on page 5-30 and
Using Form Controls to Supply Parameter Values on page 5-32.
❏ A theme (template). For details, see Styling Your Layout on page 5-83.
❏ A Calendar. For details, see Adding a Dynamic Calendar on page 5-52.
❏ An HTML template. For details, see Adding a CSS or Script to the Layout on page 5-
83.
5-8 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
You can also set properties for the HTML page in the HTML Layout Painter. For details, see
Setting HTML Page Properties on page 5-83.
How to:
Add a New Report or Graph to an HTML Layout
Add an Existing Report or Graph to a Layout
Reference:
Report Properties in the Properties Window
Graph Properties in the Properties Window
You can add a report or graph to the HTML Layout that will display when you run the
procedure. You can add a new report which you create in the Report Painter or Report
Assistant, a new graph which you create in the Graph Assistant, or an existing report or
graph that resides on an available server.
You can also include parameters in a report whose values can be assigned with forms
that are added with the HTML Layout Painter. For information, see Using Form Controls to
Supply Parameter Values on page 5-32.
You can set the graphic used as a placeholder for a report or graph in the layout using the
Settings dialog box. For details, see How to Set Page Properties on page 5-102.
2. Click and drag the crosshair to create a report or graph object and adjust it to the size
you want.
A report or graph object is created in the layout and assigned the name reportn or
graphn where n is a number. The object will appear in gray and white to indicate that
the placeholder does not have a report or graph associated with it. Once a report or
graph is associated with the object, the object displays the contents of the report or
graph.
3. Create a report or graph by doing one of the following:
❏ Double-click the placeholder.
or
❏ Right-click the placeholder and select Open report for a report, or Open for a graph.
The Open dialog box opens.
4. Select the Master File you want to report against from the Master File list, select Open
Report Painter or Open Report Assistant, and click Open.
The selected tool opens. For details on using these tools, see Creating Reports With
the Report Assistant, Creating Reports With the Report Painter, and Creating a Graph
With Graph Assistant in the Creating Reports With Graphical Tools manual.
5. Optionally, after creating the report or graph, you can change its properties by
adjusting the properties displayed in the Properties tab of the Properties window. For
details, see Report Properties in the Properties Window on page 5-12.
5-10 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
5-12 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Select Components to Import Into a Procedure
Reference:
Manage Layout Dialog Box
You can select to include or exclude components to be imported into your procedure with
the Manage Layout dialog box. The Manage Layout dialog box allows you to select from
components of your request such as TABLE, SET, and GRAPH.
If you have several requests in one procedure, you can use the Manage Layout dialog box
to suppress the display of individual TABLE, SET, and GRAPH components (for example,
temporary HOLD files). By default, the last TABLE is set to display.
5-14 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Component Legend
Determines whether the request is included in the procedure, outside of the
procedure, or in the procedure and layout.
In focexec and layout
Activates the component and displays the component in the layout.
In focexec only
Deactivates the component and does not display the component in the layout. This
is a good method for hiding report requests that produce temporary files.
Not in focexec
Removes the component from the procedure.
Show layout items only (reports and graphs)
Displays the layout’s reports and graphs in the Data field.
This check box only displays when you access the Manage Layout dialog box from
the Insert menu. When accessing it from the pop-up menu, only the report or graph
component displays, and the check box does not apply.
How to:
Add a Frame to the Layout
Assign a URL, HTML Form, or Report to a Frame
Reference:
Frame Properties in the Properties Window
You can use a frame to embed additional Web sources or run reports. You can also use a
frame as the output location or target for a drill-down report. You can also use a frame to
run a table of contents report, an OLAP report, a PDF report, or an Excel report. By
default, frames are hidden until they are populated with output.
5-16 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
4. Click the New icon to create a new action. From the drop down list in the Action field
you can select:
❏ URL: To assign a URL address to the frame, select URL and enter the fully
qualified URL in the Source field.
❏ HTML File: To assign an HTML file to the frame, click select HTML File and enter
the file’s location in the Source field, or click the browse button (...) to browse to
the location. An HTML file refers to the HTML files in your application.
❏ Embedded Procedure: To assign an embedded procedure to the frame, select
Embedded Procedure and enter the procedure’s location in the Source field, or
click the browse button (...) to browse to the location.
❏ External Procedure: To assign an external procedure to the frame, select
External Procedure and enter the procedure’s location in the Source field, or click
the browse button (...) to browse to the location.
5. Click OK.
6. Optionally, change the frame’s properties by adjusting the properties displayed in the
Properties tab of the Properties window. For details, see Frame Properties in the
Properties Window on page 5-19.
5-18 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Add a Line to the Layout
Reference:
Line Properties in the Properties Window
You can add a horizontal or vertical line to the layout. This is useful for distinguishing
between sections of your launch or display page.
5-20 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
To view a description of a property at the bottom of the Properties window, click the
desired property. These properties adhere to the Microsoft standards. For more
information on Microsoft object properties, see your Microsoft documentation.
How to:
Add an Image to a Layout
Reference:
Image Properties in the Properties Window
You can add an image to the layout. This is useful for including graphics such as a
company logo.
You can insert an image into your report layout and add a hyperlink to it. After you run your
report and click the image you can launch a URL or run a report the same way you can by
clicking a hyperlink or push button. For more information, see How to Add a Hyperlink to a
Push Button or an Image on page 5-27.
Note: When inserting images, images must be referenced from a specific directory
location. Links to images are not supported.
5-22 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Add Text to a Layout
Reference:
Text Properties in the Properties Window
You can add text to the layout. This is useful for including headings for your Web page, or
adding directions or explanation for your report or graph.
5-24 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
These properties adhere to the Microsoft standards. For more information on Microsoft
object properties, see your Microsoft documentation.
How to:
Create a Hyperlink
Add a Hyperlink to a Push Button or an Image
You can create a hyperlink for your HTML page. A hyperlink can execute a report, link to a
URL, or open an HTML page. You can create a hyperlink in two ways:
❏ Insert a hyperlink. For details, see How to Create a Hyperlink on page 5-26.
❏ Add a hyperlink to a push button or image. For details, see How to Add a Hyperlink to a
Push Button or an Image on page 5-27.
2. Enter the text you want to display as the hyperlink in the Display Text field.
5-26 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
7. Execute the request and click the image to launch the web page of the URL Address
you typed in the Source field.
How to:
Add a Group Box
Reference:
Group Box Properties in the Properties Window
A group box can be used to create a border around a group of objects, for example, forms
or reports and graphs.
5-28 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Create a Submit or Reset Button
Reference:
Push Button Properties in the Properties Window
You can add a push button to the layout. A push button allows you to submit a report, or
link to a URL or HTML form. This behavior is similar to a hyperlink.
For information on adding a hyperlink to a push button, see How to Add a Hyperlink to a
Push Button or an Image on page 5-27.
5-30 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
Form controls allow you to prompt users for a parameter value. When you create a
parameter as part of a report or graph, the HTML Layout Painter automatically adds a form
control, Submit button, and Reset button for the parameter to your layout, and the
parameter appears in the parameters box. You can also add a form control and then
associate it with a parameter.
When you delete a parameter in the Report Painter that was assigned a form control in the
HTML Layout Painter, you must delete the associated controls individually.
5-32 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Form controls, with the exception of a text box which does not supply a list of possible
values, can supply values to the user with a dynamic or static list of values:
❏ A dynamic list retrieves values from a specified data source when the request is run.
❏ A static list consists of a list of values you supply. These values do not change unless
you change them.
The properties of a form control, as well as the parameters associated with each form
control, can be controlled with the Properties tab and Parameters tab of the Properties
window. For details, see Working With the Properties Window on page 5-56 and Working
With the Parameters Tab in the Properties Window on page 5-58, respectively.
How to:
Create a Text Box
Reference:
Text Box Properties in the Properties Window
A text box enables the user to enter a parameter’s value in a text entry field.
5-34 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Create a Text Area
Reference:
Text Area Properties and Events in the Properties Window
A text area is a single-select form control that enables you to enter multiple lines of text
that can be assigned to a single variable. The behavior is similar to a text box, but a user
is not restricted to entering just one line of text. For example, if you want to assign a
paragraph (multiple lines of text) to a variable that can be referenced by a procedure, you
can add the paragraph to a text area from the Parameters tab of the Properties window.
The following image shows the HTML Layout Painter, where you can access the text area
option in the Components toolbar.
5-36 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
or
From the Insert menu, select Text Area.
The cursor changes to a crosshair.
2. Click a location on the layout page, drag the crosshair to create a rectangular text
area, release the left mouse button, and adjust the text area to the desired size.
A text area is created in the layout and assigned the name textarean, where n is a
number.
3. To associate values from an existing parameter with the text area, click the
Parameters tab in the Properties window, find the row with the name of the text area
(textarean), click the Parameter field in that row, click the down-arrow to the right of
Unassigned at the edge of the Parameter field, and select the parameter you want to
associate with the text area.
4. To associate static text values or dynamically retrieved data source values, select the
Static or Dynamic option in the Control Values section of the Parameters tab.
❏ Static - To add one or more lines of text as static values, type or paste text in the
area below the Static values label in the Parameters tab.
❏ Dynamic - To add dynamic values, select the Data source option to retrieve values
from a data source, or select the Procedure option to retrieve values from a
procedure. Click the browse button (...), select a source file from the Get source
file dialog box, and click Open. For the Data source option only, select a data field
from the tree structure displayed at the bottom of the Parameters tab.
5. Optionally, you can change the text area’s properties in the Properties tab of the
Properties window.
5-38 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Optionally, you can change the text area’s properties and parameters. For details, see
Working With the Properties Window on page 5-56 and Working With the Parameters Tab in
the Properties Window on page 5-58.
How to:
Add a Drop-Down List
Reference:
Drop-Down List Properties in the Properties Window
A drop-down list allows a user to select a single value from a list of supplied values. You
can use either a dynamic drop-down list, or a static drop-down list.
5-40 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Add a List Box
Reference:
List Box Properties in the Properties Window
A list box allows a user to select single or multiple values at one time:
❏ A single select list allows the user to select only one value for each time a request is
run.
❏ A multi-select list allows the user to select multiple values by using the Ctrl key while
selecting values. In order to provide multiple values, the procedure must be set up to
accept multiple values.
List box values can be dynamic or static.
5-42 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Add Check Boxes
Reference:
Check Box Properties in the Properties Window
Check boxes allow a user to select values from a list of values. Check box lists can allow
the user to select single or multiple values at one time:
❏ A single select list allows the user to select only one value each time a request is run.
❏ A multi-select list allows the user to select multiple values. In order to provide multiple
values, the procedure must be set up to accept multiple values.
Check box list values can be dynamic or static.
5-44 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Add Radio Buttons
Reference:
Radio Buttons Properties in the Properties Window
Radio buttons allow a user to select a single value from a list of supplied values. Radio
button values can be static or dynamic.
5-46 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
How to:
Add a Tree Control to an HTML Page Using a Data Source
Add a Tree Control to an HTML Page Using an Existing Procedure
Reference:
Properties and Events for the Tree Control
You can show hierarchical data from a multi-dimensional data source (for example, SAP
BW), by using a tree structure in an HTML report. This feature is only available for
hierarchies that use the parent/child model; level hierarchies are not supported.
The behavior of the tree control is integrated with the parameter definition. If a parameter
is defined as a single value and that parameter is assigned to a tree control, the control
uses option buttons for each node in the hierarchy. If the paramater is defined as
MULTIPLE OR then the control uses check boxes for each node in the hierarchy, enabling
the user to select multiple nodes.
5-48 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The following image shows the HTML Layout Painter, where you can access the Tree
Control option in the toolbar. It also shows the properties for the tree control.
Procedure: How to Add a Tree Control to an HTML Page Using a Data Source
1. In the HTML Layout Painter, click the Tree Control icon from the toolbar.
2. Click and drag your cursor over the canvas to select the area for the tree control.
3. Select the tree control and click the Parameters tab on the Properties window.
4. In the Control Values field, select Dynamic.
5. Select the Data Source option button and click the browse button (...) adjacent to the
text box.
6. Select a multi-dimensional data source and click OK.
7. Expand the Dimensions folder, a Dimension, and the Hierarchies folder.
8. Select a field from the hierarchy and add it to the Value field text box and the Display
field text box.
Procedure: How to Add a Tree Control to an HTML Page Using an Existing Procedure
You can select an existing procedure to add to the tree control in an HTML report. When
you select a procedure, it should use fields from the parent/child hierarchy and be set up
as follows:
TABLE FILE file
SUM FST.dispfield
BY ParentUniqueField
BY UniqueField
BY datafield
ON TABLE PCHOLD FORMAT XML
END
where:
file
Is the name of the data source.
dispfield
Is the field whose values display in the tree control.
ParentUniqueField
Is the field that represents the parent for the parent/child hierarhcy (PROPERTY =
PARENT_OF).
UniqueField
Is the field that represents the unique IDs for the hierarchy members
(PROPERTY=UID).
datafield
Is the field whose values are passed as the parameter value.
After the procedure is set up, follow these steps:
1. In the HTML Layout Painter, click the Tree Control icon from the toolbar.
2. Click and drag your cursor over the canvas to select the area for the tree control.
3. Select the tree control and then click the Parameters tab on the Properties window.
4. In the Control Values field, select Dynamic.
5. Select the Procedure option button and click the browse button (...) adjacent to the
text box.
6. Select a procedure and click Open.
5-50 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
How to:
Set Calendar Properties
Example:
Returning a Range of Dates From a Procedure
Reference:
Calendar Properties in the Properties Window
Date parameters can utilize a built-in calendar control that allows users to select the
desired date or range of dates in a pop-up dynamic calendar. A procedure that is added to
or referenced in the HTML Layout Painter and contains date parameters will have a
Calendar control type available in the Properties tab of the Properties window.
When the Calendar control type is selected, a text box with a calendar icon will display in
the Design View of the Layout. The text box is the only control available for the calendar,
and the icon will always display to the right of the text box. The icon cannot be positioned
independently from the text box.
Note that when programmatically returning a date to the calendar, the date must be in a
FOCUS date format that specifies the complete date from the list of supported data types
in Calendar Properties.
5-52 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
This menu allows the developer to set the range of dates available to the user at run
time. Available dates will be represented as an active hyperlink (blue and underlined)
and unavailable dates will be static (black without underlines).
5-54 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
How to:
Move the Properties Window
5-56 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The Parameter grouping options menu in the New Parameters dialog box provides two
options for the placement of the form controls associated with new amper variable
parameters created in the Report Painter. Select Do not create a form to insert the form
controls for each of the new parameters in separate locations on the HTML page. Select
New form element to insert the form controls for all of the new parameters inside one
form element you can position anywhere on the HTML page. This form element also
contains submit (run) and reset buttons.
How to:
Change the Type of Form Control Associated With a Parameter
Unassign or Reassign a Parameter to an Existing Form Control
Create a Static List of Values
Select a Dynamic List of Values
Reference:
Parameters Tab in the Properties Window (Static Values)
Parameters Tab in Properties Window (Dynamic Values)
When a parameter is created in the Report Painter, a text box is automatically added to
the layout and associated with the parameter. However, you can change the form control
and form control type associated with the parameter.
5-58 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Procedure: How to Change the Type of Form Control Associated With a Parameter
1. In the Parameters tab, select the parameter name listed in the Parameter column.
2. Select the form control you want to use from the drop-down list in the Control Type
column to the right, and your change is reflected in the report layout.
The Parameters tab contains the following fields and options when Static is selected in
the Control Values section:
Control Name
Contains the name of the form control associated with each parameter.
Parameter
Contains the name of each parameter in the current procedure.
Unassigned - Specifies the parameter is not associated with a form control.
5-60 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Control Type
Contains the type of form control associated with each parameter. The options are:
Text box
Calendar
List box
Drop-down list
Radio button
Check box
Hidden - Hides the control type in the layout.
Text Area
Tree Control
Control Values
Determines whether parameter values are obtained from a static or dynamic list.
Static - Uses a static list of parameter values you supply. A list of static values can
also be assigned in the Report Painter.
Static values
Is a list of supplied values for a static list. For more information, see Create a Static
List of Values on page 5-64.
Value - Is the value to be passed to the selected parameter.
Display - Option for multi-select controls to display values using customized text.
Selected - Is the value to act as the default value. If the form control is multi-select,
more than one value can be selected.
New - Creates a new parameter value. For information on creating new parameter
values, see How to Create a Static List of Values on page 5-64.
Delete - Deletes a supplied parameter value from the list.
Move Up - Moves the selected value up in the list.
Move Down - Moves the selected value down in the list.
The Parameters tab contains the following fields and options when Dynamic is selected in
the Control Values section:
Control Name
Contains the name of the form control associated with each parameter.
5-62 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Parameter
Contains the name of each parameter in the current procedure.
Unassigned - Specifies the parameter is not associated with a form control.
Control Type
Contains the type of form control associated with each parameter. The options are:
Text box
Calendar
List box
Drop-down list
Radio button
Check box
Hidden - Hides the control type in the layout.
Text Area
Tree Control
Control values
Determines whether parameter values are obtained from a static or dynamic list.
Dynamic - Uses a list of values retrieved from a selected data source when the
request is executed. This is the default if you use an Accept clause in a Master File to
create an amper variable parameter within a procedure. For more information, see
Select a Dynamic List of Values on page 5-64.
Data Source
Is the data source from which the values will be retrieved.
Procedure
Is the procedure that will be called.
Value field
Is the data source field from which the values will be retrieved.
Display field
Is the text that represents the parameter value in the form control the user views.
Add “ALL” Option
Adds the option to select ALL data source values to the control. Alternate text can be
substituted for “ALL” using the text field to the right. For more information, see Adding
an ALL Value on page 5-73.
5-64 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
How to:
Filter Parameter Values
Reverse the Order of Chained Parameter Values
Remove a Parameter from the Chain
Cache Parameter Data
Use the chain feature to associate two or more related parameters. When you chain
parameters together, chained dynamic values are filtered as selections are made to each
parameter control. For example, if you chain the PLANT parameter to the STATE parameter,
only PLANT values for the currently selected STATE parameter will be available instead of
all the plants in the data source. Each time a selection is made, all chained parameters
will be dynamically updated. The chain feature also allows you to add, remove, and
reverse the order of parameters in the chain. See other topics in this section for details.
3. Click the Add to chain button. The parameters you selected are labeled with
numbers to indicate the order in which they will be chained when you run your report.
You can also reverse the order of parameters in the chain. See How to Reverse the
Order of Chained Parameter Values on page 5-66 for details.
You can continue to reverse the order in the chain by clicking the numeric labels on the
chained parameters. If you would like to see the numeric labels on the chained
parameters, select the Chain order button. Double-click a parameter to designate it as the
first parameter in the chain.
4. Click the Chain order button in the layout toolbar. You will no longer see a numeric
label on the parameter that you removed.
5-66 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
You may select other chained parameters and enable the Cache run time data option.
Tip: If you decide to deactivate the option and revert back to using non-cached data, right-
click the chained parameter and click the check mark next to the Cache run time data
option.
Example:
Retrieving Dynamic Parameter Values With One Value
Retrieving Dynamic Parameter Values With Two Values
Retrieving Values for Chained Variables With Caching Disabled
Retrieving Chained Variable Values With Caching Enabled
You have the option to allow customized retrieval of dynamic parameter values. By using a
custom procedure, you can use the FOCUS language to utilize temporary HOLD files,
filtering, etc. This allows the HTML Layout Painter to better integrate with a multitude of
large and/or proprietary data sources that may require unique retrieval methods. The
procedure must meet the following criteria:
❏ The procedure must return a name and value pair for each parameter value that will
populate the list. The first value is the submission value which is passed to the form
control when the user clicks the Submit button. The second value is the display value
which is what the user will see in the control. These two values can be the same or
different.
❏ The procedure must return the two data values on a single data line in XML format
(PCHOLD FORMAT XML).
Note: Different parameters in the same procedure can use both this option and the data
source method.
For chained parameters, there are two options based on whether caching is enabled:
❏ By default, caching of parameter values in not enabled. Each parameter control must
be mapped to its own procedure and the developer is responsible for writing filters or
WHERE criteria to properly filter the hierarchy of controls.
❏ If caching is enabled for the chained parameters, a single procedure can be used to
populate the controls of the chained variables. In this case, the HTML Layout Painter
writes the WHERE criteria.
To enable caching, click the Chain Order icon and right-click one of the chained
parameters.
5-68 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
5-70 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Hidden Parameters
You can select a HIDDEN control type in the HTML Layout Painter. This allows parameter
name value pairs to be passed in the form control without the user seeing them. This
option can be chosen in the Parameters tab in the Control Type column. When this control
type is selected, the current control assigned to the parameter will be removed. The value
of the parameter can be entered in the Value column of the Parameters tab.
Example:
Automatically Populating Fields With Parameter Values
When the name of a dynamic parameter matches a corresponding field name in a data
source, the HTML Layout Painter automatically populates the field name for the parameter.
The data source is populated by a default based on the first data source specified by a
TABLE FILE or GRAPH FILE command. The data source field is populated for the Value and
Display field controls in the Parameters tab. This generates a “run ready” Layout report as
long as the parameter names match the field names.
5-72 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
❏ With static parameters, the ALL value typically uses JavaScript to return all of the
values displayed in the list. This prevents the user having to select every value in the
list manually. When using the ALL feature with static parameters, you can select from
the following options:
❏ Add ignore value. This options sends FOC_NONE to the server at run time and is
intended for use with complex applications.
❏ Add everything value. This option uses JavaScript to send every value present in
the parameter list to the server at run time. The Add everything value option is only
available with a Multiselect OR variable type.
An example of static parameters associated with the ALL value are shown in the
following image of the parameters tab in the Properties dialog box:
5-74 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
When the options are added to the Value list, the display text can be customized, but the
value cannot be changed.
Note: Sending FOC_NONE to a compound WHERE statement will result in the entire
WHERE criteria being ignored. Therefore, when working with multiple parameters that may
be chained together, each parameter should be created in an individual WHERE statement
as follows:
WHERE ( REGION EQ ®ION.(OR(Midwest,Northeast)).Region:. );
WHERE ( ST EQ &STATE.(OR(CA,CT)).State:. );
WHERE ( CITY EQ &CITY.(OR(Atlanta,Boston)).City:. );
You can supply parameters to external reports the same way you apply them to reports
created with the Report Painter. The report layout can also contain multiple reports
associated with a common set of parameters. Launch mechanisms such as a push
button, hyperlink, or image can be associated to external reports that contain different
sets of parameters. You can also update and target parameters for an external report to a
frame or window directly within your report layout.
Before you can supply parameter values to an external report, you must create a hyperlink
to the report and associate a launch mechanism to it. After you associate a launch
mechanism, such as a push button, hyperlink, or image, to the external report, the report
layout is populated with the parameters.
Procedure: How to Supply Parameter Values to External Reports With a Push Button
In this procedure you will create a push button to launch an external report and target the
output to a window.
1. From the Insert menu, select Push Button.
The cursor changes into a crosshair.
2. Click and drag the crosshair to create a push button and a djust it to the size you
want.
3. Right-click the button and select Create hyperlink.
The Hyperlink Properties dialog box opens.
4. To set the action of the hyperlink to execute an external report, select the New icon,
then select External procedure from the Action drop-down list.
5. Enter the external report’s procedure name in the Source field, or click the browse
button (...) to browse to the procedure.
6. Optionally, direct the output to a specific location by selecting Window or Frame in the
Target Type field.
7. Specify the text you want to display as the hyperlink in the Target Name field, or select
one of the default values from the Target Name drop-down list.
8. Click OK.
The parameters for the report are automatically added to objects in the layout and
displayed in the Parameters tab.
9. From the File menu, click Run.
10. Click the push button to view the external report.
5-76 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The report opens in a separate window as you specified in the Hyperlink Properties
dialog box for that push button.
6. To set the action of the hyperlink to execute an external report, select the New icon,
then select External procedure from the Action drop-down list.
7. Enter the external report’s procedure name in the Source field, or click the browse
button (...) to browse to the procedure.
8. Direct the output to a window by selecting Window in the Target Type field.
9. Specify the text you want to display as the hyperlink in the Target Name field, or select
one of the default values from the Target Name drop-down list.
10. Click OK.
The parameters for the report are automatically added to objects in the layout and
displayed in the Parameters tab.
11. From the File menu, click Run.
12. Click the image to view the external report.
The report opens in the window you specified in the Hyperlink Properties dialog box for
that hyperlink.
5-78 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The report opens in the frame you specified in the Hyperlink Properties dialog box for
that hyperlink.
5-80 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
8. Click OK.
The parameters for the first report are automatically added to objects in the layout
and displayed in the Parameters tab.
9. From the Insert menu, select Frame. Click and drag the crosshair to create a frame
and adjust it to the size you want. Enter a name for the frame in the name field of the
frame’s Properties dialog box.
10. From the Insert menu, select Hyperlink. Click and drag the crosshair to create a
hyperlink and adjust it to the size you want.
11. Right-click the button, and select Create hyperlink.
The Hyperlink Properties dialog box opens.
12. Set the action of the hyperlink to execute a report by clicking the New icon and
selecting External Report from the Action drop-down list.
13. Enter the external report’s procedure name in the Source field, or click the browse
button (...) to browse to the procedure.
14. In the Target Type field, select Frame from the drop-down list.
15. In the Target Name field, select the name of the frame you created.
16. Click OK.
17. From the File menu, select Run.
18. Click the push button to view the first external report.
The report opens in a separate window as you specified in the Hyperlink Properties
dialog box for that push button.
19. Click the hyperlink to view the second external report. The report opens in the frame
you specified in the Hyperlink Properties dialog box for that hyperlink.
5-82 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
When you create an HTML page in the HTML Layout Painter, the objects in the layout will
display in your browser using the browser’s default styles. You can customize the
appearance of your HTML page by adding a theme or template. A template can be any
HTML file containing styling information and other elements. A theme is a template
accessed through Microsoft FrontPage.
Properties set for the HTML page will be inherited by most objects added to the layout.
Once a style has been changed for an object in the layout, it cannot be styled with a
template or theme. It is recommended that global styling of the HTML page be set before
properties are set for individual objects.
Click on a property to display a description of the selected property at the bottom of the
Properties window. These properties adhere to Microsoft standards. For more information
on Microsoft object properties, see your Microsoft documentation.
5-84 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
You can use the Style Composer to control default settings for font, background
properties, position mode, flow control, margins, list styles, and visual effects.
Note: On the following pages, the images of the Style Composer windows show many
blank fields. You may actually see the words “Not Set” populated in these blank fields
when viewing these Style Composer windows in Developer Studio.
5-86 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The Background window of the Style Composer is comprised of the following elements:
Background color
Determines the font displayed in a browser. You can specify:
Color
Transparent
5-88 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Background image
Determines the properties of the background image displayed in a browser. The
options include:
Image
Tiling
Scrolling
Position (Horizontal and Vertical)
Do not use background image
The Text window of the Style Composer is comprised of the following elements:
Alignment
Determines the alignment of a text. You can specify:
Horizontal
Vertical
Justification
Spacing Between
Determines the spacing. You can specify spacing between the following text elements:
Letters
Lines
Text Flow
Determines the flow of the text. You can specify:
Indentation
Text Direction
5-90 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The Position window of the Style Composer is comprised of the following elements:
Position Mode
From which you can specify:
Position in normal Flow
Offset from normal flow
Absolutely position
Height
Width
When Absolutely Position is selected, you can specify the following position indicators in
the measurements you select:
Top
Left
Z-Index (optional). Sets or retrieves the stacking order for absolute or relatively positioned
objects.
5-92 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The Layout window of the Style Composer is comprised of the following elements:
Flow Control
From which you can specify:
Visibility
Allow Text to Flow
Display
Allow Floating Objects
Content
From which you can specify:
Overflow
Clipping
From which you can specify whether or not to clip the layout from the following
positions:
Top
Bottom
Left
Right
Printing page breaks
From which you can specify:
Before
After
The Edges window of the Style Composer is comprised of the following elements:
Margins
From which you can specify:
Top, Bottom, Left, Right margins
Padding
From which you can specify:
Top, Bottom, Left, Right padding
5-94 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Borders
From which you can specify:
Select the edge to be changed
Style
Width
Color
Note: Borders are displayed as a single solid line in the Style Composer preview window,
regardless of whether you select a single or double line border. Borders are accurately
displayed in the Style Composer Design View and in the HTML output of an application.
The Lists window of the Style Composer is comprised of the following elements:
Lists
From which you can specify:
Bulleted
Unbulleted
Bullets
From which you can specify:
Style
Position
Custom bullet
5-96 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The Other window of the Style Composer is comprised of the following elements:
User Interface
From which you can specify:
Cursor
Tables
From which you can specify:
Borders
Layout
You can change the size and position of objects in your layout in the following ways:
❏ Set relationships between objects. This is done by setting relationships between
objects and a controlling, or dominant, object. The controlling object is the last object
selected. For details, see Setting Relationships Between Objects on page 5-98.
❏ Click and drag with your mouse.
5-98 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Button Descriptions
Toggles the grid on and off. Use the grid to assist in lining up objects in the
layout. This button is recessed when the grids are enabled.
Aligns the highlighted objects’ left edge with the left edge of the controlling
object.
Aligns the highlighted objects’ right edge with the right edge of the
controlling object.
Aligns the highlighted objects’ top edge with the top edge of the controlling
object.
Aligns the highlighted objects’ bottom edge with the bottom edge of the
controlling object.
Sets the width of the highlighted objects to the width of the controlling
object.
Sets the height of the highlighted objects to the current height of the
controlling object.
Sets the height and width of the highlighted objects to the height and width
of the controlling object.
Maintains the distance between the controlling object’s top left corner and
the highlighted objects’ top left corners.
Maintains the distance between the controlling object’s top right corner and
the highlighted objects’ top left corners.
5-100 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
Button Descriptions
Maintains the distance between the controlling object’s bottom right corner
and the highlighted objects’ top left corners.
Maintains the distance between the controlling object’s bottom left corner
and the highlighted objects’ top left corners.
Breaks the relationship set between highlighted objects. This button is only
highlighted when selected objects have relationships set.
Activates chained parameters for viewing and editing. For details about
chained parameters, see Filtering Dynamic Parameter Values on page 5-65.
You can set properties for the HTML Layout Painter with the Settings dialog box. This
dialog box allows you to set page properties such as the location of reports and graphs,
as well as the display of a grid in your layouts. The changes that are made in the Settings
dialog box are saved to the registry. This allows a customized environment to be created
for various users.
5-102 WebFOCUS7
Designing a User Interface for a Web Application With the HTML Layout Painter
The Page Properties and Settings dialog boxes contains the following fields/options:
Images
Specifies the default image location of the report and graph object.
Report Item without data
Is the image location for the report object when no report has been created for it.
Report Item with data
Is the image location for the report object after a report has been created for it.
Graph Item without data
Is the image location for the graph object when no graph has been created for it.
Graph Item with data
Is the image location for the graph object after a graph has been created for it.
Grid Settings
Determines the grid display.
Show Grid
Displays a grid. If this is not selected, the grid is turned off for all layouts.
Snap to Grid
Causes objects in the layout to snap to grid lines when being positioned. For
detailed positioning, deselect this option.
Width
Is the width of the grid in pixels.
Height
Is the height of the grid in pixels.
Change current layout only
Applies your settings only to the current layout.
5-104 WebFOCUS7
WebFOCUS7
You can create compound reports and coordinated compound reports in one integrated
process with the PDF Layout Painter.
6-2 WebFOCUS7
Designing an Application With the PDF Layout Painter
2. Enter a name for the new procedure in the File name field.
3. If the Create with drop-down list is displayed, select PDF Layout Painter.
The PDF Layout Painter is the default for the Coordinate PDF Reports and Graphs link.
4. Click Open.
The PDF Layout Painter opens.
6-4 WebFOCUS7
Designing an Application With the PDF Layout Painter
Button Description
Saves the existing procedure (.fex) and PDF files to the current project. This
button is grayed out once the layout is saved and no new changes have been
made. When a change has been made to the layout, the Save button is
active until the report is saved again.
Inserts text.
Inserts a line.
Button Description
The Compound Report Properties window contains options that control the properties of
your report and reporting objects. These properties adhere to the Microsoft standards. For
more information on Microsoft object properties, see your Microsoft documentation.
6-6 WebFOCUS7
Designing an Application With the PDF Layout Painter
There are two types of compound reports that can be built in the PDF Layout Painter, a
compound layout report or a coordinated compound report:
❏ Compound Layout Report: Allows absolute positioning of reports and graphs.
❏ Coordinated Compound Layout: Is “coordinated” so that all reports and graphs that
contain a common sort field are burst into separate page layouts. Each value for the
first sort field displays on a separate page.
A compound layout report is comprised of individual component reports or graphs, either
embedded or external. Reports and graphs can be positioned anywhere on the page.
6-8 WebFOCUS7
Designing an Application With the PDF Layout Painter
The following reporting objects are available for creating a report in the PDF Layout
Painter:
❏ Reports
❏ Graphs
❏ Formatting Objects:
❏ Images
❏ Text
❏ Lines
❏ Boxes
If you want to add a formatting object to a page layout by itself, you must include a report
that generates no visible output.
6-10 WebFOCUS7
WebFOCUS7
A helper application or plug-in is a desktop program used by a browser to open a file with
a format other than standard HTML. An example of a helper application is Adobe®
Acrobat® Reader, which opens a PDF file.
When a Web server sends a special type of file to a browser, it includes MIME
(Multipurpose Internet Mail Extensions) information, indicating the file format. WebFOCUS
determines which helper application to run based on MIME type. You must associate the
content (MIME) type of a file with a helper application using Windows Explorer.
This feature applies to WebFOCUS. You can create the procedure and launch page in
Developer Studio, and deploy them with the Deploy Wizard. Run them in WebFOCUS.
7-2 WebFOCUS7
Enhancing a User Interface
7-4 WebFOCUS7
Enhancing a User Interface
4. Run the launch page, and click the link. WebFOCUS returns the data to the browser in
EXL2K format. The browser calls the helper application, Microsoft Excel 2000, and
displays the report:
2. Create a launch page from which a user can run the report. The following sample
launch page is named FORMATS. The letter on the left corresponds to the note
explaining the code.
<HTML>
<HEAD>
<TITLE>Multiple Display Formats</TITLE>
</HEAD>
<BODY BGCOLOR="#E3E3E3">
<FONT FACE="Arial">
<CENTER>
<FONT SIZE="+1">Welcome to the QA Database</FONT>
<HR WIDTH="45%" NOSHADE>
</CENTER>
<FORM ACTION="/ibi_apps/WFServlet" METHOD="get">
<INPUT NAME="IBIF_ex" VALUE="qastatus" TYPE="hidden">
<P>
Select a plant to generate a report on product problems:
</P>
<SELECT NAME="PLANT">
<OPTION>BOS
<OPTION>DAL
<OPTION>LA
<OPTION>ORL
<OPTION>SEA
<OPTION>STL
</SELECT>
<P>
<HR>
a. <TABLE CELLPADDING="2">
<TR>
<TD CLASS="LABEL">Select a display format:</TD>
<TD><INPUT TYPE="RADIO" NAME="FMT" VALUE="HTML" CHECKED>HTML</TD>
<TD><INPUT TYPE="RADIO" NAME="FMT" VALUE="PDF">PDF</TD>
<TD><INPUT TYPE="RADIO" NAME="FMT" VALUE="EXL2K">Excel 2000</TD>
</TR>
</TABLE>
<P>
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Submit">
<INPUT TYPE="RESET" NAME="RESET" VALUE="Reset">
</FORM>
</BODY>
</HTML>
a. Radio buttons in a table prompt the user for the format (FMT), and the value is
passed to the procedure.
7-6 WebFOCUS7
Enhancing a User Interface
3. Deploy the procedure and launch page using the Deploy Wizard. See Step 2: Create a
Deployment Scenario in Chapter 8, Partitioning and Deploying Project Files, for
instructions.
4. Run the launch page.
5. Select ORL from the drop-down list. Select PDF for the format. Click Submit.
WebFOCUS returns the data to the browser in PDF. The browser calls the helper
application, Adobe Acrobat Reader, and displays the report:
7-8 WebFOCUS7
Enhancing a User Interface
WebFOCUS Client variables give you control over the display of multiple reports on the
same HTML page with multiple frames without coding HTML FRAME syntax. It also allows
you to link multiple reports with a single Table of Contents (TOC) that calls them. For
example, you can use these variables to display different report formats, such as HTML
and PDF, on a single launch page.
You can:
❏ Pass the variables on a call to the WebFOCUS Client from a hyperlink.
❏ Set the variables in a procedure with the Dialogue Manager -TYPE command. If you
use this method, test your application in WebFOCUS. Either create the procedure with
a text editor in WebFOCUS, or create it in Developer Studio, deploy it, and then run it.
Use the variables described in this topic with procedures that generate more than one
report. See Managing Flow of Control in an Application in the Developing Reporting
Applications manual for details on the use of -RUN, -INCLUDE, and EX to code multiple
report requests.
WebFOCUS Client variables apply to WebFOCUS. Developer Studio does not support
multiple reports generated by these variables. Instead, multiple reports can be created
with the Developer Studio HTML Layout Painter. These reports must be run in WebFOCUS.
7-10 WebFOCUS7
Enhancing a User Interface
IBIWF_mrcolumns
Is the number of side-by-side reports from left to right across the page when
IBIWF_mreports is set to FRAME. If this variable is not set, reports are displayed top to
bottom.
The syntax is
IBIWF_mrcolumns = {1|n}
where:
n
Is the number of reports. The default value is 1. The maximum value is 9.
IBIWF_mrrows
Is the number of vertically stacked reports when IBIWF_mreports is set to FRAME.
The syntax is
IBIWF_mrrows = n
where:
n
Is the number of reports desired from top to bottom.
IBIWF_mprefix
Is descriptive text that precedes a sequence number and identifies a report on a TOC.
WebFOCUS appends the number 1 (for the first report generated) to n (for the last report
generated), as set by the index value on IBIWF_mreports.
Do not use this variable if IBIWF_mreports = FRAME.
The syntax is
IBIWF_mprefix = {Report|text}
where:
text
Is a character string, up to 50 characters long. The maximum length does not include
the number appended by WebFOCUS. The default value is Report.
IBIWF_morder
Is the order in which reports display in the browser. Applies only when IBIWF_mreports =
FRAME. Ignored when IBIWF_mreports = INDEX.
The syntax is
IBIWF_morder = {FORWARD|REVERSE}
where:
FORWARD
Displays reports in the order in which they were coded and executed. This value is the
default.
REVERSE
Displays reports in the reverse order in which they were coded and executed. This is
especially useful if the last report is a summary report you would like to display on the
Web page first.
IBIWF_mframename
Is a name for a frame when IBIWF_mreports = FRAME. If you do not code this variable,
WebFOCUS internally names the frames MREPORT1 through MREPORTn, which may
conflict with other HTML code.
The syntax is
IBIWF_mframename = {MREPORT|text}
where:
text
Is a character string, up to 20 characters long.
IBIWF_index
Controls whether a sequence number (1, 2,...n) is appended to the end of the names on
the TOC when IBIWF_mreports = INDEX.
The syntax is
IBIWF_index = {ON|OFF}
where:
ON
Appends a sequence number of 1 (for the first report generated) to n (for the last
reported generated). ON is the default value.
OFF
Omits a sequence number. Only the text specified by IBIWF_mprefix applies.
7-12 WebFOCUS7
Enhancing a User Interface
<A HREF="/alias/webapi.dll?IBIF_ex=procedure[&var=value
[&var=value]...]"> text</A>
<A HREF="http://server_name/servlet?WFServlet=procedure[&var=value
[&var=value]...]"> text</A>
where:
alias
Points to the directory in which the WebFOCUS CGI (ibiweb.exe) or ISAPI (webapi.dll) is
located. A Web server uses an alias to provide a logical name for a physical directory.
The default alias is cgi-bin/ibi_cgi. It is set during WebFOCUS installation and
configuration.
To call WebFOCUS on another Web server, specify a fully qualified URL, for example:
http://web_server/alias/ibiweb.exe...
server_name
Is the name of the Web server on which WebFOCUS is installed.
procedure
Is the name of the procedure to run.
var=value
Is a WebFOCUS Client variable and its corresponding value.
You can pass more than one variable-value pair, but do not include a space between
pairs. Use an ampersand (&) as a delimiter to separate each variable-value pair. A
value can be a maximum of 80 characters long.
If a value contains an embedded blank, substitute a plus sign (+) or the characters
%20 for the blank.
See WebFOCUS Client Variables on page 7-10 for a list of variables and valid values.
text
Is the text on the launch page that serves as the hyperlink that runs the procedure.
7-14 WebFOCUS7
Enhancing a User Interface
4. Run the launch page in the browser, and click Run report to receive the report on total
dollar sales:
Click Sales Analysis Report 2 for the report on total unit and dollar sales:
7-16 WebFOCUS7
Enhancing a User Interface
4. Access the launch page in the browser, and run the reports:
7-18 WebFOCUS7
Enhancing a User Interface
Example: Displaying Two Reports With Descriptive Names and Sequence Numbers
1. Create a procedure named HTMPDF1, which consists of two requests. The first
generates a report on total dollar sales in HTML format; the second, on total dollar
sales in PDF format.
-TYPE commands set the variables that provide an identifier (HTML Report and PDF
Report) and sequence number (1 and 2) to each report. The command that creates
the TOC is required only once at the beginning of the procedure.
Procedure:
-TYPE WEBFOCUS CGIVAR IBIWF_mreports=INDEX
-TYPE WEBFOCUS CGIVAR IBIWF_mprefix=HTML Report
TABLE FILE GGSALES
SUM DOLLARS BY PRODUCT
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF,$
ENDSTYLE
END
-RUN
TABLE FILE GGSALES
-TYPE WEBFOCUS CGIVAR IBIWF_mprefix=PDF Report
SUM DOLLARS BY PRODUCT
ON TABLE PCHOLD FORMAT PDF
END
2. Create a launch page that runs the procedure.
3. Deploy the procedure and launch page using the Deploy Wizard. See Step 2: Create a
Deployment Scenario in Chapter 8, Partitioning and Deploying Project Files for
instructions.
4. Run the launch page in the browser. The report in HTML format displays.
7-20 WebFOCUS7
Enhancing a User Interface
5. Click PDF Report 2 for the report in PDF using the Acrobat Reader.
7-22 WebFOCUS7
Enhancing a User Interface
4. Run the launch page in the browser. The reports have descriptive names without
sequence numbers.
This topic illustrates the use of JavaScript to create a drill-down report. It describes how to
call a JavaScript function and pass values to it from the summary component of the
report, to dynamically determine the content of the detailed component.
You will see how to specify a hyperlink to a JavaScript function in a procedure’s
StyleSheet. Once a hyperlink is defined, a user can select the associated object in the
report to execute the function.
7-24 WebFOCUS7
Enhancing a User Interface
For more information on StyleSheets, see the Creating Reports With WebFOCUS Language
manual.
For details on JavaScript capabilities and syntax, see your JavaScript documentation.
TYPE=TITLE,COLOR=RED,STYLE=BOLD,$
TYPE=HEADING,COLOR=BLUE,STYLE=ITALIC,SIZE=11,$
TYPE=FOOTING,COLOR=BLUE,STYLE=ITALIC,$
END STYLE
END
e. -HTMLFORM BEGIN
<HTML>
f. <SCRIPT LANGUAGE="JavaScript">
var spacer = "................................."; var pos=0;
var aaaa;
function conprint(aaax,lsyr,aa1,aa2,aa3,aa4,aa5,aa6,aa7,
aa8,aa9,aa10,aa11,aa12)
{
7-26 WebFOCUS7
Enhancing a User Interface
lsyrave=parseFloat(lsyr);
a1=parseFloat(aa1);
a2=parseFloat(aa2);
a3=parseFloat(aa3);
a4=parseFloat(aa4);
a5=parseFloat(aa5);
a6=parseFloat(aa6);
a7=parseFloat(aa7);
a8=parseFloat(aa8);
a9=parseFloat(aa9);
a10=parseFloat(aa10);
a11=parseFloat(aa11);
a12=parseFloat(aa12);
gotota=eval(a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 +
a11 + a12);
goavea=gotota/12;
gotot=Math.round(gotota);
goave=Math.round(goavea);
diffavea=goavea-lsyrave;
diffave=Math.round(diffavea);
g. document.form1.text1.value=gotot;
document.form1.text2.value=goave;
document.form1.store.value=aaax;
arraygo = new Array(13);
arraygo[1]=a1;
arraygo[2]=a2;
arraygo[3]=a3;
arraygo[4]=a4;
arraygo[5]=a5;
arraygo[6]=a6;
arraygo[7]=a7;
arraygo[8]=a8;
arraygo[9]=a9;
arraygo[10]=a10;
arraygo[11]=a11;
arraygo[12]=a12;
minval=100000;
maxval=0;
mnmmax=0;
mnmmin=0;
for(i = 1; i <= 12; i++)
{
if(arraygo[i] > maxval)
{
mnmmax=i;
maxval = arraygo[i];
}
if(arraygo[i] < minval)
{
mnmmin=i;
minval = arraygo[i];
}
}
rng1=maxval - minval;
rng=Math.round(rng1);
mnms=new Array(13);
mnms[1]="January";
mnms[2]="February";
mnms[3]="March";
mnms[4]="April";
mnms[5]="May";
mnms[6]="June";
mnms[7]="July";
mnms[8]="August";
mnms[9]="September";
mnms[10]="October";
mnms[11]="November";
mnms[12]="December";
document.form1.themax.value=maxval;
document.form1.themin.value=minval;
document.form1.range.value=rng;
document.form1.mnmmax.value=mnms[mnmmax];
document.form1.mnmmin.value=mnms[mnmmin]; }
</SCRIPT>
<BODY>
<FORM name="form1">
7-28 WebFOCUS7
Enhancing a User Interface
a. This command saves the report output with 1997 data to a temporary file named
HOLD in native machine format. Since this is the only data necessary for the
report, this server extract file is created to speed subsequent processing.
b. This code formats the report, providing descriptive column titles. The store code is
the first column. The following columns contain total monthly quantity for each
store.
c. This command saves the report output to a temporary file in HTML format. The file
is named JAVATEMP. It will be merged with the HTML page created later
(see item e).
d. The StyleSheet specifies a hyperlink to a JavaScript function named conprint. The
code passes the store code and monthly values to the function.
e. The Dialogue Manager command -HTMLFORM BEGIN indicates the start of an
HTML page in which the JavaScript function is defined. The report output will be
embedded on this page.
f. The HTML code declares the JavaScript function and passes values to it.
g. JavaScript assigns variable names to values displayed on the HTML page.
h. WebFOCUS reads the HTML comment and replaces it with the report output held
in JAVATEMP.
i. The Dialogue Manager command -HTMLFORM END indicates the end of the HTML
page.
2. Create a launch page from which a user can run the report.
3. Run the launch page, and click the link. The summary component displays.
7-30 WebFOCUS7
Enhancing a User Interface
Normally, a Web server returns an entire report to a browser. The browser waits until it
receives all of the report before displaying it.
On-demand paging allows you to download one page of a report to a browser instead of
the entire report. The Web server holds the remaining pages until the user requests them.
This feature shortens the time the user waits to see the first page of a report. It is
especially effective for long reports.
On-demand paging is implemented in the WebFOCUS Viewer. It requires that report output
be formatted as HTML, which is the default setting for a request submitted through the
WebFOCUS Client.
How to:
Enable the WebFOCUS Viewer
Example:
Enabling the WebFOCUS Viewer
7-32 WebFOCUS7
Enhancing a User Interface
3. Run the launch page, and click the link. The report displays in the WebFOCUS Viewer.
How to:
Open the WebFOCUS Viewer in a Target Frame
Display a Home Page When You Close the WebFOCUS Viewer
Reference:
Closing the WebFOCUS Viewer
You can specify a target frame in which to open the WebFOCUS Viewer, and a home page
that displays when you close the WebFOCUS Viewer.
7-34 WebFOCUS7
Enhancing a User Interface
Syntax: How to Display a Home Page When You Close the WebFOCUS Viewer
SET WEBVIEWHOME = {home_URL|OFF}
where:
home_URL
Is a valid URL that displays an HTML page when you close the WebFOCUS Viewer.
OFF
Displays a blank browser window when you close the WebFOCUS Viewer. You must
enter another URL to run another report. OFF is the default value.
7-36 WebFOCUS7
Enhancing a User Interface
A Cascading Style Sheet is an extension to HTML that allows you to specify formatting for
an HTML page. A Cascading Style Sheet can reside either in the HTML page that it
formats, or in a separate file (with the extension .CSS), which can be shared by multiple
pages. When it is in a separate file, it is known as an external Cascading Style Sheet.
This topic illustrates the use of an external Cascading Style Sheet to add scroll bars to
reports when necessary and set standard fonts, font sizes, colors, and other display
characteristics.
For details on Cascading Style Sheets, see the Creating Reports With WebFOCUS Language
manual.
b. TYPE=TITLE, CLASS=TITLE, $
TYPE=REPORT, GRID=OFF, $
TYPE=DATA,COLUMN=SNAME,COLOR=RED,STYLE=BOLD,
WHEN=LINEPRICE LT 10000000,$
TYPE=DATA,COLUMN=LINEPRICE,COLOR=RED,STYLE=BOLD,
WHEN=LINEPRICE LT 10000000,$
ENDSTYLE
ON TABLE HOLD AS CREPORT1 FORMAT HTMTABLE
END
7-38 WebFOCUS7
Enhancing a User Interface
END
SET LOOKGRAPH=PIE
SET GRAPHEDIT=OFF
SET GRID=ON
SET BARNUM=ON
SET 3D=ON
SET VAXIS=250
SET HAXIS=250
GRAPH FILE CENTORD
SUM LINEPRICE
BY PRODCAT
c. -HTMLFORM scrollpg
7-40 WebFOCUS7
Enhancing a User Interface
3. Create a Cascading Style Sheet named SCROLLSS, which positions the reports and
graphs on the display page, creates the scroll bars for report display, and sets text
and background colors. The Web server must be able to locate the Cascading Style
Sheet.
The letters on the left correspond to the notes explaining the code.
Cascading Style Sheet: SCROLLSS.CSS
a. { color: Navy;
font-weight : bold;
}
/* the following rule controls the default styling for fonts in
the application */
body, td {
font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size : 12px;
font-style : normal;
font-variant : normal;
font-weight : normal;
/* width : 10%; */
/* the rule below allows the scroll bars to be customized */
scrollbar-base-color : Blue;
scrollbar-arrow-color : white;
}
#toolbar {
position: relative;
top: 500;
left: 0;
width: 430px;
height: 20pt;
padding: 6px;
background: 0033ff;
border : thin outset;
}
/* the following defines position and properties of top left
report */
.report1 { position: absolute;
a. top: 30;
left: 60;
width: 200;
height: 200;
border: thin outset;
b. overflow: auto;
}
/* the following defines position and properties of top right
graph */
.graph1 { position: absolute;
c. top: 0;
left: 440;
overflow: auto;
}
7-42 WebFOCUS7
Enhancing a User Interface
/* this rule sets the style for the mouse over effect on an
anchor */
a:hover { color: red; }
a. Position the first report on the HTML page.
b. Create scroll bars if the report cannot be entirely displayed at one time in a frame.
c. Position the first graph on the HTML page.
d. Set styling characteristics that are applied to WebFOCUS report headings.
e. Set styling characteristics that are applied to WebFOCUS column titles.
4. Create a launch page that runs the procedure SCROLL to generate the following:
You can display a previously run report in a browser without re-executing the request.
WebFOCUS holds a report in a cache for a set period of time. If the output for a new
request is the same as the output for a previous request, and it is still in the cache, the
browser displays the previous report with the Back, Refresh, or Reload button.
The EXPIRE_REPORTS parameter sets the period of time for which a report is held in the
cache. It is customizable for a WebFOCUS installation and affects all WebFOCUS output.
You can change the EXPIRE_REPORTS parameter in the following ways:
❏ Set the EXPIRE_REPORTS value in the CGIVARS.WFS file, which is located by default
as follows:
Windows: install_ drive:\ibi\client71\conf\etc
UNIX: /ibi/client71/conf/etc
OS/390: /ibi/client71/conf/etc
❏ Add EXPIRE_REPORTS and its revised value to the SITE.WFS file, which overrides
values in other .WFS files.
7-44 WebFOCUS7
Enhancing a User Interface
You can capture a user ID on an HTML logon page and pass it to a procedure. Use this
technique to create menus that display only those application functions that a user is
permitted to execute. For instance, one user may access menu options that apply to a
particular role in the organization, and another user may access certain sensitive
capabilities. The choice of menu options is based on the user ID.
The example in this topic runs on WebFOCUS for Windows.
7-46 WebFOCUS7
Enhancing a User Interface
Note:
❏ Procedures used by the WebFOCUS Reporting Server to create output, and HTM files
in which the output is embedded, must be accessible to the WebFOCUS Reporting
Server.
❏ Launch pages, menus that request reports, and images are stored in the WebFOCUS
Client on the Web server.
7-48 WebFOCUS7
Enhancing a User Interface
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<input type="hidden" name="IBIWF_action" value="WF_SIGNON">
<input type="hidden" name="IBI_random" value=''>
<input type="hidden" name="WF_SIGNON_MESSAGE"
value="http://localhost/IBI_HTML/HOME.HTM">
</form>
<p> </p>
</body>
</html>
2. The following is the SIGNON.HTM page when accessed in the Web browser:
7-50 WebFOCUS7
Enhancing a User Interface
The following file is named HOME.HTM. Modify the lines in bold to apply to the Web server
at your site.
HOME.HTM:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<title>Webfocus Reporting</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="Microsoft Border" content>
<meta base href="http://localhost/">
</head>
function Hide_A_query()
{
if (parent.document.all("header").all("bodypart").all("QueryPart")
.rows =='0,*')
{
resize()
}
else
{
parent.document.all("header").all("bodypart").all("QueryPart")
.rows='0,*';
}
}
function resize(){
var
x=parent.frames('QueryFrame').document.all('Query').offsetHeight-10;
parent.document.all("header").all("bodypart").all("QueryPart")
.rows=x+",*";
}
7-52 WebFOCUS7
Enhancing a User Interface
}
else
{
if((Checktype[x][3]=='D')&&(frm.elements(Checktype[x][0]).value.length
> 0))
{
var dateStr = frm.elements(Checktype[x][0]).value;
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
// To require a 4 digit year entry, use this line instead:
// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
7-54 WebFOCUS7
Enhancing a User Interface
}
return boodschap
}
function breakout() {
mywindow=window.open("","Titel","scrollbars=yes,status=no");
mywindow.location.href=parent.frames('ReportFrame').location.href;
}
//-->
</script>
<style fprolloverstyle>A:hover {color: #FFFF00; font-family: Verdana;
font-size:8pt; font-weight: bold}
</style>
<base target="contents">
</HEAD>
</tr>
</table>
</BODY>
2. The following file is named LOADMEN.HTM. It supplies the content for the left-hand
frame (contents). Modify the lines in bold to apply to the Web server at your site.
LOADMEN.HTM:
<html>
<head>
<title>Welcome text</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function loadmenu() {
IBI_random=Math.random()*Math.random()*Math.random()*100 ;
loadurl="http://localhost/ibi_apps/
WFServlet?IBIF_ex=fhsub&IBI_random="+IBI_random
parent.frames[1].location.href=loadurl
}
// -->
</SCRIPT>
</head>
<body bgcolor="#E0E0BE" onload="loadmenu()">
<p align="center">Loading Menu ....</p>
<p align="center">Stand by ..</font></p>
</SCRIPT>
</body>
</html>
3. The following file is named WELCOME.HTM. It provides the initial blank frame that will
be replaced by report output. No modification is required.
WELCOME.HTM:
<html>
<head>
<meta http-equiv="Content-Language" content="nl-be">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Welcome text</title>
<base target="_self">
</head>
<body bgcolor="#E0E0BE"></body>
</html>
7-56 WebFOCUS7
Enhancing a User Interface
7-58 WebFOCUS7
Enhancing a User Interface
-************************************************************************
-* This will build the HTML syntax needed for dynamic user menu
-* with selection on user ID.
-************************************************************************
JOIN MKEY IN USERLST TO ALL MKEY IN H1 AS A
DEFINE FILE USERLST
TAGP1/A25='<TR> <TD WIDTH="100%" >' ;
TAGP2/A150=
'<A HREF=' || '&HOMEURL.EVAL' || HTM ||
' TARGET="' || FRM || '" ONCLICK="Prepare();" >' ;
TAGP3/A80='<FONT SIZE="1" COLOR="#000000" >'|| RAP ||
'</FONT></A></TD></TR>';
END
TABLE FILE USERLST
PRINT TAGP1 TAGP2 TAGP3
WHERE USER EQ '&UPUSER.EVAL';
ON TABLE HOLD AS RLIST FORMAT ALPHA
END
-RUN
-************************************************************************
-* This will call the HTM file that contains the !IBI.FIL syntax.
-************************************************************************
-HTMLFORM SUBMEN
7-60 WebFOCUS7
Enhancing a User Interface
<SCRIPT LANGUAGE='JavaScript'>
<!-- shields up!
function Prepare () {
parent.document.all("header").all("bodypart").all("QueryPart")
.all("Reportframe").src="welcome.htm"
parent.document.IBI_random=Math.floor((Math.random()*100000));
}
function Hide_query()
{
parent.document.all("header").all("bodypart").all("QueryPart")
.rows="26,*";
parent.document.all("header").all("bodypart").all("QueryPart")
.all('QueryFrame').src='welcome.htm';
}
function set_rand()
{
parent.document.IBI_random=Math.floor((Math.random()*100000));
}
// -->
</SCRIPT>
onload="set_rand()">
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p align="center"><img border="0" src="http://localhost/ibi_html/
template/powered.gif" align="baseline"></p>
</body>
</html>
7-62 WebFOCUS7
Enhancing a User Interface
Example: Step 9: Creating the Forms That Call the Report Selections on the Menu
1. The following file is named 1MYQRAP.HTM. No modification is required. The file must
be stored in the WebFOCUS client under the directory ibi\WebFOCUS\ibi_html.
1MYQRAP.HTM:
<html>
<head>
<title>Query</title>
<meta name="Microsoft Border" content>
</head>
<body name="test" topmargin="1" style="font-family: Verdana;
font-size:8pt" bgcolor="#D8D9B0" onload="resize()">
function Form1_Validator(theForm){
var boodschap = ''
var terug = true
//
//Checktype[[Fieldname,Text, Required, Type,rangefrom,rangeto]]
// Type=(T,N,D), T -> Rangefrom & rangeto = length, N > range= real
range !!! - Daterange not yet supported
//
var Checktype=[[],[]];
//
// End of Validation definition
//
//
parent.frames("Reportframe").document.write('<br><p align="center">
<b><font face="Verdana" size="2">Please Wait...<BR>WebFocus is
working for you</font></b></p>');
fun1()
return (terug)
function Hide_query()
{
parent.document.all("header").all("bodypart").all("QueryPart")
.rows="26,*";
}
function resize(){
var x=document.all("Query").offsetHeight-10;
parent.document.all("header").all("bodypart").all("QueryPart")
.rows=x+",*";
}
function checkaction(){
if
(parent.document.all("header").all("bodypart").all("QueryPart").rows
== '26,*') {
resize()
}
else {
parent.document.all("header").all("bodypart").all("QueryPart")
.rows='26,*';
}
}
function fun1()
{
document.frminput.IBI_random.value=Math.floor((Math.random()*100000));
}
//--></script>
7-64 WebFOCUS7
Enhancing a User Interface
<option value="CHILDREN">CHILDREN</option>
<option value="MUSICALS">MUSICALS</option>
</select></font></td>
<tr>
<td width="70" align="right" bgcolor="#D8D9B0" height="1">
<p></p>
</td>
<td width="104" bgcolor="#D8D9B0" height="27">
<font face="Verdana" size="1">
<input type="submit" value="Run" name="B1"></font>
</td>
</tr>
</table>
</form>
</DIV>
</body>
</html>
parent.frames("Reportframe").document.write('<br>
<p align="center"><b><font face="Verdana" size="2">Please
Wait...<BR>WebFocus is working for you</font></b></p>');
fun1()
return (terug)
}
function Hide_query()
{
parent.document.all("header").all("bodypart").all("QueryPart")
.rows="26,*";
}
function resize(){
var x=document.all("Query").offsetHeight-10;
parent.document.all("header").all("bodypart").all("QueryPart")
.rows=x+",*";
}
function checkaction()
7-66 WebFOCUS7
Enhancing a User Interface
{
if (parent.document.all("header").all("bodypart").all("QueryPart")
.rows =='26,*') {
resize()
}
else {
parent.document.all("header").all("bodypart").all("QueryPart")
.rows='26,*';
}
function fun1()
{
document.frminput.IBI_random.value=Math.floor((Math.random()*100000));
}
//--></script>
<form method="GET" action="/ibi_apps/WFServlet"
style="font-weight: bold" name="frminput"
onsubmit="return Form1_Validator(this)" target="ReportFrame">
<input type="hidden" name="IBIF_ex" value="REPORT2">
<input type="hidden" name="IBI_random" value="">
<tr>
<td width="70" align="right" bgcolor="#D8D9B0" height="1">
<p></p>
</td>
<td width="104" bgcolor="#D8D9B0" height="27">
<font face="Verdana" size="1">
<input type="submit" value="Run" name="B1"></font></td>
</tr>
</table>
</form>
</DIV>
</body>
</html>
The following is the 1MYQRAP.HTM page when accessed in the Web browser:
7-68 WebFOCUS7
Enhancing a User Interface
The following is the 2MYQRAP.HTM page when accessed in the Web browser:
-HTMLFORM BEGIN
<HTML>
<BODY>
<H2>MOVIE SALES PROFIT</H2>
<!--WEBFOCUS TABLE REPORT1>
<HR>
<P>Parameters selected </P>
<UL>
<LI> CATEGORY: &_VAR1
<LI> CURRENT DATE : &DATEDMYY
<LI> CURRENT TIME : &TOD
<LI> CURRENT USER : &RUSER
</UL>
</BODY>
</HTML>
-HTMLFORM END
7-70 WebFOCUS7
WebFOCUS7
Deployment Basics
Once you create project files as described in Chapter 3, Creating a Reporting Application,
you can partition and deploy them to a WebFOCUS environment.
A WebFOCUS environment consists of:
❏ A Web server
❏ A WebFOCUS Reporting Server
❏ Alternate server nodes defined in the Data Servers area
Note: The Web environment may be a Web server or application server or a combination
of both, depending on your environment. This topic refers to deployment while using a Web
server to hold the static content, for example, .html and .gif files and required
configuration for such an environment.
If you need to place static content on the application server, you must define an
Application Root directory (APPROOT) context root for deploying files and perform required
configuration steps. The APPROOT context root is used during the deploy process and
when you run the deployed Web-based application.
Partitioning the files means that you identify the target Web server on which the Web-
based files will reside, and the WebFOCUS Reporting Server on which files such as
procedures will reside. You define the partitioning of files in a deployment scenario.
Deployment means that Developer Studio moves the files to the target servers, where
they make up an application that users run on the Web.
The Developer Studio deployment feature allows you to:
❏ Create multiple deployment scenarios. You can define multiple deployment scenarios
and save them for future use. For example, you might have two deployment scenarios
for a project, one that maps the project files to a test environment, and another that
maps the files to a production environment.
❏ Deploy files to multiple servers. You can deploy project files to multiple WebFOCUS
Reporting Servers or Maintain servers. This capability enables you to access data on
multiple servers, run report components in the most suitable environment, and
accelerate application processing.
8-2 WebFOCUS7
Partitioning and Deploying Project Files
Summar y of Steps
To take your project live, you will do the following:
❏ Step 1: Identify the target servers.
❏ Step 2: Create a deployment scenario.
❏ Step 3: Define the partitioning of the project files in the scenario.
❏ Step 4: Move the project files to a Web server and WebFOCUS Reporting Server as
defined in the scenario.
You can optionally configure the target servers for your site. For details, see Configuring
the Target Servers (Optional) on page 8-24.
3. Respond as follows:
❏ Scenario name. Type a name for the new deployment scenario. You can change
the name at a later time with the Rename option.
❏ Use smart deploy. Choose this option to deploy only the files that have changed
since the last time you deployed the application. This option can significantly
increase the speed of deployment.
When Smart Deploy is active for a Deployment Scenario, after its first successful
deployment, date/time information is stored in your Project GFA file for each file
being deployed. Each subsequent Deploy action then compares the date-time
stamp of the source files in your project against the date/time stamps stored in
the Deployment Scenario. With Smart Deploy, only newer files will be deployed to
the destination, where the source file has a newer time stamp than the one stored
in the GFA.
8-4 WebFOCUS7
Partitioning and Deploying Project Files
Note:
The date/time information is stored uniquely in each deployment scenario, so if
your project has multiple deployment scenarios, there is no ambiguity about when
the files were last deployed using a specific scenario. Take note that each time you
first use a new deployment scenario, Smart Deploy performs a full deployment of
all files referenced for deployment in your project; subsequently only changed files
will be deployed.
Also note that Smart Deploy stores file date/time stamps in the GFA after a
successful deployment. If an error occurs during a first deployment of a new
scenario, the date/time stamps are rolled back.
If you add a new file to be deployed to a Deployment Scenario, the GFA has no
date/time stamp for a file, so it will always be deployed the first time.
❏ Ignore unresolved items. This option ensures that deployment is completed in a
case where the project deployment scenario contains an unresolved file. An
unresolved file can be either:
A project file that was used in a deployment scenario and deleted outside of
Developer Studio (or from another project in which it was shared).
or
A file located in a directory that changed and can no longer be found.
If this option is selected, the deployment scenario will not fail if it contains
unresolved files. However, when the deployment process completes, it will display
information about files skipped during the process because they were unresolved.
❏ Compile maintain procedures. Choose this option to compile Maintain
procedures during deployment. Compilation improves application performance. For
more information, see the Developing WebFOCUS Maintain Applications manual.
❏ Compile for verbose maintain trace (debug). This option is reserved for
debugging purposes. It can affect performance. For more information, see the
Developing WebFOCUS Maintain Applications manual.
❏ Include Server Paths. Choose this option to allow the deployment process to
include server paths in the Call and Exec statements within Maintain procedures.
Do not choose this option when deploying Maintain applications to platforms that
do not support APP PATH commands (for example, VM).
4. Respond as follows:
❏ Default partition environment. From the drop-down list, select a WebFOCUS
environment that will be used by default when you partition files. Developer Studio
automatically partitions project files for you based on the following:
HTML, GIF, JPG, VBScript, and JavaScript files are partitioned to the default Web
server. Executable WebFOCUS procedures (.FEX and .MNT files) are partitioned to
the default WebFOCUS Reporting Server.
By default, Developer Studio does not partition Master Files and Access Files in
order not to overwrite production files with the same name on the deployment
server.
Selecting an environment from this list does not force the deployment of files as
defined in the scenario.
You can change the definition of the scenario.
8-6 WebFOCUS7
Partitioning and Deploying Project Files
❏ Default reporting server. From the drop-down list, you can select which
WebFOCUS Reporting Server to use as your Default partition environment.
This list is not active if you choose the value NONE for the Default partition
environment.
❏ Target application name. Optionally, type an application name that will be used
on the Web server and WebFOCUS Reporting Server deployment paths, or use the
default value (the current project name).
If you are deploying files to your development server, you must provide a target
application name other than your development directory.
If you are deploying files to a WebFOCUS Reporting Server on OS/390 and z/OS,
the target application name can be up to 8 characters. For deployment servers on
all other supported platforms, the name can be up to 18 characters. Spaces are
not allowed. (If a space is entered, it is converted to an underscore.)
❏ Automatically partition the project files. This sets default locations based on
file types.
Click Next to proceed to the next Scenario Wizard window.
5. Respond as follows:
❏ No starting object.
❏ Select from project items. From the drop-down list, you can select a file from
the application as the starting object.
This option is enabled only when files are added to the application and when the
option to partition files has been selected.
❏ Select From WebFOCUS Environments. Allows you to select a starting object
from an existing configured WebFOCUS Environment, for example, a general launch
page.
You must ensure that the deployed application has access to the file to avoid an
error at run time.
❏ Select a web page. Allows you to select a URL as a starting object. To specify a
Web page, type the URL as a complete path to a file.
You must ensure that the deployed application has access to the file to avoid an
error at run time.
Click Next to proceed to the next Scenario Wizard window.
8-8 WebFOCUS7
Partitioning and Deploying Project Files
6. Click Finish to complete the deployment process. The following screen appears.
7. Close or minimize the deployment scenario window, known as the Scenario Editor to
return to the Explorer. The project displays a new folder labeled Deploy. Later, when
you have defined deployment scenarios, you can display them by clicking the folder.
After creating a deployment scenario, you define the details of that scenario by identifying
project files for distribution to target servers in a WebFOCUS environment.
This topic applies to deployment scenarios that you create in Step 2: Create a Deployment
Scenario on page 8-3. It does not apply to the supplied scenario Local Deploy. Developer
Studio uses Local Deploy to prepare files for Maintain and to run on a local server. This
option is visible only after you create the first deployment scenario. Do not modify or
remove Local Deploy.
8-10 WebFOCUS7
Partitioning and Deploying Project Files
4. In the right pane, open the environment on which you are partitioning the files. In this
example, the Test Environment includes a Web server and a server node that can be
used for deployment.
In the example:
❏ The Web server is defined by the node WEB, followed by the descriptive name
APPROOT and the name of the directory that will be created when the files are
deployed (Sales).
❏ A WebFOCUS Reporting Server is defined by the node EDA and the name of the
server (for example, EDASERVE), followed by the descriptive name APPPATH and
the name of the directory that will be created when the files are deployed (Sales).
The developer selected NONE as the default partition environment when creating the
new deployment scenario. For an example of the window that opens when you select a
default partition environment, see Working in a Default Partition Environment on
page 8-15.
8-12 WebFOCUS7
Partitioning and Deploying Project Files
5. Drag one or more files from the left window pane and drop them into the right window
pane on the applicable server.
See Guidelines for Deploying Files on page 8-14 for information that will help you
deploy files to the applicable server.
To remove a partitioned file from the right window pane, right-click it and select
Remove.
In this example, the file named launch_qty.htm is an HTML page from which a user
can run a report named stockqty.fex. To partition these files appropriately, you would
drag launch_qty.htm to the Web server, and stockqty.fex to the WebFOCUS Reporting
Server.
On the toolbar, these buttons enable you to do the following while you remain in the
Scenario Editor:
Button Description
8-14 WebFOCUS7
Partitioning and Deploying Project Files
How to:
Modify Properties of Partitioned Files
In this example, the developer selected the Test Environment as the default partition
environment when creating the deployment scenario.
Developer Studio automatically partitions the .jpg and .htm files to the Web server, and
the .fex files to the WebFOCUS Reporting Server.
Files in the Name display field that have a check icon next to them have been
partitioned.
8-16 WebFOCUS7
Partitioning and Deploying Project Files
How to:
Set Running Paths
You can set the execution search path for a deployed application on a Reporting Server.
The Reporting Server will use the path specified to locate the resources for that
application.
This feature is useful if you set up common resources shared by multiple applications. It
allows you to point a server to a common location to find the resources it needs to run a
specific application.
8-18 WebFOCUS7
Partitioning and Deploying Project Files
2. The Available Paths list box displays the application directories you can add to the
execution search path for the current application.
Select a directory or directories and click Add, or click Add All to include all directories
in the execution search path.
You can also use the Remove and Remove All buttons to make the desired
assignments.
3. In the Additional Path field, optionally enter another path to add to the execution
search path.
4. Click OK to close the dialog box.
Developer Studio automates the process of moving the files to the target servers.
In addition to deploying files as described in this topic, you can deploy them in the
Scenario Editor. See Step 3: Partition the Project Files on page 8-10. The buttons on the
toolbar in the Scenario Editor are also available in the Explorer.
Procedure: How to Deploy Project Files in the Explorer Using the Shortcut Menu
1. Select the project. From the drop-down list on the toolbar, select the deployment
scenario.
2. Right-click the project. Select Deploy from the shortcut menu. Then select:
❏ Deploy to move the files to the servers based on the partitioning defined in the
deployment scenario.
❏ Deploy and Run to move the files to the servers and then run the starting object
defined in the deployment scenario.
The option Run on the shortcut menu runs the starting object defined in the
deployment scenario.
8-20 WebFOCUS7
Partitioning and Deploying Project Files
3. During deployment, a dialog box tracks the status. You can click Cancel to terminate
the process.
The following image shows the Deployment Progress window detailing successful
deployment of HTML files to the Web server and procedures to the WebFOCUS
Reporting Server.
Tip: You can click the Details button if you do not want to view messages during the
deployment process.
After deployment, the ACTION field indicates that one of the following occurred:
❏ Deployment Status: Succeeded, 0 warning(s), 0 error message(s).
❏ Deployment Status: Failed to complete. (The reasons for failure are shown, such
as unresolved files, etc.)
❏ Deployment Status: Cancelled by user.
During the deployment process, the File field shows the names of objects as they are
deployed to a server.
The progress bar indicates how much of the process is complete, as it takes place.
The Status field displays the events that took place in the deployment process.
Application Files
Displays the files in the selected project and their properties.
The value of Assigned is No if the file was not assigned to a server for deployment.
Assigned is Yes if you assigned the file to a server for deployment.
Available Servers
Displays the WebFOCUS environments to which you can deploy files.
8-22 WebFOCUS7
Partitioning and Deploying Project Files
Tip: You can click the Cancel button during the deployment process. When deployment
ends, the Cancel button becomes a Close button.
❏ After deployment the ACTION field indicates that one of the following occurred:
❏ Deployment Status: Succeeded, 0 warning(s), 0 error message(s).
❏ Deployment Status: Failed to complete. (The reasons for failure are shown, such
as unresolved files, etc.)
❏ Deployment Status: Cancelled by user.
❏ During the deployment process, the File field shows the names of objects as they are
deployed to the server.
❏ The progress bar indicates how much of the process is complete, as it takes place.
❏ The Status field displays the events that took place in the deployment process.
During installation, Developer Studio and WebFOCUS set certain variables that affect the
implementation of the deployment feature. You have the option of changing the values for
these variables to meet site-specific needs. Most sites use the default values supplied
during installation.
You can optionally specify the path in which files will reside on the Web server and the
WebFOCUS Reporting Server. The path is defined by the APPROOT variable, which you can
set in two different files, one for the Web server and one for the Reporting Server.
You also have the option of restricting the users authorized to deploy files. You can set the
DEVELOPERS variable to restrict authorization.
Follow the instructions in this topic to review or change the settings. You can use the
WebFOCUS Administration Console and the Reporting Server Console to edit the files that
contain the variables, or you can edit them manually.
8-24 WebFOCUS7
Partitioning and Deploying Project Files
You need read and write access to the Web server and WebFOCUS Reporting Server in
order to deploy files.
Note: The Application Root (APPROOT) directory of the WebFOCUS Client and Reporting
Server do not need to point to the same physical location and you can install them on
different servers or platforms.
WebFOCUS install_drive:\ibi\client71\wfc\etc
The edaserve.cfg file contains the APPROOT variable for the path in which deployed files
will reside on the WebFOCUS Reporting Server. Typically these files include procedures,
WebFOCUS StyleSheets, and customized HTML pages that require processing on the
Reporting Server.
The edaserve.cfg file is located in:
WebFOCUS install_drive:\ibi\srv71\wfs\bin
Procedure: How to Set the Web Server Deployment Path Using the WebFOCUS
Administration Console (Windows)
1. Access the WebFOCUS Administration Console from the Start menu, choose
Programs, WebFOCUS, and WebFOCUS Administration Console.
2. On the WebFOCUS Administration Console, click Configuration from the left pane and
under Client Settings, click General.
3. Locate the APPROOT variable in cgivars.wfs. Change the setting to a directory that
exists on the Web server.
Ensure that this directory is also configured as a virtual directory on the Web server,
to allow users access to the application. For details, see APPROOT Alias on page 8-29
and How to Create an Alias on the Web Server (Windows 2000) on page 8-29.
When specifying the setting, use forward slashes (/) to separate directories, as shown
in the default setting:
APPROOT=install_drive:/ibi/apps
An example is:
APPROOT=d:/ibi/apps
During deployment Developer Studio creates a new subdirectory on the Web server
under APPROOT. For example, d:\ibi\apps\Sales.
You can add one or more subfolders to the Web server deployment path. For details,
see Step 3: Partition the Project Files on page 8-10.
4. Click Save and exit the WebFOCUS Administration Console.
Note: You must have Administrator privileges in order to modify WebFOCUS Client
configuration privileges.
Procedure: How to Set the WebFOCUS Reporting Server Deployment Path Using the
Reporting Server Console (Windows)
1. Access the Reporting Server Console:
❏ From the Start menu, choose Programs, WebFOCUS Server, and Web Console.
or
❏ In Developer Studio, expand the applicable environment under WebFOCUS
Environments. Expand Data Servers. Select the remote WebFOCUS Reporting
Server. Click the WebFOCUS Reporting server console icon on the toolbar.
2. Select Workspace from the left pane, then select Configure.
8-26 WebFOCUS7
Partitioning and Deploying Project Files
3. On the Workspace Configuration window, click the Edit edaserve.cfg button in the
upper part of the right pane.
4. Locate the APPROOT variable. Change the setting to a directory that exists on the
WebFOCUS Reporting Server.
During deployment Developer Studio creates a new subdirectory on the WebFOCUS
Reporting Server under APPROOT. For example, c:\ibi\apps\Sales.
5. Click Save and Restart and exit the Reporting Server Console.
Note: You must have Administrator privileges in order to modify WebFOCUS Reporting
Server configuration privileges.
Procedure: How to Set the Web Server and WebFOCUS Reporting Server Deployment
Path Using a Text Editor (Windows and UNIX)
1. Open the cgivars.wfs file in a text editor such as Windows Notepad.
2. Locate the APPROOT variable. Change the setting to a directory that exists on the Web
server.
Ensure that this directory is also configured as a virtual directory on the Web server,
to allow users access to the application. For details, see APPROOT Alias on page 8-29
and How to Create an Alias on the Web Server (Windows 2000) on page 8-29.
When specifying the setting, use forward slashes (/) to separate directories, as shown
in the default setting:
APPROOT=install_drive:/ibi/apps
An example is:
APPROOT=d:/ibi/apps
During deployment Developer Studio creates a new subdirectory on the Web server
under APPROOT. For example, d:\ibi\apps\Sales.
You can add one or more subfolders to the Web server deployment path. For details,
see Step 3: Partition the Project Files on page 8-10.
3. Save the changes and close cgivars.wfs.
4. Open the edaserve.cfg file in the text editor.
5. Locate the APPROOT variable. Change the setting to a directory that exists on the
WebFOCUS Reporting Server.
During deployment Developer Studio creates a new subdirectory on the WebFOCUS
Reporting Server under APPROOT. For example, c:\ibi\apps\Sales.
6. Save the changes and close edaserve.cfg.
8-28 WebFOCUS7
Partitioning and Deploying Project Files
WebFOCUS install_drive:\ibi\client71\wfc\web\cgi
Procedure: How to Restrict Authorization to Deploy Files Using a Text Editor (Windows
and UNIX)
1. Open the ibiweb.cfg file in a text editor such as Windows Notepad.
2. Locate the DEVELOPERS variable.
For an individual user, supply the user’s logon ID. The user must have write access.
For example:
DEVELOPERS=admin
For multiple users, separate IDs with a semicolon. For example:
DEVELOPERS=admin;power_user1;power_user2
3. Save and close ibiweb.cfg.
8-30 WebFOCUS7
WebFOCUS7
❏ Bookmark lines of a file for quick ❏ Running a Procedure From the Editor
editing and easy reference. ❏ Opening a Graphical Tool From the
❏ Find and replace text. Text Editor
Text Editor
In this section:
Accessing Text Editors
How to:
Set Up the Default Action for the Open Option
Since the text editor is fully integrated with the graphical toolset, changes you make to
source code are immediately reflected in the graphical tools, and vice versa.
The text editor window includes:
❏ A menu bar, which provides access to all options available in the text editor.
❏ The editor window, which contains the open file, displaying color-coded text.
❏ The editor toolbar, which contains icons for frequently performed tasks such as saving
and printing; cutting, copying, and pasting; undoing and redoing; finding text; toggling
bookmarks, finding bookmarks, and clearing bookmarks; and accessing online help.
❏ When you are editing a procedure, the following additional icons appear: Report,
Graph, Define, Join, Set, Let, Filedef, Use. These icons enable you to launch graphical
tools from the Text Editor. For details, see Opening a Graphical Tool From the Text
Editor on page 9-15.
❏ A status bar that shows a help message, line and column positions, and the status of
four functions—insert, caps lock, num lock, and scroll lock.
9-2 WebFOCUS7
Editing Application Components as Text in Developer Studio
When you open a Master File, procedure, or HTML file in the Editor window, syntax
elements in the text appear color-coded for easy viewing and editing. For example, the
commands in a procedure appear in red. You can change default colors or remove text
coloring to suit your preferences. For details, see Changing Text Color and Case Size on
page 9-9.
Depending on where you place the cursor in the editor window, you can click the Open
FOCUS tool button on the text editor toolbar or right-click and select Open tool whenever
you want to edit code in a graphical tool. See Opening a Graphical Tool From the Text Editor
on page 9-15 for details.
You can access any text editor that is registered with your operating system based on the
program that is set up to be the default program that opens the selected file type. For
example, in Windows Explorer, select a .fex file, then right-click and select Properties from
the context menu. Click Change and select Notepad as the default program to open this
file type if it is not already associated with an application. The option to open procedures
(.fex files) with Notepad will now be available through Developer Studio.
This option is valuable for developers who want to take advantage of the WebFOCUS
language and use the editor of their choice.
Procedure: How to Set Up the Default Action for the Open Option
1. In the Explorer window, select Options from the Window menu. The Developer Studio
Options dialog box opens at the General tab.
2. From the Default file editor drop-down list, select one of the following:
❏ Edit in DevStudio tool to edit a procedure in the Developer Studio Task Viewer.
❏ Edit in Text Editor to edit a procedure in Developer Studio’ s text editor.
❏ Edit in Windows registered tool to edit a procedure in Notepad, Wordpad, or other
program as registered with the operating system.
The Other component uses the text editor as a scratch pad on which you can create and
edit a procedure or a component of a procedure. You access the Other component from
the following icon on the component toolbar.
The Other component is particularly useful when you want to add code that is not
represented by a graphical tool—for example, Dialogue Manager code for managing the
flow of control within a procedure. For information on Dialogue Manager, see Managing
Flow of Control in an Application in the Developing Reporting Applications manual.
If Developer Studio recognizes the code you type as a report or graph request or a Define
or Join command, the next time the procedure opens, the appropriate component type (for
example, Report, Graph, Define, or Join) displays in the Procedures window. Similarly, if
you type text that is preceded by the characters -*, which denote a comment, when you
update the FOCEXEC, the text appears as a Comment component (see How to Create a
Comment Component on page 9-6). However, if you type Dialogue Manager code, it
appears in a component called Other. For related information, see Chapter 4, Creating a
Reporting Procedure.
Although you cannot create and save complete text files in the Other component, this
facility gives you the same text editing options as the Editor. You can also cut or copy text
to the clipboard, then paste it into a text file in the Editor window or into another Other
window.
9-4 WebFOCUS7
Editing Application Components as Text in Developer Studio
The type of component and the information contained in it are previewed below the -* icon.
The characters -* are required to identify text as a comment.
By default, the Comment component includes a comment containing the name of the
procedure. This comment is not necessary for your application, and if you wish, you can
delete it. You can also expand it by typing additional comments, introducing each new line
with the comment characters -*.
You can use the Developer Studio text editor to create a text file from scratch using any
language. If the file you create contains an executable procedure, you can run it directly
from the text editor. See Running a Procedure From the Editor on page 9-14.
You also can create a text component in a Procedure using the Other component.
9-6 WebFOCUS7
Editing Application Components as Text in Developer Studio
2. Enter a name for the new procedure in the File name field.
3. Select Procedure Viewer from the Create with drop-down list.
The Component Connector toolbox opens.
4. Click and hold a component connector (yellow diamond), then drag the arrow pointer
to the Other button on the component toolbar. The text editor opens.
5. Type your text and close the Other component. When prompted to update the
procedure (FOCEXEC), click Yes.
6. Close the procedure.
9-8 WebFOCUS7
Editing Application Components as Text in Developer Studio
You can change the text editor fonts, default colors and case size in a file. This is referred
to as syntax coloring and is used in three file types: Master File (.MAS), procedure (.FEX)
and HTML (.HTM).
In addition, you can apply text color to uppercase or lowercase text using the case-
sensitive option.
Text Selection Text that has been highlighted in the Text Editor.
Comment Any text that follows a hyphen (-) and an asterisk (*). For
Master Files (.MAS), any text that follows a dollar sign ($).
9-10 WebFOCUS7
Editing Application Components as Text in Developer Studio
9-12 WebFOCUS7
Editing Application Components as Text in Developer Studio
The bookmark option places a bullet next to or removes a bullet from any line in a file. You
can place multiple bookmarks in a file by using the Mark All function in the Find dialog
box. Once a bookmark is added, you can jump to that bookmark from anywhere in a file. If
you have multiple bookmarks, the cursor jumps to the very next bookmark.
Bookmarks are temporary; they disappear when you close the text editor.
You can run a procedure from the text editor. You also can run executable procedure
components (such as Defines and Joins) by placing the cursor within the specific section
of code or by highlighting all code applying to each component. A report or graph’s results
display in the browser. For other types of components, results simply take effect (for
example, virtual fields and fields from the joined data sources will be available for
selection in the Fields windows).
9-14 WebFOCUS7
Editing Application Components as Text in Developer Studio
Since the text editor is fully integrated with the graphical toolset, you can open the
following tools from the editor or the Other component: Set, Filedef, Use, Let, Join, Define,
Report, Graph. The location of the cursor in the procedure code determines where the
code is returned in the editor window. When you close a tool that you opened from the Text
editor, you return to the text editor. Any edits you saved in the graphical tool are reflected
in the code.
Procedure: How to Add Code With a Graphical Tool From the Text Editor
In the text editor or the Other component:
1. Open a procedure or a procedure component.
2. Position the cursor on a blank line at the point where you want to insert the code
generated by the tool you are about to open.
Tip: If the cursor is not located on a blank line, the new code will be inserted before
the block of contiguous code in which the cursor is positioned.
3. Click one of the following icons on the toolbar: Set, Filedef, Use, Let, Join, Define,
Report, Graph. The corresponding graphical tool opens.
4. Create the procedure component and close the tool.
5. When you are asked if you want to update the procedure, click Yes.
You return to the text editor, where the new code has been inserted.
Procedure: How to Edit Code With a Graphical Tool From the Text Editor
In the text editor or the Other component:
1. Open a procedure or a procedure component.
2. Position the cursor on the line containing the code you want to edit, and click the
Launch FOCUS Tool icon on the toolbar.
The appropriate graphical tool opens.
3. Edit the procedure component and close the tool.
4. When you are asked if you want to update the procedure, click Yes.
You return to the text editor, where the code has been revised.
9-16 WebFOCUS7
WebFOCUS7
10-2 WebFOCUS7
Creating an Update Application With Update Assist
In the second window of Update Assist, you select the fields you want to update.
10-4 WebFOCUS7
Creating an Update Application With Update Assist
Validation
Applies a validation technique which verifies the value a user enters in the field.
This option is available only if Changeable is set to Yes.
The options for Validation are:
Automatic, the default validation option, validates the user’s entry against the
field format defined in the Master File. This automatically supports validation for
Alphanumeric, Numeric (including Floating Point and Integer), and Date formats.
The validation is performed using client-side JavaScript and doesn’t require the
server to validate the data.
Range allows you to define a numeric range between which data is valid for the
field. See How to Use a Range to Validate a Field on page 10-7 for details. This
option is best used for numeric fields.
Static List allows you to supply a list of valid values from which the user selects
at run time. When Static List is selected, the Field Validation - List dialog box
opens. See How to Use a Static List to Validate a Field on page 10-8 for details.
Dynamic List allows you to supply a list of valid values for the field that are
retrieved from a specified data source at run time. When Dynamic List is
selected, you are prompted for the Master File and field from which to retrieve
values. See How to Use a Dynamic List to Validate a Field on page 10-9 for details.
None does not perform a validation.
Required field specifies that the user must supply a value for the field.
Procedure: How to Resort Fields in the Segment & Field Options Window
You can change the order of the fields as they appear in the window.
1. In the upper right corner of the Field View Options pane, click the pull-down arrow to
the right of the the alphabetical sort icon.
2. To sort fields by:
❏ Display name, select Display Name from the drop-down menu.
❏ Original name, select Name from the drop-down menu.
❏ The order in which they appear in the Master File, select Original order from the
drop-down menu.
Note: This does not affect the order of the fields in your application. In the application,
the fields are sorted according to their order in the Master File.
10-6 WebFOCUS7
Creating an Update Application With Update Assist
1. Enter a From value to indicate the beginning of the acceptable range of values.
2. Enter a To value to indicate the end of the acceptable range of values.
3. Click OK.
1. To enter new acceptable field values, click the button, type the text for the value
and press Enter.
2. To edit an existing value, select it, make any changes, and press Enter.
10-8 WebFOCUS7
Creating an Update Application With Update Assist
2. The Field Validation - File dialog box opens. Select the name of the field in the data
source that contains the values you want to validate against and click OK. (If you want
to select a different data source, click Browse.)
Important:
❏ If you use a flat file as the data source for a dynamic list, remember that you will need
to FILEDEF the DAT or FTM file to be used or WebFOCUS will not be able to find the
data. (If you do not FILEDEF this file, when you run your application, the pull-down list
will be empty.)
You can use FILEDEF APP or standard FILEDEF to accomplish this. If you are deploying
the application to a remote server, using FILEDEF APP rather than DISK is
recommended, as FILEDEF APP is able to locate resources when the WebFOCUS
Server is in the same directory or disk, or is on a different platform. For more
information on the FILEDEF command, see Defining and Allocating WebFOCUS Files in
the Developing Reporting Applications manual.
You can either place the FILEDEF statement into the EDASPROF for the remote server,
or add it as the first line to the listfill.fex that gets created for your application.
(Update Assist automatically generates listfill.fex every time you select Dynamic List.)
❏ You cannot deploy a flat file, which is a data file, to a remote target server. You must
either create the file on the target server or transfer it using FTP or another file
transfer method.
10-10 WebFOCUS7
Creating an Update Application With Update Assist
Tips:
❏ We recommend you do not use the same column as the column that will be bound to
the data source for update. Not only does this limit your user’s entries to those
already in the data source, but it could cause unnecessary performance issues for
your application if there are thousands of records in the data source. If there is no
existing data source column that can be used, we recommend you set up a flat file as
the list source for that field.
❏ Make sure that listfill.fex gets deployed properly with your application.
10-12 WebFOCUS7
Creating an Update Application With Update Assist
Tip: If you have detailed knowledge of WebFOCUS Maintain, are familiar with Cascading
Style Sheets, and are able to write in XML, you may choose to create a customized color
scheme and appearance for your application. For technical documentation on how to do
so, contact your Information Builders representative.
10-14 WebFOCUS7
Creating an Update Application With Update Assist
Once you click Finish in the last Update Assist window, Update Assist generates the files
needed for your application and deploys and runs the application, if specified. This section
describes how to run your application from outside this window and about how Update
Assist applications work.
10-16 WebFOCUS7
Creating an Update Application With Update Assist
MasterFileName
Is the name of your Master
File.
MasterFileName_navbar.htm Contains more user interface information and
determines the appearance of the Tree, Combo Box
and Edit Box options. For more information on ways
you can edit this file, see Changing the Search Field
for Tree and Combo Box Navigation on page 10-19
and Customizing the Tree Control on page 10-22.
mntSignon.htm Contains the window prompting you for your data
source password (only if you selected Prompt user
to enter database security information (DBA) in Step
3).
SegmentName.mnt Contains the Maintain language code to display and
where: modify the fields in that segment of the data
source. You will see a Maintain procedure for each
SegmentName segment that you selected in Step 1.
Is the name of one of the
segments in your Master
File.
SegmentName_validationInit Contains the JavaScript code to automatically
.js validate user-entered values (only if you selected
where: Automatic validation for any field).
SegmentName You will see a JavaScript file for each segment that
Is one of the segments in you selected in Step 1.
your Master File.
10-18 WebFOCUS7
Creating an Update Application With Update Assist
When you click Finish in the Update Assist (Step 6 of 6) - Summary dialog box, the files
that comprise your Update Assist project are generated (for a list of files, see Files
Generated By Update Assist on page 10-17).
If you wish, you can perform further editing on these files.
Changing the Search Field for Tree and Combo Box Navigation
How to:
Change the Search Field for Tree and Combo Box Navigation
Generate Folders for Non-Unique Search Fields
Define a New Unique Field in a Master File
Example:
Creating a Unique Field for the MOVIES Data Source
If you select either Tree or Combo Box navigation for your Update Assist project, by default
the navigation displays the keys for each selected segment. This is a safe choice because
keys are always unique. Tree and Combo Box navigation code automatically ensures that
duplicates will be removed.
Not all users find keys friendly. In many cases, the record key is an integer or a unique
alphanumeric code. When users are trying to locate a particular record, they seldom do so
by scanning a list of key code values.
You can easily change the search field from the key field to a more friendly field by editing
the segname_navbar.htm file. However, if the new friendly field is not unique, you will only
be able to select the first instance of each value. For example, suppose your database
contains a list of movies, and there are two movies named Airplane.
Procedure: How to Change the Search Field for Tree and Combo Box Navigation
1. Open the file segname_navbar.htm in a text editor.
2. Find the constructFields() function at the bottom.
3. For the call to fieldInfo.AddField(), change the sixth parameter (the displayfield) to the
field name you want to use on display. Make sure to leave the quotes around the field
name.
10-20 WebFOCUS7
Creating an Update Application With Update Assist
10-22 WebFOCUS7
Creating an Update Application With Update Assist
Date-Stamping Fields
How to:
Date-Stamp a Field in an Update Assist Application
Example:
Date-Stamping a Field in the MOVIES Data Source
Many DBMSs allow you to create a “time stamp” field. This automatically fills the field
with the current date and/or time and saves the user having to do it. There are many
reasons at an application level for doing this; the most common is to give reporting
applications some way to track when a record was first created or when each change was
entered.
Note: If you are using an external DBMS that directly supports Date and Time Stamp field
types, you won’t need to use this technique. Instead, make sure the field that contains
the time stamp is set to Changeable = No to prevent Update Assist from even touching
that field.
Procedure: How to Continue Displaying Currently Displayed Values After a New Action
1. Open the SegmentName.MNT file and go to the newrecord case.
2. Comment out the line that clears the stack, using a double dollar sign.
10-24 WebFOCUS7
Creating an Update Application With Update Assist
One way to use an Update Assist procedure is to call it from a WebFOCUS report. You can
set up the WebFOCUS report so that a user can click on a row in the report and open the
Update Assist procedure with the data from the row of the report.
Procedure: How to Call an Update Assist Maintain Procedure From a WebFOCUS Report
1. Create an Update Assist procedure that includes the following selections:
a. In the Update Assist (Step 3 of 6) - Navigation Options window, select No key
values required for your user interface.
b. In the Update Assist (Step 5 of 6) - Output File Options window, note the names of
your procedures. By default, Update Assist names them after the segments they
are modifying in the data source.
2. In the Report Painter, create a report using the same data source you used for the
Update Assist project. The report must contain the key fields in the segment you want
to update (if you don’t want to view them in the results, you can make them invisible).
3. Select the column you want to make “clickable” in the report, then select Options from
the Properties menu.
The Field Properties dialog box opens.
4. Click the Drill Down tab and select Column Data from the Active Object drop-down list.
This means the users can’t drill down from the title of the column in the report, only by
clicking on the column’s data.
5. In the Drilldown Definition drop-down list, select Maintain Procedure. This specifies
that when the user clicks on one of the last names in the report, a Maintain procedure
is executed.
6. Enter the name of the Maintain procedure you want to execute in the Procedure name
field.
where:
segname is the name of the segment that contains the key field.
fieldname is the name of the key field (a key field uniquely identifies a record in
a segment).
_Edit must be typed exactly as shown. This is Update Assist’s convention for
naming variables.
c. Click OK.
d. Repeat for each parameter that is to be passed to the Maintain procedure.
Note: You must pass all key fields needed to locate the record you want to update;
otherwise the Maintain procedure will not have enough information to uniquely identify
a record. For example, in the CAR file, if you wanted to update a particular car model,
you would need to pass the country and car as well as the model type to locate the
model field.
8. In the Drill Down tab, ensure the key field is selected in the list of parameters.
9. Click OK.
10. Close your procedure and save it.
When you run your report, you will see that all of the items in the selected column of the
report are underlined and clickable. Clicking any item on the report opens the Update
Assist form with the information for that item already filled in.
10-26 WebFOCUS7
Creating an Update Application With Update Assist
Example: Creating an Update Assist Project For the Videotrk Data Source
1. Create a project.
2. Add the IBISAMP directory to the viewable directories for the project.
3. Add the Videotrk Master File to your project.
4. Right-click the Videotrk Master File and click Update Assist in the pop-up menu.
The Update Assist (Step 1 of 6) - Select Segment(s) for Auto Update window opens.
For details, see Update Assist (Step 1 of 6): Selecting Segments to Update on page 10-
2.
5. In the Select lowest segment or hierarchy you would like to auto update section, select
the CUST segment.
The CUST segment appears in the Segments section.
6. In the Segments section, select the CUST segment again. The window appears as
follows:
10-28 WebFOCUS7
Creating an Update Application With Update Assist
7. Click Next.
The Update Assist (Step 2 or 6) - Segment & Field Options window opens.
8. In the Update Segment Options section, set Update and Delete to Yes.
9. In the Field View Options section, set Changeable to Yes for all fields except CUSTID,
which is a key field. The window appears as follows:
13. Review the list of files that your application will update. You should only see one file
here, cust.mnt. Update Assist derived the file name from the segment name. You can
change it if you wish, but if you do, make a note of the name you use, since you will
need it when you create your report. Click Next.
The Update Assist (Step 6 of 6) - Summary window opens.
14. Review the summary of options you have chosen, and ensure Automatically run this
project when you press the ‘Finish’ button is selected.
15. Click Finish.
WebFOCUS Maintain creates the cust.mnt file, based on the options you selected in
Update Assist, and deploys it. During deployment, the Deploying Application window
opens.
16. When the button at the bottom of the Deploying Application window turns to Close
instead of Cancel, click Close.
WebFOCUS Maintain displays the first screen of the application you created and
displays the message “Record not found.” This is because the Maintain procedure
that Update Assist created is expecting to be passed a parameter containing a value
for CUSTID (the key field).
10-30 WebFOCUS7
Creating an Update Application With Update Assist
7. Enter cust in the Procedure name entry box (or, if you renamed your procedure when
you created your Update Assist application, enter the new name).
The Field Properties window appears as follows:
10-32 WebFOCUS7
Creating an Update Application With Update Assist
8. Specify the parameter that gets passed to the Maintain procedure cust:
a. Click Add in the With Parameters section.
The Drill Down Parameter dialog box opens.
b. Enter CUST_CUSTID_Edit in the Parameter name box.
c. Select CUSTID from the drop-down list in the Parameter value section.
The window appears as follows:
d. Click OK.
Clicking any name on the report opens the Update Assist form with the information for
that name already filled in.
10-34 WebFOCUS7
WebFOCUS7
You can create content for the Report Wizard by creating a report template, a template
overview file, and an optional sample report. The report template executes an HTML
overview file, and if included, executes a static report displaying an example of the
contents of the report template.
The following topics describe the XML tags used in the template, and provide examples
that demonstrate how to create a report template from an existing FOCUS procedure, and
how to create an HTML file that displays in the overview tab of the first Report Wizard
screen. After the template has been applied to a procedure, it can be used as content in
the Report Wizard.
<TemplateMasterFilename>
masterfile
<TemplateFields>
fields
A-2 WebFOCUS7
Creating a Report Template for the Report Wizard
fieldtype = “fieldtype”
limit = limit />
<TemplateFilters>
filters
</TemplateFilters>
<TemplateOutputFormat>
format
<RecursiveTemplate>
recursivevariable
</RecursiveTemplate>
where:
templateoverview
Is the file that is displayed in the Overview tab on the first screen of the Report
Wizard.
autoassigntype
Is the value specified for the AutoAssign parameter. Valid values are:
1
Activates the AutoAssign behavior.
0
Specifies standard behavior. (Deactivates AutoAssign.)
Certain templates always have a single field name assigned as the value of the
parameter. If a developer sets a single relationship between the parameter and the
data source field, users do not have to perform any actions for this parameter at run
time. This behavior is controlled by the AutoAssign property (AutoAssign type = “1”).
AutoAssign is specified at the template level so all parameters in the template are
associated with one, and only one, database field. No prompts for Report Wizard
parameters in the template will appear on the generated HTML launch page. (Prompts
for standard dialog manager variables will still be displayed in the HTML launch page.)
Note: If a developer assigns multiple alternate database fields to a parameter in an
AutoAssign controlled template, a control will appear on the launch page so the user
can select a value.
masterfile
Is placeholder for the Master File name. This name should be unique and should not
use a restricted keyword. The Report Wizard will replace the placeholder when a
Master File is selected by the user. This completes the TABLE FILE request found in
the <TemplateProcedure> tag.
fields
Are the fields to be specified. Fields include the following:
description text
Is the text displayed in the Report Wizard indicating field type requirements, data
usage, etc.
keyword
Is the FOCUS statement accompanying the selected field: SUM, BY, ACROSS,
SORT, and so on.
ampername
The Wizard takes the single-word variable placed in this section and displays it to
the user when they assign MASTER file fields to the report template. The variable
MUST be preceded by &
fieldvariable
The Wizard stores the MASTER file – ampername assignment in this single-word
variable.
procedurevariable
Combines the keyword with the fld_eyecatcher to complete table requests.
fieldtype
Is either 0 or 1; where one means the field can be indexed (repeatable), and 0 means
it cannot.
limit
A positive whole number indicating how many times the Wizard will duplicate fields
which can be indexed.
filter
The Wizard uses the single-word variable in this tag, replaces it with the limits defined
in the Wizard, and replaces the relevant sections of the <TemplateProcedure> section
of the template.
format
Either “NO_OUTPUT” meaning the template designer has specified the &WFFMT
variable requirements within the <TemplateProcedure>, thus turning off the Output
Format section of the Wizard; or a single word variable used in the relevant sections of
the <TemplateProcedure> section of the template.
recursivevariable
Having this single-word variable in place creates an additional .FEX along with the
HTML Layout Painter document of the same name. Use only in special cases where
the report drills into itself.
A-4 WebFOCUS7
Creating a Report Template for the Report Wizard
<TemplateOverview>
TemplateOverview.html
</TemplateOverview>
<TemplateMasterFilename>
FILENAME
</TemplateMasterFilename>
<TemplateFields>
<field description = "Summation"
keyword = "SUM"
ampername = "&MEASURE"
fld_eyecatcher = "MEASURE_PARAM"
proc_eyecatcher = "MEASURE_SELECT"
fieldtype = "1" limit = "3" />
<TemplateFilters>
FILTERS
</TemplateFilters>
<TemplateOutputFormat>
OUTPUT
</TemplateOutputFormat>
<TemplateProcedure>
<![CDATA[
A-6 WebFOCUS7
Creating a Report Template for the Report Wizard
MEASURE_SELECT
DIMENSION_SELECT
CROSSTAB_SELECT
ACROSS-TOTAL
HEADING
FILTERS
OUTPUT
END
]]>
</TemplateProcedure>
</Template>
The following request is an example of a procedure created by the Report Wizard:
TABLE FILE INVOICES
SUM
&MEASURE1.(<FREIGHT,FREIGHT>).MEASURE1.
&MEASURE2.(<EXTENDEDPRICE,EXTENDEDPRICE>).MEASURE2.
BY
&DIMENSION.(<CITY,CITY>).DIMENSION.
ACROSS
&CROSSTAB.(<SHIPPERNAME,SHIPPERNAME>).CROSSTAB.
ACROSS-TOTAL
BY &DIMENSION.(<CITY,CITY>).DIMENSION.
ACROSS &CROSSTAB.(<SHIPPERNAME,SHIPPERNAME>).CROSSTAB."
WHERE ( COUNTRY EQ '&par_country.(FIND COUNTRY IN invoices).select a
country.');
ON TABLE PCHOLD FORMAT &WFFMT.(<HTML,HTML>,<PDF,PDF>).Select type of
display input.
END
<head>
<link rel="stylesheet" href="WizHTML.css" type="text/css">
</head>
<body>
<H4><CENTER>Business Forms<A HREF="dinvoice.pdf" target="_new"><img
src="run16.gif" ALIGN=center BORDER="0">Invoices</a></H4>
</CENTER>
<DL COMPACT>
<DT><A HREF="dinvoice.pdf" target="_new"><img src="run16.gif"
BORDER="0">Definition and Sample</A>
<DD>Business Forms are a specialty of Information Builders. WebFOCUS has
the capability of defining a business form (invoices, letters, etc),
populating the form with production data, then generating pixel-perfect
PDF output; all from within a single FOCUS report. This template produces
an example invoice.
</DL>
<CENTER><A HREF="http://www.ibi.com" TARGET="IBI"><img src="powered.gif"
BORDER="0"></CENTER>
</p></body></html>
Note: The HTML overview file above executes an optional static report file named
dinvoice.pdf. You can create an optional sample report file from the static output of an
existing FOCUS procedure.
A-8 WebFOCUS7
Creating a Report Template for the Report Wizard
4. From the same directory, open the wztmplst.xml file. This is where all report wizard
templates are stored. The file has the following contents by default:
<?xml version="1.0" ?>
<templates>
</templates>
5. Add the template filename and description to the wztmplst file. For example, to add a
template called salesreport.xml and to have the name of the report appear as Sales
Report in the Report wizard, insert the following code:
<template filename = "salesreport.xml" templatename = "Sales Report"/>
6. Save changes to the wztmplst file. When you next run the Report Wizard, the new
template will appear in the Templates pane.
A-10 WebFOCUS7
Creating a Report Template for the Report Wizard
<TemplateProcedure> N/A
<![CDATA[
TABLE FILE FILENAME
MEASURE_SELECT
DIMENSION_SELECT
CROSSTAB_SELECT
ACROSS-TOTAL
HEADING
FILTERS
OUTPUT
END
]]>
</TemplateProcedure>
A-12 WebFOCUS7
WebFOCUS7
Index
Symbols allocating files 10-9
Dynamic List validation option in
$ character in Update Assist searches Update Assist 10-9
10-18
amper variable parameters 5-57
* character in Update Assist searches
setting form controls 5-57
10-18
application components 9-1, 9-3
.GFA control file 3-5
editing 9-1
deleting 3-43
viewing as text 9-8
Check Box Properties window 5-44 to 5-45 customizing HTML pages 5-101
check boxes
Check Box Properties window 5-44 to 5-45 D
supplying parameter values 5-44 date-stamping fields in Update Assist applications
10-23
color schemes for Update Assist applications
10-13 default partition environments 8-6, 8-15
Combo box navigation option for Update Assist defining fields for Update Assist applications 10-21
10-11
Deploy Wizard 7-2, 7-4
changing search field 10-19
deploying applications to the Web 7-4
Comment component 4-17, 9-5 to 9-6
deploying files created with HTML Layout Painter
comments 3-22, 9-6 8-14
Comment component 4-12
deploying files with -HTMLFORM command 8-14
creating 9-6
deploying Maintain procedures 8-5
compiling Update Assist procedures 10-15
deploying project files 8-2, 8-19
Component Connector toolbar 4-12, 4-17, 4-47
adding objects to procedures 4-12 deployment guidelines 8-14
components 3-14, 4-12 deployment scenario window 8-4
Components toolbar 5-6 deployment scenarios 3-23, 8-2 to 8-3
configuring deployment servers 8-24 deployment servers 8-24
controls 2-9 deployment status 8-21, 8-23
adding to forms 2-9
deployment steps 8-3
cookies 2-2, 2-6
designing user interfaces 2-1
creating aliases 8-29 HTML Layout Painter 5-2
creating deployment scenarios 8-4 Developer Studio 7-2
creating HTML pages 5-2 text editor 9-1
HTML Layout Painter 5-2 Developer Studio text editor 9-1
creating launch pages 2-10 DEVELOPERS variable 8-24, 8-29
creating project directories 3-5 Development Tools 4-55
I-2 WebFOCUS7
Index
empty databases and Update Assist applications form controls 5-33, 5-37, 5-57
10-18 adding amper variable parameters 5-57
adding to HTML pages 5-32, 5-57
ENGINE dialog box 4-55
check boxes 5-44
Engine Tool 4-55 drop-down lists 5-39
list boxes 5-42
environments radio buttons 5-46 to 5-47
local development 3-2
supplying parameter values 5-32, 5-58 to 5-59
remote development 3-2
text areas 5-38
Excel 2000 7-4 text boxes 5-34
types 5-33
Execute component 4-46
formatting reports 7-37
Execute Wizard 4-46, 4-48 Cascading Style Sheets and 7-37
execution search paths 8-18
I-4 WebFOCUS7
Index
I lines 5-20
adding to HTML pages 5-20
IBFS (Information Builders File System) 3-6
LINES parameter 7-33
ibiweb.cfg file 8-29
List Box Properties window 5-42 to 5-43
IBIWF_mframename variable 7-10
list boxes 5-42
IBIWF_mprefix variable 7-10
List Box Properties window 5-42 to 5-43
IBIWF_mreports variable 7-10 supplying parameter values 5-42
Image Properties window 5-22 List validation option in Update Assist 10-8 to 10-9
J M
main pages 2-2
JavaScript 7-24 to 7-25
Maintain Files folder 3-3
JavaScript functions 7-25
Manage Layout dialog box 5-14 to 5-15
K managing projects 3-34
Key value navigation option for Update Assist
Master File Editor 3-15
10-11
Master Files 3-2, 3-15
L adding to projects 3-15 to 3-16
deleting permanently 3-17
launch pages 2-2, 2-7, 7-1 removing from projects 3-16
adding WebFOCUS forms to 2-9
creating 2-10 Master Files folder 3-3 to 3-4
customizing 2-10, 7-1
maxFolders JavaScript variable 10-22
frameset 2-10
single-page 2-10 maxNodesPerFolder JavaScript variable 10-22
I-6 WebFOCUS7
Index
renaming files generated by Update Assist 10-14 Results page for Update Assist applications 10-11
I-8 WebFOCUS7
Index
text colors 9-10 User interface for Update Assist applications 10-11
changing 9-10 to 9-11
user interfaces 2-1 to 2-2
text components 9-7 designing 2-1
creating 9-7
I-10 WebFOCUS7
Index
X
XML control file 3-5
I-12 WebFOCUS7
WebFOCUS7
Reader Comments
E-mail: books_info@ibi.com
Name:_______________________________________________________________________
Company:____________________________________________________________________
Address:_____________________________________________________________________
Telephone:______________________________Date:_________________________________
E-mail:_______________________________________________________________________
Comments:
Information Builders, Inc. Two Penn Plaza, New York, NY 10121-2898 (212) 736-4433
Developing Reporting Applications With Graphical Tools DN4500724.0206
Version 7 Release 1.3
Reader Comments
Information Builders, Inc. Two Penn Plaza, New York, NY 10121-2898 (212) 736-4433
Developing Reporting Applications With Graphical Tools DN4500724.0206
Version 7 Release 1.3