Help topic not found.  Check the online help for related topics.


About tabular reports

  Related Topics

A tabular report is the most basic type of report.  Each column corresponds to a column selected from the database.


About form-like reports

  Related Topics

A form-like report displays one record per page, inserting field values to the right of field labels.


About mailing label reports

  Related Topics

A mailing label report prints mailing labels in multiple columns on each page.  You can print the labels across the page and then down, or down and then across.


About form letter reports

  Related Topics

A form letter report contains database values embedded in boilerplate text.  (Boilerplate text is any text that you enter or import into a Report Editor.)


About group left reports

  Related Topics

A group left report divides the rows of a table into "sets," based on a common value in one of the columns.  Use this type of report to restrict a column from repeating the same value several times while values of related columns change.


About group above reports

  Related Topics

A group above report contains two or more groups of data.  For every value of the master group, the related values of the detail group(s) are fetched from the database.


About matrix reports

  Related Topics

A matrix (crosstab) report contains one row of labels, one column of labels, and information in a grid format that is related to the row and column labels.  A distinguishing feature of matrix reports is that the number of columns is not known until the data is fetched from the database.

To create a matrix report, you need at least four groups: one group must be a cross-product group, two of the groups must be within the cross-product group to furnish the "labels," and at least one group must provide the information to fill the cells.  The groups can belong to a single query or to multiple queries.


About matrix with group reports

  Related Topics

A matrix with group report is a group above report with a separate matrix for each value of the master group.


About nested matrix reports

  Related Topics

A nested matrix (crosstab) report is a matrix report in which at least one parent/child relationship appears within the matrix grid.

The new Child Dimension property of the nested group enables you to eliminate empty rows and/or columns in your single-query nested matrix.


About multimedia reports

  Related Topics

A multimedia report can include images, sound, and video.  You can display images in fields in your report, or create buttons that, when clicked in the Runtime Previewer, display images, play sounds, or play video clips.

To add sound and video to a report, you can select a column in the database that contains the sound objects or the filenames of video objects), or you can create a button in the report layout.


About OLE2 reports

  Related Topics

An OLE2 report can display objects such as spreadsheets, graphics, and sound from OLE2-aware applications. Reports that contain OLE2 objects supported only on the Windows platform.  For portability, create a multimedia report.

You can add OLE2 objects to a report by selecting a column in the database that contains the OLE2 objects (or the filenames of OLE2 objects), or by reading an OLE2 object from a file into the report layout:

•	When you select OLE2 objects from the database, Report Builder automatically generates a field or button (e.g., for video or sound) to contain each OLE2 object.

•	When you use the OLE2 Object tool in the Layout Model view, you can either invoke an OLE2 server and create the object on the spot, or you can use an existing file.  Once a file is embedded, you can activate it if you have access to the application used to create it.


About drill-down reports

  Related Topics

A drill-down report is actually two or more reports working together.  The top-level report launches a secondary report that provides more details about the data in the current record.  To add flexibility in the selection of details, you can create a button in the top-level report that executes PL/SQL to call the detail report and provide conditions for its execution.  The detail report can provide details for a single record, a group of records, or the report as a whole.

To activate the drill-down buttons, run the report, then display it in the Runtime Previewer.


About Web reports

  Related Topics

You can send your report output to an HTML file or a Portable Document Format (PDF) file.  HTML files can be displayed in a Web browser.  PDF files can be displayed in a PDF viewer.  You can also add Web links to provide your end users with interactive reports and distribute them on the World Wide Web.

To preview your report output in a Web browser, use View [image] Web Preview in the Live Previewer.  This enables you to immediately see the effect of your changes on the HTML or PDF output.


About Web links for PDF output

  Related Topics

Reports output in PDF format can include the following types of Web links: Tip

•	A link from an object to another object within the same report, or to another HTML or PDF document (a hyperlink).

•	A link from a chart section to a hyperlink destination, another report or chart, or a row of data in the report output, create a chart hyperlink.

•	A string in the bookmark area of the PDF viewer that links to an associated object (a bookmark).  You can associate a bookmark with any printable object (field, boilerplate, frame, etc.) in your report layout.  In the formatted report, you can click on a bookmark to display the associated object at the top of the window.

•	A link that executes a command when clicked (an application command line link).   You can associate a command with any printable object (field, boilerplate, frame, etc.) in your report layout.  In the formatted report, you can click on the object to execute the associated command.

•	An identifier for the destination of a Web link (a hyperlink destination).  The destination can be any printable object (field, boilerplate, frame, etc.) in your report layout.

In most cases, you can define Web links in an object's Property Palette.  You can specify column and field names in the link value to create dynamic links at runtime.  If you require more complex implementation of Web links, such as conditional settings, you must specify the link using PL/SQL.


About Web links for HTML output

  Related Topics

Reports output in HTML format can include the following types of Web links:  Tip

•	A link from an object to another object within the same report, or to another HTML or PDF document (a hyperlink).

•	A string in a frame of the master HTML document that links to an associated object (a bookmark).  You can associate a bookmark with any printable object (field, boilerplate, frame, etc.) in your report layout.  In the formatted report, you can click on a bookmark to display the associated object at the top of the window.

•	An identifier for the destination of a Web link (a hyperlink destination).  The destination can be any printable object (field, boilerplate, frame, etc.) in your report layout.

•	A document header (a before report escape).  This attribute is useful for placing a logo or some standard links at the beginning of an HTML document:

•	A document footer (an after report escape).  This attribute is useful for placing a logo or some standard links at the beginning of an HTML document:

•	A page header (a before page escape).  This attribute is useful for placing a logo or some standard links at the beginning of one page or all pages in an HTML document.

•	A page footer (an after page escape).  This attribute is useful for placing a logo or some standard links at the end of one page or all pages in an HTML document.

•	A Parameter Form header (a before form escape).  This attribute is useful for placing a logo or some standard links in the header of the HTML Parameter Form.

•	A Parameter Form footer (an after form escape).  This attribute is useful for placing a logo or some standard links in the footer of the HTML Parameter Form.

•	URLs that specify image resources.  The URLs must be available to your Web server so that the images can be located when the HTML output is displayed by the server.

•	Any supported HTML tags.

In most cases, you can define Web links in an object's Property Palette.  You can specify column and field names in the link value to create dynamic links at runtime.  If you require more complex implementation of Web links, such as conditional settings, you must specify the link using PL/SQL and the Report Builder built-in packaged procedure SRW.SET_ATTR.


About changing colors

Color selections are applied to the entire object (e.g., you can apply a color to all the text in the object but not to a segment of the text).


About rotating objects

You can only rotate boilerplate text and graphics.  You cannot rotate other layout objects (repeating frames, frames, or fields).


About resizing objects

You can resize queries, groups, repeating frames, frames, fields, matrix objects, and boilerplate.  An anchor is automatically resized if you move one of the objects it anchors.


About images

  Related Topics%!Alink(crtbutimg;rdimgfil;selimgdb;crtcollgis;crtbpurl;selurl;impgraph, , , )

You can add an image to a report by:

•	selecting a column in the database that contains images

•	importing the image from a file into the report layout

•	for HTML output, referencing the URL link to the image

By default, images display in fields so that they appear in the printed report, not only in the Live Previewer.  If you prefer, you can create buttons for images, which will not appear in the printed report, but can be clicked in the Runtime Previewer to display the images.

You can include an unlimited number of image objects without running out of local disk space by using non-caching references.  A non-caching reference causes objects to be read from the database only when needed while a report is processing.  You must be connected to an ORACLE V7.1 or later database to use this feature.

If you reference a URL for an image, the image is displayed when you format your report for HTML output.  For other output formats, the URL text displays in the Live Previewer; in the output destination (for example, a file or PDF document), nothing is displayed.  It is your responsibility to verify that the URL exists; Report Builder does not validate the existence of the resource nor the syntax of the protocol.  The size of the object that contains the URL defines the size of the image in the HTML output.  Any elasticity properties applied to the object are ignored.


About sound and video

  Related Topics

You can add sound and video to a report by selecting a column in the database that contains the sound objects or the filenames of sound or video objects, or by creating a button in the report layout.

When you select a sound or video column in the database, Report Builder automatically creates buttons for the objects.  To activate the buttons, run the report, then display it in the Runtime Previewer.

You can include an unlimited number of sound objects without running out of local disk space by using non-caching references.  A non-caching reference causes objects to be read from the database only when needed while a report is processing.  You must be connected to an ORACLE V7.1 or later database to use this feature.


About Report Builder built-in packages

  Related Topics

To save you time, Report Builder is shipped with a built-in package (SRW), a collection of PL/SQL constructs which include many functions, procedures, and exceptions you can reference in any of your libraries or reports.

In addition to the Report Builder built-in package, Procedure Builder provides built-in PL/SQL packages that contain many PL/SQL constructs you can reference while debugging your program units.


About report triggers

  Restrictions 	  Examples	  Related Topics

Report triggers execute PL/SQL functions at specific times during the execution and formatting of your report.  Using the conditional processing capabilities of PL/SQL for these triggers, you can do things such as customize the formatting of your report, perform initialization tasks, and access the database.  To create or modify a report trigger, use Report Triggers in the Object Navigator.  Report triggers must explicitly return TRUE or FALSE.  Report Builder has five global report triggers (you cannot create new global report triggers):

After Parameter Form trigger

After Report trigger

Before Parameter Form trigger

Before Report trigger

Between Pages trigger


About format triggers

  Examples	  Related Topics

A format trigger is a PL/SQL function executed before an object is formatted.  A trigger can be used to dynamically change the formatting attributes of the object.


About group filters

  Restrictions 	  Examples	  Related Topics

A group filter determines which records to include in a group.  You can use the packaged filters, First and Last, to display the first n or last n records for the group, or you can create your own filters using PL/SQL.


About user exits

A user exit  is a program that you write and then link into the Report Builder executable or user exit DLL files.  You build user exits when you want to pass control from Report Builder to a program you have written, which performs some function, and then returns control to Report Builder.

You can write the following types of user exits:

•	ORACLE Precompiler user exits

•	OCI (ORACLE Call Interface) user exits

•	non-ORACLE user exits

You can also write a user exit that combines both the ORACLE Precompiler interface and the OCI.

User exits can perform the following tasks:

•	perform complex data manipulation

•	pass data to Report Builder from operating system text files

•	manipulate LONG RAW data

•	support PL/SQL blocks

•	control real time devices, such as a printer or a robot

You can use user exits for other tasks, such as mathematical processing.  However, Oracle Corporation recommends that you perform such tasks with PL/SQL within Report Builder.

Usage Notes

•	Not all types of user exits can perform all of the described tasks.  You can accomplish most of these tasks only with ORACLE Precompiler user exits.

•	Some details of implementing user exits are specific to each operating system.


About the call interface

A call interface is a set of standard procedures that you can call in your 3GL programs.  Report Builder is shipped with several such procedures (written in C)--one for each of the following executables:

Executable	Procedure Names

RWCON60	RWCCON, RW2CON

RWRUN60 (bit-mapped)	RWCRRB, RW2RRB

RWRUN60 (character mode)	RWCRUN, RW2RUN

RWBLD60 (bit-mapped)	RWCSRB, RW2SRB

For example, assume that you have written a Pro*FORTRAN program and you want it to run an Report Builder report (using the character- mode RWRUN60 executable).  To do so, you add a RWCRUN or RW2RUN procedure call to your program.  (Details on which of the two procedures to use is discussed in the syntax portion of this chapter.)

For a complete example of the call interface, look in $ORACLE_HOME/REPORT60/OCI/Samples.  You should also read the file named oci_info.txt in $ORACLE_HOME/REPORT60/OCI.

Usage Notes

•	To use the call interface, your program must be written with one of the ORACLE Programmatic Interface host languages   (Ada, C, COBOL, FORTRAN, Pascal, or PL/l).  When you invoke RWCON60 with the call interface, you will get whichever executable (bit-mapped or character-mode) is shipped for your platform.

•	In Release 2.5, there were two procedures named RWCSRV and RW2SRV.  In Report Builder, Release 3.0 and later, you should replace these procedures by using RWCRRB and RW2RRB with BACKGROUND=YES.


About program units and the PL/SQL Editor

  Examples	  Restrictions 	  Related Topics

Program units are packages, functions, or procedures that you can reference from any PL/SQL within the current report.

Note:  Program units cannot be referenced from other documents.  If you want to create a package, function, or procedure that can be referenced from multiple documents, create an external PL/SQL library.

In the PL/SQL Editor, you can:

•	Click Compile to compile the program unit code.

•	Click Apply to save any changes made to the program unit since it was first opened or since the last apply or revert operation.  No compilation is performed.

•	Click Revert to restore the state of the program unit to what it was when the editor was first opened or when the last apply or revert operation occurred.

•	Click New to displays the New Program Unit dialog box where you can specify the name and type of a program you wish to create.

•	Click Delete to delete the program unit currently displayed in the editor.  You are prompted to confirm the deletion before the program unit is actually deleted.

•	Click Close to close the PL/SQL Editor.

•	Select from the  Name drop-down list to navigate between all existing program units.

When you make changes to a program unit, dependent program units lose their compiled status (indicated by an asterisk (*) after their name under the Program Units node in the Object Navigator.  You can navigate to those program units directly in the PL/SQL Editor using the Name drop-down list to recompile them.


PL/SQL example (referencing PL/SQL function in formulas)

  Related Topics 	  All Examples

Suppose that you have a report with the following groups and columns:

Groups	Columns	Summary
------------------------------------------------
RGN	REGION
RGNSUMSAL	SUM(DEPTSUMSAL)
COSTOFLIVING

DEPT	DNAME
DEPTNO
DEPTSUMSAL	SUM(EMP.SAL)

JOB	JOB
HEADCOUNT	COUNT(EMP.EMPNO)

EMP	ENAME
EMPNO
SAL
COMM

Given these groups and columns, you might create multiple formulas that apply the cost of living factor (COSTOFLIVING) to salaries.  To avoid duplication of effort, you could create the following PL/SQL function and reference it from the formulas:

function CompSal(salary number) return number
  is
begin
  return (salary*CostofLiving);
end;

Following are some examples of how you might reference the PL/SQL function in formulas:

CompSal(:RGNSUMSAL)

or

CompSal(:SAL) + COMM


Program unit restrictions

•	If you delete a PL/SQL package, function, or procedure, you must also delete all references to it in your report.  Otherwise, you will get an error when you compile, generate, or run the report.

•	PL/SQL package, function, and procedure names must be unique within the report and may not duplicate the names of any columns, groups, queries, or printable objects.


About disabling and enabling debug actions
About enabling and disabling debug actions

In the Object Navigator, under the Debug Actions node, an asterisk next to a debug action indicates a disabled status.  If there is no asterisk next to a debug action, the action is active.


About MAPI

  Related Topics

mapinobatch

On the Windows platform, you can e-mail your reports via the Microsoft Messaging Application Programming Interface (MAPI).  Bit-mapped reports are sent as e-mail attachments in encapsulated PostScript format.  Character-mode reports are sent as ASCII text attachments.

Prerequisites:  You must have an appropriate MAPI mail client application installed with either Windows 95, Windows for Workgroups 3.11, or Windows NT.  For further information, see your operating system documentation to learn how to configure your machine for e-mail capability.

Note:  When running the Reports Server (RWMTS60) as a service, there is a known problem with Windows NT not sending report output to mail.  Microsoft plans to fix this in Microsoft Exchange Server 5.0.  In the meantime, you can solve this problem by running the Reports Server in the foreground using the following command: RWMTS60.EXE -listen tnsname.


About anchors

Anchors are used to determine the vertical and horizontal positioning of a child object relative to its parent.  The end of the anchor with a symbol on it is attached to the parent object..

  Click here to view a diagram showing the parts of the anchor

Since the size of some layout objects may change when the report runs (and data is actually fetched), you need anchors to define where you want objects to appear relative to one another.  An anchor defines the relative position of an object to the object to which it is anchored.  Positioning is based on the size of the objects after the data has been fetched rather than on their size in the editor.  It should also be noted that the position of the object in the Layout editor effects the final position in the report output.  Any physical offset in the layout is incorporated into the percentage position specified in the Anchor property sheet.


About boilerplate objects

  Related Topics

Boilerplate is any text or graphics that appear in a report every time it is run.  Report Builder will create one boilerplate object for each label selected in the Report Wizard (it is named B_columnname).  Also, one boilerplate object is sometimes created for each report summary.  A boilerplate object is owned by the object surrounding it, unless otherwise noted.


About buttons

  Related Topics

Buttons are layout objects that end users can click at runtime to perform certain actions.  For example, buttons provide a way to access multimedia (image, sound, or video) objects.  They can also be used to execute PL/SQL to perform some action such as launch a detail report.  Report Builder will create a button object for you if you have selected a column that contains or points to a multimedia object.


About Graphics Builder displays

  Related Topics

You can include a Graphics Builder display in your report by:

•	embedding an existing display using the Chart tool

•	creating a new chart using the Chart Wizard

A Graphics Builder display can receive data and parameters directly from the report in which it is included rather than from the database.  This allows you to include displays that reflect filtered or summary data from reports.


About passing data to a Graphics Builder display

  Related Topics

When you reference a Graphics Builder display, you may want to pass data from the report to the display for the following reasons:

•	If the report filters the data, you can have that filtering reflected in the display.  For example, if you use a group filter in your report to restrict a group's records, then you should pass the data from the report to the display.  Otherwise, the display fetches the data itself and the data used in the display will not reflect the group filter in the report.

•	If the report contains a summary, you can use that summary in the display.  For example, if your report contains a percent of total summary that you want to use in your display, you need to pass that summary to the display.  Otherwise, you would somehow have to create the same summary in the display.

•	If the data used in the display has already been fetched by the report, you can save the display from having to retrieve the data again.


About summary columns

  Related Topics

A summary column performs a computation on another column's data.  Using the Report Wizard or Data Wizard, you can create the following summaries:  sum, average, count, minimum, maximum, % total.  You can also create a summary column manually in the Data Model view, and use the Property Palette to create the following additional summaries:  first, last, standard deviation, variance.

Note:  For group reports, the Report Wizard and Data Wizard create n summary fields in the data model for each summary column you define:  one at each group level above the column being summarized, and one at the report level.  For example, if a report is grouped by division, and further grouped by department, then a summary column defined for a salary total would create fields for the sum of salaries for each division and each department group (group-level summaries), and the sum of all salaries (report-level summary).


About database columns

A database column represents a column that is selected by the query.  For each column that you select in your query, Report Builder automatically creates a column in the data model of your report.


About fields

  Related Topics

A field is the layout container for each column in the layout.  A field is owned by the object surrounding it, typically a repeating frame, unless the field is a summary (in which case it is owned by a frame).


About formula columns

  Related Topics

A formula column performs a user-defined computation on another column(s) data, including placeholder columns.  Note


About groups

  Related Topics

Groups are created to organize the columns in your report.  When you create a query, Report Builder automatically creates a group that contains the columns selected by the query.  You create additional groups to produce break levels in the report, either manually or by using the Report Wizard to create a group above or group left report.


About data links

  Related Topics

Data links relate the results of multiple queries.  A data link (or parent-child relationship) causes the child query to be executed once for each instance of its parent group.  When you create a data link in the Data Model view of your report, Report Builder constructs a clause (as specified in the link's Property Palette) that will be added to the child query's SELECT statement at runtime.  You can view the SELECT statements for the individual parent and child queries in the Builder, but can not view the SELECT statement that includes the clause created by the data link you define.  Note


About matrix objects

  Related Topics

A matrix object merely defines a relationship between two repeating frames:  it isn't really owned by anything, nor does it own anything.  A matrix object is created only for layouts with a Matrix layout style.  A report may have multiple matrices within it, provided that the data model contains the necessary groups.  Report Builder will create one matrix object for each pair of intersecting, perpendicular repeating frames.


About OLE2 objects

  Related Topics

Report Builder is an OLE2 container.  You can include OLE2 objects in your reports through the data model or the layout.


About parameters

  Related Topics

A parameter is a variable whose value can be set at runtime (e.g, from the Runtime Parameter Form or the command line).  User parameters are created by you for the report.  System parameters are created by Report Builder.  Note that while you can delete or rename a user parameter you cannot delete or rename a system parameter.


About referencing columns and parameters

  Related Topics

You can reference user parameters, system parameters and columns as either bind references  or lexical references .


About Parameter Form boilerplate

  Related Topics

Parameter Form boilerplate objects are text and/or graphic objects that appear on the Runtime Parameter Form every time the report is run.


About Parameter Form fields
About Parameter Form field

  Related Topics

Parameter Form fields are layout containers for parameters used on the Runtime Parameter Form.


About placeholder columns

  Related Topics

A placeholder is a column for which you set the datatype and value in PL/SQL that you define.  You can set the value of a placeholder column in the following places:

•	the Before Report Trigger, if the placeholder is a report-level column

•	a report-level formula column, if the placeholder is a report-level column

•	a formula in the placeholder's group or a group below it (the value is set once for each record of the group)


About Parameter Form HTML extensions

  Related Topics

Parameter Form HTML extensions enable you to enhance your Runtime Parameter Forms with HTML tagged text and JavaScript when reports are run via the Web. You can do the following to enhance your Parameter Form for Web reporting:

•	Create boileplate text with HTML tags for adding hyperlinks or any other HTML tagged text to your Parameter Form.

•	Insert parameter fields with JavaScript for defining input or select events, such as raising errors when users enter invalid data in a parameter field.

•	Create a Parameter Form header (a before form escape) for placing a logo or some standard links in the header of the HTML Parameter Form.

•	Create a Parameter Form footer (an after form escape) for placing a logo or some standard links in the footer of the HTML Parameter Form.

You can access the Parameter Form editor from the Object Navigator or by choosing Tools [image] Parameter Form Builder.


About queries

  Related Topics

A query contains a SQL SELECT statement that retrieves data from the database for your report.


About frames

  Related Topics

Frames are used to surround other objects and protect them from being overwritten or pushed by other objects.  For example, a frame might be used to surround all objects owned by a group, to surround column headings, or to surround summaries.

When you default the layout for a report, Report Builder creates frames around report objects as needed; you can also create a frame manually in the Layout Model view.


About repeating frames

  Related Topics

Repeating frames surround all of the fields that are created for a group’s columns.  The repeating frame prints (is fired) once for each record of the group.

When you default the layout for a report, Report Builder creates repeating frames around fields as needed; you can also create a repeating frame manually in the Layout Model view.


About report objects

  Related Topics

Report objects are the building blocks that define the various parts of a report.  They fall into three functional categories:  data model objects, layout model objects, and parameter form objects.

•	Data model objects define the data to be included in a report, and include:  queries, columns, groups, parameters, and data links.

•	Layout model objects define the positioning and appearance of data and other objects in a report, and include:  frames, repeating frames, fields, boilerplate objects, anchors, buttons, charts/graphical displays, and OLE2 objects.

•	Parameter form objects define the appearance of the runtime parameter form, and include:  parameter form boilerplate objects and parameter form fields.


About sort columns

  Related Topics

  (Oracle Express only) A sort column is used in an Express Report to sort Express dimension values. For each dimension selected in the Express query, Report Builder automatically inserts a corresponding sort column in the data model of your report. A sort column contains the Express index to the corresponding dimension value.

For example, if you create an Express query that retrieves regional sales data that is grouped by product and month, the Express report would look similar to the following:

Notice that the time dimension is sorted by the months in the year, not alphabetically.

You can sort the dimension values in an Express report using the Sort tool in the Selector. You can view the sort column from the Data Model view and the Object Navigator. Sort columns are not visible from the Data and Report wizards, or from the Layout Model view and Live Previewer.


About the Report Editor

  Related Topics

The Report Editor is a work area in which you can manipulate the objects in your report directly or by changing the settings on their property sheets.  Within the Report Editor window, you can navigate between four different views of your report:  the Data Model view, Layout Model view, Parameter Form view, and Live Previewer view.


About the Data Model view

  Related Topics

The Report Editor's Data Model view enables you to define and modify the data model objects for a report.  In this view, objects and their property settings are represented symbolically to highlight their types and relationships.  To create the query objects for your data model, you can use the Report Wizard, Data Wizard, or the Query tools in the tool palette.


About the Layout Model view

  Related Topics

The Report Editor's Layout Model view enables you to define and modify the layout model objects for a report.  In this view, objects and their property settings are represented symbolically to highlight their types and relationships.


About the Parameter Form view

  Related Topics

The Report Editor's Parameter Form view enables you to create a Runtime Parameter Form for your report.  You can select pre-defined system parameters for your form using the Parameter Form Builder, or you can create your own.


About the Live Previewer

  Related Topics

The Report Editor's Live Previewer view enables you to preview and inspect your report output page by page.  You can also work directly with the report output to customize and refine the appearance of your report.


About the Runtime Previewer

  Related Topics

In the Runtime Previewer, you can scroll though a single page of report output, page through the entire report, and split the screen to view different sections of the same report concurrently.

A physical page (or panel) is the size of a page that will be output by your printer.  A logical page is the size of one page of your actual report (it can be any number of physical pages wide or long).  The Runtime Previewer displays the logical pages of your report output, one at a time.

Using the Runtime Previewer, you can:

•	Drill down to detailed reports:  A report can include buttons with PL/SQL actions attached to them.  For example, you could use the packaged procedure SRW.RUN_REPORT to define an action for a button that calls another report.  This second (or detail) report appears in its own, modal Runtime Previewer.  There is no limit to the number of levels you can drill down in this way.

•	Access multimedia objects:  A report can include buttons for multimedia objects (e.g., video or sound), which you can invoke by clicking the buttons in the Runtime Previewer.

•	Open OLE2-compliant applications:  If OLE2 objects are included in your report, you can double-click these objects in the Runtime Previewer to open the associated server application.  (Note if the object is linked, its source object is displayed.)


About templates

  Related Topics

Templates define common characteristics and objects that you want to apply to multiple reports.  For example, you can define a template that includes the company logo and sets fonts and colors for selected areas of a report.

When you create a report through the Report Wizard, you have the option of applying a template (.tdf file) to the report.  When you choose a template, objects in the margin area of a template are imported into the same locations in the current report section, overwriting any existing objects.  The characteristics (formatting, fonts, colors, etc.) of objects in the body area of the template are applied to objects in the body area of the current report section.  Any template properties, parameters, report triggers, program units, and attached libraries you have defined are also applied.  You can apply different templates to each section of the report.

If you later apply another template to a report, the existing template objects will be deleted in the current report section.


About the Template Editor

  Related Topics

The Template Editor is a work area in which you can define objects and formatting properties for your templates.  It is similar to the Layout Model view of the Report Editor.  You can create, delete, and modify objects (e.g., page numbers, text, and graphics) in the margin area.  You cannot create and delete objects in the body area, but you can modify the properties of body objects in the Property Palette (Tools [image] Property Palette).

The Report Style drop-down list allows you to view the layout for a selected report style.  To define default settings for all report styles, you can select Default from the Report Style drop-down list.  To make changes for an individual report style, you can select that report style from the Report Style drop-down list to specify settings that override the default.


About template attributes

  Related Topics

In the Layout Body area of a template, you can define Default and Override attributes under the following Object Navigator nodes:

•	Frames, which contains the following:

•	a Section Frame node, which defines attributes for the parent frame surrounding the currently selected section.

•	a Headings Frame node, which defines attributes for the parent frame surrounding the column headings.

•	a Fields Frame node, which defines attributes for the parent frame surrounding the fields.

•	a Summaries Frame node, which defines attributes for the parent frame surrounding the summaries (totals).

•	Field Labels/Headings, which contains the following:

•	a Character node, which defines attributes for the labels or column headings of character fields.

•	a Number node, which defines attributes for the labels or column headings of number fields.

•	a Date node, which defines attributes for the labels or column headings of date fields.

•	Fields, which contains the following:

•	a Character node, which defines attributes for character fields.

•	a Number node, which defines attributes for number fields.

•	a Date node, which defines attributes for date fields.

•	Summary Labels, which contains the following:

•	a Character node, which defines attributes for the labels of summaries on character fields.

•	a Number node, which defines attributes for the labels of summaries on numeric fields.

•	 Date node, which defines attributes for the labels of summaries on date fields.

•	Summaries, which contains the following:

•	a Character node, which defines attributes for summaries on character fields.

•	a Number node, which defines attributes for summaries on number fields.

•	a Date node, which defines attributes for summaries on date fields.

Default attributes

The Default node in the Object Navigator defines the default visual attributes (formatting, fonts, colors, etc.) for all report styles.  If you want to define attributes for individual report styles, you do so under the Override node.  When you apply a template to a report, all Default attributes are applied to the report, except for attributes that are localized under the Override node.

Override attributes

Under the Override node in the Object Navigator, you can define attributes for individual report styles.  Each report style contains one or more sections that map to groups in the report:

Single-section report styles

Multiple section report styles

For the report styles that support multiple groups, you can create additional sections as needed.  Sections are mapped to groups as follows:

•	Same number of groups as sections:  one-to-one mapping (the first section is mapped to the first group, the second section to the second group, and so on).

•	More groups than sections:  one-to-one mapping until the next-to-last section.  Then, all subsequent groups are mapped to the next-to-last section, and the last group is mapped to the last section.  If only one section exists, all groups are mapped to it.

•	More sections than groups:  one-to-one mapping until the next-to-last group.  Then, the last group is mapped to the last section.


About inheritance in templates

  Related Topics

In templates, Sections, Frames, Fields, Labels, Headings, and Summaries properties all may inherit their values.

Default Properties

The Default properties inherit the values preset by Report Builder.  When a property is set to its default Report Builder value, the icon next to it in the Property Palette is a small circle.  Default properties become localized when you change their values, or select them and click [image] (the Localize button) in the toolbar.  When a property is localized, the icon next to it changes to a square.  To return the properties to their inherited values, select the properties and click [image] (the Inherit button) in the toolbar.

Override Properties

The properties of Override Sections inherit their values from the Default properties.  When a property inherits from a Default property, the icon next to it in the Property Palette is an arrow.  Properties in the Override Sections become localized when you change their values, or select them and click [image] (the Localize button) in the toolbar.  When a property is localized, the icon next to it changes to an arrow with a red cross through it.  To return the values of properties in the Override Sections to their inherited values, select the properties and click [image] (the Inherit button) in the toolbar.


About SQL*Net

SQL*Net enables you to rapidly and efficiently access datasources on remote machines.  It connects the "client" (e.g., Report Builder) to the "server" (e.g., ORACLE), allowing for multiple concurrent connections. Net8 replaces SQL*NET in Release 6.0 and later.


About Net8

Oracle's remote data access software that enables both client-server and server-server communications across any network. Net8 supports distributed processing and distributed database capability. Net8 runs over and interconnects many communication protocols. Net8 is backward compatible with SQL*NET.


About database roles

  Related Topics

Database roles provide a way for end users to run reports that query tables to which they do not have access privileges.  For example, a report may query a table that includes sensitive information such as salary data, even though the final report does not display this data.

Database roles are checked in the runtime environment only.  If a table requires special access privileges, end users without those privileges cannot run a report that retrieves data from that table.  However, if a database role is defined for the report, end users with privileges for that role can run the report using Reports Runtime (RWRUN60).  When running multiple reports, Reports Runtime automatically switches to the role defined for the current report.

If you try to open a report in Report Builder for which a database role has been defined, you will be prompted for the role password.  Typically, only the report designer and DBA have this information.


To run a report for which a database role is defined, the end user must run the .rdf file, not the .rep file.


About external PL/SQL libraries

  Related Topics

External PL/SQL libraries are sets of PL/SQL procedures, functions, and packages that are independent of a report definition.  By attaching an external library to a report, you can reference its contents any number of times.  For example, you could reference a procedure in an attached library from both a Before Report trigger and a format trigger.  This eliminates the need to re-enter the same PL/SQL for each application.


About attached libraries

  Restrictions 	  Related Topics

Attached libraries are external PL/SQL libraries that you have associated with a report or another external library.  When an external library is attached, you can reference its packages, functions, and procedures from within your report.  For example, if you attached an external library name MYLIB to your report and it contained a function named ADDXY, then you could reference ADDXY from any PL/SQL in the report.


Attached libraries restrictions

•	If Report Builder cannot find a library that you specify in the Attached Libraries list, a warning will be raised when you accept the dialog box, save the report, or open the report.  If you try to run the report or compile the PL/SQL in it, an error will be raised.

•	The Attached Libraries list is saved.  The next time you open the report or library the list will have the same contents it did when you last saved the report.

•	If an external library references another library, you must attach both libraries to the report even if the first library already has the second one attached.


About layout defaulting

  Related Topics

Report Builder defaults report layout according to the following rules:

1	Unless otherwise noted, a group with a direction of Across defaults identically to a group with a direction of Down, except that the default format is transposed.  To quickly determine the defaulting of an Across group, do the following:

•	Draw the down layout for the group on translucent paper.

•	Turn the page over as if it was a page in a book.

•	Rotate the page counter-clockwise 90 degrees.

2	In form letter reports, all default fields are hidden, and have a Horizontal Elasticity setting of Variable and a Vertical Elasticity setting of Fixed.  In all other reports, all default fields have a Horizontal and Vertical Elasticity setting of Fixed.

Exception:  For tabular, form-like, group left/above, and matrix reports, the default for CHAR (if you reduce the default width) and LONG fields have a Horizontal Elasticity setting of Fixed and a Vertical Elasticity setting of Variable.  As a result, all of the field's value will be displayed, instead of truncated, by word-wrapping any data to the next lines.

Caution:  For form letter and mailing label reports, the default for CHAR (if you reduce the default width) and LONG fields have a Horizontal and  Vertical Elasticity setting of Fixed.  As a result, the field value will be truncated if the size of the data is greater than the size of the field.

3	If one or more selected fields have a Horizontal or Vertical Elasticity setting of Variable, Report Builder does the following for Down reports:

•	creates a frame called M_groupname_EXP that has a width equal to the width of the repeating frame that owns the variable-sized field, and a length of one field

•	places the frame around that variable-width field and any other fields that are found to the right or left of it.  This ensures that all fields to the right and left of the Variable field begin to print "on the same line," even though the Variable field may span several lines.

4	For Across reports, transpose the above rule.

5	Summaries that are owned by the report, not by a group, are allowed in all report layout styles.  They are all formatted in the following way:

•	If the layout style is form-like, form letter, or mailing label, the summary is a report column.  A report column is formatted like any other database column for that report style.

•	If the layout style is tabular, group left/above, or matrix, and the column on which the summary performs its function is not selected, the summary is a report column.  (It is formatted as stated in the bullet above.)  Otherwise, the summary is a report summary.  It is formatted left-justified at the end of the report, with the label to the left of the field (if there is room).

6	If the layout style is tabular, group left/above, or matrix, a summary is defaulted like a database column if the column it summarizes is not selected.  Otherwise, a summary is defaulted like summaries (i.e., appearing inside the M_groupname_FTR frames).

7	If the layout style is tabular, group left/above, or matrix, Report Builder places one summary type per-line, in the  following order:

•	SUM

•	AVERAGE

•	MINIMUM

•	MAXIMUM

•	COUNT

•	FIRST

•	LAST

•	% OF TOTAL

•	STANDARD DEVIATION

•	VARIANCE

8	If the layout style is tabular, group left/above, or matrix, the summary label will appear to the far-left of the group footer frame (M_groupname_FTR).  If there is not room for the full label, the label will be truncated.


Implicit anchoring algorithm

  Related Topics

Report Builder creates implicit anchors at runtime in the body region.  The margin algorithm differs slightly.

Body algorithm

Margin algorithm


Body algorithm

  Related Topics

1	Determine which objects are not entirely enclosed by a repeating frame of frame (directly or indirectly), or explicitly anchored to an object that is enclosed by a frame or repeating frame (directly or indirectly).  We'll call these objects Type A objects.  (Type A objects are typically group frames, repeating frames, other objects you create that are not owned by a frame or repeating frame, etc..).  An object is considered to be enclosed by another object only if all of the following are true:

•	Both objects belong to the same region (Body or Margin).

•	The outermost of the two objects is a frame or repeating frame.

•	The outermost of the two objects is behind the other object.

•	The innermost of the two objects lies entirely within the borders of the other object.

2	Determine all children objects of a frame or repeating frame (these are the non-Type A objects).  We'll call these objects Type B objects.

3	Follow this procedure for Type A and Type B objects independently:

•	Find all objects that are of the same type (e.g., Type A), and  are on the same layer.

•	Determine which of those objects have potential to "push" other objects of that type.  An object has potential to "push" object of that type if it has a Horizontal and/or Vertical Elasticity setting of Variable or Expand, and a second object is located in its "push path" (i.e., in the area in which it can possibly grow).  Also, a repeating frame with a Horizontal and/or Vertical Elasticity setting of Fixed or Contract has a "push path":  its Print Direction.

•	Create pairs of objects.  Each pair must contain a pusher (i.e., the object that will grow) and a pushee (i.e., the object that will be pushed).  When creating these pairs, a pushee object cannot be a child of an explicit anchor--those objects are ignored.

•	Go through this loop.  For each pair, determine the distance  in the "push path" between the pusher and pushee.  Next, find the pair with the shortest distance.  Finally, create an implicit anchor between those two objects using this algorithm:

•	If the "push path" direction is Down, anchor the pushee object's top 0% to the pusher object's bottom 0%.

•	If the "push path" direction is Across, anchor the pushee object's left 0% to the pushed object's right 0%.

•	That pair is now treated like one object, and the loop continues until either all objects have one anchor, or nothing will push the remaining, unanchored objects.

•	For each remaining, unanchored object, create an implicit anchor from the top-left corner of the object to the top-left corner of the body region.

•	Move to the next layer, and follow the procedure starting at step 1.

Rules:

1	If an object is in the "push path" of two other objects and it is equidistant from the other two objects, the implicit anchoring of the object may vary between executions of the report.  For example, the drawing below shows two cases where this could occur:

  Click here

In the first case, M_Sums is in the "push path" of both B_Text1 and R_Ename.  Because M_Sums is equidistant from B_Text1 and R_Ename, though, the normal criteria (shortest distance) for determining implicit anchors does not work in this case.  Consequently, the formatting algorithm will randomly create an implicit anchor between M_Sums and either B_Text1 or R_Ename at runtime.  To avoid this behavior, you could create an explicit anchor between M_Sums and B_Text1 or R_Ename.

In the second case, B_Text3 is in the "push path" of M_Emp.  Since the bottom edges of M_Emp and R_Mgr are virtually in the same position, though, B_Text3 could be implicitly anchored to either M_Emp or R_Mgr.  Consequently, the formatting algorithm will randomly create an implicit anchor between B_Text3 and either M_Emp or R_Mgr at runtime.  To avoid this behavior, you could create an explicit anchor from B_Text3 to one of the objects or remove the explicit anchor between R_Ename and B_Text2.  Removing the explicit anchor would cause R_Mgr to be treated as a descendant of M_Emp and, therefore, the implicit anchor would always be created between B_Text3 and M_Emp.

(Note that Case 2 is most likely to occur in character mode, where it is common to have the edges of objects overlap in the Layout editor.)


Margin algorithm

  Related Topics

Report Builder creates implicit anchors for all Type B objects in the margin region using the Body algorithm .  For each Type A object, however, Report Builder creates an implicit anchor from the top-left corner of the object to the top-left corner of the margin.  No Type A object will be implicitly anchored to another Type A object.  (This ensures that Type A objects will not be pushed off the page.  However, they may be overwritten by another Type A object, if they are found on the same layer.)


Print condition algorithm

  Related Topics

Report Builder defines an object's Print Object On property at runtime.

1	If you specified a Print Object On property for an object, Report Builder uses that setting.

2	If you specified a Print Object On property of Default, then Report Builder sets it to either First Page or Last Page.  If the object is a child of an implicit or explicit anchor and its parent has a Print Object On property of All Pages, All but First Page, or All but Last Page, Report Builder sets it to First Page and sets the Base Printing On property to Enclosing Object.  If the object is a child of an implicit or explicit anchor and its parent has any other Print Object On property, Report Builder sets it to Last Page.  Otherwise, for objects that are implicitly anchored to the body region, Report Builder sets it to First Page.


About batch reporting

  Related Topics

If you do not need to examine report output in the Previewer (e.g., you may have to generate large volumes of output from a fully-tested report or run several reports in succession), you can run your report in batch.  This leaves you free to pursue other tasks while your reports are running.

You can run reports in batch mode from the command line, or use a command file to specify arguments.  A command file can save you a great deal of typing if you wish to run several reports using the same set of arguments.


About applying templates

  Related Topics

When you apply a template to a report, all of the following objects, properties, and attributes from the template are applied to the current report section:

•	parameters and their validation triggers

•	physical page size

•	logic page size

•	character/bitmap mode

•	margin position

•	panel print order

•	maximum horizontal body pages property

•	maximum vertical body pages property

In addition, all of the layout objects in the margin of the template are copied into the same location in the current report section.

Note:  The template will be applied to the current section of the report (the section displayed in the Layout Model view) by default.  If no section is displayed, the template will be applied to the Main section of the report by default.  If you select the node for the entire report in the Object Navigator, the template will be applied to the Main section of the report by default.  To apply the template to a specific section of your report, select the node for that section in the Object Navigator.


About style sheets

  Restrictions 	  Related Topics

Style sheets (or cascading style sheets) refer to HTML extensions that provide powerful formatting flexibility.  With style sheet support, your HTML documents can include any of the following:

•	any font size or style

•	overlapping objects

•	horizontal and verical lines and rectangles of any color or width

•	precise object positioning on a page

•	pagination

•	printing from a Web browser

•	inline image maps

This means that the sophisticated formatting in a report is preserved when you format the report as an HTML document.  Without style sheet extensions, your HTML documents display only basic text formats and imported images.  With style sheets, images of highly formatted text can be replaced with text objects of equivalent style, color, and font.  Text objects can be positioned to overlay image objects.  All text is fully searchable, and fewer images have to be downloaded.

To view an HTML document that takes advantage of style sheets, you must display it in a browser that supports style sheets.


Style sheet restrictions

The following elements are not supported by HTML style sheet extensions:

•	ellipses, arcs, polygons/polylines, and diagonal lines

•	rounded rectangles (formatted as rectangles)

•	arrows on lines

•	dashes on lines or borders of objects


About switching the printer tray

  Restrictions 	  Related Topics

Using the Before Report, Between Pages, or format triggers, you can switch to different printer trays as your report formats.  This allows you to easily print pages of the same report on different sheets of paper (e.g., letterhead, forms, colored).

You can determine the names of the printer trays defined for your printer in the Page Setup dialog, then use SRW.SET_PRINTER_TRAY to set the printer tray as desired.


Printer tray restrictions

•	Setting the Printer tray is ignored when outputting reports to a PCL printer on Motif. The report is processed using the default settings.


About ref cursor queries

  Related Topics

A ref cursor query uses PL/SQL to fetch data.  Each ref cursor query is associated with a PL/SQL function that returns a strongly typed ref cursor.  The function must ensure that the ref cursor is opened and associated with a SELECT statement that has a SELECT list that matches the type of the ref cursor.

You base a query on a ref cursor when you want to:

•	more easily administer SQL

•	avoid the use of lexical parameters in your reports

•	share datasources with other applications, such as Form Builder

•	increase control and security

•	encapsulate logic within a subprogram

Furthermore, if you use a stored program unit to implement ref cursors, you receive the added benefits that go along with storing your program units in the Oracle database.

For more information about ref cursors and stored subprograms, refer to the PL/SQL User's Guide and Reference.


About cursor variables

Like a cursor, a cursor variable points to a result set from a multi-row query.  But, cursors differ from cursor variables the way constants differ from variables.  Whereas a cursor is static, a cursor variable is dynamic because it is not tied to a specific query.  You can open a cursor variable for any type-compatible query.  This gives you more flexibility.


About stored program units

  Related Topics

Stored program units (also known as stored subprograms) can be compiled separately and stored permanently in an Oracle database, ready to be executed.  Once compiled and stored in the data dictionary, they are schema objects, which can be referenced by any number of applications connected to that database.

Stored program units offer higher productivity, better performance, memory savings, application integrity, and tighter security.  For example, by designing applications around a library of stored procedures and functions, you can avoid redundant coding and increase your productivity.

Stored program units are stored in parsed, compiled form.  So, when called, they are loaded and passed to the PL/SQL engine immediately.  Also, they take advantage of shared memory.  So, only one copy of a program unit need be loaded into memory for execution by multiple users.


About RTF output

  Related Topics

Report Builder supports Rich Text Format (RTF) for report output.  RTF is a form of encoding text formats that can be read by many different word processing software packages, such as Microsoft Word.  You can use the software's editing and graphics features to modify and enhance your report output.  When you generate your report output to an RTF file, you can also email your report using MAPI-compliant utilities.

Usage Notes

•	Graphics and text can be overlapped.

•	Text can only be rotated by 90-degree variations.

•	As with PDF output, the foreground color of the object will be used as the fill color (regardless of a specified pattern).

Note:  Once you have sent your report to an RTF file, you cannot import the report from the same file.  Also, when you view the report in Microsoft Word in Office 95, you must choose View [image] Page Layout to see all the graphics and objects in your report.


About conditional formatting

  Related Topics

Using the Conditional Formatting and Format Exception dialog boxes, you can specify output formatting attributes (font and/or color) for a selected layout object based on conditions that exist.  The conditions that you define are called format exceptions.

You can display the Conditional Formatting dialog box from the Live Previewer view or Layout Model view in any of the following ways:

•	Double-click the object to display the Property Palette.  Under the General Layout node, click the Conditional Formatting value field (labeled …).

•	Display the pop-up menu (right-click in Windows) for the object.

•	Click the object, then choose Format [image] Conditional Formatting.

After you specify conditions and formatting for the current layout object in the Format Exception dialog box, the entire definition is exported to a PL/SQL format trigger.  If a format trigger already exists for the layout object, the definition in the Format Exception dialog box overwrites the existing trigger code when you confirm the Report Builder prompt.

You can edit the format trigger manually via the PL/SQL Editor; however, if you subsequently modify the definition using the Format Exception dialog box, Report Builder displays a prompt to overwrite the existing format trigger.


About the Web Previewer

  Related Topics

You can preview your report in your Web browser in any of the following formats:

•	HTML

•	HTML, with style sheet extensions

•	PDF

When you choose the View [image] Web Preview [image] Generate to Web Browser, Report Builder by default generates your report to a temporary HTML file, unless you choose to generate it to a PDF or HTML Style Sheets file.  When you display the temporary file in your Web browser, you can save your report output as an HTML or PDF file.

If you currently have more than one Web browser installed on your computer, Report Builder prompts you to choose which browser to use when you choose View [image] Web Preview [image] Generate to Web Browser for the first time.

You can choose to view all pages of your report output, or just the current one.  Report Builder defaults to displaying the current page of your report.


About report titles

  Related Topics

You can add a title to a report in either of the following ways:

•	manually, by creating a boilerplate text object in the margin of the Layout Model view.

•	by typing in the Title field on the Style page of the Report Wizard.

When you use the Report Wizard to add a title. and do not select a template for your report output, the title is inserted into the margin of the report with default attributes defined by Report Builder.  You can modify the attributes in the Layout Model view.

When you use the Report Wizard to add a title, and select a predefined template or a user-defined template file for your report output, Report Builder looks for a boilerplate text object named B_OR$REPORT_TITLE defined for the selected template:

•	If B_OR$REPORT_TITLE exists, the title is displayed using the attributes of this object, with the text you typed in the Report Wizard.

•	If B_OR$REPORT_TITLE is not found, the title is displayed using the attributes defined by the Default properties (under the Title node in the Property Palette) of the selected template.

Note:  If you do not specify a title in the Report Wizard, the B_OR$REPORT_TTILE object is not copied to your report.

For layouts created using the Additional Default Layout tool, the title is inserted into the new layout as a group title rather than into the margin of the report.  In this case, the attributes are set per the Default properties (under the Title node in the Property Palette) of the selected template, and B_OR$REPORT_TITLE is ignored.  If you do not select a template, the title uses the default attributes defined by Report Builder.


About non-linkable queries

  Related Topics

A non-linkable query is a detail query that contains column objects that prevent the query from being linked to via a column-to-column link.  If you attempt to create such a link, a message dialog box displays, which prompts you to choose whether to create a group-to-group query (using the parent groups), or to cancel the operation.  A non-linkable query displays [image] in its title bar.

Instead, you can create a group-to-group link between the two queries and add a WHERE clause to the child query’s SELECT statement, using a bind variable to reference the parent column.

For example, suppose you want to create a column-to-column link between the ADDRESS.STREET column in your child query and the LOC1 column in your parent query.  You can create a group-to-group link, and then modify the child query SQL statement to say:

SELECT * FROM EMP E WHERE E.ADDRESS.STREET = :LOC1


About Oracle8 large objects in Report Builder

  Related Topics

You can use Oracle8 large objects (LOBs) to reduce the amount of temporary space used by Report Builder.  On the command line, you can specify whether to cache the LOB on the client.  If you choose not to cache the LOB, Report Builder will store a reference to the LOB instead, and will not cache the LOB in a temporary file.  While this reduces the need for temporary space, it slows performance because the column's values must always be retrieved from the database.

Note that you can only specify LOB caching on the command line.


About delimited output

  Restrictions [image]  Related Topics

Delimited output enables you to specify a delimiter (a character or string of characters) to separate the data in your report output.  Using this feature, you can create report output that is easily imported into spreadsheet utilities, such as Microsoft Excel.

You can specify the delimiter in either of the following ways:

•	on the command line via the DELIMITER parameter.

•	in the Delimited Output dialog box via the Delimiter option.  Note that this dialog box is only available in the US English version of Report Builder Release 6.0 and later.

When you generate delimited output, you can further distinguish the cells by using a cell wrapper.  A cell wrapper can consist of any series of characters, such as a comma or parentheses.

For example, if the data in your report output include the same character as the delimiter (e.g. a comma), you can use the parentheses cell wrapper to distinguish each cell:

(1,000,000),(3,6000),(543),(2,003,500)…

Usage Notes

When you generate delimited output, the data displays according to the positions of the objects in the Layout Model view.

•	If you place A above or to the left of B (where A and B are any boilerplate or field objects, Report Builder displays each instance of A before each instance of B in every line of output.

 Click here.

•	If you create a frame that contains a boilerplate object (A) and encloses a repeating frame that contains a field object (B), each instance of A displays with each instance of B.

 Click here.

•	In the previous layout, if you add another frame that contains a boilerplate object (C) and encloses another repeating frame that contains a field object (D), A displays for every instance of B, and then C displays for every instance of D.

 Click here.

•	If you create a matrix in your report, be sure to align your objects carefully according to the grid in the Layout Model view.  If the objects are not aligned, Report Builder may interpret the extra space as an extra row or column and disrupt your report output.

•	If you create a boilerplate object outside of a matrix, each instance of the boilerplate repeats with every row (not column) of the matrix.  Note that boilerplates contained in the matrix will not be repeated will field objects outside of the matrix.

 Click here.


About chart hyperlinks

  Examples 	  Related Topics

You can associate a chart section in HTML or PDF output with any object in your report output(such as a field or an instance of a repeating frame), another report, or any other valid hyperlink destination.  In the report output, a user could click on a chart section to access more detail about that section, or drill down to another report.

You can use the Chart Hyperlinks page of the Web Wizard to automatically create chart hyperlinks, or explicitly set the Chart Hyperlink property in the Property Palette.


About report sectioning

  Related Topics

Report sectioning enables you to define multiple layouts in the same report, each with a different target audience, output format, page layout, page size, or orientation.  You can define up to three report sections, each with a body area and a margin area.  For compatibility with prior releases, the names of the sections are Header, Main, and Trailer.  By default, a report is defined in the Main section.  In the other sections, you can define different layouts, rather than creating multiple separate reports.  For example, a single report can include an executive summary for senior management in one section and also a detailed breakdown for  individual managers in another section.

You can use the margin and body of the Header and Trailer sections to create a Header and Trailer page as in earlier releases.  In future releases, you will be able to add and delete sections.

In the Object Navigator, the report sections are exposed in the Object Navigator under the Layout Model node as Header Section, Main Section, and Trailer Section.


About integrating with other decision support tools

Along with Oracle Discoverer and Oracle Express, Reports gives you best-of-breed technology to address the full spectrum of enterprise decision support needs: from production reporting and ad hoc querying to advanced analysis.  This integrated solution offers superior ease of use and unmatched performance while reducing development and deployment costs.

Your Discoverer worksheets can be instantly transformed into dynamic Web reports and published to the whole organization.  For more information on converting worksheets to reports, refer to your Discoverer documentation.

In Report Builder, you can base a report on Express measures and dimensions.  The Report Wizard enables you to choose whether to build an Express or SQL query.  In the Express Query dialog box, you can choose the database, measures, and dimensions that you want to use in your report.  You can further refine your query using other familiar Express tools such as the Express  Selector.  Once your Express query is complete, you can quickly generate and modify the report layout just as you would for any other report.


About report distribution

  Related Topics

Report distribution enables you to design a report that can generate multiple output formats and be distributed to multiple destinations from a single run of the report.  You can create distributions for an entire report, and for individual sections of the report.

For example, in a single run of a report, you can generate HTML output, send a PostScript version to the printer, and also email any or all sections of the report to a distribution list.  In prior releases, you had to rerun a report for each output format or destination.

You can specify the distribution for a report in any of the following ways:

•	in the Distribution dialog box

•	on the command line via the DESTINATION keyword that specifies a .DST file

Note:  To enable the distribution specified in any of these ways, you can:

•	choose File [image] Distribute.

•	specify DISTRIBUTE=YES on the command line.

To check a report’s distribution without actually distributing the report, you can trace the report’s distribution, which states which distribution lists were used.  You can use this information to determine which section was sent to which destination.

Usage Notes

•	You cannot mix character mode and bit-mapped output in one report.  The MODE parameter can only be set to one value per the entire report (DEFAULT, BITMAP, or CHARACTER).  As a result, you cannot have both within one report.


About the .DST file

  Related Topics 	  Examples

As an alternative to defining the distribution for a report or report section in the Distribution dialog box, you can also create a .DST file and specify its name on the command line via the DESTINATION keyword to distribute the report.

If a .DST file is specified on the command line, the distribution that it defines overrides the distribution defined using the Distribution dialog box.

Note that if you trace report distribution, the trace file format (generated when the Distribution check box is checked) is very similar to the .DST file, so you can cut and past to generate a .DST file from the trace file.

The format of each line of a .DST file is as follows:

dist_ID:  output_def

where

dist_ID	is an identifier for a distribution destination.
output_def	is a series of RWRUN60 or RWCLI60 command line options that specifies the distribution definition.  In addition, the following parameter is valid:
	LEVEL	specifies the scope of the distribution. Values REPORT means that the distribution applies to the entire report. HEADER_SECTION means that the distribution applies to the header section only. MAIN_SECTION means that the distribution applies to the main (body) section only. TRAILER_SECTION means that the distribution applies to the trailer section only. Default REPORT


.DST file RWRUN60 example
.DST file example

  Related Topics

/* The definition in this example sends
** report output to an HTML file, 3 copies
** of the main section to a printer, and
** the header section to a PDF file.
*/

;dst file
DEST1:  DESNAME=TESTDST1.HTM DESTYPE=FILE
        DESFORMAT=HTML COPIES=1 LEVEL=REPORT
DEST2:  DESNAME=\\LUNA\2OP813 DESTYPE=PRINTER
        DESFORMAT=BITMAP COPIES=3
        LEVEL=MAIN_SECTION
DEST3:  DESNAME=SECTION1.PDF DESTYPE=FILE
        DESFORMAT=PDF COPIES=1
        LEVEL=HEADER_SECTION


About HTML page streaming

 Related Topics

HTML page streaming enables you to display individual pages of your HTML/HTMLCSS report output in your Web browser, without having to download the entire report.  From the first page of the report, you can navigate to any page in the rest of the report.  When you click a bookmark or hyperlink with a destination:

•	within the report, the frame that contains the current page will update with the destination page.

•	outside the report, the entire base frame (including the bookmark frame, the page, and the navigation frame) will reload.

Navigation Controls

To provide navigation controls between pages, you can do either of the following:

•	use the built-in JavaScript provided by Report Builder

•	provide your own JavaScript (or other script)

If you choose to provide your own script, you must include three variables in your script:

•	&TotalPages (total number of pages)

•	&file_name (the name of the output destination file; e.g., myreport)

•	&file_ext (the file extension, e.g., htm)

Report Builder assigns values to these variables during formatting.

The height of the page navigation control frame is hard coded to 70 points without a scroll bar.  The width of the frame is variable.  If you want to use icons and images in this frame, keep these dimensions in mind.

You can specify the navigation controls script for a report in either of the following ways:

•	via PL/SQL (SRW.SET_PAGE_NAVIGATION_HTML in a Before Report trigger)

•	in the Report Property Palette via the Page Navigation Control Type and Page Navigation Control Value properties.

Output File Names

With HTML page streaming, each page is formatted as a separate HTML document.  If your HTML file is named myreport.htm and there are no bookmarks, the new files are named as follows:

•	myreport.htm htm (for the base frame)

•	myreport_1.htm through myreport_n.htm (for the pages)

•	myreportj.htm (for the navigation JavaScript)

If your HTML file contains bookmarks, the new files are named as follows:

•	myreport.htm (for the base frame)

•	myreportb.htm (for the bookmark file)

•	myreport_1.htm through myreport_n.htm (for the pages)

•	myreportj.htm (for the navigation JavaScript)

Scope of HTML output

To specify HTML to be displayed on only the first (header) or last (footer) pages of your report, set the Before Report or After Report properties or use the SRW.SET_BEFORE_REPORT_HTML or SRW.SET_AFTER_REPORT_HTML PL/SQL procedures.  To specify global HTML to apply to the entire report, such as background colors or images, set the Before Page properties or SRW.SET_BEFORE_PAGE_HTML PL/SQL procedure.  The Report Builder-generated HTML logo appears only on the last page of your report.

Enabling Page-Streamed Output

To enable page streaming when you format your report as HTML or HTMLCSS output, you must specify PAGESTREAM=YES on the command line.  This option can not be set via the Report Builder user interface.


Delimited output restrictions

If the text file contains a field labeled "ID" (in uppercase) as the first field, you will be unable to open the file in Microsoft Excel. The following delimited output causes an error in Excel:

ID, name, title, dept, etc.

If you want to generate delimited output that contains an ID field, try changing the database column name to lowercase, i.e., id, or re-arranging the order of the fields.


About XML output

 Related Topics

XML (Extensible Markup Language) produces tag-delimited output that defines structured information. XML may be used for exchanging electronic data with a third-party application (EDI), as well as for publishing via the Web.

User-editable XML tags are assigned by default to data within tabular, group-left, group-above, and matrix reports. See XML Properties for more information on structuring your XML output.

For information on generating an .XML file, see Generating XML Output.


delim1_bmp


delim2_bmp


delim3_bmp


delim4_bmp


Moving reports

To move reports that are stored in operating system files to the database or the reverse, you can do one of the following:

•	Open the report, then choose File [image] Save As.  Save the report to the database or a file.  If desired, you can then delete the original version of the report using operating system commands (for files) or File [image] Administration [image] Delete (for the database).

•	Use RWCON60.


Deleting documents

To delete documents stored in operating system files, delete the files using the appropriate operating system commands.

To delete documents from the database, you can do any of the following:

•	Choose File [image] Administration [image] Delete, then select the document (report, external query, or external PL/SQL library) you want to delete.

•	Use the droprep.sql script to delete a report from the database.


Documenting reports

To print documentation about one or more reports, choose File [image] Administration [image] Report on Reports.  This will run a report on your reports stored in the database.  When prompted, you can enter a full or partial report name to indicate for which report(s) you want the report to be run.  % or _ can be used as wildcards to indicate the report(s) for which you want information.


Files used by Report Builder

Files You Create

The table shows what files you must provide to Report Builder as input, depending upon the executable being used and operation being performed:

Filetype	RWBLD60	RWRUN60	RWCON60
report definition file <report name>.rdf	Run/Print and Convert, if STYPE is RDFILE	Always needs this file or .REP file	For SOURCE, if STYPE is RDFILE
report runfile <report name>.rep	-	Always needs this file or .RDF file	-
report text file <filename>.rex	Convert, if STYPE is REXFILE	-	For SOURCE, if STYPE is REXFILE
terminal description file (character mode only)	Always	If BATCH is NO	-
keystroke file (character mode only)	If KEYIN is specified	If KEYIN is specified	-
V2.0 printer description file <dflt>	Run	Always	-
V1.1 printer definition file <printdef.dat>	-	-	-

Files Created by Report Builder

The table shows what files Report Builder creates, depending upon the executable being used and operation being performed:

Filetype	RWBLD60	RWRUN60	RWCON60
report definition file <report name>.rdf	Save, Save As, or Convert, if DTYPE is RDFILE	-	For DEST, if DTYPE is RDFILE
report runfile <report name>.rep	Generate or Convert, if DTYPE is REPFILE	-	For DEST, if DTYPE is RDFILE
report text file <filename>.rex	Save, Save As, or Convert, if DTYPE is REXFILE	-	For DEST, if DTYPE is RDFILE
report output file <report name>.lis	Run/Print, if DESTYPE is FILE	If DESTYPE is FILE	-
profiler log file <temp>	If PROFILER is YES	If PROFILER is YES	-
error log file <temp>	If ERRFILE is specified	If ERRFILE is specified	-
trace log file <trace.dat>	If TRACEFILE is specified	If TRACEFILE is specified	-
printer output file	Run/Print, if DESTYPE is PRINTER	If DESTYPE is PRINTER	-
keystroke file (character mode only)	If KEYOUT is specified	If KEYOUT is specified	-
Print Screen log file (character mode only)	PRINT SCREEN	PRINT SCREEN	-
V2.0 printer description file <dflt>	-	-	-
record caching files ids<number> and dat<number> needed) <temp>	Run/Print	Run/Print	-
memory swap files (created only if needed) <temp>	Run/Print	Run/Print	-


Built-in packages

  Related Topics 	  Alphabetic list

Oracle provides several packaged procedures that you can use when building or debugging your PL/SQL-based applications.

Your PL/SQL code can make use of the procedures, functions, and exceptions in the following client-side built-in packages:

Report Builder built-in packages

other built-in packages


Report Builder built-in packages

  Related Topics 	  All built-ins

There is just one Report Builder built-in package:

SRW


SRW built-in package

  built-ins

SRW.ADD_DEFINITION

SRW.APPLY_DEFINTION

SRW.BREAK

SRW.CONTEXT_FAILURE

SRW.DO_SQL

SRW.DO_SQL_FAILURE

SRW.GETTERR_RUN

SRW.GET_PAGE_NUM

SRW.INTEGER_ERROR

SRW.MAXROW_INERR

SRW.MAXROW_UNSET

SRW.MESSAGE

SRW.NULL_ARGUMENTS

SRW.PROGRAM_ABORT

SRW.REFERENCE

SRW.RUN_REPORT

SRW.RUN_REPORT_BATCHNO

SRW.RUN_REPORT_FAILURE

SRW.SETattributes

SRW.TRACE_ADD_OPTION

SRW.TRACE_END

SRW.TRACE_REM_OPTION

SRW.TRACE_START

SRW.TRACEOPTS.MASK

SRW.TRUNCATED_VALUE

SRW.UNKNOWN_QUERY

SRW.UNKNOWN_USER_EXIT

SRW.USER_EXIT

SRW.USER_EXIT20

SRW.USER_EXIT_FAILURE


SRW.SET_ATTR
SRW.SET_ATTR attributes

  Related Topics	  All Built-ins

ACTION

AFTCODE

AFTFORM_ESCAPE

AFTPAGE_ESCAPE

AFTREPORT_ESCAPE

BBCOLOR

BEFCODE

BEFFORM_ESCAPE

BEFPAGE_ESCAPE

BEFREPORT_ESCAPE

BFCOLOR

BOOKMARK

BORDERWIDTH

BORDPATT

FACE

FBCOLOR

FFCOLOR

FILLPATT

FORMATMASK

GCOLOR

GSPACING

HJUST

HYPERLINK

LINKTAG

PRINTER_INTRAY

STYLE

SZ

TEXT

WEIGHT


ACTION

  Examples 	  Restrictions	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_PDF_ACTION procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is a command line that will be executed on the local machine when the object is clicked in the PDF viewer.

Note:  An object that is associated with an action cannot also be the source of a Web link.

Values

Any valid command line on the local machine (e.g., c:\orawin\bin\rwrun60 userid=scott/tiger report=example.rdf or /usr/local/bin/phone smith)


ACTION restrictions

•	ACTION is only available for PDF output.

•	ACTION should only be set in the following triggers:

Format


ACTION example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET ATTR to set the ACTION attribute. It is now more convenient to set this attribute using the SRW.SET_PDF_ACTION procedure.  Setting this attribute via SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below defines an “action” (in
** this case a call to the Reports Runtime) that
** should be executed when the user clicks on the
** boilerplate object B_2.
*/

function B_2FormatTrigger return boolean is
begin
  srw.attr.mask := srw.ACTION_ATTR;
  srw.attr.action  := 'c:\orawin\bin\rwrun60' ||
  'userid=scott/tiger ' ||
  'report=example.rdf';
  srw.set_attr(0,srw.attr);
  return (TRUE);
end;


AFTCODE

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_AFTER_PRINTING_CODE procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is a reference to the printer escape sequence to be executed after each line of the object.  The printer escape sequence is inserted after the object is triggered to print but before it has actually printed.  AFTCODE is only used when running your report in character-mode.

Values

A string of the form &number, where number is a number assigned to a packaged Report Builder printer escape sequence or a printer escape sequence that you created.


AFTFORM_ESCAPE

  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_AFTER_FORM_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is any text, graphics, or HTML commands that you want to appear at the bottom of the HTML Parameter Form.  This attribute is useful for placing a logo or some standard links on the Parameter Form .

Values

You must specify two items for this attribute:

•	AFTFORM_ESCAPE_TYPE can be set to either SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.

•	AFTFORM_ESCAPE_VALUE can be a filename or a text string containing valid HTML depending upon what you specified for AFTFORM_ESCAPE_TYPE.  If you specify a file, the File searching method is used to find it.


AFTPAGE_ESCAPE

  Examples	  Restrictions	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_AFTER_PAGE_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is any text, graphics, or HTML commands that you want to appear at the end of pages of your document.  This attribute is useful for placing a logo or some standard links at the end of each page in an HTML document.

Values

You must specify two items for this attribute:

•	AFTPAGE_ESCAPE_TYPE can be set to either SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.

•	AFTPAGE_ESCAPE_VALUE can be a filename or a text string containing valid HTML depending upon what you specified for AFTPAGE_ESCAPE_TYPE.  If you specify a file, the File searching method is used to find it.


AFTPAGE_ESCAPE restrictions

•	When you specify SRW.SET_ATTR for this attribute you must use SRW.REPORT_ID as the object_id:

   SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);

•	The default HTML included at the end of a page is shown below.  It is not required unless you want the default separator line to appear between pages.

   <hr size=5 noshade>

•	If you want the AFTPAGE_ESCAPE to apply to every page of the report, you should specify it in a trigger that fires before the report begins formatting, such as the Before Report trigger.

•	If you want the AFTPAGE_ESCAPE to apply only to the current page, you should specify it in a format trigger for an object on that page.


Graphic page separator example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the AFTPAGE_ESCAPE attribute. It is now more convenient to set this attribute using the SRW.SET_AFTER_PAGE_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The example below inserts a GIF file as a
** page separator.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
 SRW.ATTR.MASK := SRW.AFTPAGE_ESCAPE_ATTR;
 SRW.ATTR.AFTPAGE_ESCAPE_TYPE := SRW.TEXT_ESCAPE;
 SRW.ATTR.AFTPAGE_ESCAPE_VALUE := '<CENTER>' ||
 '<IMG ALT="Ruler" SRC="line.gif" VSPACE=10>' ||
 '<BR></CENTER>';
 SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);
end if;
return (TRUE);
end;


AFTREPORT_ESCAPE

  Examples	  Restrictions 	  Related Topics [image]  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_AFTER_REPORT_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is any text, graphics, or HTML commands that you want to appear at the end of your document.  This attribute is useful for placing a logo or some standard links at the end of an HTML document.

Values

You must specify two items for this attribute:

•	AFTREPORT_ESCAPE_TYPE can be set to either SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.

•	AFTREPORT_ESCAPE_VALUE can be a filename or a text string containing valid HTML depending upon what you specified for AFTREPORT_ESCAPE_TYPE.  If you specify a file, the File searching method is used to find it.


AFTREPORT_ESCAPE restrictions

•	When you specify SRW.SET_ATTR for this attribute you must use SRW.REPORT_ID as the object_id:

   SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);

•	The default HTML included at the end of a report is shown below.  If you use AFTREPORT_ESCAPE to replace this text, you must ensure that it contains the equivalent HTML commands.

   </body></html>

•	AFTREPORT_ESCAPE should be set in a trigger that fires before the report is done formatting, such as the Before Report trigger.


Links to home pages example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the AFTREPORT_ESCAPE attribute. It is now more convenient to set this attribute using the SRW.SET_AFTER_REPORT_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The example below inserts two links to home pages
** at the end of the report output.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.ATTR.MASK := SRW.AFTREPORT_ESCAPE_ATTR;
  SRW.ATTR.AFTREPORT_ESCAPE_TYPE := SRW.TEXT_ESCAPE;
  SRW.ATTR.AFTREPORT_ESCAPE_VALUE := '<CENTER>' ||
  '<A HREF="http://www.oracle.com/">' ||
  'Oracle Corporation</A> -' ||
  chr(10) ||
  '<A HREF="http://home.netscape.com/">' ||
  'Netscape</A> </CENTER>' ||
  '</BODY> </HTML>';
  SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);
end if;
return (TRUE);
end;


BBCOLOR

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BACKGROUND_BORDER_COLOR procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the background border color of the object.  This attribute is ignored in character mode.

Values

A valid color name.


BEFCODE

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BEFORE_PRINTING_CODE procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is a reference to the printer escape sequence to be executed before each line of the object.  The printer escape sequence is inserted after the object is triggered to print but before it has actually printed.  BEFCODE is only used when running your report in character-mode.

Values

A string of the form &number, where number is a number assigned to a packaged Report Builder printer escape sequence or a printer escape sequence that you created.


BEFFORM_ESCAPE

  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BEFORE_FORM_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is any text, graphics, or HTML commands that you want to appear at the top of the HTML Parameter Form.  This attribute is useful for placing a logo or some standard links on the Parameter Form .

Values

You must specify two items for this attribute:

•	BEFFORM_ESCAPE_TYPE can be set to either SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.

•	BEFFORM_ESCAPE_VALUE can be a filename or a text string containing valid HTML depending upon what you specified for BEFFORM_ESCAPE_TYPE.  If you specify a file, the File searching method is used to find it.


BEFPAGE_ESCAPE

  Examples 	  Restrictions 	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BEFORE_PAGE_HTML procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is any text, graphics, or HTML commands that you want to appear at the beginning of pages of your document.  This attribute is useful for placing a logo or some standard links at the beginning of each page in an HTML document.

Values

You must specify two items for this attribute:

•	BEFPAGE_ESCAPE_TYPE can be set to either SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.

•	BEFPAGE_ESCAPE_VALUE can be a filename or a text string containing valid HTML depending upon what you specified for BEFPAGE_ESCAPE_TYPE.  If you specify a file, the File searching method is used to find it.


BEFPAGE_ESCAPE restrictions

•	When you specify SRW.SET_ATTR for this attribute you must use SRW.REPORT_ID as the object_id:

   SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);

•	If you want the BEFPAGE_ESCAPE to apply to every page of the report, you should specify it in a trigger that fires before the report begins formatting, such as the Before Report trigger .

•	If you want the BEFPAGE_ESCAPE to apply only to the current page, you should specify it in a format trigger for an object on that page.


Before and after page escape example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the BEFPAGE_ESCAPE and AFTPAGE_ESCAPE attributes. It is now more convenient to set these attributes using the SRW.SET_BEFORE_PAGE_HTML  and SRW.SET_AFTER_PAGE_HTML procedures.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The example below centers the document in
** the browser.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.ATTR.MASK := SRW.BEFPAGE_ESCAPE_ATTR +
                   SRW.AFTPAGE_ESCAPE_ATTR;
  SRW.ATTR.BEFPAGE_ESCAPE_TYPE := SRW.TEXT_ESCAPE;
  SRW.ATTR.BEFPAGE_ESCAPE_VALUE := '<CENTER>';
  SRW.ATTR.AFTPAGE_ESCAPE_TYPE := SRW.TEXT_ESCAPE;
  SRW.ATTR.AFTPAGE_ESCAPE_VALUE := '</CENTER>';
  SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);
end if;
return (TRUE);
end;


BEFREPORT_ESCAPE

  Examples 	  Restrictions 	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BEFORE_REPORT_HTML and SRW.SET_AFTER_REPORT_HTML procedures.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is any text, graphics, or HTML commands that you want to appear at the beginning of your document.  This attribute is useful for placing a logo or some standard links at the beginning of an HTML document.

Values

You must specify two items for this attribute:

•	BEFREPORT_ESCAPE_TYPE can be set to either SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.

•	BEFREPORT_ESCAPE_VALUE can be a filename or a text string containing valid HTML depending upon what you specified for BEFREPORT_ESCAPE_TYPE.  If you specify a file, the File searching method is used to find it.


BEFREPORT_ESCAPE restrictions

•	When you specify SRW.SET_ATTR for this attribute you must use SRW.REPORT_ID as the object_id:

   SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);

•	The default HTML included at the beginning of a report is shown below.  If you use BEFREPORT_ESCAPE to replace this text, you must ensure that it contains the equivalent HTML commands.

   <html>
   <body bgcolor="#ffffff">

•	BEFREPORT_ESCAPE should be set in a trigger that fires before the report starts formatting, such as the Before Report trigger.


Before and after report escape example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the BEFREPORT_ESCAPE and AFTREPORT_ESCAPE attributes. It is now more convenient to set these attributes using the SRW.SET_BEFORE_REPORT_HTML procedure.  Setting this attribute via SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The example below sets both BEFREPORT_ESCAPE and
** AFTREPORT_ESCAPE in the Before Report trigger.
** The HTML for BEFREPORT_ESCAPE is located in a file
** named logo.htm.  The HTML for AFTREPORT_ESCAPE is
** specified within the PL/SQL itself.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.ATTR.MASK := SRW.BEFREPORT_ESCAPE_ATTR +
                   SRW.AFTREPORT_ESCAPE_ATTR;
  SRW.ATTR.BEFREPORT_ESCAPE_TYPE := SRW.FILE_ESCAPE;
  SRW.ATTR.BEFREPORT_ESCAPE_VALUE := 'logo.htm';
  SRW.ATTR.AFTREPORT_ESCAPE_TYPE := SRW.TEXT_ESCAPE;
  SRW.ATTR.AFTREPORT_ESCAPE_VALUE := '<ADDRESS>' ||
  ' Questions? - ' ||
  '<A HREF=mailto:webmaster@xyztech.com>' ||
  'webmaster@xyztech.com</A>' ||
  '</ADDRESS>' ||
  '</body></html>';
  SRW.SET_ATTR(SRW.REPORT_ID, SRW.ATTR);
end if;
return (TRUE);
end;


BFCOLOR

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BACKGROUND_FILL_COLOR procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the background fill color of the object.  This attribute is ignored in character mode.

Values

A valid color name.


BOOKMARK

  Examples 	  Restrictions 	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BOOKMARK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is a string that will appear in a frame of the master HTML document or in the PDF viewer if you open the bookmark area.  Clicking on the bookmark displays the associated object at the top of the window.

Values

A text string with no indentation/ordering information.  The bookmark will appear in the bookmark list according to when the object is rendered by the report.

A text string with explicit ordering/indentation of the form x#book_mark_name, where x is an outline number.  The pound sign (#) and outline number do not appear in the bookmark window but are used to determine order and indentation.  For example:

1#Expense Summary Section
2#Expense Detail Section
2.1#Expenses for the Administration Department
2.2#Expenses for the Engineering Department
2.3#Expenses for the Sales Department
2.3.1#Expenses for the Eastern Sales Region
2.3.2#Expenses for the Northern Sales Region
2.3.3#Expenses for the Southern Sales Region
2.3.4#Expenses for the Western Sales Region


BOOKMARK restrictions

•	If the same outline number is used multiple times, all entries appear but the order is defined by when the objects are rendered by the report.

•	If there are gaps in the numbers, one of two things will happen.  If the gap is between peer level numbers, there will be no visible effect (e.g., 1.3.1 and 1.3.3, given there is no 1.3.2, will appear next to each other and at the same indentation level).  If the gap is between a higher level number and a lower level number, intermediate levels will be generated as required (e.g., 1.0 followed by 2.1.1 will cause dummy 2 and 2.1 entries to be defined, whose titles will be the same as the subsequent real entry).

•	BOOKMARK should only be set in the following triggers:

Format


BOOKMARK example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET ATTR to set the BOOKMARK attribute. It is now more convenient to set this attribute using the SRW.SET_BOOKMARK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below defines a bookmark for
** the boilerplate object B_2.  Notice the use of
** explicit ordering information (1#) in this example.
** If you did not want the ordering information, you
** could omit 1#.
*/

function B_2FormatTrigger return boolean is
begin
  srw.attr.mask := srw.BOOKMARK_ATTR;
  srw.attr.bookmark  := '1#Expense Summary Section';
  srw.set_attr(0,srw.attr);
  return (TRUE);
end;


Dynamic BOOKMARK example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET ATTR to set the BOOKMARK attribute. It is now more convenient to set this attribute using the SRW.SET_BOOKMARK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below defines a bookmark for
** the boilerplate object B_2.  Notice that the name
** of the bookmark is dynamic.  CATEGORY is a column
** value that is concatenated with the string Expense
** Summary Section for each execution of the format
** trigger.  In this case, CATEGORY could contain
** ordering information (e.g., 1#) or perhaps a string
** that makes the bookmark unique within the report.
*/

function B_2FormatTrigger return boolean is
begin
  srw.attr.mask := srw.BOOKMARK_ATTR;
  srw.attr.bookmark  := :category ||
  ' Expense Summary Section';
  srw.set_attr(0,srw.attr);
  return (TRUE);
end;


BORDERWIDTH

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BORDER_WIDTH procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the border width of the object.

Values

0	Means no border.
any positive integer	Means a border width of that many picas for a bit-mapped report or one character for a character mode report.


BORDPATT

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_BORDER_PATTERN procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the fill pattern for the border of the object.  This attribute is ignored in character mode.

Values

A valid pattern name.


FACE

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FONT_FACE procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the font face of a CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Values

A valid font name on the machine where the report is run.


FBCOLOR

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FOREGROUND_BORDER_COLOR procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the foreground border color of the object.  This attribute is ignored in character mode.

Values

A valid color name.


FFCOLOR

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FOREGROUND_FILL_COLOR procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the foreground fill color of the object.  This attribute is ignored in character mode.

Values

A valid color name.


FILLPATT

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FILL_PATTERN procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the fill pattern of the object.  This attribute is ignored in character mode.

Values

A valid pattern name.


FORMATMASK

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FORMAT_MASK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the format mask for the DATE, or NUMBER field.

Values

Any valid format mask.


GCOLOR

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_TEXT_COLOR procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the global text color of the CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Values

A valid color name.


GSPACING

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_CUSTOM_SPACING or SRW.SET_SPACING procedures.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedures.

Description  Is the global text leading for a CHAR, DATE, or NUMBER field, or boilerplate text.  This attribute is ignored in character mode.

Values

srw.single_spacing

srw.onehlf_spacing

srw.double_spacing

srw.custom_spacing	Specifies the spacing in VGS units, which are very small.  If you use srw.custom_spacing, then you specify the custom number of VGS units using srw.attr.custom.  For example:

                      srw.attr.mask        := SRW.GSPACING_ATTR;

                      srw.attr.gspacing    := SRW.CUSTOM_SPACING;

                      srw.attr.custom      := 200;

                      srw.set_attr (0, srw.attr);


HJUST

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_JUSTIFICATION procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the horizontal justification of the CHAR, DATE, or NUMBER field.

Values

srw.left_hjust

srw.center_hjust

srw.right_hjust

srw.flush_hjust	Is ignored in bit-mapped reports.


HYPERLINK

  Examples	  Restrictions	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_HYPERLINK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is a URL Web link specification.

Note:  An object that is the source of a Web link cannot also be associated with an action.

Values

A valid link:

To another document on the same machine (e.g., file:/private/mynewdoc.pdf or file:///C|/temp/mynewdoc.pdf)

To another document on a different machine (e.g., http://www.newmach.com/newdoc.pdf)

To a destination within the current document (e.g., #my_dest_name)

To a destination within a local document (e.g., file:/private/somedoc.pdf#a_dest_name)

To a destination within a remote document (e.g., http://www.newmach.com/newdoc.pdf#some_dest_name)

To any URL (e.g., http://www.newmach.com/newdoc.html, ftp://www.reposit.com/filetoget.example, http://www.somemch.com/cgi-bin/webmenu?choice1)


HYPERLINK restrictions

•	HYPERLINK should only be set in the following triggers:

Format

•	To follow Web links from a PDF viewer to a remote server or HTML document, the PDF viewer must be configured to work with a Web browser (e.g., configured as a helper application or installed as a plug-in to your Web browser).


HYPERLINK example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the HYPERLINK attribute. It is now more convenient to set this attribute using the SRW.SET_HYPERLINK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below defines a Web link
** to a destination (mytarget) in another document
** (newdoc.pdf) for the boilerplate object B_2.
** Note:  If the target were in the same document,
** you would omit http://www.newmach.com/newdoc.pdf.
*/

function B_2FormatTrigger return boolean is
begin
  srw.attr.mask := srw.HYPERLINK_ATTR;
  srw.attr.hyperlink  :=
  'http://www.newmach.com/newdoc.pdf' ||
  '#mytarget';
  srw.set_attr(0,srw.attr);
  return (TRUE);
end;


Dynamic HYPERLINK example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the HYPERLINK attribute. It is now more convenient to set this attribute using the SRW.SET_HYPERLINK procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below defines a Web link
** for the boilerplate object B_3.  Notice how the
** destination of the link is determined dynamically
** based upon the values of SRCDIR and CF_PICKVIDEO.
** For example, if the value of SRCDIR were
** http://www.newmach.com and CF_PICKVIDEO were good.avi,
** this function would assign the following Web
** link to the object:
** http://www.newmach.com/webdemo/src/good.avi.
*/

function B_3FormatTrigger return boolean is
begin
  srw.attr.mask := srw.HYPERLINK_ATTR;
  srw.attr.hyperlink  := :srcdir||:cf_pickvideo;
  if ( upper(:cf_pickvideo) like '%GOOD%' ) then
    srw.attr.mask := srw.attr.mask +
                     srw.FBCOLOR_ATTR +
                     srw.BBCOLOR_ATTR;
    srw.attr.fbcolor := 'green';
    srw.attr.bbcolor := 'green';
  end if;
  srw.set_attr(0,srw.attr);
  return (TRUE);
end;

/* SRCDIR is a parameter whose value is determined at
** runtime by the following After Parameter Form trigger
*/

function AfterPForm return boolean is
begin
  :srcdir := :web_server || '/webdemo/src/';
  :docsdir := :web_server || '/webdemo/docs/';
  return (TRUE);
end;

/* CF_PICKVIDEO is a formula column whose value is
** determined by the following function
*/

function CF_pickvideoFormula return Char is
begin
  if ( :avg_h_div < .80 )
    then return ('bad.avi');
    else return ('good.avi');
  end if;
end;


LINKTAG

  Examples 	  Restrictions 	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_LINKTAG procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is an object's identifier and can be used as the destination in Web links.

Values

A valid, unique name that only makes use of the 26 upper or lower case US ASCII letters, numbers, or underscore characters.  Other special characters will automatically be converted to underscore characters.


LINKTAG restrictions

•	LINKTAG should only be set in the following triggers:

Format


LINKTAG example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the LINKTAG attribute. It is now more convenient to set this attribute using the SRW.SET_LINKTAG procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below assigns an identifier
** (mytarget) to the boilerplate object B_500.
** This means that the object can now be the destination
** of a Web link.
*/

function B_500FormatTrigger return boolean is
begin
  srw.attr.mask := SRW.LINKTAG_ATTR;
  srw.attr.linktag := 'mytarget';
  srw.set_attr(0, SRW.ATTR);
  return (TRUE);
end;


Dynamic LINKTAG example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the LINKTAG attribute. It is now more convenient to set this attribute using the SRW.SET_LINKTAG procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The format trigger below assigns an identifier to
** the field F_Dept by concatenating some static text
** (dept_details_) with the value of the source column
** (DEPTNO).  This function ensures that a unique
** identifier is assigned to each instance of F_Dept.
*/

function F_DeptFormatTrigger return boolean is
begin
  srw.attr.mask := SRW.LINKTAG_ATTR;
  srw.attr.linktag := 'dept_details_' ||
  LTRIM(TO_CHAR(:deptno));
  srw.set_attr(0, SRW.ATTR);
  return (TRUE);
end;


PRINTER_INTRAY

  Examples 	  Restrictions	  Related Topics	  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_PRINTER_TRAY procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the name of a valid printer tray and can be used switch to different printer trays as your report formats.

Values

A valid, unique name as defined for your printer in the Page Setup dialog.


PRINTER_INTRAY restrictions

•	PRINTER_INTRAY should only be set in the following triggers:

Between Pages

Before Report

Format

•	PRINTER_INTRAY is ignored when outputting reports to a PCL printer on Motif.


PRINTER_INTRAY example

  Related Topics 	  All Examples

Note:  This example illustrates using SRW.SET_ATTR to set the PRINTER_INTRAY attribute. It is now more convenient to set this attribute using the SRW.SET_PRINTER_TRAY procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

/* The example below sets the printer tray in the Between Pages trigger.
*/

function BetweenPages return boolean is
begin
   srw.attr.mask             := SRW.PRINTER_INTRAY_ATTR;
   srw.attr.printer_intray   := 'letterhead';
   srw.set_attr(SRW.REPORT_ID, srw.attr);
return (TRUE);
end;


STYLE

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FONT_STYLE procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the font style of the CHAR, DATE, or NUMBER field.  This attribute is ignored in bit-mapped reports.

Values

srw.plain_style

srw.italic_style

srw.oblique_style

srw.underline_style

srw.outline_style

srw.shadow_style

srw.inverted_style

srw.overstrike_style

srw.blink_style


SZ

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FONT_SIZE procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the font size of the CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Values

A valid size for the named font on the machine where the report will run.


TEXT

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_CHARMODE_TEXT procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the character mode text characteristic for the CHAR, DATE, or NUMBER field.  This attribute is ignored in bit-mapped reports.

Values

srw.plain_texta

srw.reverse_texta

srw.bold_texta

srw.reversebold_texta

srw.underline_texta

srw.underlinereverse_texta

srw.underlinebold_texta

srw.reverseboldunderline_texta


WEIGHT

  SRW.SET_ATTR Attributes

New Feature:  It is now more convenient to set this attribute using the SRW.SET_FONT_WEIGHT procedure.  Setting this attribute via  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the new, simplified procedure.

Description  Is the font weight of the CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Values

srw.ultralight_weight

srw.extralight_weight

srw.light_weight

srw.demilight_weight

srw.medium_weight

srw.demibold_weight

srw.bold_weight

srw.extrabold_weight


A standalone or plug-in reader, such as the Adobe Acrobat Reader, that enables you to display your PDF files.


An HTML 3.0 compliant browser (e.g., Netscape 2.2).


SRW.FILE_ESCAPE

Indicates that the HTML is located in a file.  When you specify SRW.FILE_ESCAPE, you should enter a filename for SRW.xxxx_ESCAPE_VALUE (where xxxx is the name of the escape, e.g., BEFREPORT).


SRW.TEXT_ESCAPE

Indicates that the HTML is specified in SRW.xxxx_ESCAPE_VALUE (where xxxx is the name of the escape, e.g., BEFREPORT).  When you specify SRW.TEXT_ESCAPE, you should enter a quoted string for SRW.xxxx_ESCAPE_VALUE.


In this case, a page refers to a report page.


The Report Builder PL/SQL package (SRW)

To save you time, Report Builder is shipped with a package  --i.e., a collection of PL/SQL constructs--that contains many functions, procedures, and exceptions you can reference in any of your libraries or reports.  The name of Report Builder's package is SRW.  As a result, any time you reference a construct in the SRW package, you must prefix it with SRW, for example, SRW.DO_SQL.

Note: You cannot reference constructs in the SRW package from another product, e.g., from SQL*Plus.

Constructs found in a package are commonly referred to as "packaged"; i.e., packaged functions, packaged procedures, and packaged exceptions.

  SRW packaged procedures, functions, and exceptions


SRW.ADD_DEFINITION

  Related Topics	  All Built-ins

Description  This procedure takes an XML report definition stored in a column or variable and adds it to the document buffer. You may need to execute SRW.ADD_DEFINITION multiple times to get your entire report definition into the buffer. Once the definition is in the buffer, you can use SRW.APPLY_DEFINITION to apply it.

Syntax

SRW.ADD_DEFINITION(:column_name | variable);

Usage Notes

•	To apply the XML report definition, use the SRW.APPLY_DEFINITION built-in. For example:

srw.add_definition (:xml_col);
srw.apply_definition;

•	If the XML report definition is located in a file, you can use SRW.APPLY_DEFINITION by itself to reference the file. For example:

srw.apply_definition('d:\xml_reps\web.xml');


SRW.APPLY_DEFINITION

  Related Topics	  All Built-ins

Description  This procedure takes an XML report definition stored in the document buffer or file system and applies it to the report. If applying a definition from the document buffer, SRW.APPLY_DEFINITION takes no arguments. If applying a definition from a file, SRW.APPLY_DEFINITION takes the name and path of the file as an argument.

Syntax

SRW.APPLY_DEFINITION[(filename.xml)];

Usage Notes

•	If you want to apply more than one XML report definition, simply stack separate SRW.APPLY_DEFINITION statements in the order that you want them to be applied.

•	If the XML report definition is located in a file, you can use SRW.APPLY_DEFINITION by itself to reference the file. For example:

srw.apply_definition('d:\xml_reps\web.xml');

•	To apply an XML report definition from the document buffer you must first use SRW.ADD_DEFINITION to place the definition in the buffer. For example:

srw.add_definition (:xml_col);
srw.apply_definition;


SRW.BREAK

  Restrictions	  Related Topics	  All Built-ins

Description  This procedure temporarily stops report execution at the place at which SRW.BREAK was encountered, and displays (read-only) the current values of all columns and parameters.  Report execution resumes when the read-only screen is accepted.

Syntax

SRW.BREAK;


SRW.BREAK restrictions

•	This procedure is not meaningful in a Before Form or After Form trigger, because data for the report is not fetched until the Before Report trigger (which fires after the After Form trigger).

•	All column and parameter values are displayed in the read-only screen.  No PL/SQL variables, or any other object values are displayed.


SRW.CONTEXT_FAILURE

  Examples 	  Related Topics	  All Built-ins

Description  This exception stops the report execution and raises the following error message:

REP-1426: Running <construct_name> from incorrect context.

Syntax

SRW.CONTEXT_FAILURE;

Usage Notes  Report Builder raises this exception when a Report Builder packaged function or procedure is called in the wrong context (see the chart below).

In this chart, NO means that the function or procedure cannot be called in that context; YES means it can.

Name	Parameter Form	Data Model	Format Trigger	Report Trigger
srw.break	NO	YES	YES	NO
srw.do_sql	YES	YES	YES	YES
srw.geterr_run	YES	YES	YES	YES
srw.get_page_num	NO	NO	YES	NO
srw.message	YES	YES	YES	YES
srw.reference	YES	YES	YES	YES
srw.run_report	YES	YES	YES	YES
srw.set_attr	NO	NO	YES	NO
srw.set_field_char	NO	NO	YES	NO
srw.set_field_date	NO	NO	YES	NO
srw.set_field_num	NO	NO	YES	NO
srw.set_maxrow	NO	YES	YES	YES
srw.user_exit	YES	YES	YES	YES


SRW.CONTEXT_FAILURE example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message.
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.CONTEXT_FAILURE then

  srw.message(4000, 'Contact the Application

    Development group regarding SRW.CONTEXT_FAILURE.');

  raise srw.program_abort;


SRW.DO_SQL

  Restrictions	  Examples	  Related Topics	  All Built-ins

Description  This procedure executes the specified SQL statement from within Report Builder.  The SQL statement can be DDL (statements that define data), or DML (statements that manipulate data).  DML statements are usually faster when they are in PL/SQL, instead of in SRW.DO_SQL.

Since you cannot perform DDL statements in PL/SQL, the SRW.DO_SQL packaged procedure is especially useful for performing them within Report Builder, instead of via a user exit.  For more information on DDL or DML statements, see the ORACLE8 Server SQL Language Reference Manual.

Syntax

SRW.DO_SQL (sql_statement CHAR);

Parameters

sql_statement	Is any valid SQL statement.  Remember to precede any Report Builder object names with a colon (:).


SRW.DO_SQL restrictions

•	In Report trigger order of execution, notice where the SET TRANSACTION READONLY occurs.

•	A bind variable's value can be at most 64,000 bytes.  (When the value exceeds that limit, it will be truncated to the left-most 64,000 bytes.)

•	If you use a parameter as the destination of a character column for an INTO clause, you should ensure that the parameter is wide enough to contain the selected values.  For example, suppose that you have the SRW.DO_SQL statement below:  The destination parameter (my_ename) needs a width that is equal to the maximum width of the ENAME column.  The reason for this is that the selected value contains trailing spaces up to the assumed size of the value.  If the parameter is not large enough, you will get a truncation exception.  If you are not sure about the maximum width of the SELECT list item, then you should use 2000 as the width for the parameter.

srw.do_sql('SELECT ENAME INTO :my_ename FROM EMP');


SRW.DO_SQL example

  Related Topics 	  All Examples

/* Suppose you want your report to create a table named CHECK
** just before the Runtime Parameter Form is displayed.
** Because CREATE TABLE is a SQL DDL statement (and PL/SQL
** cannot perform DDL statements), you need to use SRW.DO_SQL.
** Therefore, your PL/SQL could look like this in the Before Form trigger:
*/

/* Additional Information: If you use a table created in this way for your
** report output, the table must exist before you create your query in the
** data model.  Otherwise, Report Builder would not be able to parse your query.
*/

FUNCTION CREATETAB RETURN BOOLEAN IS

BEGIN

SRW.DO_SQL('CREATE TABLE CHECK (EMPNO NUMBER NOT NULL

            PRIMARY KEY, SAL NUMBER (10,2)) PCTFREE 5

            PCTUSED 75');

RETURN(TRUE);

EXCEPTION

WHEN SRW.DO_SQL_FAILURE THEN

 SRW.MESSAGE(100, 'ERROR WHILE CREATING CHECK TABLE.');

 SRW.MESSAGE(50, 'REPORT WAS STOPPED BEFORE THE RUNTIME

 PARAMETER FORM.');

 RAISE SRW.PROGRAM_ABORT;

END;

/* Suppose you want to create a "table of contents" by getting the
** first character of a column's value, and page number on which its
** field fires to print.  Assume that you want to put the "table of contents"
** into a table named SHIP.  You could write the following construct:
*/

DECLARE

  PAGE_NO      NUMBER;

  PAGE_FOR     INDEX NUMBER;

  SORT_CHAR    CHAR(1);

  CMD_LINE     CHAR(200);

BEGIN

  SORT_CHAR := :SORT_NAME ;

  IF :CALLED = 'Y' THEN

    SRW.GET_PAGE_NUM(PAGE_FOR_INDEX);

    SRW.USER_EXIT('RWECOP PAGE_FOR_INDEX

                   P_START_PAGENO');

    SRW.MESSAGE(2,TO_CHAR(:P_START_PAGENO));

  END IF;

  SRW.GET_PAGE_NUM(PAGE_NO);

  CMD_LINE := 'INSERT INTO SHIP VALUES

       ('''||SORT_CHAR||''','||TO_CHAR(PAGE_NO)||')';

  SRW.MESSAGE(2,CMD_LINE);

  SRW.DO_SQL(CMD_LINE);

  COMMIT;

EXCEPTION

  WHEN DUP_VAL_ON_INDEX THEN

       NULL;

  WHEN SRW.DO_SQL_FAILURE THEN

       SRW.MESSAGE(1,'FAILED TO INSERT ROW INTO SHIP

TABLE');

  WHEN OTHERS THEN

       COMMIT;

END;


SRW.DO_SQL_FAILURE

  Examples	  Related Topics	  All Built-in Packages

Description  This exception stops the report execution and raises the following error message:

REP-1425: Error running DO_SQL package - REP-msg ORA-msg

where:

REP-msg	Is a Report Builder message.

ORA-msg	Is an optional ORACLE message, providing more information on the Report Builder message.

Syntax

SRW.DO_SQL_FAILURE;

Usage Notes  Report Builder raises this exception when the SRW.DO_SQL packaged procedure fails (e.g., if the user does not have DDL privileges, yet tries to create a table with SRW.DO_SQL).


SRW.DO_SQL_FAILURE example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message.
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.DO_SQL_FAILURE then

   srw.message(1000, 'Error occurred while creating

               table CHECKS.');


SRW.GETERR_RUN

  Examples 	  Related Topics	  All Built-ins

Description  This function returns an error message if Report Builder detects an error while running the SRW.RUN_REPORT procedure.

Syntax

SRW.GETERR_RUN;

Returns  An error message.


SRW.GETERR_RUN examples

  Related Topics 	  All Examples

/* Suppose you are sending parts of a report to users via Oracle*Mail.
** For more information, see "SRW.RUN_REPORT".   Also,
** suppose that if SRW.RUN_REPORT fails, you want to display a message
** that explains why it failed.  Your PL/SQL could look like this:
*/

BEGIN

DECLARE TMP CHAR(100);

  begin

     srw.run_report('batch=yes report=send.rdf

     destype=file desname=send.lis desformat=dflt');

  exception when srw.run_report_failure then

     tmp := srw.geterr_run;

     srw.message(1000, tmp);

  end;

END;


SRW.GET_PAGE_NUM

  Restrictions	  Examples 	  Related Topics	  All Built-ins

Description  This procedure returns the current page number.  This is useful when you want to use the page number in the field's Format Trigger property.

Syntax

SRW.GET_PAGE_NUM (page_num);

Parameters

page_num	Is the variable in which you want to place the current page number.
Returns	 The current page number.


SRW.GET_PAGE_NUM restrictions

•	SRW.GET_PAGE_NUM is only meaningful in a format trigger.  It has no effect when entered in other places.


SRW.GET_PAGE_NUM example

  Related Topics 	  All Examples

/* Suppose you want to perform a computation based upon a page number.
** In the field's Format Trigger, you could use SRW.GET_PAGE_NUM function:
*/

BEGIN

DECLARE PAGE_NUM NUMBER;

  begin

     srw.get_page_num (page_num);

     srw.set_field_num (0, page_num + 3);

  end;

END;


Set Attributes Procedures

  Restrictions	  Related Topics	  All Built-ins

SRW.SET_AFTER_FORM_HTML

SRW.SET_AFTER_PAGE_HTML

SRW.SET_AFTER_PRINTING_CODE

SRW.SET_AFTER_REPORT_HTML

SRW.SET_ATTR attributes

SRW.SET_BACKGROUND_BORDER_COLOR

SRW.SET_BACKGROUND_FILL_COLOR

SRW.SET_BEFORE_FORM_HTML

SRW.SET_BEFORE_PAGE_HTML

SRW.SET_BEFORE_PRINTING_CODE

SRW.SET_BEFORE_REPORT_HTML

SRW.SET_BOOKMARK

SRW.SET_BORDER_PATTERN

SRW.SET_BORDER_WIDTH

SRW.SET_CHARMODE_TEXT

SRW.SET_CUSTOM_SPACING

SRW.SET_DISPLAY_NAME

SRW.SET_FIELD

SRW.SET_FIELD_CHAR

SRW.SET_FIELD_DATE

SRW.SET_FIELD_NUM

SRW.SET_FILL_PATTERN

SRW.SET_FONT_FACE

SRW.SET_FONT_SIZE

SRW.SET_FONT_STYLE

SRW.SET_FONT_WEIGHT

SRW.SET_FOREGROUND_BORDER_COLOR

SRW.SET_FOREGROUND_FILL_COLOR

SRW.SET_FORMAT_MASK

SRW.SET_HYPERLINK

SRW.SET_HYPERLINK_ATTRS

SRW.SET_JUSTIFICATION

SRW.SET_LINKTAG

SRW.SET_MAXROW

SRW.SET_PAGE_NAVIGATION_HTML

SRW.SET_PDF_ACTION

SRW.SET_PRINTER_TRAY

SRW.SET_SPACING

SRW.SET_TEXT_COLOR


SRW.SET_AFTER_FORM_HTML

  Restrictions 	  Examples 	  Related Topics	  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts any text, graphics, or HTML commands that you want to appear at the bottom of the HTML Parameter Form.  This attribute is useful for placing a logo or some standard links on the Parameter Form.

Syntax

SRW.SET_AFTER_FORM_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the text to be inserted.
String	Is a filename or the text to be inserted depending on what was specified for the type parameter.
Property Palette  To define this attribute using the Property Palette, set the  After Form Type and After Form Value properties.


SRW.SET_AFTER_FORM_HTML example

  Related Topics 	  All Examples

/* This example inserts two links to home pages
** at the bottom of the HTML Parameter Form.
*/

function BeforeForm return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.SET_AFTER_FORM_HTML(SRW.TEXT_ESCAPE,'<CENTER>' ||
  '<A HREF="http://www.oracle.com/">' ||
  'Oracle Corporation</A> -' ||
  '<BR>' ||
  '<A HREF="http://home.netscape.com/">' ||
  'Netscape</A> </CENTER>' ||
  '</BODY> </HTML>');
end if;
return (TRUE);
end;


SRW.SET_AFTER_PAGE_HTML

  Restrictions 	  Examples 	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts any text, graphics, or HTML commands that you want to appear at the end of pages of your document.  This attribute is useful for placing a logo or some standard links at the end of each page in an HTML document.

If you use HTML page streaming, this procedure applies to all pages of your report output.  To specify HTML for only the first (header) or last (footer) pages of your report, use the SRW.SET_BEFORE_REPORT_HTML or SRW.SET_AFTER_REPORT_HTML PL/SQL procedures, respectively.

Syntax

SRW.SET_AFTER_PAGE_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the text to be inserted.
string	Is a filename or the text to be inserted, depending on what you specified for the type parameter.
Property Palette  To define this attribute using the Property Palette, set the After Page Type and After Page Value properties.


SRW.SET_AFTER_PAGE_HTML restrictions

•	The default HTML included at the end of a page is shown below.  It is not required unless you want the default separator line to appear between pages.

   <hr size=5 noshade>

•	If you want SRW.SET_AFTER_PAGE_HTML to apply to every page of the report, you should specify it in a trigger that fires before the report begins formatting, such as the Before Report trigger.

•	If you want SRW.SET_AFTER_PAGE_HTML to apply only to the current page, you should specify it in a format trigger for an object on that page.


SRW.SET_AFTER_PAGE_HTML example

  Related Topics 	  All Examples

/* The example below inserts a GIF file as a
** page separator.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
 SRW.SET_AFTER_PAGE_HTML(SRW.TEXT_ESCAPE,'<CENTER>' ||
 '<IMG ALT="Ruler" SRC="line.gif" VSPACE=10>' ||
 '<BR></CENTER>');
end if;
return (TRUE);
end;


SRW.SET_AFTER_PRINTING_CODE

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts a reference to the printer escape sequence to be executed after each line of the object.  The printer escape sequence is inserted after the object is triggered to print but before it has actually printed.  Printer codes are only used when running your report in character-mode.

Syntax

SRW.SET_AFTER_PRINTING_CODE('code');

Parameters

code	Is a valid printer code that is defined in the .prt file specified for DESFORMAT.
Property Palette  To define this attribute using the Property Palette, set the Printer Code After property.


SRW.SET_AFTER_REPORT_HTML

  Restrictions 	  Examples 	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts any text, graphics, or HTML commands that you want to appear at the end of your document.  This attribute is useful for placing a logo or some standard links at the end of an HTML document.

If you use HTML page streaming, this procedure applies to the first page of your report output.  To specify HTML to apply to the entire report (e.g., background color or images, or any other <body> HTML attributes), you must use the SRW.SET_BEFORE_PAGE_HTML PL/SQL procedure.

Syntax

SRW.SET_AFTER_REPORT_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the text to be inserted.
string	Is a filename or the text to be inserted, depending on what you specified for the type parameter.
Property Palette  To define this attribute using the Property Palette, set the After Report Type and After Report Value properties.


SRW.SET_AFTER_REPORT_HTML restrictions

•	The default HTML included at the end of a report is shown below.  If you use SRW.SET_AFTER_REPORT_HTML to replace this text, you must ensure that it contains the equivalent HTML commands.

   </body></html>

•	SRW.SET_AFTER_REPORT_HTML should be set in a trigger that fires before the report is done formatting, such as the Before Report trigger.


SRW.SET_AFTER_REPORT_HTML example

  Related Topics 	  All Examples

/* The example below inserts two links to home pages
** at the end of the report output.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.SET_AFTER_REPORT_HTML(SRW.TEXT_ESCAPE,'<CENTER>' ||
  '<A HREF="http://www.oracle.com/">' ||
  'Oracle Corporation</A> -' ||
  chr(10) ||
  '<A HREF="http://home.netscape.com/">' ||
  'Netscape</A> </CENTER>' ||
  '</BODY> </HTML>');
end if;
return (TRUE);
end;


SRW.SET_BACKGROUND_BORDER_COLOR

  Set Attributes Procedures 	  Related Topics	  All Built-ins

Description  This procedure specifies the background border color of the object.  This attribute is ignored in character mode.  Depending upon the pattern being used, you may not see the background color.  For example, if the pattern is solid, the background color does not show through the pattern.  Only the foreground color shows through in this case.

Syntax

SRW.SET_BACKGROUND_BORDER_COLOR('color');

Parameters

color	Is a valid color from the color palette.
Usage Notes

•	This procedure does not apply to Windows platforms because they do not support a border pattern.  As a result, the border foreground color is the only one visible on Windows.

Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Edge Background Color property.

User Interface  To set the background border color in the user interface, refer to Changing colors .


SRW.SET_BACKGROUND_FILL_COLOR

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the background fill color of the object.  This attribute is ignored in character mode.  Depending upon the pattern being used, you may not see the background color.  For example, if the pattern is solid, the background color does not show through the pattern.  Only the foreground color shows through in this case.

Syntax

SRW.SET_BACKGROUND_FILL_COLOR('color');

Parameters

color	Is a valid color from the color palette.
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Background Color property.

User Interface  To set the background fill color in the user interface, refer to Changing colors .


SRW.SET_BEFORE_FORM_HTML

  Restrictions 	  Examples 	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts any text, graphics, or HTML commands that you want to appear at the top of the HTML Parameter Form.  This attribute is useful for placing a logo or some standard links on the Parameter Form .

Syntax

SRW.SET_BEFORE_FORM_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the text to be inserted.
String	Is a filename or the text to be inserted, depending on what you specified for the type parameter.
Property Palette  To define this attribute using the Property Palette, set the Before Form Type and Before Form Value properties.


SRW.SET_BEFORE_FORM_HTML example

  Related Topics 	  All Examples

/* The example below sets both the before and after
** form escapes in the Before Form trigger.
** The HTML for the before escape is located in a file
** named logo.htm.  The HTML for the after report escape
** is specified within the PL/SQL itself.
*/

function BeforeForm return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.SET_BEFORE_FORM_HTML(SRW.FILE_ESCAPE,'logo.htm');
  SRW.SET_AFTER_FORM_HTML(SRW.TEXT_ESCAPE, <B> ||
  '<FONT FACE="Arial, Helvetica">' ||
  '<FONT COLOR="#FF0000">' ||
  'Click <IMG SRC="RUN.GIF" HEIGHT=18 WIDTH=18>' ||
  'to run the report using the parameters you have' ||
  'specified above. ' ||
  '</FONT></FONT></B>');
end if;
return (TRUE);
end;


SRW.SET_BEFORE_PAGE_HTML

  Restrictions 	  Examples 	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts any text, graphics, or HTML commands that you want to appear at the beginning of pages of your document.  This attribute is useful for placing a logo or some standard links at the beginning of each page in an HTML document.

If you use HTML page streaming, this procedure applies to all pages of your report output (e.g., background color or images, or any other <body> HTML attributes).  To specify HTML for only the first (header) or last (footer) pages of your report, use the SRW.SET_BEFORE_REPORT_HTML or SRW.SET_AFTER_REPORT_HTML PL/SQL procedures, respectively.

Syntax

SRW.SET_BEFORE_PAGE_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the text to be inserted.
string	Is a filename or the text to be inserted, depending on what you specified for the type parameter.
Property Palette  To define this attribute using the Property Palette, set the Before Page Type and Before Page Value properties.


SRW.SET_BEFORE_PAGE_HTML restrictions

•	If you want the SRW.SET_BEFORE_PAGE_HTML to apply to every page of the report, you should specify it in a trigger that fires before the report begins formatting, such as the Before Report trigger .

•	If you want the SRW.SET_BEFORE_PAGE_HTML to apply only to the current page, you should specify it in a format trigger for an object on that page.


SRW.SET_BEFORE_PAGE_HTML example

  Related Topics 	  All Examples

/* The example below centers the document in
** the browser.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.SET_BEFORE_PAGE_HTML(SRW.TEXT_ESCAPE,'<CENTER>');
  SRW.SET_AFTER_PAGE_HTML(SRW.TEXT_ESCAPE,'</CENTER>');
end if;
return (TRUE);
end;


SRW.SET_BEFORE_PRINTING_CODE

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedures inserts a reference to the printer escape sequence to be executed before each line of the object.  The printer escape sequence is inserted after the object is triggered to print but before it has actually printed.  Printer codes are only used when running your report in character-mode.

Syntax

SRW.SET_BEFORE_PRINTING_CODE('code');

Parameters

code	Is a valid printer code that is defined in the .prt file specified for DESFORMAT.
Property Palette  To define this attribute using the Property Palette, set the Printer Code Before property.


SRW.SET_BEFORE_REPORT_HTML

  Restrictions 	  Examples 	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure inserts any text, graphics, or HTML commands that you want to appear at the beginning of your document.  This attribute is useful for placing a logo or some standard links at the beginning of an HTML document.

If you use HTML page streaming, this procedure applies to the first page of your report output.  To specify HTML to apply to the entire report (e.g., background color or images, or any other <body> HTML attributes), you must use the SRW.SET_BEFORE_PAGE_HTML PL/SQL procedure.

Syntax

SRW.SET_BEFORE_REPORT_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the text to be inserted.
String	Is a filename or the text to be inserted, depending on what you specified for the type parameter.
Property Palette  To define this attribute using the Property Palette, set the Before Report Type and Before Report Value properties.


SRW.SET_BEFORE_REPORT_HTML restrictions

•	The default HTML included at the beginning of a report is shown below.  If you use SRW.SET_BEFORE_REPORT_HTML to replace this text, you must ensure that it contains the equivalent HTML commands.

   <html>
   <body bgcolor="#ffffff">

•	SRW.SET_BEFORE_REPORT_HTML should be set in a trigger that fires before the report starts formatting, such as the Before Report trigger.


SRW.SET_BEFORE_REPORT_HTML example

  Related Topics 	  All Examples

/* The example below sets both the before and after
** report escapes in the Before Report trigger.
** The HTML for the before escape is located in a file
** named logo.htm.  The HTML for the after report escape
** is specified within the PL/SQL itself.
*/

function BeforeReport return boolean is
begin
if ((upper(:MODE) != 'CHARACTER') and
    (upper(:DESFORMAT) = 'HTML')) then
  SRW.SET_BEFORE_REPORT_HTML(SRW.FILE_ESCAPE,'logo.htm');
  SRW.SET_AFTER_REPORT_HTML(SRW.TEXT_ESCAPE,'<ADDRESS>' ||
  ' Questions? - ' ||
  '<A HREF=mailto:webmaster@xyztech.com>' ||
  'webmaster@xyztech.com</A>' ||
  '</ADDRESS>' ||
  '</body></html>');
end if;
return (TRUE);
end;


SRW.SET_BOOKMARK

  Restrictions 	  Examples 	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure associates a bookmark with the object and specifies a string that will appear in a bookmark frame of the master HTML document or the PDF document. If you open the bookmark area and click on the bookmark, the object appears at the top of the window.

Syntax

SRW.SET_BOOKMARK('bookmark');

Parameters

bookmark	Is one of the following: • A text string with no indentation/ordering information.  The bookmark will appear in the bookmark list according to when the object is rendered by the report. • A text string with explicit ordering/indentation of the form x#book_mark_name, where x is an outline number.  The pound sign (#) and outline number do not appear in the bookmark window but are used to determine order and indentation.  For example: 1#Expense Summary Section  2#Expense Detail Section 2.1#Expenses for the Administration Department 2.2#Expenses for the Engineering Department 2.3#Expenses for the Sales Department 2.3.1#Expenses for the Eastern Sales Region 2.3.2#Expenses for the Northern Sales Region 2.3.3#Expenses for the Southern Sales Region 2.3.4#Expenses for the Western Sales Region
Property Palette  To define this attribute using the Property Palette, set the Bookmark property.


SRW.SET_BOOKMARK restrictions

•	If the same outline number is used multiple times, all entries appear but the order is defined by when the objects are rendered by the report.

•	If there are gaps in the numbers, one of two things will happen.  If the gap is between peer level numbers, there will be no visible effect (e.g., 1.3.1 and 1.3.3, given there is no 1.3.2, will appear next to each other and at the same indentation level).  If the gap is between a higher level number and a lower level number, intermediate levels will be generated as required (e.g., 1.0 followed by 2.1.1 will cause dummy 2 and 2.1 entries to be defined, whose titles will be the same as the subsequent real entry).

•	SRW.SET_BOOKMARK should only be set in the following triggers:

Format


SRW.SET_BOOKMARK example

  Related Topics 	  All Examples

/* The format trigger below defines a bookmark for
** the boilerplate object B_2.  Notice the use of
** explicit ordering information (1#) in this example.
** If you did not want the ordering information, you
** could omit 1#.
*/

function B_2FormatTrigger return boolean is
begin
  srw.set_bookmark('1#Expense Summary Section');
  return (TRUE);
end;


Dynamic SRW.SET_BOOKMARK example

  Related Topics 	  All Examples

/* The format trigger below defines a bookmark for
** the boilerplate object B_2.  Notice that the name
** of the bookmark is dynamic.  CATEGORY is a column
** value that is concatenated with the string Expense
** Summary Section for each execution of the format
** trigger.  In this case, CATEGORY could contain
** ordering information (e.g., 1#) or perhaps a string
** that makes the bookmark unique within the report.
*/

function B_2FormatTrigger return boolean is
begin
  srw.set_bookmark(:category ||
  ' Expense Summary Section');
  return (TRUE);
end;


SRW.SET_BORDER_PATTERN

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the fill pattern for the border of the object.  This attribute is ignored in character mode.

Syntax

SRW.SET_BORDER_PATTERN('pattern');

Parameters

pattern	Is the fill pattern for the border (e.g., solid).
Usage Notes

•	This procedure does not apply to Windows platforms because they do not support a border pattern.

Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Edge Pattern property.

User Interface  To set the border attributes in the user interface, refer to Changing object border attributes .


SRW.SET_BORDER_WIDTH

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the width of the object's border in picas.

Syntax

SRW.SET_BORDER_WIDTH(width);

Parameters

width	Is zero or any positive integer.  Zero indicates no border and a positive integer indicates the width of the border in picas.
User Interface  To set the border attributes in the user interface, refer to Changing object border attributes .


SRW.SET_CHARMODE_TEXT

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the font style of a CHAR, DATE, or NUMBER field.  This attribute is ignored in bit-mapped reports.

Syntax

SRW.SET_CHARMODE_TEXT('style');

Parameters

style	Is one of the following:   SRW.REVERSE_TEXTA SRW.BOLD_TEXTA SRW.REVERSEBOLD_TEXTA SRW.UNDERLINE_TEXTA SRW.UNDERLINEREVERSE_TEXTA SRW.REVERSEBOLDUNDERLINE_TEXTA SRW.PLAIN_TEXTA
User Interface  To set the font attributes in the user interface, refer to Changing text attributes .


SRW.SET_CUSTOM_SPACING

  Related Topics	  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the global text leading for a CHAR, DATE, or NUMBER field, or boilerplate text.  This attribute is ignored in character mode.

Syntax

SRW.SET_CUSTOM_SPACING(spacing);

Parameters

spacing	Is a number that represents the leading in VGS units, which are very small.


SRW.SET_DISPLAY_NAME

  Restrictions 	  Examples 	  Related Topics	  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies text that displays in a popup as the cursor moves over an image object in reports output in HTML or HTMLCSS format.

Syntax

SRW.SET_DISPLAY NAME('text_string');

Parameters

text_string	Is any text string that only makes use of the 26 upper or lower case US ASCII letters, numbers, or underscore characters.  Other special characters will automatically be converted to underscore characters.
Property Palette  To define this attribute using the Property Palette, set the Display Name property.


SRW.SET_DISPLAY NAME restrictions
SRW.SET_DISPLAY_NAME restrictions

•	SRW.SET_DISPLAY_NAME should only be set in the following triggers:

Formatfortrig>referenc


SRW.SET_DISPLAY_NAME example

  Related Topics 	  All Examples

/* The format trigger below assigns a text string
** ('Click here to fill your shopping basket') to the image
** object BASKET.  In the HTML report, this popup will display
** when the cursor moves over the BASKET object.
*/

function BASKETFormatTrigger return boolean is
begin
  SRW.SET_DISPLAY_NAME('Click here to fill your shopping basket');
  return (TRUE);
end;


SRW.SET_FIELD

  Examples 	  Related Topics	  Set Attributes Procedures 	  All Built-ins

Description  This procedure sets the value of a character, number, or date field.  This is useful when you want to conditionally change a field's value.

Syntax

SRW.SET_FIELD (object_id, text CHAR|number NUM|date DATE);

Parameters

object_id	Is always 0.  (The object must always set its own attributes.)
text number date	Is the character, number, or date string you want the field to display.
Usage Notes

•	For date values, you need to convert the second argument to a date value with the TO_DATE function.  For example:

srw.set_field(0, to_date('01-JAN-99'));

•	If you omit quotes around the value, the value is assumed to be a number.  For example:

srw.set_field(0, 99);

Alternatively, you can use the quotes if you also use the TO_NUMBER function.  For example:

srw.set_field(0, to_number('99'));

•	If you use quotes without a function, the value is assumed to be a character string.  Alternatively, you can use the TO_CHAR function for consistency with number and date values:

srw.set_field(0, to_char('my string'));


SRW.SET_FIELD Example

/* Suppose you want to conditionally change the
** number of a field, based on each employee's salary.
** In the format trigger for the field, you could
** type the following:
*/

FUNCTION CHGFIELD RETURN BOOLEAN IS

TMP    NUMBER;

BEGIN

   if :sal >= 2000 then

     tmp := :sal * 1.08;

     srw.set_field (0, tmp);

   else

     srw.set_field (0, 2500);

   end if;

RETURN (TRUE);

END;


SRW.SET_FIELD_CHAR

  Restrictions	  Examples	  Related Topics	   Set Attributes Procedures 	  All Built-ins

Description  This procedure sets the value of a character field.  This is useful when you want to conditionally change a field's character value.

Syntax

SRW.SET_FIELD_CHAR (object_id, text CHAR);

Parameters

object_id	Is always 0.  (The object must always set its own attributes.)
text	Is the character string you want the field to display.


SRW.SET_FIELD_CHAR restrictions

•	SRW.SET_FIELD_CHAR is only meaningful in the format trigger  of a field of Datatype Character.  It has no affect when entered in other places.


SRW.SET_FIELD_CHAR example

  Related Topics 	  All Examples

/* Suppose you want to conditionally change the value of a
** Character field, based on each employee's salary.
** In the format trigger for the field, you could type the following:
*/

FUNCTION CHGFIELD RETURN BOOLEAN IS

BEGIN

   if :sal >= 2000000 then

     srw.set_field_char (0, 'HIGH SALARY');

   end if;

RETURN (TRUE);

END;


SRW.SET_FIELD_DATE

  Restrictions 	  Examples	  Related Topics	   Set Attributes Procedures 	  All Built-ins

Description  This procedure sets the value of a date field.  This is useful when you want to conditionally change a field's date value.

Syntax

SRW.SET_FIELD_DATE (object_id, date DATE);

Parameters:

object_id	Is always 0.  (The object must always set its own attributes.)
date	Is the date you want the field to display.


SRW.SET_FIELD_DATE restrictions

•	SRW.SET_FIELD_DATE is only meaningful in a format trigger for a date field.  It has no affect when entered in other places.


SRW.SET_FIELD_DATE example

  Related Topics 	  All Examples

/* Suppose you want to conditionally change the date of the reunion
** invitation, based on each student's graduation year.  In the format
** trigger for the field, you could type the following:
*/

FUNCTION CHGFIELD RETURN BOOLEAN IS

BEGIN

   if :graduation >= 1975 then

     srw.set_field_date (0, '02-JUL-95');

   else

   end if;

RETURN (TRUE);

END;


SRW.SET_FIELD_NUM

  Restrictions 	  Examples	  Related Topics 	   Set Attributes Procedures 	  All Built-ins

Description  This procedure sets the value of a number field.  This is useful when you want to conditionally change a field's number value.

Syntax

SRW.SET_FIELD_NUM (object_id, number NUM);

Parameters

object_id	Is always 0.  (The object must always set its own attributes.)
number	Is the number you want the field to display.


SRW.SET_FIELD_NUM restrictions

•	SRW.SET_FIELD_NUM is only meaningful in the format trigger of a field of Datatype NUMBER.  It has no affect when entered in other places.


SRW.SET_FIELD_NUM examples
SRW.SET_FIELD_NUM example

  Related Topics 	  All Examples

/* Suppose you want to conditionally change the number of a field,
** based on each employee's salary.  In the format trigger for the
** field, you could type the following:
*/

FUNCTION CHGFIELD RETURN BOOLEAN IS

TMP    NUMBER;

BEGIN

   if :sal >= 2000 then

     tmp := :sal * 1.08;

     srw.set_field_num (0, tmp);

   else

     srw.set_field_num (0, '2500');

   end if;

RETURN (TRUE);

END;


SRW.SET_FILL_PATTERN

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the fill pattern of the object.  This attribute is ignored in character mode.

Syntax

SRW.SET_FILL_PATTERN('pattern');

Parameters

pattern	Is the fill pattern for the object (e.g., solid).
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Fill Pattern property.

User Interface  To set the border attributes in the user interface, refer to Changing patterns.


SRW.SET_FONT_FACE

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies font face for a CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Syntax

SRW.SET_FONT_FACE('face');

Parameters

face	Is the font face, e.g., arial.
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Font property.

User Interface  To set the font attributes in the user interface, refer to Changing text attributes .


SRW.SET_FONT_SIZE

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies font size for a CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Syntax

SRW.SET_FONT_SIZE(size);

Parameters

size	Is the font size, e.g., 9 (point).
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Font property.

User Interface  To set the font attributes in the user interface, refer to Changing text attributes .


SRW.SET_FONT_STYLE

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies font style for a CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Syntax

SRW.SET_FONT_STYLE(style);

Parameters

style	Is one of the following: SRW.ITALIC_STYLE SRW.OBLIQUE_STYLE SRW.UNDERLINE_STYLE SRW.OUTLINE_STYLE SRW.SHADOW_STYLE SRW.INVERTED_STYLE SRW.BLINK_STYLE SRW.PLAIN_STYLE
Usage Notes

•	If you use this procedure multiple times on the same field, the font styles will accumulate.  For example, the following would cause the field to be underlined and italic:

SRW.SET_FONT_STYLE(SRW.UNDERLINE_STYLE);
SRW.SET_FONT_STYLE(SRW.ITALIC_STYLE);

To negate all of the accumulated styles, use the PLAIN style.

Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Font property.

User Interface  To set the font attributes in the user interface, refer to Changing text attributes .


SRW.SET_FONT_WEIGHT

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies font weight for a CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Syntax

SRW.SET_FONT_WEIGHT(weight);

Parameters

weight	Is one of the following: SRW.ULTRALIGHT_WEIGHT SRW.EXTRALIGHT_WEIGHT SRW.LIGHT_WEIGHT SRW.DEMILIGHT_WEIGHT SRW.DEMIBOLD_WEIGHT SRW.BOLD_WEIGHT SRW.EXTRABOLD_WEIGHT SRW.MEDIUM_WEIGHT
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Font property.

User Interface  To set the font attributes in the user interface, refer to Changing text attributes .


SRW.SET_FOREGROUND_BORDER_COLOR

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the foreground border color of the object.  This attribute is ignored in character mode.

Syntax

SRW.SET_FOREGROUND_BORDER_COLOR('color');

Parameters

color	Is a valid color from the color palette.
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Edge Foreground Color  property.

User Interface  To set the foreground border color in the user interface, refer to Changing colors .


SRW.SET_FOREGROUND_FILL_COLOR

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the foreground fill color of the object.  This attribute is ignored in character mode.

Syntax

SRW.SET_FOREGROUND_FILL_COLOR('color');

Parameters

color	Is a valid color from the color palette.
Property Palette  (Templates only) To define this attribute for templates using the Property Palette, set the Foreground Color property.

User Interface  To set the foreground fill color in the user interface, refer to Changing colors .


SRW.SET_FORMAT_MASK

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the format mask for the DATE or NUMBER field.

Syntax

SRW.SET_FORMAT_MASK('mask');

Parameters

mask	Is a valid format mask.  See Date Format Mask Syntax or Number Format Mask Syntax
Property Palette  To define this attribute using the Property Palette, set the Format Mask property.


SRW.SET_HYPERLINK

  Restrictions	  Examples	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies a URL Web link specification.

Note:  An object that is the source of a Web link cannot also be associated with an action.

Syntax

SRW.SET_HYPERLINK('hyperlink');

Parameters

hyperlink	Is a valid link: • To another document on the same machine (e.g., file:/private/mynewdoc.pdf or file:///C|/temp/mynewdoc.pdf) • To another document on a different machine (e.g., http://www.newmach.com/newdoc.pdf) • To a destination within the current document (e.g., #my_dest_name) • To a destination within a local document (e.g., file:/private/somedoc.pdf#a_dest_name) • To a destination within a remote document (e.g., http://www.newmach.com/newdoc.pdf#some_dest_name) • To any URL (e.g., http://www.newmach.com/newdoc.html, ftp://www.reposit.com/filetoget.example, http://www.somemch.com/cgi-bin/webmenu?choice1)
Property Palette  To define this attribute using the Property Palette, set the Hyperlink  property.


SRW.SET_HYPERLINK restrictions

•	SRW.SET_HYPERLINK should only be set in the following triggers:

Formatfortrig>referenc

•	To follow Web links from a PDF viewer to a remote server or HTML document, the PDF viewer must be configured to work with a Web browser (e.g., configured as a helper application or installed as a plug-in to your Web browser).


SRW.SET_HYPERLINK example

  Related Topics 	  All Examples

/* The format trigger below defines a Web link
** to a destination (mytarget) in another document
** (newdoc.pdf) for the boilerplate object B_2.
** Note:  If the target were in the same document,
** you would omit http://www.newmach.com/newdoc.pdf.
*/

function B_2FormatTrigger return boolean is
begin
  SRW.SET_HYPERLINK('http://www.newmach.com/newdoc.pdf' ||
  '#mytarget');
  return (TRUE);
end;


Dynamic SRW.SET_HYPERLINK example

  Related Topics 	  All Examples

/* The format trigger below defines a Web link
** for the boilerplate object B_3.  Notice how the
** destination of the link is determined dynamically
** based upon the values of SRCDIR and CF_PICKVIDEO.
** For example, if the value of SRCDIR were
** http://www.newmach.com and CF_PICKVIDEO were good.avi,
** this function would assign the following Web
** link to the object:
** http://www.newmach.com/webdemo/src/good.avi.
*/

function B_3FormatTrigger return boolean is
begin
  SRW.SET_HYPERLINK(:srcdir||:cf_pickvideo);
  if ( upper(:cf_pickvideo) like '%GOOD%' ) then
    SRW.SET_FOREGROUND_BORDER_COLOR('green');
    SRW.SET_BACKGROUND_BORDER_COLOR('green');
  end if;
  return (TRUE);
end;

/* SRCDIR is a parameter whose value is determined at
** runtime by the following After Parameter Form trigger
*/

function AfterPForm return boolean is
begin
  :srcdir := :web_server || '/webdemo/src/';
  :docsdir := :web_server || '/webdemo/docs/';
  return (TRUE);
end;

/* CF_PICKVIDEO is a formula column whose value is
** determined by the following function
*/

function CF_pickvideoFormula return Char is
begin
  if ( :avg_h_div < .80 )
    then return ('bad.avi');
    else return ('good.avi');
  end if;
end;


SRW.SET_HYPERLINK_ATTRS

  Restrictions 	  Examples	  Related Topics	  Set Attributes Procedures 	 	  All Built-ins

Description  This procedure applies additional HTML commands to the hyperlink specified in the Property Palette or SRW.SET HYPERLINK procedure.

Syntax

SRW.SET_HYPERLINK_ATTRS('string');

Parameters

HTML_string	Is a string containing the HTML commands to be applied.
Property Palette  To define this attribute using the Property Palette, set the Additional Hyperlink Attributes property.


SRW.SET_HYPERLINK_ATTRS restrictions

•	SRW.SET_HYPERLINK_ATTRS should only be set in the following triggers:

Formatfortrig>referenc


SRW.SET_HYPERLINK_ATTRS example

  Related Topics 	  All Examples

/* The format trigger below generates a status
** of information at the bottom of your Web browser
** when the mouse cursor passes over a Shopping Basket
** object.
*/

function BASKETFormatTrigger return boolean is
begin
SRW.SET_HYPERLINK_ATTRS('onMouseover "window.status="Click here to see what is in your shopping basket";return true"'|| 'onMouseout ="window.status=" ";return true"');
  return (TRUE);
end;


SRW.SET_JUSTIFICATION

  Related Topics [image]  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the horizontal justification of the CHAR, DATE, or NUMBER field.

Syntax

SRW.SET_JUSTIFICATION(justification);

Parameters

justification	Is one of the following: SRW.LEFT_HJUST SRW.RIGHT_HJUST SRW.FLUSH_HJUST SRW.CENTER_HJUST.
Property Palette  (Templates only) To define this attribute in templates using the Property Palette, set the Character Justification property for character fields, Date Justification property for date fields, Number Justification property for number fields.

User Interface  To set the horizontal justification in the user interface, refer to Changing text attributes .


SRW.SET_LINKTAG

  Restrictions	  Examples	  Related Topics 	  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies an object's identifier and can be used as the destination in Web links.

Syntax

SRW.SET_LINKTAG('linktag');

Parameters

linktag	A valid, unique name that only makes use of the 26 upper or lower case US ASCII letters, numbers, or underscore characters.  Other special characters will automatically be converted to underscore characters.
Property Palette  To define this attribute using the Property Palette, set the Hyperlink Destination property.


SRW.SET_LINKTAG restrictions

•	SRW.SET_LINKTAG should only be set in the following triggers:

Formatfortrig>referenc


SRW.SET_LINKTAG example

  Related Topics 	  All Examples

/* The format trigger below assigns an identifier
** (mytarget) to the boilerplate object B_500.
** This means that the object can now be the destination
** of a Web link.
*/

function B_500FormatTrigger return boolean is
begin
  SRW.SET_LINKTAG('mytarget');
  return (TRUE);
end;


Dynamic SRW.SET_LINKTAG example

  Related Topics 	  All Examples

/* The format trigger below assigns an identifier to
** the field F_Dept by concatenating some static text
** (dept_details_) with the value of the source column
** (DEPTNO).  This function ensures that a unique
** identifier is assigned to each instance of F_Dept.
*/

function F_DeptFormatTrigger return boolean is
begin
  SRW.SET_LINKTAG('dept_details_' ||
  LTRIM(TO_CHAR(:deptno)));
  return (TRUE);
end;


SRW.SET_MAXROW

  Restrictions 	  Examples 	  Related Topics	   Set Attributes Procedures 	  All Built-ins

Description  This procedure sets the maximum number of records to be fetched for the specified query.  This is useful when your report formats (i.e., displays) fewer records than the query (or queries) that fetch them.  Thus, with SRW.SET_MAXROW, you can conditionally restrict data that is fetched for your report, enabling you to improve the report's performance.

Syntax

SRW.SET_MAXROW (query_name CHAR, maxnum PLS_INTEGER);

Parameters

query_name	Is the query whose fetched records will be limited.
maxnum	Is maximum number of records you want the query to fetch.
Property Palette  To define this attribute using the Property Palette, set the Maximum Rows to Fetch property.


SRW.SET_MAXROW restrictions

•	SRW.SET_MAXROW is only meaningful in a Before Report trigger (i.e., after the query is parsed).  If SRW.SET_MAXROW is called after the Before Report trigger (i.e., after the queries have been executed), the SRW.MAXROW_UNSET packaged exception is raised.

•	Because this procedure causes only the specified number of records to be fetched, the "unfetched" records of the query are not used in computations, etc.

•	If you specify that 0 records should be fetched, the query will still be parsed.


SRW.SET_MAXROW examples

  Related Topics 	  All Examples

/* Suppose your report has two queries, Q_Stocks and Q_Bonds.
** Suppose also, that you have a user-created parameter, named
** WHICHDATA, that enables users to specify which data they want
** the report to display:  either stocks or bonds.  In the
** Before Report trigger, you could use the SRW.SET_MAXROW
** procedure to ensure that only one query's data is fetched:
*/

FUNCTION FETCHIT RETURN BOOLEAN IS

BEGIN

   if :whichdata != 1 then

     srw.set_maxrow ('Q_Stocks', 0);

   else

     srw.set_maxrow ('Q_Bonds', 0);

   end if;

RETURN (TRUE);

END;


SRW.SET_PAGE_NAVIGATION_HTML

 Related Topics	 Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the scripting for navigation controls in page-streamed HTML/HTMLCSS report output.

Syntax

SRW.SET_PAGE_NAVIGATION_HTML(type,'string');

Parameters

type	Is SRW.FILE_ESCAPE or SRW.TEXT_ESCAPE.  It indicates whether the string parameter is a filename or the HTML script text to be inserted.
String	Is a filename or the HTML scripting code to be inserted, depending on what was specified for the type parameter.  If left blank, the default Report Builder JavaScript is used to define navigation controls on each page of report output.
Usage Notes

If you choose to provide your own script for navigation controls, you must include three variables in your script:

•	&TotalPages (total number of pages)

•	&file_name (the name of the output destination file; e.g., myreport)

•	&file_ext (the file extension, e.g., htm)

Report Builder assigns values to these variables during formatting.

The height of the page navigation control frame is hard coded to 70 points without a scroll bar.  The width of the frame is variable.  If you want to use icons and images in this frame, keep these dimensions in mind.

Property Palette  To define this attribute using the Property Palette, set the Page Navigation Control Type and Page Navigation Control Value properties.


SRW.SET_PDF_ACTION

  Restrictions 	  Examples	  Related Topics 	   Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies a command line that will be executed on the local machine when the object is clicked in the PDF viewer.

Note:  An object that is associated with an action cannot also be the source of a Web link.

Syntax

SRW.SET_PDF_ACTION('action');

Parameters

action	Is any valid command line on the local machine (e.g., c:\orawin\bin\rwrun60 userid=scott/tiger report=example.rdf or /usr/local/bin/phone smith).
Property Palette  To define this attribute using the Property Palette, set the Application Command Line (PDF)  property.


SRW.SET_PDF_ACTION restrictions

•	SRW.SET_PDF_ACTION is only available for PDF output.

•	SRW.SET_PDF_ACTION should only be set in the following triggers:

Format


SRW.SET_PDF_ACTION example

  Related Topics 	  All Examples

/* The format trigger below runs a
** report named example.rdf when the
** button object U_Report is clicked
** in the PDF viewer.
*/

function U_ReportFormatTrigger return boolean is
begin
  SRW.SET_PDF_ACTION ||
  ('c:\orawin\bin\rwrun60' ||
  'userid=scott/tiger ' ||
  'report=example.rdf');
end;


SRW.SET_PRINTER_TRAY

  Restrictions 	  Examples 	  Related Topics 	   Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the name of a valid printer tray and can be used to switch to different printer trays as your report formats.

Syntax

SRW.SET_PRINTER_TRAY('tray');

Parameters

tray	Is the name of a valid printer tray and can be used to switch to different printer trays as your report formats.
Usage Notes

•	If you use SRW.SET_PRINTER_TRAY in the Format Trigger of an object, the printer tray will be changed on the page where the object is printed.  The printer tray you specify remains in effect until you change it in a subsequent trigger.


SRW.SET_PRINTER_TRAY restrictions

•	SRW.SET_PRINTER_TRAY should only be set in the following triggers:

After Report trigger

Before Report

Between Pages

Format

If you use SRW.SET_PRINTER_TRAY in the Before or After Form triggers, you will get an error for incorrect context.

•	PRINTER_INTRAY is ignored when outputting reports to a PCL printer on Motif.


SRW.SET_PRINTER_TRAY example

  Related Topics 	  All Examples

/* The example below sets the printer
** tray in a Between Pages trigger.
*/

function BetweenPages return boolean is
begin
  SRW.SET_PRINTER_TRAY('letterhead');
  return (TRUE);
end;


SRW.SET_SPACING

  Related Topics	  Set Attributes Procedures 	  All Built-ins

Description  This procedure specifies the global text leading for a CHAR, DATE, or NUMBER field, or boilerplate text.  This attribute is ignored in character mode.

Syntax

SRW.SET_SPACING(spacing);

Parameters

spacing	Is one of the following:   SRW.SINGLE_SPACING SRW.DOUBLE_SPACING SRW.ONEHLF_SPACING


SRW.SET_TEXT_COLOR

   Set Attributes Procedures	  All Built-ins

Description  This procedure specifies the global text color of the CHAR, DATE, or NUMBER field.  This attribute is ignored in character mode.

Syntax

SRW.SET_TEXT_COLOR('color');

Parameters

color	Is a valid color from the color palette.
Property Palette  (Templates only) To define this attribute in templates using the Property Palette, set the Text Color property.

User Interface  To set the text color in the user interface, refer to Changing colors.


SRW.INTEGER_ERROR

  Examples 	  Related Topics	  All Built-ins

Description  This exception stops the report execution and raises the following error message:

REP-1417:  Invalid integer argument passed to <SRW.MESSAGE or SRW.SET_MAXROW>.

Syntax:

SRW.INTEGER_ERROR;

Usage Notes  Report Builder raises this exception when SRW.MESSAGE or SRW.SET_MAXROW is called with a non-integer as a result of an internal error.  (If an internal error is not present, PL/SQL will catch the type mismatch via the PL/SQL exception VALUE_ERROR.)


SRW.INTEGER_ERROR example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message.
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.INTEGER_ERROR then

   srw.message(4000, 'Contact the Application

      Development group regarding SRW.INTEGER_ERROR.');

   raise srw.program_abort;


SRW.MAXROW_INERR

  Examples	  Restrictions 	  Related Topics 	  All Built-ins

Description  This exception stops the report execution and raises the following error message:

REP-1424: Internal error while executing SRW.SET_MAXROW.

If it is raised, you should contact Oracle Customer Support.

Syntax

SRW.MAXROW_INERR;

Usage Notes  Report Builder raises this exception when it detects an internal error while executing the SRW.SET_MAXROW packaged procedure.


SRW.MAXROW_INERR restrictions

•	When you handle SRW.MAXROW_INERR, you should always raise SRW.PROGRAM_ABORT to end the report's execution (because the report has an internal problem).


SRW.MAXROW_INERR example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message.
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.MAXROW_INERR then

   srw.message(1000, 'Contact Oracle''s customer

                support: SRW.MAXROW_INERR');

   raise srw.program_abort;


SRW.MAXROW_UNSET

  Examples	  Related Topics 	  All Built-ins

Description  This exception temporarily stops the report execution and raises the error message below.  After the message is raised and you accept it, the report execution will continue.

REP-1423: Cannot set maximum rows of the query after it started executing.

Syntax

SRW.MAXROW_UNSET;

Usage Notes  Report Builder raises this exception when the SRW.SET_MAXROW packaged procedure is called after the query's records have already been fetched.


SRW.MAXROW_UNSET example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message.
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.MAXROW_UNSET then

   srw.message(1000, 'Data was fetched before

               SRW.SET_MAXROW was called.');


SRW.MESSAGE

  Restrictions	  Examples	  Related Topics 	  All Built-ins

Description  This procedure displays a message with the message number and text that you specify.  The message is displayed in the format below.  After the message is raised and you accept it, the report execution will continue.

MSG-msg_number:  msg_text.

Syntax

SRW.MESSAGE (msg_number NUMBER, msg_text CHAR);

Parameters

msg_number	Is a number from one to ten digits, to be displayed on the message line.  Numbers less than five digits will be padded with zeros out to five digits.  For example, if you specify 123, it will be displayed as SRW-00123.
msg_text	Is at most 190 minus the msg_number alphanumeric characters to be displayed on the message line.


SRW.MESSAGE restrictions

•	You cannot trap nor change Report Builder error messages.

•	SRW.MESSAGE does not terminate the report execution; if you want to terminate a report after raising a message, use SRW.PROGRAM_ABORT.

•	Any extra spaces in the message string will be displayed in the message; extra spaces are not removed by Report Builder.


SRW.MESSAGE examples

  Related Topics 	  All Examples

/* Suppose you have a user exit named MYEXIT to which you want to
** pass the values of the SAL column.  Suppose, also, that you want
** to raise your own error if the user exit is not found (e.g., because
** it is not linked, compiled, etc.).  To do these things, you could
** write the following PL/SQL in the Format Trigger of the F_SAL field:
*/

/* This trigger will raise your message as follows:
** MSG-1000: User exit MYEXIT failed. Call Karen Smith x3455.
*/

FUNCTION FOO RETURN BOOLEAN IS

BEGIN

    srw.reference(:SAL);

    srw.user_exit('myexit sal');

EXCEPTION

    when srw.unknown_user_exit then

    srw.message(1000, 'User exit MYEXIT failed.

 Call Karen Smith x3455.');

    raise srw.program_abort;

RETURN (TRUE);

END;


SRW.NULL_ARGUMENTS

  Examples	  Related Topics	  All Built-ins

Description  This exception stops the report execution and raises the following error message:

REP-1418: Passed null arguments to <SRW.DO_SQL or SRW.MESSAGE or SRW.RUN_REPORT or SRW.SET_MAXROW or SRW.USER_EXIT>.

Syntax

SRW.NULL_ARGUMENTS;

Usage Notes  Report Builder raises this exception when one of its packaged functions or procedures is called with a missing argument.  This exception is useful when you pass argument values to a packaged function or procedure, and you want to ensure that the values passed are not NULL (e.g., when a formula column calls SRW.USER_EXIT, and the user exit string is passed from a PL/SQL library).

The following could raise this exception:

•	SRW.DO_SQL

•	SRW.MESSAGE

•	SRW.RUN_REPORT

•	SRW.SET_MAXROW

•	SRW.USER_EXIT


SRW.NULL_ARGUMENTS example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message.
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.NULL_ARGUMENTS then

   srw.message(4000, 'Contact Application Development

      regarding SRW.NULL_ARGUMENTS.');

   raise srw.program_abort;


SRW.PROGRAM_ABORT

  Examples 	  Related Topics	  All Built-ins

Description  This exception stops the report execution and raises the following error message:

REP-1419: PL/SQL program aborted.

SRW.PROGRAM_ABORT stops report execution when you raise it.

Syntax

SRW.PROGRAM_ABORT;

Usage Notes  You must raise the exception from within your PL/SQL.


SRW.PROGRAM_ABORT examples

  Related Topics 	  All Examples

/* Suppose you want to put a border around the salary if it is greater than 0.
** Suppose, also, that if the report fetches a salary less than 0, you want to
** raise a customized error message (i.e., "FOUND A NEGATIVE SALARY. . ."),
** then terminate the report execution.  To do so, you could write the
** following format trigger for F_SAL.
*/

FUNCTION foo return boolean is

BEGIN

if :sal >= 0 then

   srw.attr.mask         := SRW.BORDERWIDTH_ATTR;

   srw.attr.borderwidth  := 1;

   srw.set_attr (0, srw.attr);

else

   srw.message(100, 'FOUND A NEGATIVE SALARY.

   CHECK THE EMP TABLE.');

   raise srw.program_abort;

end if;

RETURN (TRUE);

END;


SRW.REFERENCE

  Restrictions	  Examples 	  Related Topics	  All Built-ins

Description  This procedure causes Report Builder to add the referenced object to the PL/SQL construct's dependency list.  This causes Report Builder to determine the object's value just before firing the PL/SQL construct.  This is useful when you want to ensure that a column value passed to a user exit is the most recently computed or fetched value.

Syntax

SRW.REFERENCE (:object CHAR|DATE|NUMBER);

Parameters

object	Is the Report Builder parameter or column whose value needs to be ascertained before the construct fires.


SRW.REFERENCE restrictions

•	The colon is required before the object name.

•	SRW.REFERENCE is unnecessary when the object is already referenced in the current PL/SQL construct.


SRW.REFERENCE examples
SRW.REFERENCE example

  Related Topics 	  All Examples

/* Suppose you want to pass the temperature and pressure values
** to a user exit called SUPERHEAT.  Suppose, also, that if the
** temperature is too low, you want to raise a customized error message.
** To do so, you could write the following formula:
*/

FUNCTION EXIT RETURN BOOLEAN IS

BEGIN

  if :temp > 0 then

     srw.reference (:temp); -- unnecessary reference

     srw.reference (:pressure);

     srw.user_exit('superheat temp pressure');

  else srw.message(1000, 'Temperature is below

     normal. Is machine off?');

     raise srw.program_abort;

  end if;

RETURN(TRUE);

END;


SRW.RUN_REPORT

  Restrictions 	  Examples 	  Related Topics	  All Built-ins

Description  This procedure invokes RWRUN60 with the string that you specify.  This procedure is useful for:

•	running drill-down reports (i.e., calling a report from a button's action trigger)

•	sending parts of a report to different recipients (e.g., to send a report via e-mail to each manager with just his or her group's data)

•	sending parts of a report to different printers (e.g., to send each manager's report to his or her printer)

•	running multiple reports from a single "driver" report

SRW.RUN_REPORT executes the specified RWRUN60 command.

Syntax

SRW.RUN_REPORT (command_line CHAR);

Parameters

command_line	Is a valid RWRUN60 command.


SRW.RUN_REPORT restrictions

•	If you want parameter values that are entered on the Runtime Parameter Form to be passed in the RWRUN60 string, you must call SRW.RUN_REPORT after the before form trigger.

•	The string that is specified for or passed to this procedure must follow the syntax and case-sensitivity rules for your operating system.

•	No userid should be specified for the SRW.RUN_REPORT procedure.  The userid is inherited by the "calling" report.

•	If the parent report that invokes SRW.RUN_REPORT is run in batch, then DESTYPE can only be File, Printer, Sysout, or Mail.  Otherwise, DESTYPE can be File, Printer, or Mail.

•	If SRW.RUN_REPORT is used in the PL/SQL for a button, the Runtime Parameter Form will not appear by default when the button is selected.  If you want the Runtime Parameter Form to appear, you must specify PARAMFORM=YES in the call to SRW.RUN_REPORT.

•	If you do not specify a path, Report Builder will use its file path search order to find the report.


SRW.RUN_REPORT examples
SRW.RUN_REPORT example

  Related Topics 	  All Examples

/* Suppose you have the following two reports:

** MGR_RUN, which queries manager names, and invokes a second report named MAIL_IT

** MAIL_IT, which queries employee names for the manager that MGR_RUN passes it,
**   and sends the report output to the manager via e-mail.

** The description of MGR_RUN could be as follows:

** Query:

   SELECT ENAME, EMPNO FROM EMP WHERE JOB='MANAGER'

** Group Filter:
*/

   FUNCTION FOO RETURN BOOLEAN IS

   BEGIN

    srw.run_report('report=MAIL_IT

      desname='||:ename ||' desformat=dflt batch=yes

      mgr_no='|| TO_CHAR(:empno) );

    RETURN (TRUE);

    EXCEPTION

    when srw.run_report_failure then

      srw.message(30, 'Error mailing reports.');

      raise srw.program_abort;

   END;

/* This PL/SQL invokes MAIL_IT, specifies that MAIL_IT's output
** should be sent to the manager via Oracle Mail, and passes the
** manager number, so that the MAIL_IT report can query only the
** manager's employees.

** Note: EMPNO's values must be converted to characters
** (TO_CHAR in the PL/SQL above), because SRW.RUN_REPORT
** requires a character string.

** Layout: None is needed, because this report only fetches data,
** then passes it to a second report.

** The description of MAIL_IT could be as follows:

** Query:

   SELECT DEPTNO, ENAME, SAL FROM EMP WHERE MGR=:MGR_NO

** Layout: Master/Detail
*/

/* Suppose that you have three reports that you almost always run together.
** The reports are named SALARY, COMMISS, and TAXES.  To run these reports
** with one RWRUN60 command, you create a driver report named PAYROLL.
** The description of PAYROLL could be as follows:

** Query:

   SELECT DEPTNO FROM DEPT

** Before Report Trigger:
*/

   FUNCTION FOO RETURN BOOLEAN IS

   BEGIN

     srw.run_report('batch=yes report=SALARY

      destype=file desformat=dflt desname=salary.lis');

     srw.run_report('batch=yes report=COMMISS

      destype=file desformat=dflt desname=comiss.lis');

     srw.run_report('batch=yes report=TAXES

      destype=file desformat=dflt desname=comiss.lis');

   RETURN (TRUE);

   END;

/* Layout:  Tabular

** When you run PAYROLL from the designer or RWRUN60, the other three
** reports will all be run.  (Note that, in this case, the query and
** the layout for Payroll could be anything.  They are only used here
** in order to make it possible to run PAYROLL.)
*/


SRW.RUN_REPORT_BATCHNO

  Examples	  Related Topics 	  All Built-ins

Description  This exception stops the report execution and raises the following error message:

REP-1429:  SRW.RUN_REPORT cannot be invoked with batch=no.

Syntax

SRW.RUN_REPORT_BATCHNO;

Usage Notes  Report Builder raises this exception when the SRW.RUN_REPORT procedure is called with a command line string containing BATCH=NO.


SRW.RUN_REPORT_BATCHNO example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message (above).
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.RUN_REPORT_BATCHNO then

   srw.message(4000, 'Contact Application Dev. Services

     regarding SRW.RUN_REPORT_BATCHNO.');

   raise srw.program_abort;


SRW.RUN_REPORT_FAILURE

  Examples 	  Related Topics 	  All Built-ins

Description  If the SRW.RUN_REPORT packaged procedure fails, this exception stops the report execution and raises the following error message:

REP-1428:  Error while running SRW.RUN_REPORT.

Syntax

SRW.RUN_REPORT_FAILURE;

Usage Notes Report Builder raises this exception when the SRW.RUN_REPORT packaged procedure fails.


SRW.RUN_REPORT_FAILURE examples
SRW.RUN_REPORT_FAILURE example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised, instead of the default
** error message (above).  The following PL/SQL code raises a customized
** error message when SRW.RUN_REPORT_FAILURE is raised.
*/

EXCEPTION

   WHEN srw.run_report_failure then

      srw.message(30, 'Error mailing reports.');

      raise srw.program_abort;


SRW.SET_ATTR

  List of Attributes	  Restrictions 	  Examples	  Related Topics	  All Built-ins

New Feature:  It is now more convenient to set attributes using the Set Attributes Procedures.  SRW.SET_ATTR is still supported for compatibility, but it is highly recommended that you use the simplified procedures.

Description  SRW.SET_ATTR applies attribute settings such as font, size, or color to layout objects.  You specify formatting attributes with SRW.SET_ATTR in three steps:

1	Specify the attributes you wish to set (e.g., the border) by setting SRW.ATTR.MASK.

2	Specify a value for each of the attributes that you specified in the previous step (e.g., width of 1 character).

3	Apply the mask to the object by calling the SRW.SET_ATTR procedure.

Note:  In most cases, you can define Web links (HTML or PDF) and HTML attributes in an object's Property Palette.  If you require more complex implementation, such as conditional settings, you must use SRW.SET_ATTR:

•	To specify Web links, use the ACTION, BOOKMARK, HYPERLINK, and LINKTAG attributes.

•	To define HTML document and page headers and footers, use the BEFPAGE_ESCAPE, AFTPAGE_ESCAPE, BEFREPORT_ESCAPE, AFTREPORT_ESCAPE attributes.

•	To define HTML Parameter Form headers and footers, use the BEFFORM_ESCAPE and AFTFORM_ESCAPE.

Syntax

SRW.ATTR.MASK := SRW.attr_ATTR [+ SRW.attr_ATTR. . .];
SRW.ATTR.attr := value; [SRW.ATTR.attr := value;. . .]
SRW.SET_ATTR (object_id, SRW.ATTR);

Parameters

attr	Is the name of the attribute that  you are setting (e.g., BORDERWIDTH).
object_id	Is 0 or SRW.REPORT_ID.  When setting the value of BEFREPORT_ESCAPE, AFTREPORT_ESCAPE, BEFPAGE_ESCAPE, and AFTPAGE_ESCAPE it is SRW.REPORT_ID.  In all other cases, it is 0.
value	Is a valid value for the attribute (e.g., 1 would be a a valid value for BORDERWIDTH).


SRW.SET_ATTR restrictions

•	If you specify an attribute (e.g., SRW.FILLPATT_ATTR), you must specify a value for it.  If you do not specify a value for a specified attribute, you will get unpredictable results for that attribute.

•	If you specify a value that is not provided by the Report Builder package, it must be a string (i.e., enclosed by single quotes).  For example, a value for SRW.ATTR.FORMATMASK must be enclosed by single quotes, because you may specify any value.  A value for SRW.ATTR.HJUST must not be enclosed by single quotes, because you must specify one of the values that Report Builder provides.

•	Attributes for text can only be applied to fields via SRW.SET_ATTR.  They cannot be applied to boilerplate text.  To change the text attributes of boilerplate text, use the Format menu or the tool palette in the Layout editor.


SRW.SET_ATTR character mode example

  Related Topics 	  All Examples

/* Here's an example of using all of the formatting
** attributes valid for character-mode reports.
** Notice that there are two values applied to the
** horizontal justification attribute (HJUST).
** Note: For the printer codes &1 and &2 to be
** meaningful, the printer definition file for
** this report must define what the printer should
** do for &1 and &2.
*/

function F_SALFormatTrigger return boolean is

begin

   IF :SAL > 2000 THEN

      SRW.ATTR.MASK        := SRW.BEFCODE_ATTR     +

                              SRW.AFTCODE_ATTR     +

                              SRW.TEXT_ATTR        +

                              SRW.FILLPATT_ATTR    +

                              SRW.BORDERWIDTH_ATTR +

                              SRW.FORMATMASK_ATTR  +

                              SRW.HJUST_ATTR;

      SRW.ATTR.BEFCODE     := '&1';

      SRW.ATTR.AFTCODE     := '&2';

      SRW.ATTR.TEXT        := SRW.BOLD_TEXTA;

      SRW.ATTR.FILLPATT    := 'TRANSPARENT';

      SRW.ATTR.BORDERWIDTH := 1;

      SRW.ATTR.FORMATMASK  := 'DD-MON-YY';

      SRW.ATTR.HJUST       := SRW.CENTER_HJUST +

                              SRW.FLUSH_HJUST;

   END IF;

   SRW.SET_ATTR(0, SRW.ATTR);

   RETURN(TRUE);

end;


SRW.SET_ATTR format mask example

  Related Topics 	  All Examples

/* If the salary is 2000, the following code
** segment sets the format mask to -99990.
*/

function F_SALFormatTrigger return boolean is

begin

   if :sal = 2000 then

      srw.attr.mask        := SRW.FORMATMASK_ATTR;

      srw.attr.formatmask  := '-99990';

      srw.set_attr (0, srw.attr);

   end if;

   RETURN (TRUE);

end;


SRW.SET_ATTR set field color example

  Related Topics 	  All Examples

/* If the salary is 2000, this function sets the
** following attributes:  border width to 1, foreground
** border color to "red," background border color
** to "blue," border pattern to "checker," foreground
** fill color to "yellow," background fill color to
** "green," and the fill pattern to "crisscross."
**
** Note:  When you run the report with this PL/SQL
** construct in character mode, only the border width
** (of 1) and fill pattern (of solid) will be set;
** all other settings will be ignored.  When you run
** the report with this PL/SQL construct in bitmap,
** all of the attributes will be set.  (Be aware that
** the border background color cannot be set on some
** GUIs.)
*/

function F_SALFormatTrigger return boolean is

begin

   if :sal = 2000 then

      srw.attr.mask     := SRW.BORDERWIDTH_ATTR +

                           SRW.FBCOLOR_ATTR     +

                           SRW.BBCOLOR_ATTR     +

                           SRW.BORDPATT_ATTR    +

                           SRW.FFCOLOR_ATTR     +

                           SRW.BFCOLOR_ATTR     +

                           SRW.FILLPATT_ATTR;

      srw.attr.borderwidth := 1;

      srw.attr.fbcolor     := 'red';

      srw.attr.bbcolor     := 'blue';

      srw.attr.bordpatt    := 'checker';

      srw.attr.ffcolor     := 'yellow';

      srw.attr.bfcolor     := 'green';

      srw.attr.fillpatt    := 'crisscross';

   srw.set_attr (0, srw.attr);

   end if;

   RETURN(TRUE);

end;


SRW.SET_ATTR set field text attributes example

  Related Topics	  All Examples

/* If the salary is 2000, this function
** sets the following text attributes: text
** to bold, font to TIMES, size to 18 points,
** style to underline, weight to bold, text color
** to "blue," and the justification to center.
**
** Note:  When you run the report with this PL/SQL
** construct in character mode, only the text will
** be set to bold (SRW.TEXT_ ATTR); all other
** attributes will be ignored.  When you run the
** report with this PL/SQL construct in bitmap,
** all of the attributes--except SRW.TEXT_ATTR—will
** be set.
*/

function F_SALFormatTrigger return boolean is

begin

   if :sal = 2000 then

   srw.attr.mask        := SRW.TEXT_ATTR       +

                           SRW.FACE_ATTR       +

                           SRW.SZ_ATTR         +

                           SRW.WEIGHT_ATTR     +

                           SRW.STYLE_ATTR      +

                           SRW.GCOLOR_ATTR     +

                           SRW.HJUST_ATTR;

      srw.attr.text     := SRW.BOLD_TEXTA;

      srw.attr.face     := 'times';

      srw.attr.sz       := 18;

      srw.attr.weight   := SRW.BOLD_WEIGHT;

      srw.attr.style    := SRW.UNDERLINE_STYLE;

      srw.attr.gcolor   := 'blue';

      srw.attr.hjust    := SRW.CENTER_HJUST;

   srw.set_attr (0, srw.attr);

   end if;

   RETURN (TRUE);

end;


SRW.SET_ATTR vertical spacing example

  Related Topics 	  All Examples

/* If the salary is 2000, this function sets
** the vertical spacing between lines to a custom
** size of 200 VGS units. (One inch is equivalent
** to 8192 VGS units.)
*/

function F_SALFormatTrigger return boolean is

begin

   if :sal = 2000 then

      srw.attr.mask        := SRW.GSPACING_ATTR;

      srw.attr.gspacing    := SRW.CUSTOM_SPACING;

      srw.attr.custom      := 200;

      srw.set_attr (0, srw.attr);

   end if;

   RETURN (TRUE);

end;


SRW.SET_ATTR example (switching printer trays)

  Related Topics 	  All Examples

/* The example below sets the printer tray in a Between Pages trigger.
*/

function BetweenPages return boolean is
begin
   srw.attr.mask             := SRW.PRINTER_INTRAY_ATTR;
   srw.attr.printer_intray   := 'letterhead';
   srw.set_attr(SRW.REPORT_ID, srw.attr);
return (TRUE);
end;


SRW.TRACE_ADD_OPTION

  Related Topics 	  All Built-ins

Description  SRW.TRACE_ADD_OPTION enables you to specify a new trace option after you have begun logging trace information with SRW.TRACE_START.

The following example specifies three tracing options for the mask and then invoking the mask in a call to SRW.TRACE_ADD_OPTION:

SRW.TRACEOPTS.MASK := SRW.TRACE_ERR +
                      SRW.TRACE_BRK +
                      SRW.TRACE_PRF;
SRW.TRACE_ADD_OPTION(SRW.TRACEOPTS);

Syntax

SRW.TRACE_ADD_OPTION (SRW.TRACEOPTS);

Parameters

SRW.TRACEOPTS	Applies the trace options mask previously defined by SRW.TRACEOPTS.MASK.  Note that SRW.TRACE_APPEND and SRW.TRACE_REPLACE are not trace options and are not available for use with SRW.TRACE_ADD_OPTION.


SRW.TRACE_END

  Related Topics 	  All Built-ins

Description  SRW.TRACE_END ends the logging of trace information to a file during report execution.  To start the logging, use SRW.TRACE_START.

Syntax:

SRW.TRACE_END ();


SRW.TRACE_REM_OPTION

  Related Topics 	  All Built-ins

Description  SRW.TRACE_REM_OPTION removes trace options.

The following example specifies three tracing options for the mask and then invoking the mask in a call to SRW.TRACE_REM_OPTION:

SRW.TRACEOPTS.MASK := SRW.TRACE_ERR +
                      SRW.TRACE_BRK +
                      SRW.TRACE_PRF;
SRW.TRACE_REM_OPTION(SRW.TRACEOPTS);

Syntax

SRW.TRACE_REM_OPTION (SRW.TRACEOPTS);

Parameters

SRW.TRACEOPTS	Removes the trace options in the mask previously defined by SRW.TRACEOPTS.MASK.  Note that SRWTRACE_APPEND and SRWTRACE_REPLACE are not trace options and are not available for use with SRW.TRACE_REM_OPTION.


SRW.TRACE_START

  Restrictions	  Related Topics 	  All Built-ins

Description  SRW.TRACE_START enables you to start logging tracing information to a file during report execution.  To stop the logging, use SRW.TRACE_END.  You can also specify what information you want included in the log file.  This information can be useful in debugging a report or finding performance bottlenecks.  You specify which tracing options should be applied by defining a mask.  To set tracing options in PL/SQL, you do the following:

1	Specify the options you want turned on.

2	Apply the options to the object by using SRW.TRACEOPTS when you call the SRW.TRACE_START procedure.

The following example specifies three tracing options and then invoking them in a call to SRW.TRACE_START.

SRW.TRACEOPTS.MASK := SRW.TRACE_ERR +
                 SRW.TRACE_BRK +
                 SRW.TRACE_PRF;
SRW.TRACE_START(test.dat, SRW.TRACE_APPEND, SRW.TRACEOPTS);

Syntax

SRW.TRACEOPTS.MASK := SRW.TRACE_opts [+ SRW.TRACE_opts . . .];

SRW.TRACE_START (filename,{SRW.TRACE_REPLACE|SRW.TRACE_APPEND}, SRW.TRACEOPTS);

Parameters

filename	Is the name of the file in which Report Builder stores logging information.
SRW.TRACE_ APPEND	Adds the new information to the end of the file.
SRW.TRACE_ REPLACE	Adds the new information to the end of the file.
SRW.TRACE OPTS	Applies the trace options mask previously defined by SRW.TRACEOPTS.MASK.
Opts	Is a valid tracing option.


SRW.TRACEOPTS.MASK

  Related Topics 	  All Built-ins

The options that you can apply to a trace mask are:

Mask Option	Description
SRW.TRACE_ALL	Includes all possible trace information in the log file.
SRW.TRACE_APP	Includes trace information on all the report objects in the log file.
SRW.TRACE_BRK	Lists breakpoints in the log file.
SRW.TRACE_DST	Lists distribution lists in the log file.  You can use this information to determine which section was sent to which destination.
SRW.TRACE_ERR	Includes error messages and warnings in the log file.
SRW.TRACE_PLS	Includes trace information on all the PL/SQL objects in the log file.
SRW.TRACE_PRF	Includes performance statistics in the log file.
SRW.TRACE_SQL	Includes trace information on all the SQL in the log file.


SRW.TRACE_START restrictions

•	Logging information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.

•	Only one log session is allowed at one time.  SRW.TRACE_START automatically ends any other log sessions.


SRW.TRUNCATED_VALUE

  Examples 	  Related Topics	  All Built-ins

Description  This exception will stop the report execution and raise one of two error messages.  If the error resulted from a PL/SQL assignment, this message will be displayed:

REP-1435:  Value of column <parameter/column name> was truncated.

If the error resulted from a user exit IAF PUT, this message will be displayed:

REP-1416:  User exit <name> IAF PUT: value of column <parameter/column name> was truncated.

If the SRW.TRUNCATED_VALUE exception is handled, the value will be truncated and remain assigned to the parameter or column.

Syntax

SRW.TRUNCATED_VALUE;

Usage Notes This exception is raised when a user exit or PL/SQL construct attempts to assign a value to a parameter or column which is larger than the object's maximum width.


SRW.TRUNCATED_VALUE example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised, instead of the
** default error message (above).  You could handle this exception
** in the following way:
*/

EXCEPTION

when SRW.TRUNCATED_VALUE then

   srw.message(2000, 'Contact Dan Brown:

       SRW.TRUNCATED_VALUE.');


SRW.UNKNOWN_QUERY

  Examples	  Related Topics 	  All Built-ins

Description  This exception will stop the report execution and raise the following error message:

REP-1427:  Nonexistent query name referenced in SRW.SET_MAXROW.

Syntax

SRW.UNKNOWN_QUERY;

Usage Notes  This exception is raised when the SRW.SET_MAXROW packaged procedure is called with an unknown query.


SRW.UNKNOWN_QUERY example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised,
** instead of the default error message (above).
** You could handle this exception in the following way:
*/

EXCEPTION

when SRW.UNKNOWN_QUERY then

   srw.message(4000, 'Contact Per Jensen:

       SRW.UNKNOWN_QUERY.');

   raise srw.program_abort;


SRW.UNKNOWN_USER_EXIT

  Examples 	  Related Topics	  All Built-ins

Description  If your user exit is unknown (e.g., because it is not linked), this exception stops the report execution and raises the following error message:

REP-1415: Unknown user exit.

Syntax

SRW.UNKNOWN_USER_EXIT;

Usage Notes  This exception is raised when the user exit specified for the SRW.USER_EXIT or SRW.USER_EXIT20 packaged procedure cannot be located (e.g., because the user exit was not linked).


SRW.UNKNOWN_USER_EXIT example

  Related Topics 	  All Examples

Suppose you want your own error message raised, instead of the default error message (above).  The following PL/SQL will raise a customized error message for SRW.UNKNOWN_USER_EXIT.

EXCEPTION

   WHEN srw.unknown_user_exit then

        srw.message(200, 'PASS USER EXIT WAS UNKNOWN.

                    CHECK IF IT''S LINKED.');


SRW.USER_EXIT

  Restrictions	  Examples	  Related Topics	  All Built-ins

Description  This procedure calls the user exit named in user_exit_string.  It is useful when you want to pass control to a 3GL program during a report's execution.

Syntax

SRW.USER_EXIT (user_exit_string CHAR);

Parameters

user_exit_string	Is the name of the user exit you want to call and any columns or parameters that you want to pass to the user exit program.


SRW.USER_EXIT restrictions

•	User exits are not portable.  If your report must be portable, and you need to add conditional logic to it, use PL/SQL.

•	If the user exit string passes a column or parameter to the user exit program, SRW.REFERENCE must be called before this procedure.


SRW.USER_EXIT example

  Related Topics 	  All Examples

/* Suppose you have a user exit named STORE to which you want
** to pass salary values from Report Builder.  To do so, you
** could write the following formula.  For more information on
** how to call user exits, see Calling a user exit.
*/

FUNCTION FOO RETURN BOOLEAN IS

BEGIN

IF :SAL >= 0 THEN

   SRW.REFERENCE(:SAL);

   SRW.USER_EXIT('STORE SAL');

ELSE

   SRW.MESSAGE(100, 'FOUND A NEGATIVE SALARY. CHECK THE

 EMP TABLE.');

END IF;

EXCEPTION

    WHEN SRW.UNKNOWN_USER_EXIT THEN

         SRW.MESSAGE(200, 'STORE USER EXIT WAS UNKNOWN.

                     CHECK IF IT''S LINKED.');

    WHEN SRW.USER_EXIT_FAILURE THEN

         SRW.MESSAGE(200, 'STORE USER EXIT FAILED.

                     CHECK ITS CODE.');

RETURN(TRUE);

END;


SRW.USER_EXIT20

  Related Topics	  All Built-ins

Description  This procedure is the same as SRW.USER_EXIT, except that it calls the user exit with five arguments instead of just two.  This enables you to share user exits with other Oracle products, such as Oracle Forms, which pass five arguments instead of two.

SRW.USER_EXIT passes the following when calling a user exit:

•	the character string that you specify

•	a pointer to the length of the character string

SRW.USER_EXIT20 passes the following when calling a user exit:

•	the character string that you specify

•	a pointer to the length of the character string

•	an error string (This argument is not used by Report Builder and will always pass a value of ' '.)

•	a pointer to the length of the error string (This argument is not used by Report Builder and will always pass a value of 0.)

•	an in query argument (This argument is not used by Report Builder and will always pass a value of 0.)

Syntax

SRW.USER_EXIT20 (user_exit_string CHAR);

Parameters

user_exit_string	Is the name of the user exit you want to call and any columns or parameters that you want to pass to the user exit program.


SRW.USER_EXIT_FAILURE

  Examples	  Related Topics 	  All Built-ins

Description  This exception is raised when the user exit you called has failed.  When called, it stops the report execution and raises the following error message:

REP-1416: User exit <exit_name> failed.

Syntax

SRW.USER_EXIT_FAILURE;

Usage Notes  This exception is raised when the SRWERB buffer is non-empty.


SRW.USER_EXIT_FAILURE example

  Related Topics 	  All Examples

/* Suppose you want your own error message raised, instead of the
** default error message (above).  The following PL/SQL code will
** raise a customized error message for SRW.USER_EXIT_FAILURE.
*/

EXCEPTION

    when SRW.USER_EXIT_FAILURE then

         SRW.MESSAGE(200, 'PASS user exit failed.

                     Check its code.');


Pattern palette

The patterns in the Report Builder pattern palette are shown in the following illustrations:

 Click here.

 Click here.


Default color palette

The default color palette is the one Report Builder uses if you do not specify another one in your preferences.  The color palette file is named default.pal.  For more information about the location of this file on your system, see the Installation Guide for your operating system.

The default color palette is defined by the following rules:

•	The upper-left region of the palette contains 16 commonly used colors with the following names:

black    white        green      darkgreen

gray     darkgray     cyan       darkcyan

red      darkred      blue       darkblue

yellow   darkyellow   magenta    darkmagenta

•	The lower-left region of the palette contains eight empty cells into which you can place custom defined colors.

•	The next five columns are composed of varying shades of gray.  Each color is named 'gray<value>', according to its percentage gray value.  The values range from 4 to 96, in increments of 4.  For example, valid color names include 'gray96', 'gray92', and 'gray4'.

•	The remainder of the palette contains colors specified by varying percentages of red, green, and blue (RGB) components:

•	The percentage values for each red or green component are: 0, 25, 50, 75, 88, or 100

•	The percentage values for each blue component are: 0, 50, 75, 88, or 100.

Each color is named `r<value>g<value>b<value>', according to its RGB values (e.g., the color that is composed of 100% red, 88% blue, and 0% green is named `r100g0b88').

•	Except for the color cells described above, the palette is composed of five major regions, each containing 36 colors in a 6x6 arrangement.  These colors are defined by the following rules:

•	The red value increases as the colors progress from left to right within each major region.

•	The green value increases as the colors progress from top to bottom within each major region.

•	The blue value increases as the major regions progress from left to right, with all of the colors in a single region using the same blue value.


Grayscale color palette

The grayscale color palette is composed entirely of varying shades of gray.  It is defined by the following rules:

•	The first two colors are named `black' and `white'.

•	The remainder of the palette contains colors specified by varying percentages of gray.  Each color is named `gray<value>', according to its gray value.  These colors are defined by the following rules:

•	The gray value of the first gray color (to the right of `white') is 100%, and is named `gray100'.

•	As the colors progress from left to right across the palette (and wrapping from the rightmost cell in one row to the leftmost cell in the next), the gray value for each color is .5 less than the one before it.

•	After `gray12.5', the gray value for each color is .25 less than the one before it.

•	The gray values continue to decrease to the last color in the palette, named `gray0'.


Oracle CDE1 color palette

The Oracle CDE1 color palette was the default color palette in Release 2.0.  It is defined by the following rules:

•	The first two columns in the palette contain:

•	commonly used colors, named `blue', `magenta', `red', `cyan', `green', and `yellow'

•	shades of gray, named `black', `gray60', `gray45', `gray30', `gray15', and `white'

•	The remainder of the palette contains colors specified by varying percentages of red, green, and blue (RGB) components.  The percentage value for each component is:  0, 40, 55, 70, 85, or 100.

Each color is named `r<value>g<value>b<value>', according to its RGB values (e.g., the color that is composed of 100% red, 40% blue, and 0% green is named `r100b40g0').

Except for the first two columns, the palette is composed of six major regions, each containing 36 colors in a 6x6 arrangement.  These colors are defined by the following rules:

•	The red value increases as the colors progress from left to right within each major region.

•	The green value increases as the colors progress from top to bottom within each major region.

•	The blue value increases as the major regions progress from left to right, with all of the colors in a single region using the same blue value.


Query Builder messages

  Related Topics

Click a message range, then page using the browse buttons to find the message you are looking for.

BRW-15000 through BRW-15092

BRW-15093 through BRW-15146

BRW-15147 through BRW-15196

BRW-15197 through BRW-15390

BRW-15391 through BRW-15424

BRW-15430 through BRW-15520

BRW-15521 through BRW-15569

BRW-15570 through BRW-15912

BRW-15913 through BRW-16551

BRW-16552 through BRW-16660


BRW-15000: Internal error in Oracle Query Builder error handler

Cause:	Error handler couldn't be started.

Action:	Contact Oracle Customer Support.


BRW-15001: <message number>

Cause:	The message file could not be found or is incompatible with this version of Query Builder.

Action:	Check the Query Builder directory in Oracle Home for the proper message file.


BRW-15002: Out of memory!

Cause:	Out of memory.

Action:	Save documents and restart Oracle Query Builder.


BRW-15003: Invalid file name: <name>

Cause:	User entered an invalid file name (for example, too many characters).

Action:	Enter a new, valid file name.


BRW-15004: Internal error (<value1>:<value2>)

Cause:	Internal Error Occurred--Oracle Query Builder is in an unreliable state.

Action:	Contact Oracle Customer Support.


BRW-15005: No file name specified

Cause:	User did not enter a filename in the Export Data dialog box.

Action:	Enter a filename.


BRW-15006: Unable to DESCRIBE data table

Cause:	Internal message.

Action:	Contact Oracle Customer Support.


BRW-15007: SQL statement is too complex to display

Cause:	Exceeded the edit buffer size on MSWINDOWS.

Action:	Exclude some columns from the query to reduce the SQL statement size.


BRW-15009: Insufficient privileges to log in through Oracle Query Builder

Cause:	Connect privileges are disabled in the SYSTEM.BROWSER_PROFILE table.

Action:	Contact your DBA.


BRW-15065: Syntax error

Cause:	User typed a formula incorrectly.

Action:	Re-type the expression.


BRW-15066: Expression is too complex

Cause:	Expression is too complex.

Action:	Simplify the expression.


BRW-15068: Invalid function: <name>

Cause:	User entered an invalid function name.

Action:	Specify a valid function.


BRW-15069: Invalid column: <name>

Cause:	User entered an invalid column name.

Action:	Enter a valid column name.


BRW-15070: Invalid table: <name>

Cause:	User entered an invalid table name.

Action:	Enter a valid table name.


BRW-15071: Invalid owner: <name>

Cause:	User entered an invalid user or business area name.

Action:	Enter a valid user or business area name.


BRW-15072: Invalid condition

Cause:	User entered an invalid condition.

Action:	Delete the condition and enter a valid condition.


BRW-15073: Invalid expression

Cause:	User entered an invalid expression (usually blank).

Action:	Enter a valid expression.


BRW-15074: Invalid use of reserved word <name>

Cause:	User used a reserved word as an identifier.

Action:	Identifiers cannot be reserved words. Refer to the help or documentation for details.


BRW-15075: Invalid number of arguments to function <name>

Cause:	User entered too few or too many arguments for the given function.

Action:	Enter the appropriate arguments. Refer to the help or documentation for details.


BRW-15077: Ambiguous name: <name>

Cause:	User entered an ambiguous column name.

Action:	Enter a specific column name. You may have to include qualifiers.


BRW-15078: Redefinition of name: <name>

Cause:	User redefined a column or data table using a name that already exists.

Action:	Define the column or table using a new name.


BRW-15079: No columns selected in query

Cause:	Query was either built or entered with no displayed columns.

Action:	Select columns before re-executing the query.


BRW-15080: No tables specified in query

Cause:	User entered a query without specifying any tables.

Action:	Select tables before re-executing the query.


BRW-15081: START WITH requires CONNECT BY

Cause:	SQL statement contained a START WITH clause without a CONNECT BY clause.

Action:	Specify a CONNECT BY clause if you intend to use START WITH.


BRW-15082: PRIOR requires CONNECT BY

Cause:	SQL statement contained a PRIOR clause without a CONNECT BY clause.

Action:	Specify a CONNECT BY clause if you intend to use PRIOR.


BRW-15083: Bad argument type to function <name>

Cause:	User entered the wrong argument type for the function.

Action:	Enter the correct argument type.


BRW-15084: Unterminated comment
BRW-15084: Unerminated comment

Cause:	Buffer being read in has an unerminated C-type comment in it.

Action:	Edit the file (see that it terminates correctly) and reopen from Query Builder.


BRW-15085: Circular reference detected in defined column

Cause:	Modification of a defined column has led to a circular reference.

Action:	Redefine the column so that it doesn't refer to itself in its own definition.


BRW-15086: Arguments to a correlated subquery function must be columns

Cause:	A complex argument was given, such as avg (sal, deptno*2).

Action:	Specify only valid columns, not expressions, in the subquery.


BRW-15087: Invalid location: <name>

Cause:	User entered an invalid database location for a table.

Action:	Enter a valid database location.


BRW-15088: Ambiguous table: <name>

Cause:	User entered an ambiguous data table name (more than one table uses this name).

Action:	User must further qualify the data table. Refer to the help or documentation for details.


BRW-15089: Only one PRIOR operator allowed on an expression

Cause:	User typed 2 or more PRIOR clauses in an expression.

Action:	Remove one of the PRIOR clauses.


BRW-15090: The name <name> is already in use

Cause:	User entered a name that was already being used.

Action:	Enter a new name.


BRW-15091: Invalid name: <name>

Cause:	User entered an invalid name (with spaces or unprintable chars).

Action:	Enter a new name.


BRW-15092: Bad usage of outer relationship

Cause:	User specified an outer relationship on a non-column element.

Action:	Outer relationships are only valid for columns.


BRW-15093: Invalid number of elements in corresponding record

Cause:	User entered two records with different numbers of elements.

Action:	Re-enter the condition.


BRW-15094: Group function is nested too deeply

Cause:	User entered a double(triple) aggregate condition(expression).

Action:	Simplify aggregate condition/expression.


BRW-15096: Table name conflicts with <name1>, renamed to <name2>

Cause:	When opening a query, a table alias name conflicts with a new column.

Action:	User can rename the alias.


BRW-15097: Name conflicts with <name1>, renamed to <name2>

Cause:	When loading a saved query, an alias name conflicts with a new column.

Action:	Rename the alias.


BRW-15098: Duplicate table <name> in FROM clause

Cause:	Data table appears more than once in FROM clause (without an alias).

Action:	Remove the duplicate data tables in the FROM clause.


BRW-15099: Subquery returns incorrect number of values

Cause:	Subquery returns either too many or too few values.

Action:	Re-enter the condition.


BRW-15100: Correlated expressions are not allowed here

Cause:	User entered a correlated expression outside a condition.

Action:	Re-enter the condition/expression.


BRW-15101: Table alias cannot be reused in the same FROM clause: <name>

Cause:	User tried to use an alias in the same FROM clause it was defined in.

Action:	Remove the reference to the alias.


BRW-15102: Too many elements in record

Cause:	User entered a record with more than 254 elements.

Action:	Reduce the number of elements--split the condition into an OR.


BRW-15103: Unnamed SELECT statement in FROM clause

Cause:	SQL contained a query in the FROM clause without name.

Action:	Add the query name and reparse.


BRW-15110: Invalid number or precision exceeded: <column name>

Cause:	Non-numeric input or the number exceeded this column's precision.

Action:	Re-enter a valid number and precision.


BRW-15111: Invalid date: <value>

Cause:	Couldn't format using the columns format mask or either default mask.

Action:	Re-enter a valid format mask.


BRW-15112: Entry exceeds the size limit for this column: <##>

Cause:	User entered a string longer than the limit for this column.

Action:	Enter a shorter string.


BRW-15113: Not all parameters have been specified

Cause:	User attempted to execute a query without defining all parameters

Action:	Specify parameters or exclude parameterized expressions and retry.


BRW-15114: Parameters can only be constant expressions

Cause:	User attempted to enter a parameter value that depended on a column value.

Action:	Specify a valid parameter, one that does not depend on the value in a column.


BRW-151BRW-15: Bad usage of parameter <name>
BRW-15115: Bad usage of parameter <name>

Cause:	User entered a parameter name for a column or table.

Action:	Specify a valid parameter.


BRW-15116: Invalid parameter name <name>

Cause:	User entered an invalid parameter name.

Action:	Specify a valid parameter name.


BRW-15117: Invalid parameter <name>

Cause:	User entered an invalid parameter.

Action:	Specify valid parameter.


BRW-15128: Parser internal error: <value>

Cause:	Internal error in the parser/scanner.

Action:	Contact Oracle Customer Support.


BRW-15129: Defined column <name> cannot be used in correlated subquery function

Cause:	Use of derived columns (DQ4) in correlated subquery.

Action:	Remove that argument from the correlated subquery.


BRW-15130: Query execution failed

Cause:	Database access error.

Action:	Check database error and rerun query.


BRW-15131: Invalid relational operator

Cause:	User applied an invalid operator to a condition.

Action:	Enter a valid operator.


BRW-15132: FROM clause was not found where expected

Cause:	Encountered no FROM clause or GROUP/HAVING clause before a FROM clause.

Action:	Edit SQL statement.


BRW-15133: FROM clause was found without corresponding SELECT clause

Cause:	Encountered FROM clause before SELECT clause.

Action:	Edit SQL statement.


BRW-15135: Condition cannot be changed

Cause:	User attempted to change the top condition in Schema Editor.

Action:	Perform the operation on the children conditions.


BRW-15136: SQL contains set operators

Cause:	Set operations are not supported.

Action:	Run the query in SQLPlus.


BRW-15137: Unable to generate names for complex expressions

Cause:	Encountered expressions without names when opening a SQL file.

Action:	Define Names for columns in the .sql file.


BRW-15138: CONNECT BY clause existed, and was ignored

Cause:	Connect By is not supported at this (top) level.

Action:	Run the query in SQLPlus, if results of CONNECT BY were desired.


BRW-15139: Cannot ungroup condition

Cause:	Attempt to ungroup top condition.

Action:	This operation is not supported.


BRW-15141: Query table cannot contain parameters

Cause:	Encountered one or more parameters when creating a view.

Action:	Exclude parameters from query or ignore.


BRW-15142: Two or more columns have the same name: <name>

Cause:	Encountered duplicate column names when creating view.

Action:	Use the Define command to rename duplicate columns.


BRW-15143: <name> is already a display column

Cause:	User tried to specify a duplicate display column.

Action:	If duplicate column is desired, define a new name for it and re-display it.


BRW-15144: <name> is already a sort column

Cause:	User tried to specify a duplicate sort column.

Action:	If duplicate column is desired, define a new name for it and re-sort.


BRW-15145: <name> is already a group column

Cause:	User tried to specify a duplicate group column.

Action:	If duplicate column is desired, define a new name for it and re-group.


BRW-15146: Internal error in opening query

Cause:	Internal error in opening query.

Action:	Contact Oracle Customer Support.


BRW-15147: Internal error in saving query

Cause:	Internal error in saving query.

Action:	Contact Oracle Customer Support.


BRW-15148: Relationship must be between compatible data types/size

Cause:	User tried to relate two columns with incompatible data types.

Action:	Relate only compatible datatypes. Refer to the help or documentation for details.


BRW-15150: Cannot define a self-relationship

Cause:	User tried to define a relationship within a data table.

Action:	Alias the data table and then define the relationship.


BRW-15151: User-defined relationship already exists

Cause:	User tried to define a relationship that already exists.

Action:	No action required.


BRW-15152: Illegal column in defined relationship

Cause:	User specified an illegal expression when defining a relationship.

Action:	Retype in a new column.


BRW-15153: Table alias name cannot end with _A<number>

Cause:	Illegal alias name.

Action:	Input a new name that does not end with _A<number>.


BRW-15154: Cannot remove database relationship

Cause:	User tried to remove data dictionary relationship.

Action:	Only user-defined relationships can be deleted.


BRW-15155: The following documents may have been affected:<name>

Cause:	A saved query was being used as a data table in other query documents.

Action:	If you change or delete this query, you will affect these other queries.


BRW-15156: Cannot include table with the same name as the query

Cause:	User attempted to include data table D in query document D.

Action:	Rename the query before including this table.


BRW-15157: Cannot sort, group, or break on LONG columns

Cause:	Trying to sort, group or break on LONG column type.

Action:	Cancel the operation. Oracle does not support this.


BRW-15158: Cannot sort, group, or break on RAW columns

Cause:	Trying to sort, group or break on RAW column type.

Action:	Cancel the operation. Oracle does not support this.


BRW-15159: Cannot display LONG columns from remote databases

Cause:	Trying to include LONG column type from remote database data table.

Action:	Cancel the operation. Oracle does not support this.


BRW-15160: Maximum number <##> of columns exceeded

Cause:	User exceeded maximum number of display/group/sort columns supported.

Action:	Delete some unwanted columns, then re-include what you need.


BRW-15161: Error in opening <column name> display column(s)

Cause:	Unable to open DISPLAY column because database has changed since save.

Action:	This column may have changed or no longer exists in the database.


BRW-15162: Error in opening <column name> sort column(s)

Cause:	Unable to open SORT column because database has changed since save.

Action:	This column may have changed or no longer exist in the database.


BRW-15163: Error in opening <column name> group column(s)

Cause:	Unable to open GROUP column because database has changed since save.

Action:	This column may have changed or no longer exist in the database.


BRW-15164: Error in opening <column name> break column(s)

Cause:	Unable to open BREAK column because database has changed since save.

Action:	This column may have changed or no longer exist in the database.


BRW-15165: Maximum number <##> of break columns exceeded

Cause:	User exceeded the maximum number of break columns supported.

Action:	Delete some unwanted break columns, then re-include what you need.


BRW-15166: Error in opening <value> condition(s)

Cause:	Unable to open conditions because database has changed since save.

Action:	Tables or columns used in this condition may no longer exist in the database.


BRW-15167: Alias must be <##> bytes or less: <name>

Cause:	Alias name too long.

Action:	Try typing in an alias less than or equal to 30 bytes long.


BRW-15168: Cannot group on aggregate expression

Cause:	Tried to group on an aggregate expression.

Action:	Group on another expression.


BRW-15169: <name> has already been included as a break column

Cause:	User tried to specify a duplicate break column.

Action:	If duplicate column is desired, define a new name for it and re-break.


BRW-15170: Invalid Constraint for table <name>

Cause:	User entered an invalid constraint for the selected table.

Action:	Reenter constraint.


BRW-15171: Invalid Constraint for table column <name>

Cause:	User entered an invalid constraint for the selected column.

Action:	Reenter constraint.


BRW-15172: Subqueries are not allowed in Constraints

Cause:	User entered an invalid constraint.

Action:	Reenter constraint.


BRW-15173: Aggregate conditions are not allowed in Constraints

Cause:	User entered an invalid constraint.

Action:	Reenter constraint.


BRW-15174: Constraints can only be on one table

Cause:	User entered an invalid constraint.

Action:	Reenter constraint.


BRW-15175: Table not loaded because all columns are hidden

Cause:	All columns are hidden. At least one column needs to be displayed.

Action:	Use the Query Builder Administrator Utility to display hidden columns.


BRW-15188: Query returns 1 row

Cause:	Status message for 1-row Query Count.

Action:	No action required.


BRW-15189: Query returns <##> rows

Cause:	Status message for n-row Query Count.

Action:	No action required.


BRW-15190: Unable to count without executing; Query returns <= <##> row(s)

Cause:	Status message for n-row Query Count Distinct.

Action:	No action required.


BRW-15192: Illegal format <name1> for column '<name2>'

Cause:	User typed an unrecognizable format for a display column.

Action:	Try another format.


BRW-15193: Illegal format

Cause:	User typed an unrecognizable format for a display column

Action:	Try another format.


BRW-15195: Incompatible column type in relationship: <name>

Cause:	Trying to create illegal relationship.

Action:	Column types are incompatible. Refer to the help or documentation for details.


BRW-15196: Error in opening <name> table(s)

Cause:	Unable to open data tables because database was modified or object doesn't exist.

Action:	Check your connect string (or contact your DBA).


BRW-15197: Error in restoring position for <name> column(s)

Cause:	Unable to reposition column because database was modified or object doesn't exist.

Action:	Check your connect string (or contact your DBA).


BRW-15198: Error in restoring join: <value>

Cause:	Unable to restore link during open because database was modified or object doesn't exist.

Action:	Check your connect string (or contact your DBA).


BRW-15199: Error in restoring inclusion state for join: <value>

Cause:	Unable to set the inclusion state during open because database was modified or object doesn't exist.

Action:	Check your connect string (or contact your DBA).


BRW-15200: Error in restoring outer join state for join: <value>

Cause:	Unable to set the outer join during open because database was modified or object doesn't exist.

Action:	Check your connect string (or contact your DBA).


BRW-15258: Invalid document name: <name>

Cause:	User entered an invalid document name.

Action:	Enter a valid document name.


BRW-15259: Document exceeds 64K size limit

Cause:	User attempted to save/open a document larger than 64K.

Action:	Reduce size of document.


BRW-15260: Document <name> does not exist

Cause:	User specified a nonexistent document.

Action:	Specify another document.


BRW-15261: Document <name> already exists

Cause:	User tried to save under the name of an existing document.

Action:	Specify another document name or delete the existing document.


BRW-15262: Multiple documents named <name>

Cause:	Multiple documents with same name exist.

Action:	Delete all but one.


BRW-15263: Database object <name> already exists

Cause:	User tried to save under the name of an existing object.

Action:	Specify another document name.


BRW-15264: Table <name> does not exist

Cause:	View corresponding to a saved document has been removed.

Action:	Re-save the document (it no longer exists as a query view).


BRW-15265: Table <name> has been removed or modified

Cause:	Data Table view corresponding to a saved document has been modified.

Action:	Re-save the document.


BRW-15266: File <name> does not exist

Cause:	User specified a nonexistent file.

Action:	Specify another file.


BRW-15267: File <name> already exists

Cause:	User tried to save under the name of an existing file.

Action:	Specify another file name.


BRW-15268: Unable to open file <name>

Cause:	I/O core was unable to open a file.

Action:	Specify another file.


BRW-15269: Unable to lock file <name>

Cause:	I/O core was unable to lock a file.

Action:	Specify another file.


BRW-15270: Error reading file <name>

Cause:	Operating system error or file was not of the correct format.

Action:	Specify another file.


BRW-15271: Error writing file <name>

Cause:	Operating system error or I/O core error.

Action:	Retry operation.


BRW-15272: Obsolete Oracle Query Builder document <name>

Cause:	User attempted to open an old unsupported document.

Action:	Specify another document.


BRW-15273: File <name> is not a Oracle Query Builder file

Cause:	User attempted to open a non-Query Builder file.

Action:	Specify another file to open.


BRW-15274: File <name> is not a valid SQL file

Cause:	User attempted to import an invalid SQL file.

Action:	Specify another file to import.


BRW-15275: No data to export or print

Cause:	User attempted to export or print a query (or region) with no data.

Action:	Specify another region; execute query; change query.


BRW-15277: Unable to overwrite current table <name>

Cause:	Error in trying to delete/rename old data table in save.

Action:	Fix problem with data table and re-save.


BRW-15278: Document saved, but view <name> could not be created

Cause:	The query is not a valid view. It has been saved, but not as a database view.

Action:	Redefine query as a valid view, or ignore (query will be saved, but not as a view).


BRW-15279: '<name>' is not a recognized SQL literal

Cause:	User attempted to import a non-SQLPlus file.

Action:	Specify another file to import.


BRW-15320: Internal I/O core error (<value>, line <##>)

Cause:	Internal State is invalid.

Action:	Contact Oracle Customer Support.


BRW-15321: Resource not found (<name>).

Cause:	Resource names do not match Query Builder code (or file is corrupted).

Action:	Get a correct version of the Query Builder resource file.


BRW-15322: Resource file not found.

Cause:	directory structure incorrect, or file is missing for some reason.

Action:	Locate the resource file (check NLS_LANG file name).


BRW-15323: Query already open in current application (<name>)

Cause:	User attempted to open multiple queries with the same name.

Action:	Specify another file.


BRW-15324: Unable to start up windowing system

Cause:	Incorrect/missing environment variables (e.g. DISPLAY, APIPATH).

Action:	All required environment variables must be set correctly.


BRW-15342: Unable to find snapshot information

Cause:	This database does not support snapshots (or database error).

Action:	Check that you have a snapshot dictionary table.


BRW-15387: Login failed

Cause:	Database or SQLNet error occurred.

Action:	Check the login information and try again.


BRW-15388: Unable to load database relationships

Cause:	Schema internal error in loading database relationships.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15389: Unable to load list of accessible owners

Cause:	Schema internal error in loading list of accessible owners.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15390: Unable to load list of accessible tables

Cause:	Schema internal error in loading list of data tables.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15391: Unable to load table

Cause:	Schema internal error in loading data table.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15392: Unable to load table

Cause:	Schema internal error in loading table.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15393: Unable to load synonym

Cause:	Schema internal error in loading synonym.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15394: Unable to load query

Cause:	Schema internal error in loading query.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15395: Unable to load table column information

Cause:	Schema internal error in loading column information.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15396: Unable to load synonym column information

Cause:	Schema internal error in loading synonym column information.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15397: Unable to load constraints

Cause:	Schema internal error in loading constraints.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15398: Unable to find primary key information

Cause:	Schema internal error in finding primary keys.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15399: Unable to find foreign key information

Cause:	Schema internal error in finding foreign keys.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15400: Unable to load table and column comments

Cause:	Schema internal error in getting comments.

Action:	Contact Oracle Customer Support if this is not expected.


BRW-15401: Error in loading database link <name>

Cause:	Schema internal error in loading database link.

Action:	Refer to accompanying error messages for more information.


BRW-15402: Error in loading owner <name>

Cause:	Schema internal error in loading database link.

Action:	Refer to accompanying error messages for more information.


BRW-15403: Error in loading table <name>

Cause:	Schema internal error in loading data table.

Action:	Refer to accompanying error messages for more information.


BRW-15404: Error in loading primary key constraint for <name> (<value>)

Cause:	Schema internal error in loading primary constraint.

Action:	Refer to accompanying error messages for more information.


BRW-15405: Error in loading foreign key constraint <name>

Cause:	Schema internal error in loading foreign constraint.

Action:	Refer to accompanying error messages for more information.


BRW-15406: Error in loading synonym <name>

Cause:	Schema internal error in loading primary constraint.

Action:	Refer to accompanying error messages for more information.


BRW-15407: Table referred to by synonym <name> no longer exists

Cause:	User tried to create a synonym for a nonexistent data table.

Action:	Recreate the synonym.


BRW-15408: Error in loading column information for <name>

Cause:	Oracle error or the data table has been removed.

Action:	Recreate the data table.


BRW-15409: Error in loading constraint information for <name> (<value>)

Cause:	Oracle error.

Action:	Try it again.


BRW-15410: Table that foreign key <name> (<value>) refers to is inaccessible

Cause:	The table that the foreign key refers to is inaccessible.

Action:	Grant the table to the current user.


BRW-15411: Logout failed

Cause:	Internal error in logging out.

Action:	Exit or close the document.


BRW-15412: Table of query <name> was modified. Query loaded as view.

Cause:	The view that the query depends on has been modified after the last save.

Action:	Open the query and save it again to use it as a data table.


BRW-15413: Table of query <name> was removed. Query will not be loaded.

Cause:	The view that the query depends on has been removed.

Action:	Open the query, and save it again to use it as a data table.


BRW-15414: Table <name> no longer exists

Cause:	This data table no longer exists in the database.

Action:	Contact system administrator if you need this table.


BRW-154BRW-15: Maximum number (254) of table columns exceeded

Cause:	User tried to load a data table that has more than 254 columns.

Action:	Contact system administrator.


BRW-15416: Maximum number (8192) of tables per user exceeded

Cause:	User owns too many data tables.

Action:	Contact system administrator.


BRW-15417: Maximum number (1024) of owners and databases exceeded

Cause:	User tried to load too many user, owner, and database links.

Action:	Contact system administrator.


BRW-15418: Unable to find database link information

Cause:	This database does not support database link, or database error.

Action:	Try again later if this is unexpected.


BRW-15419: Unable to find synonym information

Cause:	This database does not support synonyms, or database error.

Action:	Try again later if this is unexpected.


BRW-15420: Unable to find constraint information

Cause:	This database does not support constraints, or database error.

Action:	Try again later if this is unexpected.


BRW-15421: Unable to find table comment table

Cause:	This database does not support comments on table, or database error.

Action:	Try again later if this is unexpected.


BRW-15422: Unable to find table Column comments table

Cause:	This database does not support comments on column, or database error.

Action:	Try again later if this is unexpected.


BRW-15423: Synonym to SEQUENCE is not currently supported

Cause:	User tried to load a synonym that refers to a sequence.

Action:	This action is not supported.


BRW-15424: Maximum number of login attempts (3) exceeded

Cause:	User tried to login too many times.

Action:	Contact system administrator for correct username, password, and/or connect string.


BRW-15430: Index information not loaded

Cause:	Cannot find index table.

Action:	This is a non-Oracle database; try an ODBC driver.


BRW-15434: Maximum columns in table is <##>

Cause:	User tried to create more than the maximum number of allowed columns in a table.

Action:	Create fewer columns.


BRW-15435: DBA privilege is needed to perform this operation

Cause:	Need DBA privileges.

Action:	Ask your system administrator to grant you DBA privilege.


BRW-15447: Cannot remove Query. Use File Delete... from Query window

Cause:	User tried to remove a query.

Action:	This is not legal from the Schema Editor. Use the Query window instead.


BRW-15448: Cannot copy Query. Use File Save As... from Query window

Cause:	User tried to copy a query.

Action:	This is not legal from the Schema Editor. Use the Query window instead.


BRW-15449: Cannot copy with data from table with only LONG columns

Cause:	User tried to copy a table with a LONG column.

Action:	Database doesn't support this.


BRW-15450: Operation not allowed on removed table

Cause:	User tried to do something to a removed data table.

Action:	Undo the remove first.


BRW-15451: Operation not allowed on removed column

Cause:	User tried to do something to a removed column.

Action:	Undo the remove first.


BRW-15452: Cannot rename another owner's table

Cause:	User tried to set the name of a granted data table.

Action:	This is not allowed. Ask the owner to do it for you.


BRW-15466: Table name too long (Max <##> bytes)

Cause:	Data Table name to long.

Action:	Shorten the name and try again.


BRW-15467: Name already in use. Please choose another name.

Cause:	Name already in use.

Action:	Choose another name.


BRW-15468: Column name too long (Max <##> bytes)

Cause:	Column name too long.

Action:	Shorten the name and try again.


BRW-15493: Operation currently not supported

Cause:	Internal error.

Action:	Contact Oracle Customer Support.


BRW-15494: Error in loading SQL text of views

Cause:	Internal error.

Action:	Contact Oracle Customer Support.


BRW-15495: Error in loading SQL text for view <name>

Cause:	Internal error.

Action:	Contact Oracle Customer Support.


BRW-15496: Scale must be between <##> and <##>

Cause:	Illegal value for scale.

Action:	Input legal value for scale.


BRW-15498: Cannot modify a query

Cause:	It is not legal to modify a query.

Action:	Open the query and modify it as a Query Builder document.


BRW-15499: Cannot set column attributes of table duplicated with data

Cause:	User tried to set the column type of a table duplicated with data.

Action:	First commit the table then try again.


BRW-15501: No more application virtual memory

Cause:	No more disk space or system memory for Virtual Memory Manager.

Action:	Close a document or make some room on your disk.


BRW-15502: Can only have <##> rows per document

Cause:	Exceeded self-imposed, compile-time row maximum.

Action:	Consider adding conditions to the query.


BRW-15504: Unable to determine database character set

Cause:	There was a problem with SELECT USERENV('LANGUAGE') FROM DUAL.

Action:	Non-Oracle database--not supported.


BRW-15505: Unable to open virtual memory file

Cause:	No write permission or file system full.

Action:	Change permission on directory or delete some files.


BRW-15506: Unable to close virtual memory file

Cause:	Operating system error.

Action:	Ask system administrator for assistance.


BRW-15507: Unable to read from virtual memory file

Cause:	Virtual memory file does not exist.

Action:	Make sure the virtual memory file is opened.


BRW-15508: Unable to write to virtual memory file

Cause:	File system is full, or virtual memory file was not opened.

Action:	Delete some files. Make sure virtual memory file is opened.


BRW-15509: Unable to create virtual memory manager

Cause:	Internal error, or out of memory.

Action:	Ask system administrator for assistance.


BRW-15511: Maximum virtual memory size exceeded

Cause:	User input is too big for virtual memory size.

Action:	Try again.


BRW-15513: Null value in command '<name>'

Cause:	User entered <command>= on the command line with no option selected.

Action:	Add a value for <command>.


BRW-15514: Null command in command line

Cause:	User entered =<value> at command line but didn't specify a command.

Action:	Add the command.


BRW-155BRW-15: Unrecognized command '<name>' in command line

Cause:	User entered an illegal command at command line.

Action:	Change command.


BRW-15516: Command '<name>' specified twice in command line

Cause:	User entered a command twice at command line.

Action:	Remove one.


BRW-15517: Incompatible commands '<name1>' and '<name2>' specified

Cause:	User entered 2 incompatible commands at command line.

Action:	Remove one.


BRW-15518: Invalid option '<name1>' in command '<name2>'

Cause:	User entered an illegal option to a command at command line.

Action:	Change option.


BRW-15519: Multiple login specifications in command line

Cause:	User entered 2 login specifications at command line.

Action:	Remove one.


BRW-15520: Invalid document name '<name>' in command line

Cause:	User entered an illegal document name at command line.

Action:	Change document name.


BRW-15521: '<name>' command specified without a document

Cause:	User entered a command without specifying a document at command line.

Action:	Add missing document.


BRW-15522: '<name1>' command specified without '<name2>'

Cause:	User entered a command without another required command.

Action:	Add missing command.


BRW-15523: Mismatched parentheses in '<name>' command

Cause:	User entered mismatched parentheses in the command line.

Action:	Correct mismatched parentheses.


BRW-15530: Cannot edit a deleted row

Cause:	User tried to edit a row which is marked for deletion.

Action:	Undelete the row first.


BRW-15531: Row has been deleted from the database

Cause:	Another user deleted this row since you last ran the query.

Action:	Contact Oracle Customer Support. This should never happen.


BRW-15532: Row has been modified by another user. Requery.

Cause:	Another user updated this row since you last ran the query.

Action:	Try again.


BRW-15533: Row is currently locked by another user.

Cause:	Someone else is editing this row.

Action:	Try again later.


BRW-15539: Error in inserting <##> row(s)

Cause:	One or more rows in input file failed on insert.

Action:	Modify input file or ignore.


BRW-15540: Operation not allowed on data of this type

Cause:	User tried to edit a cell with data of an uneditable type.

Action:	Unknown.


BRW-15541: Too many edited rows. Please select Commit

Cause:	Too many pending INSERTS, UPDATES or DELETES in a document.

Action:	Select Commit or Revert.


BRW-15545: Error in reading QXF file. Parsing halted.

Cause:	Syntax error in reading QXF file.

Action:	Fix QXF file.


BRW-15546: Parse Error: Line <##>

Cause:	Incorrect syntax at that particular line.

Action:	Debug that line.


BRW-15547: Operator unspecified in relationship block.

Cause:	Operator unspecified in relationship block in QXF File.

Action:	Specify an operator field within the block.


BRW-15548: Error: Argument missing in <name> of relationship block.

Cause:	No argument in a column field in a relationship block.

Action:	Specify the column name in that field.


BRW-15549: CONDITION_TEXT missing within condition block.

Cause:	No argument in the CONDITION_TEXT field within condition block.

Action:	Specify the CONDITION_TEXT field.


BRW-15550: Illegal INCLUSION_ORDER value (<name1>) in expression '<name2>'.

Cause:	Illegal INCLUSION_ORDER value in expression.

Action:	Correct INCLUSION_ORDER value.


BRW-15551: Expression '<name>' included but INCLUSION_ORDER unspecified.

Cause:	The INCLUSION_ORDER unspecified for an included expression block.

Action:	Specify the INCLUSION_ORDER field.


BRW-15552: Expression '<name>' not included but INCLUSION_ORDER is non-null

Cause:	Expression is not included (INCLUDED = FALSE) but INCLUSION_ORDER is non-null.

Action:	Correct the values in these fields.


BRW-15553: Error: Empty TEXT string in expression '<name>'.

Cause:	The TEXT string is unspecified within a QXF expression block.

Action:	Specify the TEXT string.


BRW-15554: Error: SORT_PRIORITY unspecified for sorted expression '<name>'.

Cause:	SORT_PRIORITY unspecified for sorted expression.

Action:	Specify the SORT_PRIORITY.


BRW-15555: Illegal INCLUSION_ORDER value for field '<name1>'in table '<name2>'.

Cause:	Illegal INCLUSION_ORDER value for field.

Action:	Correct the INCLUSION_ORDER value.


BRW-15556: Field '<name1>' in table '<name2>' included but INCLUSION_ORDER is null.

Cause:	Field is included (INCLUDED = FALSE) but INCLUSION_ORDER is unspecified.

Action:	Correct the values in these fields.


BRW-15557: Field '<name1>' (table '<name2>') excluded but INCLUSION_ORDER exists.

Cause:	The field in specified data table is not included but the INCLUSION_ORDER is non-null.

Action:	Correct the values in these fields.


BRW-15558: SORT_PRIORITY unspecified for sorted field '<name1>' in table '<name2>'.

Cause:	SORT_PRIORITY unspecified for a sorted field.

Action:	Specify the SORT_PRIORITY for that field.


BRW-15559: Error: Illegal value '<name1>' for INCLUSION_ORDER in table '<name2>'.

Cause:	A negative value in inclusion order.

Action:	Correct that value.


BRW-15560: Table '<name>' included but INCLUSION_ORDER unspecified.

Cause:	Data Table included (INCLUDED = TRUE) but INCLUSION_ORDER is unspecified.

Action:	Correct the values in these fields.


BRW-15561: Table '<name>' is excluded but INCLUSION_ORDER is non-null.

Cause:	Data Table not included (INCLUDED = FALSE) but INCLUSION_ORDER is non-null.

Action:	Correct the values in these fields.


BRW-15562: Error: There should be no more than one main condition block.

Cause:	There are more than one main (root) condition blocks.

Action:	Eliminate some condition blocks, or use a conjunction.


BRW-15563: Error: QXF file version 1.0 expected.

Cause:	Illegal version number specified in VERSION field.

Action:	Modify the version.


BRW-15564: Parse Error: Line <##>: Invalid font style '<name>'.

Cause:	Invalid font style.

Action:	Check font style and correct it.


BRW-15565: Parse Error: Line <##>: Invalid font style argument.

Cause:	Invalid font style argument.

Action:	Check font style strings and correct them.


BRW-15566: Parse Error: Line <##>: Invalid aggregate function '<name>'

Cause:	Invalid aggregate function name.

Action:	Correct the function name.


BRW-15567: Parse Error: Line <##>: Invalid summarize argument.

Cause:	Invalid summarize field argument.

Action:	Correct the field argument.


BRW-15568: Parse Error: Line <##>: Invalid field argument.

Cause:	Invalid field argument.

Action:	Correct field argument.


BRW-15569: Warning: QXF file is only partially loaded because of error.

Cause:	Error in loading QXF file.

Action:	Correct those errors.


BRW-15570: Parse Error: Line <##>: Invalid operator '<name>' in relationship block.

Cause:	Invalid Operator within relationship block.

Action:	Check operator and correct it.


BRW-15571: Parse Error: Line <##>: Invalid operator field argument.

Cause:	Invalid Object ID within Derived Item Expression.

Action:	Correct Object ID in dictionary.


BRW-15572: Inconsistent object IDs in derived item expression.

Cause:	Invalid operator field argument within relationship block.

Action:	Check operator strings and correct them.


BRW-15580: Unable to load list of accessible business areas

Cause:	End User Layer is missing business area tables.

Action:	Reinstall End User Layer. Ask system administrator for assistance.


BRW-15581: Cannot add columns to table created with duplicate data

Cause:	User tried to add columns to a table created with duplicate table data.

Action:	Commit the duplicate table then try again.


BRW-15582: New or duplicate table is only allowed on existing table.

Cause:	Create new table on another new/duplicate/modified table.

Action:	Commit the new/duplicate/modified table first.


BRW-15583: Index requires at least one column

Cause:	User tried to remove the last column of an index.

Action:	Add other columns then remove.


BRW-15584: Column <name> is of type LONG and will not be copied

Cause:	Cannot copy a LONG column when creating a snapshot.

Action:	Column cannot be copied.


BRW-15600: Syntax not supported

Cause:	Attempted to parse unsupported syntax.

Action:	Use alternate Oracle 8 syntax.


 BRW-15601: Invalid Oracle 8 SQL syntax

Cause:	Cannot use Oracle 8 language syntax.

Action:	Use Oracle 7 SQL.


BRW-15602: Type Constructor in Oracle 8 SQL is not supported

Cause:	Oracle 8 SQL’s type constructors are not supported.

Action:	Revert to Oracle 7.


BRW-15603: REF in Oracle 8 SQL is not supported

Cause:	Oracle 8 SQL’s REF is not supported.

Action:	Use Oracle 7 instead.


BRW-15604: CAST in Oracle 8 SQL is not supported

Cause:	Oracle 8 SQL’s CAST is not supported.

Action:	Use Oracle 7 instead.


BRW-15605: MULTISET in Oracle 8 SQL is not supported.

Cause:	Oracle 8 SQL’s MULTISET is not supported.

Action:	Use Oracle 7 instead.


BRW-15606: METHODS in Oracle 8 SQL are not supported.

Cause:	Oracle 8 SQL’s METHODS are not supported.

Action:	Use Oracle 7 instead.


BRW-15607: THE subquery in Oracle 8 SQL is not supported

Cause:	Oracle 8 SQL’s THE subquery is not supported.

Action:	Use Oracle 7 instead.


BRW-15608: PARTITION of tables in Oracle 8 SQL is not supported

Cause:	Oracle 8 SQL’s PARTITION of tables is not supported.

Action:	Use Oracle 7 instead.


BRW-15609: The TABLE keyword in a subquery in Oracle 8 SQL is not supported

Cause:	TABLE keyword in subquery is not supported.

Action:	Use Oracle 7 instead.


BRW-15610: Rename the Table as a Table Alias

Cause:	Attempted to use a table instead of a table alias/

Action:	Rename the table with a table alias.


BRW-15641: Help system initialization failed. Help will be unavailable.

Cause:	Unable to locate help document or help resource file.

Action:	User may continue but help menu is unavailable. Use online or paper documentation.


BRW-15643: Resource file not found (<name>), trying default resource file.

Cause:	NLS_LANG set but file not found.

Action:	Try to open the resource file using the default language.


BRW-15644: Unable to locate help document (<name>), trying default help document.

Cause:	NLS_LANG set but file not found.

Action:	Try to open the help doc using the default language.


BRW-15647: Unable to locate help document

Cause:	Couldn't find help file in correct directory with correct language.

Action:	Check Query Builder directory structure. Make sure NLS_LANG is set correctly.


BRW-15648: Help system creation error

Cause:	Help system couldn't start up.

Action:	Query Builder couldn't find the help resource file, or NLS_LANG is not set, or memory is low.


BRW-15649: Input for <name> was too low. Minimum valid number is <##>.

Cause:	The value input was too low.

Action:	Try again with a higher value.


BRW-15650: Input for <name> was too high. Maximum valid number is <##>.

Cause:	The value input was too high.

Action:	Try again with a lower value.


BRW-15651: Input for <name> was out of range. Must be between <##> and <##>.

Cause:	The value input was out of the valid range.

Action:	Try again with a valid number.


BRW-15652: Value was reset to <value>.

Cause:	The value input was changed because it was out of the valid range.

Action:	Try again with a valid number or Query Builder will use the value shown.


BRW-15653: Pref file error: Value <value> was too low. Minimum valid number is <##>.

Cause:	The value input was too low.

Action:	Try again with a higher value.


BRW-15654: Pref file error: Value <value> was too high. Maximum valid number is <##>.

Cause:	The value input was too high.

Action:	Try again with a lower value.


BRW-15655: Pref file error: Value <value> out of range. Must be between <##> and <##>.

Cause:	The value input was out of the valid range.

Action:	Try again with a valid number.


BRW-15656: Pref file error: Value for <value> not recognized

Cause:	The value set in the preference file was invalid.

Action:	Try again with a valid number.


BRW-15657: Value for OWNERLIST=NAME must contain at least one name

Cause:	The value for OWNERLIST=NAME was NULL.

Action:	Try again with a valid name


BRW-15900: Unable to find time period information

Cause:	This database does not support time periods, or database error.

Action:	Try again later if this is unexpected.


BRW-15901: Table <name1> referred to by object <name2> no longer exists

Cause:	Base data source of object has been removed.

Action:	Refresh/delete object.


BRW-15902: Table referred to by object <name> no longer exists

Cause:	Base data source of object has been removed.

Action:	Refresh/delete object.


BRW-15903: Opposite table <name> is not in a business area. Join info inaccessible.

Cause:	Relationship: Opposite data table/object not in any group.

Action:	Grant that object to a group.


BRW-15904: Relationship name cannot be longer than <##> bytes

Cause:	Relationship Name longer than limit.

Action:	Use a shorter name.


BRW-15905: Column heading cannot be longer than <##> bytes

Cause:	Item Heading longer than limit.

Action:	Use a shorter heading.


BRW-15906: Column format cannot be longer than <##> bytes

Cause:	Item Format longer than limit.

Action:	Use a shorter format.


BRW-15907: Column display width cannot have more than <##> digits

Cause:	Item Display Width Precision longer than limit.

Action:	Use Shorter Display width.


BRW-15908: Time period name cannot be longer than <##> bytes

Cause:	Time Period Name too long.

Action:	Use a shorter time period name.


BRW-15909: Period column and sequence column of time period are the same

Cause:	Period and sequence columns of time period set to the same column.

Action:	make sure period and sequence columns are different.


BRW-15910: Unable to load time period <name>

Cause:	Schema internal error in loading time period.

Action:	Refer to accompanying error messages for more information.


BRW-15911: Time period <name> already exists

Cause:	Time period name must be unique.

Action:	Create time period under a different name.


BRW-15912: Illegal display width value.

Cause:	Illegal display width value.

Action:	Re-enter a legal value.


BRW-15913: <name> key text cannot be empty.

Cause:	Foreign or Primary Key text is empty.

Action:	Enter text for primary or foreign key.


BRW-15914: Relationship name cannot be empty.

Cause:	Relationship name is null.

Action:	Enter relationship name.


BRW-15924: Business area name cannot be empty

Cause:	Business area name is empty or contains only spaces.

Action:	Enter a new name.


BRW-15925: Table <name1> has already been imported as <name2>

Cause:	Table can only be imported once with a given name.

Action:	Import table under a different name.


BRW-15926: Business area <name> already exists

Cause:	Business area name must be unique.

Action:	Create business area under a different name.


BRW-15927: Business area <name1> already contains a table named <name2>

Cause:	Table name must be unique within a business area.

Action:	Rename/reimport table and add to business area.


BRW-15928: Business area name too long (Max <##> bytes)

Cause:	Business area name too long.

Action:	Shorten the name and try again.


BRW-15929: Business area description too long (Max <##> bytes)

Cause:	Business area description too long.

Action:	Shorten the description and try again.


BRW-15930: Error committing table <name>

Cause:	Error occurred while committing table.

Action:	Try again.


BRW-15931: Error committing business area <name>

Cause:	Error occurred while committing business area.

Action:	Try again.


BRW-15932: Error committing time period <name>

Cause:	Error occurred while committing time period.

Action:	Try again.


BRW-15933: Error committing relationship <name>

Cause:	Error occurred while committing relationship

Action:	Try again.


BRW-15937: Error generating SQL for table <name>

Cause:	Error occurred while generating SQL for a table.

Action:	Try again.


BRW-15938: Error generating SQL for business area <name>

Cause:	Error occurred while generating SQL for a business area.

Action:	Try again.


BRW-15939: Error generating SQL for time period <name>

Cause:	Error occurred while generating SQL for a time period.

Action:	Try again.


BRW-15940: Error generating SQL for relationship <name>

Cause:	Error occurred while generating SQL for relationship.

Action:	Try again.


BRW-15950: No Oracle Query Builder tables--Database open/save is disabled

Cause:	There is no Query Builder system query table in the database.

Action:	Create a system query table (run the Query Builder install script).


BRW-15951: Product user profile information not loaded

Cause:	Cannot load the user profile table.

Action:	Ask system administrator to create one.


BRW-15952: User privilege table not loaded

Cause:	Missing USER_USERS table (Non Oracle or Oracle V7 database).

Action:	None available.


BRW-15953: Table privilege table not loaded

Cause:	Cannot find Privilege table.

Action:	Non-Oracle database or Oracle V7 database.


BRW-15954: Oracle Query Builder 2.5 tables are missing or not installed properly

Cause:	No QUERY BUILDER_DOCS_SQL table.

Action:	Re-install Query Builder 2.5 tables.


BRW-15955: Query returned zero rows

Cause:	Query returned no rows.

Action:	Modify the query so that it requests data that exists in the database.


BRW-16000: Document saved using End User Layer, not Native dictionary. Continue?

Cause:	User tried to open in Native mode a document saved using the End User Layer.

Action:	Run Query Builder with DICTIONARY=ENDUSER or continue (End User Layer objects will be inaccessible).


BRW-16001: Document saved using Native dictionary, not End User Layer. Continue?

Cause:	User tried to open in ENDUSER mode a document saved using the Native dictionary.

Action:	Run Query Builder with DICTIONARY=NATIVE or continue (some database objects may be inaccessible).


BRW-16250: Document already exists. Do you want to overwrite?

Cause:	User tried to Save As over an existing document.

Action:	User may overwrite or cancel.


BRW-16251: Table has been modified. Continue?

Cause:	View was removed and recreated; may be inconsistent with document.

Action:	Either continue or abort save.


BRW-16500: Memory not available for local sort. Re-execute?

Cause:	All rows not yet fetched for local sort.

Action:	Re-execute query now or later.


BRW-16503: Data not available for local sort. Re-execute?

Cause:	All rows not yet fetched for local sort.

Action:	Re-execute query now or later.


BRW-16504: Data not available for local break. Re-execute?

Cause:	All rows not yet fetched for local break.

Action:	Re-execute query now or later.


BRW-16525: Query may require a Cartesian product. Continue?

Cause:	Query combines results of unrelated tables.

Action:	Ignore message or relate tables before executing. Refer to help or documentation for details.


BRW-16531: Redefine parameter <name>?

Cause:	User entered previously deleted parameter in expression or condition.

Action:	Press OK if this is what you intended.


BRW-16532: Parameter <name> does not exist. Define?

Cause:	User entered new parameter in expression or condition.

Action:	Press OK if this is what you intended.


BRW-16549: Revert will undo all changes on these tables. Revert anyway?

Cause:	Confirmation before reverting data tables.

Action:	Click OK to revert all selected data tables, Cancel to cancel the operation.


BRW-16550: Table <name> has primary/unique keys that are referenced. Remove?

Cause:	Table contains constraints.

Action:	Click OK to remove the data table, Cancel to cancel the operation.


BRW-16551: Column has primary/unique keys or indexes. Remove anyway?

Cause:	Column is used by constraints or indexes.

Action:	Click OK to remove the column, Cancel to cancel the operation.


BRW-16552: Disable all constraints?

Cause:	Message to confirm that all constraints should be disabled.

Action:	User may confirm or cancel.


BRW-16553: Enable all constraints?

Cause:	Message to confirm that all constraints should be enabled.

Action:	User may confirm or cancel.


BRW-16575: There are uncommitted edits which will be lost. Commit?

Cause:	User has tried to exit the Data Editor without committing changes.

Action:	Click Commit or lose changes.


BRW-16576: Defined Column, Summary and Break values may not be current. Re-execute?

Cause:	Values edited while displaying breaks, summaries, or defined columns.

Action:	Execute query to update values.


BRW-16623: There is no data available for this operation.

Cause:	Alert message if number of rows or columns available to print is zero.

Action:	User should try re-executing the query, or include some columns.


BRW-16624: Query definition has changed. Data may not be current. Continue?

Cause:	Query document has changed since last execute.

Action:	Either re-execute the query, continue export, or cancel.


BRW-16625: The printer does not support all fonts needed. Substitute fonts?

Cause:	The font or some style or weight does not exist for the selected printer.

Action:	User may continue with font substitution or cancel.


BRW-16626: Not enough memory for Print Preview.

Cause:	Unable to create bitmap for print preview.

Action:	No action required.


BRW-16627: There is no data available for this operation. Execute query?

Cause:	Alert message if export data called with empty worksheet.

Action:	User should try executing the query or cancel.


BRW-16628: Unable to get printer device. Printing will be unavailable. Continue?

Cause:	Error creating a toolkit printer surface with uiprc().

Action:	User may continue with no printing or cancel.


BRW-16629: Do you want to update the container before exiting?

Cause:	Message to prompt user to save changes when closing/quitting OLE doc.

Action:	User may save or abort changes, or cancel.


BRW-16650: The printer does not support all fonts needed. Substitute fonts?

Cause:	The font or some style or weight does not exist for the selected printer.

Action:	User may continue with font substitution or cancel.


BRW-16651: No printer has been chosen. Use Default?

Cause:	The user has not explicitly named a printer to use.

Action:	User may continue with the system default printer or cancel.


BRW-16652: Margins for this document are too wide and must be reset.

Cause:	The user has set the margins to be too large leaving no content.

Action:	User must reset the margins.


BRW-16653: No printer has been chosen. Use Default?

Cause:	The user has not explicitly named a printer to use.

Action:	User may continue with the system default printer or cancel.


BRW-16654: No pages printed.

Cause:	User has set copies to 0 or the start/end page outside the range.

Action:	Reset page range.


BRW-16660: Query definition has changed. Data may not be current. Re-execute?

Cause:	Query document has changed since last DDE update.

Action:	Re-execute the query before DDE update, or update without executing.


Select Data Tables dialog box

  Related Topics

Description  The Select Data Tables dialog box enables you to include datasource objects from the connected database into your query.

This dialog box contains:

Show	Specifies whether or not to display tables, views, queries, snapshots, and/or synonyms in the list box.
Drop-down box	Specifies from which datasource to display the objects.  You can also select a table from a separate account or database .
Select Data Tables	Lists the available datasource objects you can include in your query.  Tip
Info	Displays information on the selected object:  the kind, name, owner, date it was created, and comments.
Include	Includes the selected item into the Query Builder workspace.
Close	Closes the dialog box without including a datasource object.


Accessing other accounts in the current database

  Related Topics

To access tables in other accounts in the current database:

1	Click the current database name.  The Include button becomes an Open button, and the list box displays a list of accounts in the current database.

2	Click the name of the account you want to open.

3	Click Open, or simply double-click the account name.  Query Builder displays a list of tables in that account, and the Open button again becomes the Include button, enabling you to include tables in the usual manner.


Opening other accounts

  Related Topics

If the table you want is not listed in the current database, you can navigate to other accounts and databases and select tables from those accounts.

To navigate to other accounts and databases:

1	Click the box above the list of tables.  You will see two selections:  the name of the current database and the word Databases.

2	To access tables in other accounts in the current database, click here.

If you are unable to connect to a listed database, it may be due to an invalid link caused by a network problem or a changed remote password.  Contact your database administrator for assistance.


Including a table more than once

  Related Topics

If you include the same table more than once in a query, duplicate tables are automatically assigned system-generated alias names composed of the name for the base table, followed by an underscore and an alphanumeric sequence.


Select Related Tables dialog box

Description  The Select Related Tables dialog box enables you to include tables that are related to the selected table in the Query window.

This dialog box contains:

Show	This option is not available.
Drop-down box	Specifies whether or not to display all related tables.
Select Data Tables	Lists the available related tables.  Tip
Info	Displays information on the selected table:  the kind, name, owner, date it was created, and comments.
Include	Includes the selected table.
Close	Closes the dialog box without including a related table.


Rename Table dialog box

  Related Topics

Description  The Rename Table dialog box enables you to rename the currently active table.

This dialog box contains:

Default Table Name	Specifies the current name of the table.
List box	Lists the tables you have open to rename.
New Name	Specifies the new table name.
Define	Updates the table name while keeping the dialog box open.


Identifying a renamed table

In a stored query, it is not immediately apparent whether a particular table has a user-defined name or its original name.

To find out if a particular table has been renamed:

1	Click [image] in the Icon bar.

2	Click the table in question in the list of Available Tables.

If the table has been renamed, the alias name appears in the New Name: field and a different name (the original table name) in the Default Table Name: field.

SQL users can also identify renamed tables by clicking [image] in the Icon bar. This brings up the Show SQL dialog box, where any name changes appear in the SELECT statement in standard SQL syntax for table aliases.


Set Relationship dialog box

  Related Topics

Description  The Set Relationship dialog box enables you to create simple, self, composite, unmatched, and non-equal relationships between two tables.

This dialog box contains:

Relationship	Specifies the origin (in A->) and target (in B->) column names.
Operator	Specifies the type of relationship between the columns.
Use Relationship in Query	Specifies if your relationship will be used in the query.  Default is checked.
A not found in B radio button	Specifies that the data retrieved is all data common to both tables, in addition to data that is in table A, but not in table B.
B not found in A radio button	Specifies that the data retrieved is all data common to both tables, in addition to data that is in table B, but not in table A.
Suppress Mismatches radio button	Default.  Specifies that the data retrieved is common for both tables.


About relationships

  Related Topics

A relational database consists of a number of related tables.  Each table is made up of columns (sometimes called fields) which are arranged vertically.  Each column has a name, and contains a unique type of data.

Relationships, or joins, define how a column in one table relates to a column in another table.  In many cases, the relationships you need are already defined in the database.  Relationships also reduce data redundancy.  Whenever there is a relationship between columns in different tables, you can use the tables together in a query.  Note

Related columns do not always share the same names.  You can always relate columns that share the same datatype, and in some instances you can relate columns of different datatypes, if the relationship makes sense.  For example, you can always relate a Number datatype column with a Character column, since a number can also be interpreted as a character.  In fact, almost any column (except long text columns) can be related to Character columns.

Relationships can be user-defined (temporary) or established in the underlying data dictionary  Relationships in the data dictionary automatically appear when you include related tables (tables that have a primary/foreign key relationship).  You do not have to do anything to use these relationships, since they are always valid.  These can be created or modified using the Schema Builder.

User-defined relationships are valid only for the query in which you create them.  Creating a user-defined relationship does not establish a corresponding permanent relationship in the underlying table.  The main difference between the two is that in the case of a user-defined relationship, you must draw the relationship line; in a relationship stored in the database, Query Builder draws it for you.

Note (Report Builder only):  Report Builder data links are not the same as Query Builder relationships.  Data links are created between two or more queries, where Query Builder relationships (or joins) are created within a single query.  For more information, see the Report Builder online help.


Activating and deactivating a relationship

  Related Topics

Relationships that you create using the mouse are automatically activated and deactivated as they are needed in a query.  Active relationships are displayed with a heavy black line; inactive relationships are shown as grey lines.

To manually activate a relationship using the mouse:

  Double-click an inactive relationship line.

To deactivate a relationship:

  Double-click the active relationship line.


Define Column dialog box

Description  The Define Column dialog box enables you to create a new column in your query based on values in another column. Defined columns appear in both the Datasource panel and the Results window.

This dialog box contains:

Defined Columns	Specifies the name of the column you want to create.
List box	Lists existing defined columns.
Defined as	Specifies the expression of the selected column.
Define	Applies the definition to the column.
Remove	Deletes the selected column.
Paste Column	Displays the Paste Column dialog box.
Paste Func	Displays the Paste Function dialog box.
Note:  The defined column is only a part of your query and will not modify the table definition saved in the database.


Sort dialog box

Description  The Sort dialog box enables you to sort the data in your query according to columns in your table.

This dialog box contains:

Available Columns	Lists the table columns you can sort in the Results window.
Sorted Columns	Lists the table columns that are currently sorted in the Results window.
Copy	Copies the selected column from the Available Columns list to the Sorted Columns list.
Remove	Removes the selected column from the Sorted Columns list.
Sorting Order	Sorts the selected column in Ascending or Descending order. Default is Ascending.


Query Builder Help

  Related Topics

Building a new query

Adding conditions to a query

Creating a simple relationship

Defining a column

Sorting query data


About Query Builder

  Related Topics

Query Builder is an easy-to-use data access tool designed for analysts, managers, and other business professionals.  It provides a logical and intuitive means to access information from your organization's databases for analysis and reporting.

Query Builder is designed for professionals who do not have a computer programming or database background.  Because of its powerful query features and its support of Structured Query Language (SQL) statements, experienced database users and programmers will find that Query Builder serves many of their needs as well.

In Query Builder's graphical Query window , you can specify a request for data from your organization's database(s).  The request for data is called a query.

You can use Query Builder to define almost any query that you would build using a SQL SELECT statement.  Query Builder automatically generates the appropriate SELECT FROM [table.column] clause based on columns displayed in the Query Builder workspace.


Column Sequence dialog box

Description  The Column Sequence dialog box enables you to adjust your query results in the Query Builder workspace.

This dialog box contains:

Available Columns	Lists the table columns you can display in the Query Builder workspace.  Tip
Displayed Columns	Lists the table columns that are currently displayed in the Query Builder workspace.
Copy	Copies the selected column from the Available Columns list to the Displayed Columns list.
Remove	Removes the selected column from the Displayed Columns list.
Format	Displays the Format dialog box.
Totals	Displays the Totals dialog box.
Execute	Runs the query.


Paste Column dialog box

  Related Topics

Description  The Paste Column dialog box enables you to paste an existing column from a selected table into your query.

This dialog box contains:

List box	Lists the columns you can paste.  Tip


Paste Function dialog box

Description  The Paste Function dialog box enables you to paste a function into your condition or query.

This dialog box contains:

Show Categories	Specifies the types of functions that display in the list box:  number, character, date, conversion, group, other.
List box	Lists the available functions under the selected category.
Paste Arguments	Specifies whether or not to include the argument (the expression within the parentheses of a function that supplies information for the function to use).


Show SQL dialog box

  Related Topics

The Show SQL dialog box displays the SQL statements for your query thus far. You cannot edit or copy the SQL statements in the Show SQL dialog box.


The column or columns that uniquely identify each row of a table.  Primary keys appear in bold.


A column that refers to the primary key values in another table. Foreign keys appear in italics.


The sources from which a query retrieves data, including tables, views, queries, synonyms, and snapshots.


A datasource made up of columns from one or more database tables combined into one logical table.


A string consisting of a function or operation and the database column(s) to be operated on (for example, SALARY+COMMISSION).


To conform to naming conventions, each query name must begin with a letter and can contain up to 30 letters and numbers.  If you don't use naming conventions when naming database queries, Query Builder will convert the name to a "literal" value (enclosed in double quotes).


About the Conditions panel

The Conditions panel is a section of the Query window that contains the Condition field, where you enter expressions and conditions.  Query Builder conditions automatically generate WHERE or HAVING clauses, as appropriate.

The table and column names indicate which columns will be filtered in the condition.  You may omit the table name if the column name is unique.  Tip

Note:  When you activate the Condition field, the cursor will have  a (+) sign, indicating that any item you click on will be added to your condition.  To deactivate this, you can click [image] in the Icon Bar.


About the Query window

When you open a query, Query Builder displays it in the Query window, split into two panels:

•	the Conditions panel, where the Condition field is located.  It is used to refine the query.

•	the Datasource panel, which displays the tables (views, snapshots, and so forth) used in the query.

Depending on your preferences, the panels may be split vertically or horizontally.

Each table is displayed in a box containing the name of the table and the names of columns in that table.  There are a number of icons that help identify the current database object.  The icons indicate whether descriptive comments are attached, the type of datasource, the column's datatype, and whether indexes have been defined for tables in the query.

Lines are drawn to indicate the relationships between columns.  Relationships are set up between tables to identify how a column in one table relates to a column in another table.

A check mark to the left of the column name indicates the column has been included in the query.  This means that Query Builder will search for data corresponding to the column name when you run the query.  No check mark indicates that column's data will not be included.


About the Datasource panel

  Related Topics

The Datasource panel is the section of the Query window where items, such as tables and relationships, display.


About the Icon Bar

  Related Topics

The Icon Bar displays at the top of the Query Builder window.  Click on each icon to view a description.


Save icon

Saves your query to the specified file.


Cut icon

Cuts the selected text and places it on your operating system's clipboard.


Copy icon

Copies the selected text onto your operating system's clipboard while the original text remains intact.


Paste icon

Pastes the current clipboard items into the active location.  If there is nothing on the clipboard, nothing will be pasted.  You can paste any text that you have cut or copied.


Clear icon

Removes the selected item (i.e., text, table).  Unlike the Cut command, Clear does not place the removed item(s) on your operating system's clipboard.


Select All icon

Selects every item in the active window.  For example, if the Conditions panel is active, all conditions in the panel will be selected.


Select Data Tables icon

Displays the Select Data Tables dialog box.


Select Related Tables icon

Displays the Select Related Tables dialog box.  This icon is available only when the table you have selected has a related table in the connected database.


Rename Table icon

Displays the Rename Table dialog box.  This icon is available only when there is at least one table in the Query Builder workspace.


Get Info icon

Displays the Info dialog box and information on the selected database object.  This icon is available only if a datasource object is active.


Set Table Relationship icon

Displays the Set Relationship dialog box.  This icon is available only when there is more than one table in the Datsource panel to relate.


Show SQL icon

Displays the Show SQL dialog box and the SQL for the active query.


Column Sequence icon

Displays the Display dialog box.


Define Column icon

Displays the Define Column dialog box.


Sort icon

Displays the Sort dialog box.


And icon

Inserts the AND operator into your condition.  This icon is available only when the Condition field is active.  You can also type AND directly into the Condition field.


Or icon

Inserts the OR operator into your condition.  This icon is available only when the Condition field is active.  You can also type OR directly into the Condition field.


Not icon

Inserts the NOT operator into your condition to negate your condition.  This icon is available only when the Condition field is active.  You can also type NOT directly into the Condition field.


Ungroup Conditions icon

Ungroups conditions that are combined with logical operators, such as AND, OR, NOT.  This icon is available only when you have selected a logical operator in the Conditions panel.


Accept icon

Validates and accepts the active condition.  This icon is available only when the Condition field is active.  You can also press the Enter or Return key when the Condition field is active to accept and validate your condition.


Cancel icon

Cancels the current condition.  This icon is available only when the Condition field is active.


Paste Column icon

Displays the Paste Column dialog box.  This icon is available only when the Condition field is active.


Paste Function icon

Displays the Paste Function dialog box.  This icon is available only when the Condition field is active.


About datatypes

  Related Topics

The most common datatypes in Query Builder are:

CHAR or VARCHAR2	CHAR is used for fixed length character data, to a maximum size of 255 bytes and a default size of 1 byte.  VARCHAR2 is for variable length character strings to a maximum size of 2000 bytes.  You must specify size for VARCHAR2.
NUMBER	NUMBER indicates that the database column contains numbers (integers, decimals, or any other type of numeric values).  You can perform calculations on numbers represented in the NUMBER datatype, but not on numbers represented by the CHAR datatype.
DATE	DATE indicates that the database column contains date values.  Valid dates ranging from January 1, 9999 BC to December 31, 9999 AD.  Default format is DD-MON-YY as in '01-JAN-92'.
NUMBER(p,s)	The range of p (decimal precision) is 1 to 38. The range of s (scale) is -84 to 127.  Decimal precision is the number of digits to store.  The scale is the number of digits to the right of the decimal point.  If the scale is negative, the actual data is rounded to the specified number of places to the left of the decimal point.  For example, a specification of (10, -2) means round to the hundreds.
Additionally, Query Builder provides limited support for the following Oracle datatypes:

LONG	A LONG column contains alphanumeric data of variable length up to 2 gigabytes (or 231-1).  When you include a LONG column in a Query Builder query, the first 2000 characters are displayed.
RAW	Raw binary data.  Maximum size is 255 bytes.  Values must be inserted as character strings in hexadecimal notation.  Values are displayed in hexadecimal.  You must specify size for RAW datatypes.
LONG RAW	LONG RAW displays raw binary data up to 2 gigabytes (this appears in hexadecimal in the Results window).  LONG RAW datatypes are subject to the same limits as RAW datatype.
Note:  Query Builder supports datatype conversions in cases where conditions and expressions reference different datatypes in their comparison.  Refer to the Oracle8 Server SQL Language Reference Manual for additional information.


Datatype icons

  Related Topics

The following supported datatypes for all the columns in a datasource object are represented by icons located in the right hand column of the object in the Query Builder workspace.

Datatype	Icon	Description
Character		Use the Character datatype for fixed length character data, to a maximum size of 255 bytes and a default size of 1 byte. Note:  You can represent numbers using the Character datatype, but you can only perform calculations with numeric datatypes.
Varchar2		Use the Varchar2 datatype for variable length character strings, to a maximum size of 2000 bytes.  You must specify a size for the Varchar2 datatype.
Number		Use the Number datatype for integer or floating data. You must enter a precision length (number of digits) for integer data. Floating datatype is for decimal numbers. When you assign this datatype to a column, you must specify both the precision and the scale. The precision (total number of digits in the number) can range from 1 to 38.  The scale (number of digits to the right of the decimal point) can range from -84 to 127.  If the scale is negative, the actual data is rounded to the specified number of places to the left of the decimal point.  For example, a specification of (10,2) means 10 digits with 2 to the right of the decimal point.  A specification of (10,-2) effectively means a 10-digit integer, rounded to the nearest hundred.
Date		Use the Date datatype for any type of date.  Valid dates range from January 1, 4712 BC to December 31,4712 AD.  The default date format is DD-MON-YY, as in ‘01-JAN-97.’
Long		Use the Long datatype for long text fields of alphanumeric data of variable length, up to 2 gigabytes.
Raw		Use the Raw datatype for raw binary data.  The maximum size is 255 bytes.  Values must be inserted as character strings in hexadecimal notation, and values are displayed in hexadecimal.  You must specify a size for raw data.
Long Raw		The Long Raw datatype is for storing up to 2 gigabytes of raw binary data (which is entered and displayed in hexidecimal form).  Long Raw datatypes do not require a specified size.
MLSLABEL		Use the MLSLABEL datatype for storing the binary format of a label used on a secure operating system.  Labels are used by Trusted ORACLE to mediate access to information.  You can also define columns with this datatype if you are using the standard ORACLE Server.  For more information on Trusted ORACLE, including this datatype and labels, see the Trusted ORACLE8 Server Administrator's Guide.


Datasource object notation

  Related Topics

Shown below is an example of two datasource objects, linked by a relationship.

Click any icon, indicator, or part of these objects to display a description.


Object type indicator

The icon in the upper left corner of any datasource object indicates its type:

  Table

  View

  Query

  Snapshot

  Synonym


Object title

This is the name of the datasource object.  You can change the name by clicking on the object title.


Comment indicator

This icon indicates that this object (or column) has a comment associated with it.  Double-click this icon to open the Info dialog box, where you can view the comments.


Column Name

This is the name of one of the columns in this object.  If you double-click a column name, the column will be included in your query.


Datatype indicators

These icons indicate the datatypes of their respective columns. If you click and hold on one of these icons, a pop-up menu appears, and you can choose a different datatype.


Relationship line

A gray line drawn between two columns indicates that a relationship has been created between the columns at either end of the line. The line is drawn from the foreign key to the primary key.


Self-relationship indicator

This icon indicates that a self-relationship has been created between this column (foreign key) and another column (primary key) in the same table.


Primary key

A column name displayed in boldface indicates that this column has been defined as a primary key for the object.


Foreign key

A column name displayed in italics indicates that this column is a foreign key, related to a primary key in another column.  Setting up a relationship between two columns is the only way to define a foreign key.


About Query Builder functions

  Examples 	  Related Topics

A function is similar to an operator in that it manipulates data items and returns a result.  Functions differ from operators in the format in which they appear with their arguments.  This format allows them to operate on any number of arguments, including none.  Every time you associate a column with a function name, Query Builder performs the defined operation on the value(s) in that column.

Functions that you can use with queries in Query Builder are:

•	number functions

•	character functions

•	character functions returning numeric values

•	conversion functions

•	date functions

•	group functions

•	other functions

Additional Information: For information about any of the other functions, refer to the Oracle8 Server SQL Language Reference Manual.


Functions and arguments

  Examples 	  Related Topics

A function is used to manipulate data in a particular column.  Each function can take one or more arguments.  An argument is an expression within the parentheses of a function supplying information for the function to use.

An example is the function ROUND, which rounds a number to the degree you specify.  If you enter the expression ROUND (CREDIT_LIMIT, -2), Query Builder would round each value for CREDIT_LIMIT to the nearest hundred.  If you enter ROUND(CREDIT_LIMIT, 1), Query Builder would round the values for CREDIT_LIMIT to the nearest 10th.

The values used within arguments are:

Argument Value	Description
char, set, search,	Character constant surrounded by single quotation
replace	marks or an expression returning character data.
d, e	Date constant surrounded by single quotation marks, or an expression returning date data.
m, n	Any number constant or expression returning numeric data.
x	Argument type depends on the context of the function.
expr	An expression of any type.
fmt	A format used to change the display of data or to enter data into a Query Builder field or condition in a format other than the default format.


Number functions

  Related Topics

Number functions accept numeric data and return numeric data.  You can use number functions when defining columns and conditions.

Function (arguments)	Description
ABS(n)	Absolute value of n.
CEIL(n)	Smallest integer greater than or equal to n.
COS(n)	Returns the cosine of n (an angle expressed in radians).
COSH(n)	Returns the hyperbolic cosine of n.
EXP(n)	Exponential notation.  Returns e (2.71828183...) raised to the nth power.
FLOOR(n)	Largest integer equal to or less than n.
LN(n)	Returns the natural log of n, where n is greater than 0.
LOG(m,n)	Returns the logarithm, base m, of n.  The base m can be any positive number other than 0 or 1, and n can be any positive number.
MOD(m,n)	Remainder of m divided by n.
POWER(m,n)	m raised to the nth power.  If n is not an integer, it will be truncated
ROUND(n[,m])	n rounded to m decimal places; if m is omitted, to 0 places.  m may be negative to round digits left of the decimal point.
SIGN(n)	If n<0, -1; if n=0, 0; if n>0, 1.
SIN(n)	Returns the SINE of n (an angle expressed in radians).
SINH(n)	Returns the hyperbolic sine of n.
SQRT(n)	Square root of n; if n<0, NULL.
TAN(n)	Returns the tangent of n (an angle expressed in radians).
TANH(n)	Returns the hyperbolic tangent of n.
TRUNC(n[,m])	n truncated to m decimal places; if m is omitted, to 0 places.  m may be negative to truncate (make zero) digits left of the decimal point.


Character functions

  Related Topics

You can use character functions that accept character data and return character data when defining columns and conditions.

Function (arguments)	Description
CHR(n)	The character with having the binary equivalent to n in the database character set.
CONCAT(char1,char2)	Returns char1 concatenated with char2.  This function is equivalent to the concatenation operator (||).
INITCAP(char)	char, with first letter of each word capitalized.  Words are delimited by white space or characters that are not alphanumeric.
LOWER(char)	char, with all letters forced to lowercase.
LPAD(char1,n[,char2])	char1, left-padded to length n with the sequence of characters in char2, replicated as many times as necessary; if char2 is omitted, with blanks.
LTRIM(char[,set])	char, with initial characters removed up to the first character not in set.  set defaults to ` ' (a single blank).
NLS_INITCAP(char [,nlsparams])	Returns char, with the first letter of each word capitalized.  Words are delimited by white space or characters that are not alphanumeric.  The parameters specified in nlsparams can have the form NLS_SORT=sort where sort is a linguistic sort sequence for your session or BINARY.  If you specify BINARY, this function returns char.  For information on sort sequences, refer to the Oracle8 Server Concepts Manual.
NLS_LOWER(char[,nlsparams])	Returns char, with all letters forced to lowercase. See NLS_INITCAP for the nlspa-rams argument.
NLS_UPPER(char[,nlsparams])	Returns char, with all letters forced to uppercase. See NLS_INITCAP for the nlspa-rams argument.
REPLACE(char,search[,replace])	char, with every occurrence of search replaced with replace. If replace is not supplied, all occurrences of search are removed.
RPAD(char1,n[,char2])	char1, right-padded to length n with the characters in char2, replicated as many times as necessary; if char2 is omitted, with blanks.
RTRIM(char[,set])	char, with final characters removed after the last character not in set.  set defaults to ` ' (a single blank).
SOUNDEX(char)	A char value representing the sound of the word(s) in char.
SUBSTR(char,m[,n])	A substring of char, beginning at character m, n characters long if n is omitted.
SUBSTRB(char,m[,n])	Same as SUBSTR, except that the arguments m and n are expressed in bytes, rather than characters.  For a single byte database character set, SUBSTRB is the same as SUBSTR.
UPPER(char)	char, with all letters forced to uppercase.


Character functions returning numeric data

  Related Topics

You can use character functions to return numeric data when defining columns and conditions.

Abbreviation	Description
ASCII (char)	ASCII value of first character of char.
INSTR(char1,char2[,n[,m]])	The position of the nth occurrence of char2 in char1, beginning search at position n.  If m is omitted, 1 is assumed.  If n is omitted, 1 is assumed.  Position is given relative to the first character of char1, even when n>1.
INSTRB(char1,char2[,n[,m]])	Same as INSTR, except that n and the returned value are expressed in bytes, rather than characters.  For a single-byte database character set, INSTRB is the same as INSTR.
LENGTH(char)	The length, in characters, of char.
LENGTHB(char)	Same as LENGTH, except that char is expressed in bytes, rather than characters.  If char is NULL, this function returns NULL.  For a single-byte database character set, LENGTHB is the same as LENGTH.
NLSSORT(char[,nlsparams])	Returns the string of bytes used to sort char.  The parameters specified in nlsparams can have the form NLS_SORT=sort where sort is a linguistic sort sequence for your session or BINARY.  If you specify BINARY, this function returns char.  For information on sort sequences, refer to the Oracle8 Server Concepts Manual.


Conversion functions

  Related Topics

You can use conversion functions to convert data from one datatype to another when defining columns and conditions.

Abbreviation	Description
TO_CHAR (d[,fmt])	Converts d to a char value in the format specified by the char value fmt.  If fmt is omitted, d is converted to a char value in Query Builder's default date format, DD-MON-YY.
TO_CHAR(n[,fmt])	Converts n to a char value in the format specified by the char value fmt.  If fmt is omitted, n is converted to a char value exactly long enough to hold the significant digits.
TO_DATE(char[,fmt])	Converts a date from a char value to a date value.  fmt is a char value specifying the format of char.  If fmt is omitted, char must have the Query Builder default date format, DD-MON-YY.
TO_DATE(n,[fmt])	Converts a number into a date.  fmt must be a format that, when used with TO_CHAR, produces a DATE (e.g., J or MM).
TO_LABEL(char[,fmt])	Converts char, a value of datatype CHAR or VARCHAR2 containing a label in the format fmt, to a value of MLSLABEL datatype.  If you omit fmt, char must be in the default label format.
TO_MULTI_BYTE (char)	Returns char with all of its single-byte characters converted to their corresponding multi-byte characters.  Any single-byte characters that have no multi-byte equivalents appear in the output string as single-byte.  (This function is only useful if your database character set contains both types.)
TO_NUMBER (char)	Converts char, character data containing a number, to numeric data.
TO_SINGLE_BYTE (char)	Returns char with all of its multi-byte characters converted to their corresponding single-byte characters.  Any multi-byte characters that have no single-byte equivalents appear in the output string as multi-byte.  (This function is only useful if your database character set contains both types.)


Date functions

  Related Topics

All date functions return date data except MONTHS_BETWEEN, which returns numeric data.  You can use these functions when defining columns and conditions.

Abbreviation	Description
ADD_MONTHS (d,n)	Date d plus n months.
LAST_DAY(d)	Date of last day of month containing d.
MONTHS_BETWEEN(d,e)	Number of months between dates d and e. If d is later than e, result is positive; if earlier, negative.
NEW_TIME(d,a,b)	Date and time in time zone b when date and time in time zone a are d.  a and b are char expressions with the following meaning:
AST, ADT:	Atlantic Standard or Daylight Time
BST, BDT:	Bering Standard or Daylight Time
CST, CDT:	Central Standard or Daylight Time
EST, EDT:	Eastern Standard or Daylight Time
GMT:	Greenwich Mean Time
HST, HDT:	Alaska-Hawaii Standard or Daylight Time
MST, MDT:	Mountain Standard or Daylight Time
NST:	Newfoundland Standard Time
PST, PDT:	Pacific Standard or Daylight Time
YST, YDT:	Yukon Standard or Daylight Time
NEXT_DAY(d,char)	Date of first day of week named by char that is equal to or later than d.
ROUND(d[,fmt])	d rounded as specified by the rounding unit fmt; if fmt omitted, the nearest day.
SYSDATE	Current date and time.  Requires no arguments.
TRUNC(d[,fmt])	d with time of day truncated up to the specified truncation unit, fmt; if fmt omitted, the time of day is removed.
Additional Information: Refer to the Oracle8 Server SQL Language Reference Manual for a table of format models to be used with the ROUND and TRUNC date functions.


Group functions

  Related Topics

Group functions retrieve data based on groups of rows rather than one result per row.  Group functions perform operations such as average, count, sum, and standard deviation.

You can also use group functions to define a new column, and the entire result is treated as one group when you display no other columns.  Displaying other columns will divide the result into smaller groups.  You can use group functions in conditions, but only with a comparison operator, so the entire result is treated as one group.  For example, the condition SALARY > AVG(SALARY) is true when the value of SALARY in the current row is greater than the average of SALARY in all of the rows.

Group functions can be used with the DISTINCT or ALL options.  DISTINCT makes a group function consider only distinct functions of an expression.  For example, the average of 1, 1, 1, and 3 is 1.5; the DISTINCT average is 2.  ALL causes a group function to consider all values, including duplicates.

All of the following group functions skip null values except COUNT(*). The datatype of the arguments may be character, number, or date where expr is listed.

Function (argument)	Description
AVG([DISTINCT|ALL]n)	Average value of n, ignoring null values.
COUNT([DISTINCT|ALL] expr)	Number of rows where expr is not null.
COUNT(*)	Number of rows in the table, including duplicates and those with nulls.
GLB([DISTINCT|ALL] label)	Returns the greatest lower bound of label.
LUB([DISTINCT|ALL] label)	Returns the least upper bound of label.
Additional Information:  GLB and LUB return values of the MLSLABEL datatype.  For more information about the GLB and LUB functions, refer to the Trusted Oracle8 Server Administrator's Guide.

Function (argument)	Description
MAX([DISTINCT|ALL] expr)	Maximum value of expr.
MIN([DISTINCT|ALL] expr)	Minimum value of expr.
STDDEV([DISTINCT|ALL]n)	Standard deviation of n, ignoring null values, based on an n-1 (sample) calculation.
SUM([DISTINCT|ALL] n)	Sum of values of n.
VARIANCE([DISTINCT|ALL] n)	Variance of n, ignoring null values.


Other functions

  Related Topics

Query Builder also accepts these functions:

Function (argument)	Description
USER	Returns the name of the current Oracle user.  Requires no arguments.
DECODE(expr,search1, replace1[,search2, replace2,] ... [default])	If expr equals any search, returns the following replace; if not, returns default.  If default is omitted and there is no match, NULL is returned. expr may be any datatype; search must be the same type.  The value returned is forced to the same datatype as the first return.
GREATEST(expr1,expr2,...)	Returns the greatest of a list of values.  All expr after the expr1 are converted to the type of the expr1 before the comparison is done.
GREATEST_LB(label[,label] ...)	Returns the greatest lower bound of the list of labels.  Each label must either have datatype MLSLABEL or RAW MLSLABEL or be a quoted literal in the default label format.  The return value has the datatype RAW MLSLABEL.
LEAST(expr1,expr2,...)	Returns the least of a list of values.  All expr after the expr1 are converted to the type of the expr1 before the comparison is done.
LEAST_UB(label[,label] ...)	Returns the least upper bound of the list of labels.  Each label must have datatype MLSLABEL or be a quoted literal in the default label format.  The return value has the datatype RAW MLSLABEL.
NVL(x,expr)	If x is null, returns expr; if x is not null, returns x.  x and expr may be of any type. The type of the returned value is the same as the type of x.
Additional Information:  For more information about the GREATEST_LB and LEAST_UB functions, refer to the Trusted Oracle8 Server Administrator's Guide.


 Instead of selecting a table and clicking Include, you can double-click each target table to move it into the Query Builder work area.  To include a range of tables, hold down the SHIFT key while clicking the first and last tables in the range.


Although you can set relationships using this dialog box, you should use the mouse method to create relationships wherever possible. For relationships created this way, Query Builder automatically activates and deactivates the relationship lines for you.


If a column has a highlighted check beside it, that means the column appears in the SELECT statement and will be displayed in the query results.  If the column has an gray check beside it, the column is used as sort or group criteria.


In general Query Builder allows you to relate any columns that can be interpreted using the implicit conversion feature of the Oracle database.  For technical information on implicit conversions, refer to the Oracle8 Server SQL Language Reference Manual.


The expression in the Defined As field typically consists of a function or operation and the database column(s) to be operated on.  If the column name occurs in more than one table, remember to reference the table name as well, and separate it from the column name with a period.  If the column name is unique, you can specify just the column name.


Renaming a table does not result in any corresponding change in its underlying name in the database.  The new name is valid only for the active query; it remains in the query if you save it.


To display the Set Relationship dialog box, click [image] in the Icon Bar.


To display the Select Tables dialog box, click [image] in the Icon Bar.


To display the Rename Table dialog box, click [image] in the Icon Bar.


When you select a column object from a table, Query Builder automatically uses the table alias in your query.  Likewise, if you include a column object in the Condition field and accept the condition, Query Builder automatically inserts the appropriate table aliases into your condition.


You can select (or deselect) a column in either of the following ways:

•	Check (or uncheck) the check box next to the column.

OR

Double-click on the column name.


Query Builder examples

  Related Topics 	  All Examples

Condition example

Defined (and computed) column example

Function example (retrieving names greater than 30 characters)


About self-relationships
K  About self-relationships

  Related Topics

A self-relationship relates a table to itself.  Self-relationships have a limited, very specific use:  to establish a parent-child link between two columns that are contained in the same table.  For example, you could use a self-relationship to relate subsidiaries of a company to their parent company, or employees to their managers.

A self-relationship cannot be effective unless the columns in the table are counterparts of one another.  In the sample database Employee table, for example, the Manager ID is the same as the Employee ID for that manager.  So the self-relationship icon is displayed in the Manager ID column.


Creating a self-relationship

  Related Topics

To create a self-relationship:

1	In the Set Relationship dialog box, Query Builder displays a list of tables that have relationships defined with the selected table.

2	Click the table name.

3	Click Include.

4	Click OK.

5	Repeat the above procedure for the same table name.

6	Query Builder automatically names the copy of the related table with an alias.  Rename the table to match the name of the original.

Note:  If the self-relationship has already been identified in the underlying data dictionary, the two related columns in the table and the alias are connected with a relationship line.  If the self-relationship has not been identified in the data dictionary, you can create a self-relationship by drawing a temporary relationship line, to connect the two counterpart columns in the table and the alias.


 Creating a simple relationship

  Related Topics

To create a relationship using the mouse:

1	In the Query window, open the tables you want to relate.

2	While the table is displayed, select the column that you want to relate (the foreign key).

3	While holding down the mouse button, drag the cursor to the related column in the second table (the primary key) to draw a relationship line.

4	Once the target column is highlighted, release the mouse button to anchor the relationship line.  By default, the relationship is inactive (the line appears gray).

To create a relationship using the Set Relationship dialog box:

1	In the Set Relationship dialog box, type the origin (A->) and target (->B) column names.  Note Query Builder draws a relationship line between the two columns.

2	Click Close.

To create a relationship using a shortcut:

1	In the Set Relationship dialog box, click inside field A.

2	In the Query window, select the column.  Query Builder automatically places the table and column name in field A.

3	Repeat the procedure for field B.


Creating a composite relationship

  Related Topics

A composite relationship connects two or more columns in one table with columns in another table.   For example, you might relate the columns Order ID and Item ID in the Items table with identically named columns in the Item List table.

To create a composite relationship:

1	In the Query Builder workspace, click [image] in the Icon bar.

2	Include the two tables you want to join.

3	Select the column you want to relate (the foreign key).

4	While holding down the mouse button, drag the cursor to the related column in the second table (the primary key).  Notice that the cursor traces out a relationship line as you do so.

5	Once the target column is highlighted, release the mouse button to anchor the relationship line.  By default, the relationship is inactive (the line appears gray).

You can use as many composite relationships as are appropriate for your query. In addition, you can include columns in composite relationships regardless of whether they are used in other relationships.


You must type the complete table and column names (separate the table name from its column name with a period).  A-> represents the table's foreign key(s), and ->B represents the table's primary key(s).  Separate additional primary and foreign keys with commas.


Creating an unmatched relationship

  Related Topics

To create an unmatched, or outer, relationship:

1	In the Query window, click on the relationship line that connects your tables.  If there is no relationship line, create a simple relationship between the two tables.

2	In the Set Relationship dialog box, choose one of the display options to either retrieve all records included in a simple relationship or to retrieve only the rows where there is a corresponding value in both tables.

Note: A row that returns a value of 0 (zero) is not the same as an unmatched row.  Suppress Mismatched only works on rows that return null values, not 0 values.  Use this feature if you want to display data where one table has no values entered, such as orders with no line items, customers who have not made orders, sales representatives who do not have customers, and so forth.


Removing unmatched rows

  Related Topics

To remove an unmatched relationship:

1	In the Query Builder workspace, click on the relationship line that connects your target tables.

2	In the Set Relationship dialog box, select the Suppress Mismatches radio button.

3	Click OK.


Using a non-equal relationship

  Related Topics

To create a non-equal relationship in the Set Relationship dialog box:

  Select the operator.

When you set up a non-equal relationship, Query Builder places an icon (a not equal sign) on the relationship line.


Deleting a relationship

  Related Topics

To delete a relationship:

1	In the Query window, click on the relationship line that connects the two table columns.

2	When both the column names and the relationship line are highlighted, press the DELETE key.


About unmatched (null) rows

  Related Topics

Query Builder lets you choose whether to retrieve unmatched rows when you are using a relationship in a query.  An unmatched row occurs when the relationship connects tables where there are values on one side that have no corresponding values on the other side.  SQL users will be familiar with this as a query condition known as an outer join.  Unmatched rows usually return null values.

Note: A row that returns a value of 0 (zero) is not the same as an unmatched row.  The Suppress Unmatched Rows option in the Set Relationship dialog box works on rows that return null values, not 0 values.  Use this feature if you want to display data where one table has no values entered, such as orders with no line items.  When using an unmatched relationship, you can only choose one side on which to display unmatched records.


Building a new query

  Related Topics

To build a new query:

1	In the Query Builder workspace, click [image] in the Icon bar.

2	Double-click the table(s) from which you want to retrieve data.

3	Click Include to close the dialog box and display the table.

4	Select each column.   A check mark appears in the checkbox next to each selected column. To include all the columns, check the checkbox in the table title bar..  Tip

5	Type one or more conditions to refine your query.

6	Click OK to close the Query Builder.


Locating available tables

  Related Topics

To locate the tables you can use in your query:

1	In the Query Builder workspace, click [image] in the Icon bar.

2	Use the Show check boxes to sort the tables by type.


Clearing a table

To clear (erase) a table from the Query Builder work area:

1	Click on the table in the Query window.

2	Click [image] in the Icon bar.  Query Builder removes the table from the Query Builder work area. You can then click [image] to include it in your query again.

Cutting or clearing a table does not delete the table from the database, but merely removes it from the query.


Renaming a table

  Related topics

To rename a table:   Note

1	Click [image] in the Icon bar.

2	In the Rename Table dialog box, select the table whose name you want to change from the Available Tables list.

3	Click inside the New Name field.

4	Delete the unwanted information.

5	Enter the new name for your table. The new name can be up to 30 characters long.

6	Click Define.

7	Click OK.

Renaming a table in the Query Builder work area does not result in any corresponding name change in the underlying table.  The new name is valid only for the active query.


Displaying information and comments on tables and columns

To display the information and comments that have been stored in the database:

  In the Query Builder work area, double-click the far right icon in the table header to see information on the table; double-click the first icon in each column to see column information.


Removing a column from a query

  Related Topics

To remove a column from a query:

  Select the column in the Query Builder work area.  The check mark in the table disappears.


Counting rows in a query

To count how many rows a query will return before executing the query:

  In the Query Builder workspace, click [image] in the Icon bar.  An alert box appears displaying the number of rows that will be retrieved.


Adding conditions to a query

  Examples	  Related Topics

To add conditions to a query:

1	Click in the blank condition field in the Conditions panel to activate it.  A plus sign appears next to the cursor arrow.  Your mouse pointer can now be used for automatic point-and-click field selection.

2	Select the column you want to apply a condition to in the Query Builder work area.  To display a list of all available columns, click [image] in the Icon bar.  Tip

3	Click the appropriate operator on the Icon bar. To add functions to your condition, click [image] in the Icon bar.

4	Type the appropriate value for the right side of your condition expression after the operator.  To add another condition, press Shift-Enter to move the cursor to a new line.

5	If you’re satisfied with your expression, click outside the condition field but within the Conditions panel to deactivate it, or click [image] in the Icon bar.  To clear the Conditions panel and start over, click [image] in the Icon bar.


About conditions

  Examples 	  Related Topics

A condition is a text phrase you place in a query to target the information you want and filter out information you do not want.  Conditions can save you time and make your queries more focused, because they enable you to retrieve columns of the table.  Tip

For example, say you included the Employee table in your query, and selected the Name, Salary, and Job title columns.  Without conditions you've essentially said to the database "Select all the employee data from the Name, Salary, and Job columns in the Employee table."  Now you can add conditions to your original request, such as, "where...

•	the monthly salary is greater than $1000 and less than $2000."

•	the last name is Smith."

•	the job is not Manager."

Instead of typing all the words shown in the above examples into the condition, you use operators, so the condition almost looks like a formula.  For example, to specify employees whose salaries are greater than $3000, you might type:

SALARY > 3000

You can also use functions to help you create complex conditions.


Condition example

  Related Topics 	  All Examples

Suppose you want to create a query where you view data for the state of California only.

1	Click the condition field to activate it.

2	Select the State column in the appropriate table in the Query Builder work area.   The word STATE appears in the condition field.

3	Type the EQUALS (=) symbol.

4	Type in ‘CA’ to the right of the equal sign in the condition field.

The condition should now look like this:  STATE=’CA’


About operators

  Related Topics

An operator is a character or reserved word that is used to perform some operation.  The three principal types of operators used in Query Builder are:

•	comparison

•	arithmetic

•	logical

Note:  You can also create negating conditions based on these operators.


Comparison operators

  Related Topics

Comparison operators are used to compare two values.  When you insert the operator between a column name and a value in the Conditions panel, Query Builder will compare all items in that column against the value, and return only those rows where the condition statement is true

For example, to return only those rows where the value in the CREDIT_LIMIT column is less than $6,000, use the < (less than) operator:

CREDIT_LIMIT < 6000

The Query Builder comparison operators are:

Operator	Usage
=	Equal
<>	Not Equal
<	Less Than
<=	Less Than or Equal To
>	Greater Than
>=	Greater Than or Equal
BETWEEN...AND...	Between two values
IN (LIST)	Equal to any member of the following list
IS NULL	Is a NULL value.  A row without a value in one column is said to contain a NULL value.


Arithmetic operators

  Related Topics

Arithmetic operators are used to perform calculations on numeric and date columns.  In handling calculations, Query Builder first evaluates any multiplication or division, then evaluates any addition or subtraction.

•	For example, in the expression 1+2x3, first 2 is multiplied by 3, then the result is added to 1, yielding a final result of 7.

To override these precedence rules, place part of the expression in parentheses; Query Builder evaluates expressions in parentheses first.

•	For example, in the calculation (1+2)x3, (1+2) is evaluated first, then the result is multiplied by 3, yielding a final result of 9.

The Query Builder arithmetic operators are:

Operator	Usage
+	Addition
-	Subtraction
*	Multiplication
/	Division


Logical operators

  Related Topics

The logical (also called Boolean) operators are AND, OR, and NOT:

•	Use AND to retrieve only the data that meets all conditions.

•	Use OR to retrieve all data that meets at least one of the specified conditions.

•	Use NOT negate the operator(s) or condition(s).

The Icon Bar includes icons for the logical operators.  The operator icons are available when the Conditions panel is active, or when the Define Column dialog box is open.  You can insert an operator into the text of the condition or defined column by clicking the operator in the Icon Bar.


About defined (and computed) columns

  Examples 	  Related Topics

You can perform calculations on the data Query Builder retrieves from the database, then display the calculated data in the Results window as a new column (also known as a defined field).  You can name, define, and display these columns just as you would any other column in your query.

You can use defined columns in a Query Builder query to construct "what if" scenarios, forecasts, projections, and other analyses, such as variances and percent-to-total.

Note:  When you display a defined column (field) that contains an aggregate function, Query Builder automatically generates the corresponding GROUP BY clause for other displayed columns not involving aggregate functions.  Advanced users can also specify GROUP BY columns manually for grouping by non-displayed columns.

While columns are generally synonymous with the columns of data stored in your tables, they can also refer to new columns of data in a query that are derived or calculated from the values in another column.  These computed columns are sometimes known as derived or defined fields.  For example, the Employee table may include two columns that describe compensation: Salary and Commission.  You can create a defined column that combines the values in these columns into a new column called Net Pay that represents the summation of salary plus commission.

You can base your defined columns on any combination of single or multiple database columns, according to your needs.

Defined columns exist in your query, not in the database.  You can choose to display them in the Results window as columns, or keep them hidden (such as when using them to create other defined columns).

Note:  The defined column is only a part of your query and will not modify the table definition saved in the database.


Deleting a defined column

  Related Topics

To delete a defined column from a query:

1	In the Query Builder workspace, click [image] in the Icon bar.

2	Click the name of the column to be deleted.

3	Click Remove.


Defined (and computed) column example

  Related Topics 	  All Examples

Suppose you wanted to project a budget for next year's net pay (NET_PAY_NEXT) assuming a 10% salary increase.  You could enter the following in the Expression field:

(SALARY*1.1) + COMMISSION

Or, if you wanted to review a 10% increase in both salary and commission, you could enter:

(SALARY+COMMISSION) * 1.1

Since NET_PAY is SALARY+COMMISSION, this is the same as:

NET_PAY * 1.1

You can also create a defined column that displays the difference between the current net pay and next year's projections.  Call this column VARIANCE, and define it as:

NET_PAY_NEXT - NET_PAY

When you define new columns, the base columns described in your expression need not exist in the underlying database, although they should ultimately be derived from columns in the underlying table.  VARIANCE, for example, is the same as:

((SALARY+COMMISSION) * 1.1) - (SALARY+COMMISSION)


Deleting a sort column

  Related Topics

To delete a sort column:

1	In the Query Builder workspace, click the Sort icon.

2	Double-click the name of the column to be deleted in the Sorted Columns list.


Sorting query data

  Related Topics

To sort the data your query retrieves:

1	In the Query Builder workspace, click [image] in the Icon bar.

2	Double-click the column(s) you want to sort by in the Available Columns list.  A sort column does not have to be included in the query.

To change the sort order of a column from the default (ascending):

1	Click to highlight the column in the Sorted Columns list.

2	Click the Descending radio button.

3	Click OK.


Defining a column

  Related Topics

To define a new column in a table:

1	Open the table in which you want to define a column.

2	Click [image] in the Icon bar.

3	Click inside the Defined Columns box.

4	Type the name for your new column.

5	Click inside the Defined as box.

6	Type the expression that defines your column.

7	Click OK.


Pasting a function

  Examples 	  Related Topics

To paste a function into a condition:

1	Activate the Condition field and place your cursor where you want to insert the function.

2	Click [image] in the Icon bar.

3	Use the Show Categories check boxes to filter the types of functions shown.

4	Select a function from the list box.

5	Click the Paste Arguments check box if you want to include default arguments.

6	Click OK.

7	In the Condition field, type over the default arguments with the arguments you want to use.


Function example (retrieving names greater than 30 characters)

  Related Topics 	  All Examples

Suppose you want to list the names of all customers whose names are more than 30 characters long because these names are too long for your mailing labels.  To list these names, you create a condition using the LENGTH function.  LENGTH counts the number of characters in a character string.

In this example, the argument in the LENGTH function is the NAME column in the customer table.  So your function appears in the condition as:

LENGTH (NAME) > 30

Using this condition, Query Builder will evaluate all names in the NAME column and return those where the length of the field is greater than 30 characters.


Creating a nested condition

  Related Topics

To create a nested condition:

1	In the Condition field, type the first expression using a comparison operator, such as:  TOTAL<1000. Tip

2	Type the next expression, using another comparison operator, such as: EMP.LAST_NAME=SMITH

3	Type a third expression, using the same comparison operator (=), such as:  EMP.LAST_NAME=JONES.

4	Select the second and third expressions.

5	Click [image] in the Icon Bar.

6	Click [image] in the Icon bar.


Sizing the Conditions panel

To size the Conditions panel:

1	Click the black rectangle at the bottom left of the Query Builder work area scroll bar and move the cursor up to the Query Builder work area.

2	Drag the thick black line to the left or right to widen or narrow the Conditions panel.  If the panel is hidden entirely, the split bar appears at the far left of the scroll bar.


Condition syntax

  Related Topics

The general format of a condition is:

[expression] [operator] [expression]

where

expression	specifies the values that define the condition; expressions can specify dates, characters, literal values, numbers, columns, functions, and database columns.
operator	specifies a comparison operator, such as greater than (>), less than (<), and equal to (=).  The most common operators are listed in the Data menu and the Icon Bar.  There are also a number of special comparison operators such as BETWEEN, LIKE, and IN.
Date values

When working with dates, the comparison operators refer to relative time.  So "less than" (<) means "before."

Date values must be enclosed in single quotes and specified in DD-MON-YY format, where DD represents the calendar day, MON represents the month, and YY represents the year.

Character values

With character columns, operators refer to alphanumeric order (A comes before B, so names that begin with A are "less than" names beginning with B, and so forth).

Literal values

Literal values must be enclosed in single quotes to distinguish them from column names.  Comparison between the database values and the values you specify are case-sensitive.

Number values

If the value you enter is a NUMBER datatype, type only the number.  That is, do not use formatting such as commas or the currency ($) symbol.  Numeric values in numeric columns do not need to be in quotes.

Note:  There are also three logical (Boolean) operators (AND, OR, NOT) that enable you to create multiple or negative conditions.

Additional Information:  For more information about Oracle syntax for various datatypes, refer to the Oracle8 Server SQL Language Reference Manual.


Creating a negating condition

  Related Topics

To create a negating condition:

1	Build a condition.

2	Click the Condition field to activate it.

3	Select a logical operator for the condition.

4	Click [image] in the Icon bar.

5	Press the Enter or Return key to accept the condition.

Note:  NOT AND returns all rows except where all the conditions are met; NOT OR returns all rows except where any of the conditions are met.


Saving a query's SQL statements
Saving a query’s SQL statements

  Related Topics

To save a query’s SQL statements:

  In the Query window, choose File [image] Save SQL to display the Save SQL dialog box, which allows you to specify a directory and file name.


Changing column order

  Related Topics

To change the order in which columns appear in your query results:

1	In the Query Builder workspace, click [image] in the Icon bar.

2	In the Column Sequence dialog box, click on a column in the Displayed Columns list and drag it up or down to the desired position.  The top column appears to the far left of the display; the bottom column, to the far right.


Displaying a query's SQL statements
Displaying a query’s SQL statements

  Related Topics

To display a query’s SQL statements:

  In the Query Builder workspace, click [image] in the Icon bar.

The Show SQL dialog box is read-only; you cannot edit or copy the SQL statements.


Adding a column to a query

  Related Topics

To add a column to a query:

 Select the column in a table in the Query window.  Tip

A checked column indicates that the column appears both in the SQL statement and the query results.  You cannot include a column in the SQL statement and hide it from the displayed results.


The Database Trigger editor interface

  Related Topics

The Database Trigger editor enables you to create and edit BEFORE/AFTER triggers for tables, and INSTEAD OF triggers for views and object views (if connected to Oracle8).

To define a new trigger:

1	Choose a user name (schema) from the Table Owner drop-down list.

2	Choose a table name from the Table: drop-down list.

The Table drop-down list shows a list of table names owned by the user shown in the Table Owner field.  If you select a user name other than your own in the Table Owner field, the Table drop-down list shows only the tables to which you have been granted access.

(For views only.) To define an INSTEAD OF trigger for an object view, click the arrow next to Table: to display a drop-down list and choose View:. Then choose a view name from the View drop-down list.

3	Click New to create a new database trigger.

A unique trigger name (with respect to other triggers in the same schema) is automatically assigned to the new trigger in the Name drop-down list.  You can modify the trigger name.

The Name drop-down list displays a list of trigger names associated with the table (or view) shown in the Table (or View) field.  The Name drop-down list displays only the names of the database triggers associated with the tables to which you have access.

4	Specify the trigger options.

The sections that follow provide information on the various options you can use in the Database Trigger editor to define a database trigger.

5	After specifying the trigger options and action, click Save to compile the trigger.

Triggering options:

Before/After	(For tables only.) Corresponds to the BEFORE or AFTER option of the SQL command CREATE TRIGGER. Indicates when the trigger body is fired in relation to the triggering statement (e.g., UPDATE, INSERT, or DELETE) that is being executed. BEFORE triggers are fired before the triggering statement. AFTER triggers are fired after the trigger statement is executed. BEFORE and AFTER triggers apply to both row and statement triggers.
Instead Of	(For views only.) Corresponds to the INSTEAD OF option of the SQL command CREATE TRIGGER. Oracle fires the trigger instead of executing the triggering statement. The trigger performs the insert, update, or delete actions directly on the base tables of the view.

Statement check boxes:

UPDATE INSERT DELETE	Specifies the type of SQL statement (triggering statement) that fires the trigger body. The possible options are UPDATE, INSERT, and DELETE.  Check one or more of the check boxes to include the option in the triggering statement. If the triggering statement specifies UPDATE, an optional list of columns can be included in the triggering statement. See the Of Columns option next. If more than one option is checked, you can use the conditional predicates UPDATING, INSERTING, and DELETING to execute specific blocks of code in the trigger body. See Trigger Body later.

Of Columns option:

Of Columns	(For tables only.) Corresponds to the OF clause in the UPDATE triggering statement of the SQL command CREATE TRIGGER. Displays a list of columns for the table selected in the Table field. This list is active only if the triggering statement specifies UPDATE. Click one or more columns in this list box to specify that the trigger fires only when one of the selected columns is updated.  If you want the trigger to fire when any column in the table is updated, do not click any column names in the list. Not available with INSTEAD OF triggers. Oracle fires INSTEAD OF triggers whenever an UPDATE changes a value in any column of the view. Oracle8 objects: You cannot specify nested table columns or LOB columns here.

For Each Statement option:

Statement	Corresponds to the FOR EACH STATEMENT option of the SQL command CREATE TRIGGER.  Designates the trigger to be a statement trigger. Oracle fires a statement trigger only once when the triggering statement is issued (regardless of the number of rows affected), if the optional trigger constraint defined in the WHEN clause is satisfied. Not available with INSTEAD OF triggers.

For Each Row options:

Row	Corresponds to the FOR EACH ROW option of the SQL command CREATE TRIGGER.  Designates the trigger to be a row trigger. Oracle fires a row trigger once for each row that is affected by the triggering statement and meets the optional trigger constraint defined in the WHEN clause.
Referencing	Specifies correlation names. You can use correlation names in the trigger body and WHEN clause of a row trigger to refer specifically to old and new values of the current row. The default correlation names are OLD and NEW. If your row trigger is associated with a table named OLD or NEW, use this option to specify different correlation names to avoid confusion between the table name and the correlation name. For row triggers only.
OLD As	Specifies a correlation name to avoid a name conflict between the correlation name and a table that is named OLD.
NEW As	Specifies a correlation name to avoid a name conflict between the correlation name and a table that is named NEW.
When	(For tables only.) Corresponds to the Boolean SQL expression in the WHEN clause of the SQL command CREATE TRIGGER. For row triggers only. Specifies an optional trigger restriction. If included, the SQL expression is evaluated for each row that the trigger affects.  If the expression evaluates to TRUE for a row, the trigger body is fired.  If the expression evaluates to FALSE or NOT TRUE for a row (i.e., unknown, as with nulls), the trigger body is not fired. Oracle8 objects: You can reference object columns or their attributes, VARRAY, nested table, or LOB columns. You cannot invoke PL/SQL functions or methods in the trigger restriction.

Specify the trigger action in:

Trigger Body	The PL/SQL block Oracle executes to fire the trigger. A scrollable, multi-line text box where you can type and edit a PL/SQL block.  Trigger bodies can include SQL and PL/SQL statements. BEGIN and END keywords are required. The trigger body for row triggers can include correlation names and the REFERENCING option, and the conditional predicates INSERTING, DELETING, and UPDATING. If more than one type of triggering statement is specified for the row trigger, e.g., INSERT and UPDATE, you can include the following conditions to execute specific blocks of code in the trigger body: IF INSERTING THEN…END IF; IF UPDATING THEN…END IF;

The buttons in the editor are:

New	Creates a new database trigger. Click New to start defining a new trigger.
Save	Saves the trigger options and compiles the source appearing in the Trigger Body field.  Any error messages generated as a result of the compilation will display in a message box.
Revert	Restores the database trigger to its state at the last save or revert operation.
Drop	Drops the current database trigger from the database, with confirmation.
Close	Exits the Database Trigger editor.
Help	Displays this help topic.


About database triggers

Database triggers are procedures that are stored in the database and implicitly executed when a triggering statement such as INSERT, UPDATE, or DELETE is issued against the associated table.  Triggers can be defined only on tables, not on views.  However, triggers on the base table of a view are fired if an INSERT, UPDATE, or DELETE statement is issued against a view.

A trigger can include SQL and PL.SQL statements that execute as a unit, and can invoke other stored procedures.  Use triggers only when necessary.  Excessive use of triggers can result in cascading or recursive triggers.  For example,  when a trigger is fired, a SQL  statement in the trigger body potentially can fire other triggers.

By using database triggers, you can enforce complex business rules and ensure that all applications behave in a uniform manner. Use the following guidelines when designing triggers:

•	Use triggers to guarantee that when a specific operation is performed, related actions are performed.

•	Use database triggers only for centralized, global operations that should be fired for the triggering statement, regardless of which user or database application issues the statement.

•	Do not define triggers that duplicate the functionality already built into Oracle. For example, do not define triggers to enforce data integrity rules that can be easily enforced using declarative integrity constraints.

•	Limit the size of triggers (60 lines or fewer is a good guideline). If the logic for your trigger requires much more than 60 lines of PL/SQL code, it is better to include most of the code in a stored procedure, and call the procedure from the trigger.

•	Be careful not to create recursive triggers. For example, creating an AFTER UPDATE statement trigger on the EMP table that itself issues an UPDATE statement on EMP causes the trigger to fire recursively until it has run out of memory.

For additional information about how triggers are used in applications, see the Oracle8 Application Developer's Guide. See the Oracle8 Concepts Manual for more information about the different types of triggers.


Displays the user ID of the owner of the current database table.  Click the arrow to the right of this field to display a drop-down list of users.


Displays the name of the current database table or view.  Click the arrow to the right of this field to display a drop-down list of tables or views owned by the user shown in the Table Owner field.  Click a table or view in the list to select it.  The list displays only the names of the database tables or views to which you have access. (Views are for Oracle8 only)


Displays the name of the current database trigger.  Click the arrow to the right of this field to display a drop-down list of trigger names for the table or view shown in the Table/View field.  The Name list displays only the names of the database triggers to which you have access.


Indicates when the trigger body is fired in relation to the triggering statement (e.g., UPDATE, INSERT, or DELETE) being executed.  This set of radio buttons correspond to the BEFORE, AFTER and INSTEAD OF options of the SQL command CREATE TRIGGER.


Specifies that the trigger is fired before the triggering statement.


Specifies that the trigger body is fired after the triggering statement.


Specifies that Oracle fires the trigger instead of executing the triggering statement.  For views only.


Specifies the type of SQL statement that fires the trigger body.  The possible options are UPDATE, INSERT, and DELETE.  Click one or more of the check boxes to activate the option. For tables only.


Specifies that the trigger is fired upon an INSERT event.


Specifies that the trigger is fired upon a DELETE event.


Specifies that the trigger is fired upon an UPDATE event.


Displays a list of columns for the table selected in the Table field.  This list is only active if the UPDATE option is activated in the Statement field. For tables only.


Specifies a row trigger.  Corresponds to the FOR EACH ROW option of the CREATE TRIGGER command.


Specifies a statement trigger.  Corresponds to the FOR EACH STATEMENT option of the CREATE TRIGGER command.


Specifies a correlation name to avoid a name conflict between the correlation name and a table or view that is named OLD.


Specifies a correlation name to avoid a name conflict between the correlation name and a table or view  that is named NEW.


Specifies a Boolean SQL expression in a WHEN clause.  If included, the expression in the WHEN clause is evaluated for each row that the trigger affects.  If the expression evaluates to TRUE for a row, the trigger body is fired.  If the expression evaluates to FALSE or NOT TRUE (i.e., unknown, as with nulls), for a row, the trigger body is not fired. For tables only.


A scrollable, multi-line text box where you can enter and edit a PL/SQL database trigger body.  Trigger bodies are PL/SQL blocks that can include SQL and PL/SQL statements.


Creates a new, unnamed database trigger.


Saves the trigger options and compiles the source appearing in the Trigger Body field.  Any error messages generated as a result of the compilation will appear in a message box.


Restores the database trigger to its state at the last save or revert operation.  If no save or revert operations have occurred, the database trigger is returned to its original state.


Drops the current database trigger from the database, with confirmation.


The PL/SQL Interpreter interface

The PL/SQL Interpreter is your debugging workspace, where you can display source code, create debug actions, run program units, and execute Interpreter commands, PL/SQL, and SQL statements.

By default, two panes are always open in the PL/SQL Interpreter: Source pane and Interpreter pane.

Standard toolbar buttons  All panes in the Interpreter share one toolbar.  With the exception of Close, the following buttons are only activated during suspended execution of a program unit and are used for debugging.

Step Into		Resumes execution of the suspended program unit to the next executable statement.
Step Over		Resumes execution of the suspended program unit to the next executable statement, stepping over any calls to nested subprograms.
Step Out		Resumes execution of a nested subprogram, suspending execution at the next executable statement in the calling program unit.
Go		Resumes execution of the suspended program unit to the end of the program unit, or to the next debug action.
Reset		Exits the current debug level.  If the current debug level is 1, suspended execution is abandoned.
Close		Closes the PL/SQL Interpreter window.
Help		Displays this help topic.
Source pane  The Source pane displays a read-only copy of the currently selected program unit.  Keywords, comments, strings, and symbols are colored differently.  The first column in the left margin is reserved for icons or symbols.  Source lines are numbered in the second column.

The following icons may appear:

yellow arrow		Specifies the current execution location or PC (program counter).
red ball		Specifies enabled breakpoint or trigger.
green ball		Specifies disabled breakpoint or trigger.

The following symbols may also display in the Source pane:

|	Specifies the current source location.  The current source location changes as a result of Interpreter commands (e.g., LIST) or when program unit execution is interrupted by a debug action (e.g., a breakpoint).
B(n)	Specifies the location of a breakpoint, where n is the corresponding debug action ID.
T(n)	Specifies the location of a debug trigger, where n is the corresponding debug action ID.

The Source pane provides the following commands from a pop-up menu (right-click in Windows):

Break	Displays the Breakpoint dialog box, where you can define a new breakpoint.
Trigger	Displays the Trigger dialog box, where you can define a new debug trigger.
Edit	Displays the Program Unit editor, where you can edit the current program unit.
Note:  Not all systems provide support for pop-up menus.  The above commands are also available from the Debug menu.

Split bars  Split bars enable you to change the relative amount of space occupied by each pane in the Interpreter.  When the Interpreter initially appears, a split bar is located between the Source pane and the Interpreter pane.  If you are using the modal Interpreter, or have inserted the Navigator pane in the modeless Interpreter, a second split bar appears.

Interpreter pane  The Interpreter pane provides a command line interface to PL/SQL, Procedure Builder, and SQL.  You can enter PL/SQL statements or blocks, Procedure Builder Interpreter commands, or SQL statements after the PL/SQL> prompt.  (SQL*Plus statements and syntax are not supported.)

Multi-line commands  While entering PL/SQL syntax at the PL/SQL> prompt, you can press the Enter key at any time to get a secondary prompt in the form +>.  You can display as many subsequent secondary prompts as you need before executing the code with a terminating semicolon (;).

Debug levels  When program execution is suspended by a debug action, the Interpreter establishes a debug level.  At a debug level you can enter commands and PL/SQL statements, which may in turn be interrupted, resulting in nested debug levels.  The current debug level is reflected by a new prompt in the Interpreter pane, which includes a prefix containing the current debug level number.  For example, the Interpreter prompt at debug level 1 appears as:

(debug 1)PL/SQL>

Pop-up menu  The Interpreter pane provides the following commands from a pop-up menu (right-click in Windows):

Clear	Discards all text in the Interpreter pane and issues a new prompt.
New Prompt	Issues a new prompt in the Interpreter pane.  Any input after the previous prompt is ignored.
Note:  Not all systems provide support for a pop-up menu.

Navigator pane  The Navigator pane allows you to view the current call stack, as well as view and optionally modify the values of local variables and parameters at the current scope location while you are debugging.

You can insert a Navigator pane between the Source pane and the Interpreter pane if you want to work entirely in the Interpreter while debugging your program units.  To insert a Navigator pane, choose View [image] Navigator Pane from the menu.  To hide the Navigator pane, choose the same command again.  You can also hide any other pane by selecting the appropriate command from the View menu.

Navigator toolbar  If the Navigator pane is displayed, the following also appear in the button bar:

Create		Creates a new instance of the currently selected object or node.
Delete		Deletes the selected object with confirmation.
Expand		Expands the first level of subnode for the currently selected node.
Collapse		Collapses the current level of subnode of the currently selected node.
Expand All		Expands all levels of subnodes for the currently selected node. However, it does not expand Oracle8 datatype and attribute nodes recursively.
Collapse All		Collapses all levels of subnodes for the currently selected node.
Find (text box)		Allows you to search for an object in the Navigator by typing a partial or full name of the object.
Search forward		Finds the next occurrence of the search criteria specified in the Find text box.
Search backward		Finds the previous occurrence of the search criteria specified in the Find text box.


Resumes execution of the suspended program unit to the next executable statement.


Resumes execution of the suspended program unit to the next executable statement, stepping over any calls to nested subprograms.


Resumes execution of a nested subprogram, suspending execution at the next executable statement in the calling program unit


Resumes execution of the suspended program unit to the end of the program unit, or to the next debug action.


Exits the current debug level.  If the current debug level is 1, suspended execution is abandoned.


Creates a new instance of the currently selected object or node.


Deletes the selected object with confirmation.


Expands the first level of subnode for the currently selected node.


Collapses the current level of subnode of the currently selected node.


Expands all level of subnodes for the currently selected node. Oracle8 datatype and attribute nodes are not expanded recursively.


Collapses all level of subnode for the currently selected node.


Type the name of an object you wish to search for in the Navigator.


Specifies the name of the current program unit, and indicates if it is located on the client or the server.


Displays a read-only copy of the currently selected program unit, with source lines numbered in the second column.


Enables you to change the relative amount of space occupied by each pane in the Interpreter.  When the Interpreter initially appears, a split bar is located between the Source pane and the Interpreter pane.  If you are using the modal Interpreter, or have inserted the Navigator pane in the modeless Interpreter, a second split bar appears.


Allows you to view the current call stack, as well as view and optionally modify the values of local variables and parameters at the current scope location while you are debugging.


Provides a command line interface to PL/SQL, Procedure Builder, and SQL.  You can enter PL/SQL statements or blocks, Procedure Builder Interpreter commands, or SQL statements after the PL/SQL> prompt.


About error messages

Each component has a unique error message prefix:

Prefix	Component
FRM	Form Builder
OG	Graphics Builder
PDE	Procedure Builder
REP	Report Builder
BRW	Query Builder
BRS	Schema Builder
NX, XBD	Translation Builder
Note:  On UNIX, Report Builder sets the value of the $status variable that appears in some messages to be 0 (successful completion) or 1 (unsuccessful completion).

In addition to the Forms Developer or Reports Developer error messages, you may encounter error messages from other sources:

Prefix	Source	Help
ORA	Oracle Server	Oracle8 Error Messages manual
PLS	PL/SQL	Oracle8 Error Messages manual
NET	SQL*Net	Oracle Network Products Messages manual
The Oracle8 Error Messages manual contains error message codes and descriptions for all database utilities such as SQL*DBA, SQL*Loader,SQL*Module,Export, Import, and the Oracle Precompilers.

System-specific error messages are documented in your operating system documentation.


Calling Oracle Support Services

Some errors (that is, internal errors) will require that you call Oracle Support Services to report the error.  When you call Support Services, please have the following information at hand:

1	Your name, company, and Oracle Support ID number.

2	The hardware, operating system, and release number of the operating system you are using.

3	The complete version number of the component you were using when you encountered the error, including revision number and port release number, if any.  (If you are unsure of the component's version number, choose Help [image] About.)

4	All other products (and version numbers) in use when you encountered the error (for example, Oracle 8.0.4).

5	If you encountered one or more error messages, the exact message numbers and descriptions, in the order they appeared.

6	A description of the problem, including any unusual conditions.

7	The problem severity, according to the following codes:

•	1:  Program not usable.  Critical impact on operations.

•	2:  Program usable.  Operations severely restricted.

•	3:  Program usable with limited functions.  Not critical to overall operations.

•	4:  Problem circumvented by customer.  Minimal effect, if any, on operations.


Abnormal conditions

Sometimes you may encounter an error that is known as an abnormal condition, which may arise from one of the following causes:

•	Someone has done something that prevented your application from completing the requested task.  For example, if someone bypassed the user interface and changed data in a database table, they might have typed an invalid value.

•	A software bug prevented the requested task from completing.

Action   First contact your system administrator to determine if the message was caused by something other than Forms Developer or Reports Developer.  If you determine that the message was not the result of user error or a system problem, then contact Oracle Support Services.


About the PL/SQL V1 conversion utility

  Related Topics

The PL/SQL V1 conversion utility helps automate the process of upgrading applications written in PL/SQL V1 or V2.

If the triggers, program units, and PL/SQL blocks in your forms, reports, and displays are written in PL/SQL V1 or V2, your code must be upgraded.  If it isn’t, two types of problems can occur:

•	Some PL/SQL V1 or V2 code is not syntactically valid in later versions and produces a compiler error.

•	Some PL/SQL V1 or V2 code is syntactically correct in later versions, but has a different meaning, causing unexpected or incorrect behavior.

The conversion utility addresses both types of problems.


How does the PL/SQL V1 conversion utility work?

  Related Topics

You can use the conversion utility interactively or in batch mode.  In either case, you control whether or not the utility actually updates your code.  Interactive mode provides a greater degree of flexibility, as you can let the utility make some changes and make others manually.  In batch mode, the utility either makes all of the conversions it can or none of them.  Regardless of whether the conversion occurs in interactive or batch mode, a summary of the conversion process is written to a log file called module.plg.

To run the utility interactively , open a saved form, report, display, or library containing PL/SQL V1 or V2 code in the associated Builder.

To run the utility in batch mode, refer to these topics:

•	Converting forms in batch mode

•	Converting reports in batch mode

•	Converting displays in batch mode

Tip

While the conversion utility can upgrade your code to resolve several V1 or V2 incompatibilities, there are some situations it can’t address.  These result in compiler errors, which are listed in the PL/SQL V1 Conversion Summary dialog box (interactive mode) or in the log file so you can address them manually.  See What can’t the utility convert?  for more information.

After the conversion utility converts and saves an application-even if you choose to ignore all suggested conversions-the utility is never again re-invoked for that application.  This prevents the utility from overwriting any changes you may have made manually.


Before deciding which mode to use, try converting a few modules of each type interactively.  That will give you an idea of the kinds of issues you’re facing in each type of module, and may help you decide how to proceed.  For example, you might discover that your forms require the close monitoring that interactive mode provides, while your reports and PL/SQL libraries can be safely converted in batch mode.


Using the PL/SQL V1 conversion utility interactively

  Related Topics

To run the conversion utility interactively, open a form, report, display, or library containing PL/SQL V1 or V2 code in the associated Builder, then save the application.

Important:

•	After the conversion utility converts and saves an application-even if you choose to ignore all suggested conversions-the utility can never again be invoked for that application.  This prevents the utility from overwriting any changes you may have made manually.

Each PL/SQL V1 or V2 statement in your trigger, PL/SQL block, or program unit is presented in the Conversion dialog box.  The dialog box also contains the action the conversion utility will take if you choose to convert.  You have complete control over whether you accept the proposed change, ignore it, convert the entire application , or stop the process entirely.  (You can also use the PL/SQL V1 Conversion Options dialog box to set parameters that control the conversion process behind the scenes.)

The utility keeps track of the changes you have made (and those you chose not to make) and summarizes them at the end of the conversion process in a log file called module.plg.   You can then invoke the PL/SQL editor to manually update the application.


Using the PL/SQL V1 conversion utility in batch mode

  Related Topics

To run the utility in batch mode, refer to these topics:

•	Converting forms in batch mode

•	Converting reports in batch mode

•	Converting displays in batch mode


Converting forms in batch mode

  Related Topics

To convert a form in batch mode:

1	Make sure you have converted all PL/SQL libraries attached to the form.

2	Do one of the following:

•	Run the GUI version of the Forms Compiler

•	Run the Forms Compiler from the command line

Regardless of the method you choose, a summary of the conversion process is automatically written to the log file module.plg, where module is the name of the form module converted.

Usage Note:

•	After the conversion utility converts and saves an application-even if you choose to ignore all suggested conversions-the utility can never again be invoked for that application.  This prevents the utility from overwriting any changes you may have made manually.


Converting forms using the GUI version of the Forms Compiler

To convert a form using the GUI version of the Form Compiler:

1	Double-click the Form Compiler icon.

2	Select the appropriate module type and module access.

3	Select the box Upgrade PL/SQL from V1 to V2.3?

4	Click OK.


Converting forms from the command line

  Related Topics

To convert a form using the Form Compiler on the command line:

  From the command line, issue:

<Form Compiler> MODULE=form BATCH=yes UPGRADE_PLSQL=yes UPGRADE=yes

where:

<Form Compiler>	Is the name of the Form Compiler executable on your platform.
form	Is the name of the form you want to convert.
Usage Notes:

•	If you specify UPGRADE_PLSQL=YES without also specifying UPGRADE=YES, an error message is generated.  Because you cannot convert the PL/SQL in a form without upgrading the entire form to 6.0, UPGRADE=YES must be specified when UPGRADE_PLSQL= YES.

•	To convert many displays at once, use Project Builder.  See the Project Builder help topic Choosing an upgrade method.


Converting PL/SQL libraries attached to a form

To convert a PL/SQL library interactively:

  Open the library in Form Builder, then save it.

To convert a PL/SQL library using the GUI version of the Form Compiler:

1	Double-click the Form Compiler icon.

2	In the File field, select the PL/SQL Library you want to convert.

3	In the Write output to file field, make sure the target file has the extension .PLL.

4	Click OK.

To convert a PL/SQL library using the Form Compiler on the command line:

  From the command line, issue:

<Form Compiler> MODULE=library BATCH=yes UPGRADE_PLSQL=yes UPGRADE=yes

where:

<Form Compiler>	Is the name of the Form Compiler executable on your platform.
library	Is the name of the library you want to convert.
Usage Note:

•	If you specify UPGRADE_PLSQL=YES without also specifying UPGRADE=YES, an error message is generated.  Because you cannot convert the PL/SQL in a form without upgrading the entire form to 6.0, UPGRADE=YES must be specified when UPGRADE_PLSQL= YES.

•	To convert many displays at once, use Project Builder.  See the Project Builder help topic Choosing an upgrade method.


Specifying Form Builder Compiler parameters

This table describes how different combinations of the BATCH, UPGRADE, and UPGRADE_PLSQL parameters affect the conversion process:

BATCH	UPGRADE_PLSQL	UPGRADE	Behavior
NO	YES	YES	PL/SQL in form is converted in batch mode (even though BATCH=NO).  The utility cannot be invoked interactively outside the Builder.
YES	YES	YES	PL/SQL in form is converted in batch mode.
NO	NO	YES	PL/SQL in form is not converted, but a list of suggested conversions is written to module.plg. The rest of the form is upgraded to Forms 6i.
YES	NO	YES	PL/SQL in form is not converted, but a list of suggested conversions is written to module.plg. The rest of the form is upgraded to Forms 6i.
NO	NO	NO	Used to compile a new FMX without modifying the FMB.  If the form contains 1.3 PL/SQL, you may see compiler errors, or the behavior of the code may be different.
YES	NO	NO	Used to compile a new FMX without modifying the FMB. If the form contains 1.3 PL/SQL, you may see compiler errors, or the behavior of the code may be different.
Important:

If you are upgrading from 45FMT to 60FMB and you do not specify the UPGRADE_PLSQL option, the PL/SQL in the form is not converted, but a list of suggested conversions is written to a log file. This log file is placed in the current working directory, which may be different from the directory in which the FMT file is located.


Converting reports in batch mode

To convert a report in batch mode:

1	Make sure you have converted all PL/SQL libraries attached to the report.

2	Do one of the following:

•	Run the GUI version of the Report Compiler

•	Run the Report Compiler from the command line

Regardless of the method you choose, a summary of the conversion process is automatically written to the log file module.plg, where module is the name of the report module converted.  A separate log is generated for each module.

Usage Note:

•	After the conversion utility converts and saves an application-even if you choose to ignore all suggested conversions-the utility can never again be invoked for that application.  This prevents the utility from overwriting any changes you may have made manually.


Converting reports using the GUI version of the Report Compiler

To convert one or more reports using the GUI version of the Report Compiler:

1	Double-click the Report Compiler icon.

2	In the Document Type field, select Report.

3	Choose the appropriate Source and Destination types.

4	Use the Source field Browse button to locate the report(s) you want to convert.

5	Use the Destination field Browse button to select the destination for the converted report.

6	Click OK.


Converting reports from the command line

To convert one or more reports from the command line:

  From the command line, issue:

<Report Compiler> SOURCE=rep1,rep2, UPGRADE_PLSQL=yes

where:

<Report Compiler>	Is the name of the Report Compiler executable on your platform.
rep1,rep2,	Is the name of the report(s) you want to convert.


Converting PL/SQL libraries attached to a report

To convert a PL/SQL library interactively:

  Open the library in Report Builder, then save it.

To convert a PL/SQL library using the GUI version of the Report Compiler:

1	Double-click the Report Compiler icon.

2	In the Document Type field, specify PL/SQL Library.

3	In the Source Type field, specify .PLL.

4	In the Destination Type field, specify .PLL or .PLX.  If you specify .PLD, the V1 or V2 PL/SQL will not be converted.

To convert a PL/SQL library using the Report Compiler on the command line:

  From the command line, issue:

<Report Compiler> SOURCE=lib1,lib2, UPGRADE_PLSQL=yes

where:

<Report Compiler>	Is the name of the Report Compiler executable on your platform.
lib1, lib2	Is the name of the library(s) you want to convert.
Usage Note:

•	To convert many displays at once, use Project Builder.  See the Project Builder help topic Choosing an upgrade method.


Converting displays in batch mode

To convert displays in batch mode:

1	Make sure you have converted all PL/SQL libraries attached to the display .

2	Issue this command:

<Graphics Builder> openfile=temp.ogd upgrade_plsql=yes savefile=temp1.ogd quit=yes

where:

<Graphics Builder>	Is the name of the Graphics Builder executable on your platform.
openfile=temp.ogd	Opens the display temp.ogd in Graphics Builder.
upgrade_plsql=yes	Converts the V1 or V2 PL/SQL.
savefile=temp1.ogd	Saves the converted display in temp1.ogd.
quit=yes	Closes Graphics Builder after the display is converted.
Usage Notes:

•	A summary of the conversion process is automatically written to the log file module.plg, where module is the name of the display converted.

•	To convert many displays at once, use Project Builder.  See the Project Builder help topic Choosing an upgrade method.

•	After the conversion utility converts an application-even if you choose to ignore all suggested conversions-the utility can never again be invoked for that application.  This prevents the utility from overwriting any changes you may have made manually.


Converting PL/SQL libraries attached to a display

To convert a PL/SQL library interactively:

  Open the library in Graphics Builder, then save it.

To convert a PL/SQL library in batch mode:

  Issue this command:

<Graphics Builder> openfile=temp.lib upgrade_plsql=yes savefile=temp1.lib quit=yes

where:

<Graphics Builder>	Is the name of the Graphics Builder executable on your platform.
openfile=temp.lib	Opens the library temp.lib in Graphics Builder.
upgrade_plsql=yes	Converts the V1 or V2 PL/SQL.
savefile=temp1.lib	Saves the converted library in temp1.lib.
quit=yes	Closes Graphics Builder after the library is converted.
Usage Notes:

•	A summary of the conversion process is automatically written to the log file module.plg, where module is the name of the library converted.

•	After the conversion utility converts an application-even if you choose to ignore all suggested conversions-the utility can never again be invoked for that application.  This prevents the utility from overwriting any changes you may have made manually.

•	To convert many displays at once, use Project Builder.  See the Project Builder help topic Choosing an upgrade method.


What does the PL/SQL V1 conversion utility convert?

  Related Topics

The situations that the conversion utility can resolve within your application are:

CHAR replaced by VARCHAR2

String length required for VARCHAR2

Default expressions for OUT and IN OUT disallowed

RETURN requires an expression

Obsolete built-ins replaced

Length function returns NULL for zero-length strings

Passing NULL to an overloaded subprogram does not resolve properly

Missing RETURN statement in function causes runtime error

Length constraints removed


CHAR replaced by VARCHAR2

In PL/SQL V1, the datatypes CHAR and VARCHAR2 could be used interchangeably.  In versions after V1, the CHAR datatype is right padded with blanks.

In PL/SQL V1, this statement:

var1 CHAR(10) := ‘hello’;

. . .is equal to ‘hello’.

In versions after V1, however, this statement resolves to ‘hello     ‘, (a total of ten characters).

To preserve the V1 behavior of CHAR variables, the conversion utility replaces all CHAR(n) declarations with the equivalent VARCHAR2(n) statement.  In the example above, var1 becomes VARCHAR2(10).

The conversion utility also replaces all VARCHAR statements with the equivalent VARCHAR2 expression.


String length required for VARCHAR2

Versions after PL/SQL V1 require a length for all VARCHAR2 variables.  If a length is already specified for a CHAR datatype, the conversion utility uses that length when replacing the declaration with VARCHAR2 (see CHAR replaced by VARCHAR2 for more information).  For example:

var1 CHAR(10);

. . .is converted to:

var1 VARCHAR2(10);

When the converter detects a CHAR or VARCHAR2 statement without a string length, it suggests a length of one character.  For example:

var2 CHAR;

. . .is converted to:

var2 VARCHAR2(1);

Similarly,

var3 VARCHAR2;

. . .is converted to:

var3 VARCHAR2(1);

If you do not supply a length for a VARCHAR2 declaration, the compiler generates this error message:

ERROR 215:  String length constraint must be in range (1 . . 32767)


Default expressions for OUT and IN OUT disallowed

  Example

In PL/SQL V1, OUT and IN OUT parameters could be followed by a default expression, although that expression was always ignored.  The conversion utility removes the default expressions for OUT and IN OUT parameters.

If you compile existing code that includes OUT and IN OUT parameters with default expressions, this error message is generated:

ERROR 230:  OUT and IN OUT formal parameters may not have default expressions


Removing default expressions example

  Related Topics 	   All Examples

The conversion utility converts this PL/SQL V1 code:

PROCEDURE p (p1 IN OUT NUMBER DEFAULT 25,
             p2 OUT NUMBER DEFAULT 16) IS

BEGIN
. . .
END;

. . . to this:

PROCEDURE p (p1 IN OUT NUMBER, p2 OUT NUMBER) IS

BEGIN
. . .
END;


RETURN requires an expression

  Example

In PL/SQL V1, you could use a RETURN statement without an expression to return a NULL value.  Since all functions should return values, versions after V1 consider the RETURN statement mandatory.  The conversion utility replaces all RETURN statements not followed by an expression with RETURN NULL.

If you compile existing code that includes a RETURN statement without an expression, this error message is generated:

ERROR 503:  RETURN statement required for this return from function


Adding NULL to RETURN example

  Related Topics 	   All Examples

The conversion utility converts this PL/SQL V1 code:

FUNCTION f RETURN NUMBER IS
x NUMBER;
BEGIN
x :=13;
IF . . . THEN
RETURN;
END IF;
RETURN x;
END;

. . . to this:

FUNCTION f RETURN NUMBER IS
x NUMBER;
BEGIN
x :=13;
IF . . . THEN
RETURN NULL;    NULL added here
END IF;
RETURN x;
END;


Obsolete built-ins replaced

  Example

The TO_PLS_INTEGER built-in, which converts character strings to PL/SQL integers, is obsolete in versions after V1.  The conversion utility replaces TO_PLS_INTEGER with the built-in TO_NUMBER.

If you do not replace the TO_PLS_INTEGER built-in, this compiler error is generated:

ERROR 201:  Identified TO_PLS_INTEGER must be declared

Note:  Other obsolete built-ins must be replaced manually.


Replacing obsolete built-in example

  Related Topics 	   All Examples

The conversion utility converts this PL/SQL V1 code:

PROCEDURE foo IS
     v INTEGER;
BEGIN
     v := TO_PLS_INTEGER(24);
END;

. . .to this:

PROCEDURE foo IS
     v INTEGER;
BEGIN
     v := TO_NUMBER(24);     TO_PLS_INTEGER replaced with TO_NUMBER
END;


Length function returns NULL for zero-length strings

  Example

In PL/SQL V1, the LENGTH function applied to a null expression resolves to zero.  In versions after V1, the LENGTH function applied to a null expression resolves to null.

To preserve V1 behavior, the PL/SQL conversion utility adds the NVL SQL predicate to ensure that the LENGTH function applied to a null expression resolves to zero.


Length function example

  Related Topics 	   All Examples

The conversion utility converts this PL/SQL V1 code:

c:=null;
l=LENGTH( c );         In V1, this resolves to 0

. . . to this:

c:=null;
l=NVL(LENGTH( c ),0);  Converter wraps LENGTH function
                                                      with NVL( ) built-in, forcing the
                                                      expression to resolve to 0


Passing NULL to an overloaded subprogram does not resolve properly

  Example

In PL/SQL V1, you could define the same subprogram in a package as two different data types: VARCHAR2 and a RECORD type.  This is called overloading the subprogram. If you then passed a NULL value to an overloaded subprogram, PL/SQL assumed a data type of VARCHAR2.  However, versions after V1, a NULL value passed to an overloaded subprogram within a package must have a defined type.

To preserve V1 behavior, the PL/SQL conversion utility takes one of the following actions, as appropriate, when it encounters a NULL passed to an overloaded subprogram:

•	Wrap NULL with TO_CHAR( )

•	Wrap NULL with TO_NUMBER( )

•	Wrap NULL with TO_DATE( )

•	Wrap NULL with NOT

If you pass a NULL value to an overloaded program unit without defining the desired data type, the compiler generates this error message:

ERROR 307:  Too many declarations of ‘PU name’ match this call . . .


Passing NULL to overloaded subprogram example

  Related Topics 	   All Examples

The conversion utility converts this PL/SQL V1 code:

PACKAGE ps1 IS
  TYPE foo IS RECORD(id PLS_INTEGER);
                              Subprogram p is overloaded::
  PROCEDURE p(a VARCHAR2);    a is defined as a variable of type VARCHAR2
  PROCEDURE p(a FOO);         a is also defined as another data type
END;

PROCEDURE foo2 IS
BEGIN
  ps1.p(NULL);                In PL/SQL V1, the VARCHAR2
                                                                      datatype is assumed.
END;

. . . to this:

PACKAGE ps1 IS
  TYPE foo IS RECORD(id PLS_INTEGER);

  PROCEDURE p(a VARCHAR2);
  PROCEDURE p(a FOO);

END;

PROCEDURE foo2 IS
BEGIN
  ps1.p(TO_CHAR(NULL));      Since a is type VARCHAR2, the NULL
                             value is wrapped with TO_CHAR( )
END;


Missing RETURN statement in function causes runtime error

  Example

Omitting the RETURN statement in a function in PL/SQL V1 does not cause a problem at runtime.  However, in versions after V1, this will cause a runtime error.

To preserve V1 behavior, the PL/SQL conversion utility adds a RETURN statement with a NULL argument to functions that are missing a RETURN statement.

Note:  A missing RETURN statement in a function will not generate a compiler error, but it will generate a runtime error in versions after V1.


Missing RETURN example

  Related Topics 	   All Examples

The conversion utility converts this PL/SQL V1 code:

FUNCTION noreturn (arg IN NUMBER) RETURN char IS
BEGIN
  IF (arg > 100000) THEN
    TEXT_IO.PUT_LINE ('The point of no return.');
  ENDIF;
                         RETURN statement is missing
END;

. . . to this:

FUNCTION noreturn (arg IN NUMBER) RETURN char IS
BEGIN
  IF (arg > 100000) THEN
    TEXT_IO.PUT_LINE ('The point of no return.');
  ENDIF;
  RETURN NULL;            RETURN NULL added by converter
END;


Length constraints removed

  Example

In PL/SQL V2, the length constraints on DATE, BOOLEAN, MLSLABEL, and ROWID are ignored.  However, this causes compilation errors in V8.

To preserve V2 behavior, the PL/SQL conversion utility removes the constraints.


Removing length constraints example

  Related Topics 	   All Examples

The conversion utility converts this code:

PROCEDURE badconstraint IS
d DATE(5);
b BOOLEAN(5);
d MLSLABEL(5); --V2 only
r ROWID(5); --V2 only
BEGIN
  null;
END;

. . . to this:

PROCEDURE badconstraint IS
d DATE;
b BOOLEAN;
d MLSLABEL; --V2 only
r ROWID; --V2 only
BEGIN
  null;
END;


What can't the PL/SQL V1 conversion utility convert?

  Related Topics

While the conversion utility can convert many of the PL/SQL incompatibilities it encounters, some situations require you to address them manually:

Unique names required within a package

Standard package function no longer used

New reserved words in PL/SQL V2.3 or later

%ROWTYPE or %TYPE required in variable declarations

The warning "Encountered a non-recoverable error; conversion aborted at line <line number> column <column>" displays when there is a fatal compiler error and the conversion process cannot continue.


Unique names required within a package

  Example

In PL/SQL V1, when you created a variable with the same name as a procedure or function in the same package, the variable was always used; the identically named procedure or function was ignored.  In versions after V1, variables, functions, and procedures within the same package must be unique.

To avoid an error, make sure all procedures within a package have unique names, either by doing so explicitly, or by appending the word Unused to the procedure name.

Note:  In V1, Procedure Builder erroneously allowed you to create a program unit with the same name as a built-in package.  In versions after V1, this is not allowed.  If Procedure Builder detects a program unit with the same name as a built-in package, Procedure Builder changes the name of the program unit during load time by appending two dollar signs to the end of the program unit name.  Thus, DEBUG becomes DEBUG$$.


Renaming procedure names uniquely in a package example

  Related Topics 	   All Examples

This example first presents V1 PL/SQL code that will generate a compiler error, then shows how you might edit the code to avoid the error.

Change this code:

PACKAGE pk1 IS
  v1 NUMBER;           v1 is established as a variable
  PROCEDURE v1;        v1 is also established as a procedure
  PROCEDURE p2 (x OUT NUMBER);
END;

PACKAGE BODY pk1 IS
  PROCEDURE v1 IS
  BEGIN
   . . .
  END;

  PROCEDURE p2 (x OUT NUMBER) IS
  BEGIN
x := pk1.v1;
  END;

END;

. . . to this:

PACKAGE pk1 IS
  v1 NUMBER;
  PROCEDURE v1Unused;	  The procedure v1 is declared Unused
  PROCEDURE p2 (x OUT NUMBER);
END;

PACKAGE BODY pk1 IS
  PROCEDURE v1Unused IS
  BEGIN
   . . .
  END;

  PROCEDURE p2 (x OUT NUMBER) IS
  BEGIN
x := pk1.v1;
  END;

END;


Standard package function no longer used

  Example

In PL/SQL V1, you could call the FLOOR function from your own package, p1, like this:

v : = p1.FLOOR(x).

If the p1 package did not have a function called FLOOR, PL/SQL used the FLOOR function in the standard package.  This was actually a PL/SQL coding error that has been fixed in PL/SQL V2.3 or later.  Therefore, in PL/SQL V2.3, the compiler does not check the standard package for the function name, but correctly reports the situation as an error:

ERROR 302:  component ‘CCCCC’ must be declared

. . . where ‘CCCCC’ is the function or procedure name that exists in a standard package or standard package extension.

The message "Incorrect references will resolve to built-in package V1" is written to the log.

To direct the compiler to the standard package, remove the incorrect package name.


Removing the package prefix example

  Related Topics 	   All Examples

This example first presents V1 PL/SQL code that will generate a compiler error, then shows how you might edit the code to avoid the error.

Change this code:

PACKAGE pk1 IS a NUMBER;
END;

PROCEDURE p IS v NUMBER;
BEGIN
v := pk1.FLOOR(20.5);
END;

. . . to this:

PACKAGE pk1 IS a NUMBER;
END;

PROCEDURE p IS v NUMBER;
BEGIN
v := FLOOR(20.5);     Prefix removed
END;


New reserved words in PL/SQL V2.3 or later

  Examples

The word VARIANCE is reserved in PL/SQL V2.3 or later and, if used, generates a compiler error.

See the example for information on how to use VARIANCE without generating an error.


Reserved word examples

  Related Topics 	   All Examples

The example first presents PL/SQL V1 code that will generate a compiler error, then shows how you might edit the code to avoid the error.

Example 1:

Change this code:

FUNCTION variance (y IN NUMBER)
RETURN NUMBER IS

BEGIN
     . . .
     RETURN . . .;
END;

. . .to this:

FUNCTION varianceUniqueName (y IN NUMBER)
     /* A unique name was appended to Variance. */
RETURN NUMBER IS

BEGIN
     . . .
     RETURN . . .;
END;

Example 2:

When calling a subprogram, change the code:

PROCEDURE foo IS
     x NUMBER;
     y NUMBER;
BEGIN
     . . .
     x := variance(someNumber);
END;

. . .to this:

PROCEDURE foo IS
     x NUMBER;
     y NUMBER;
BEGIN
     . . .
     x := varianceUniqueName(someNumber);
END;


%ROWTYPE or %TYPE required in variable declarations

  Examples

The PL/SQL V8 compiler will issue an error on the following illegal syntax (which the PL/SQL V2 compiler incorrectly allows):

return variable-expression

procedure (parameter IN <table_name>)

procedure (parameter IN <table_name>.<column_name>)

The correct syntax should be:

return variable-type

procedure (parameter IN <table_name>%ROWTYPE)

procedure (parameter IN <table_name>.<column_name>%TYPE)

To avoid an error, use the datatype of the expression, append %ROWTYPE to the table name, or append %TYPE to the column name.


Variable declarations examples

  Related Topics 	   All Examples

These examples first present PL/SQL V2 code that will generate a compiler error, then show how you might edit the code to avoid the error.

Example 1:

Change this code:

FUNCTION return_column RETURN dept.dname IS
. . .

. . .to this:

FUNCTION return_column RETURN dept.dname%TYPE IS
. . .

Change this code:

PROCEDURE foo (name IN dept.dname) IS
. . .

. . .to this:

PROCEDURE foo (name IN dept.dname%TYPE) IS
. . .

Example 2:

Change this code:

FUNCTION return_table RETURN dept IS
. . .

. . .to this:

FUNCTION return_table RETURN dept.%ROWTYPE IS
. . .

Change this code:

PROCEDURE foo (name IN dept) IS
. . .

. . .to this:

PROCEDURE foo (name IN dept%ROWTYPE) IS
. . .

Example 3:

This example shows an exception where you cannot use %TYPE.

When declaring parameters, change this code:

FUNCTION return_parm (x IN NUMBER)
  RETURN x IS
. . .

. . .to this:

FUNCTION return_parm (x IN NUMBER)
  RETURN number IS
. . .


Database Libraries dialog
Database Libraries dialog box

The Database Libraries dialog box displays a list of libraries currently stored in the database.

Library	Is the list of libraries available from the database you're connected to.  Only the libraries you have GRANT access to are displayed in the list.  Click a library name to select it.


Is the list of libraries available from the database to which you're connected.  Only the libraries you have GRANT access to are displayed in the list.  Click a library name to select it.


New Program Unit dialog
New Program Unit dialog box

The New Program Unit dialog box allows you to specify a name and type of program unit to create.

Name	Type the name of the program unit.
Types	Specify the type of program unit you will create.  You can create the following:
Procedure	A PL/SQL subprogram that performs a specified sequence of actions.
Function	A PL/SQL subprogram that performs a specified sequence of actions, and then returns a value.
Package Spec	Datatypes and subprograms that can be referenced by other program units.
Package Body	Implementation of the package.  May include private subprograms and datatypes.  Is optional if the package consists only of declarations.
Type Spec	Declares the name, variables (attributes) and member subprograms (methods) for an object type or collection type.
Type Body	Implementation of the member methods (functions and procedures) defined in the type specification for an object type.  For each method specified in an object type, there must be a corresponding method body.
Note:  Type Spec and Type Body are enabled only if you are connected to Oracle8.


Type the name of the program unit.


Specifies the type of program unit you will create.


Open Library dialog
Open Library dialog box

The Open Library dialog box allows you to open existing libraries from the file system or the database, and provides a graphical user interface for the Interpreter's OPEN command.

Library	Type the name (and location) of the library you wish to open.
Browse	If File System or Either is selected in the From field, displays your operating system file select dialog box.  If Database is selected in the From field, displays the Database Libraries dialog box.
From	Indicates whether the library is stored on the file system or in the database.


Type the name (and location) of the library you wish to open.


If File System or Either is selected in the From field, displays your operating system file dialog box.  If Database is selected in the From field, displays the Database Libraries dialog box.


Indicates whether the library is stored on the file system or in the database.


Attach Library dialog
Attach Library dialog box

The Attach Library dialog box allows you to attach libraries to your current session, and provides a graphical user interface for the Interpreter's ATTACH command.

Library	Type the name (and location) of the library to attach.
Browse	If File System or Either is selected in the From field, displays your operating system file select dialog box.  If Database is selected in the From field, displays the Database Libraries dialog box.
From	Indicates whether the library is stored on the file system or in the database.
Attach	Confirms your selections, attaches the library, and closes the dialog box.


Type the name (and location) of the library to attach.


If File System or Either is selected in the From field, displays your operating system file dialog box.  If Database is selected in the From field, displays the Database Libraries dialog box.


Indicates whether the library is stored on the file system or in the database.


Confirms your selections, attaches the library, and closes the dialog box.


Log Interpreter dialog
Log Interpreter dialog box

The Log Interpreter dialog box allows you to manage logging activities and provides a graphical user interface for the Interpreter's LOG command.

File	Type the name of the file in which you want the logging session recorded.
Browse	Displays your operating system File dialog box where you can browse and select a location or existing file name.
Append	If selected, activates the APPEND option, meaning the current log session is appended to the end of the existing log file you specified in the File text box.  Otherwise, any current log information in the specified file will be overwritten by the new logging session.
Disabled	If selected, activates the DISABLED option, meaning logging to the specified file is temporarily suspended until enabled again.
Show Log	If selected, displays the Interpreter Log browser when the Log Interpreter dialog box is accepted.  You can also display the Interpreter Log browser by choosing View [image] Interpreter Log in the Interpreter.


Type the name of the file in which you want the logging session recorded.


Displays your operating system File dialog box where you can browse and select a location or existing file name.


If selected, activates the APPEND option, meaning the current log session is appended to the end of the existing log file you specified in the File text box.  Otherwise, any current log information in the specified file will be overwritten by the new logging session.


If selected, activates the DISABLED option, meaning logging to the specified file is temporarily suspended until enabled again.


IIf selected, displays the Interpreter Log browser when the Log Interpreter dialog box is accepted.  You can also display the Interpreter Log browser by choosing View-->Interpreter Log in the Interpreter.


Interpreter Log browser
PL/SQL Interpreter Log browser

The PL/SQL Interpreter Log browser displays the recorded messages from the most recent logging session.

Disable/Enable	Toggles the active state of the current logging session.
Off	Terminates the current logging session and closes the browser.
Messages list box	A read-only, scrollable area that displays a record of input and output in the Interpreter pane.  You can select, copy, and search the text shown in the list box.


Toggles the active state of the current logging session.


Terminates the current logging session and closes the browser.


A read-only, scrollable area that displays a record of input and output in the Interpreter pane.  You can select, copy, and search the text shown in the list box.


Connect dialog
Connect dialog box

The Connect dialog box allows you to establish a connection to a database instance and provides a graphical user interface for the Interpreter's CONNECT command.

User Name	Type your database user ID.  You can type  your whole connect string in this text box, but your password will be echoed.
Password	Type your database password.  There is no echo in this field to protect password security.
Database	Type the database connect string for the database you wish to connect to.  This is generally in the form:
	network_protocol:network_node[:database_name]
	Each field is separated by a colon (:).  See your database administrator for the correct connect string for your database. Note that if you are connecting to an ODBC datasource, the syntax is:
	username/password@ODBC:datasource[:dbname] If dbname is not specified, the current database for the ODBC connection is used.
Connect	Confirms the information you have supplied and attempts a connection.  If the database connection is successful, the dialog box closes.  If the database connection is not successful, an error is issued.


Type your database user ID.  You can type your whole connect string in this text box, but your password will be echoed.


Type your database password.  There is no echo in this field to protect password security.


Type the database connect string for the database to which you wish to connect.


Confirms the information you have supplied and attempts a connection.  If the database connection is successful, the dialog box closes.  If the database connection is not successful, an error is issued.


Grant Access List dialog
Grant Access List dialog box

The Grant Access List dialog box allows you to view and modify access to the currently selected library or stored program unit on the database server, and provides a graphical user interface for the Interpreter's GRANT and REVOKE commands.  You must have GRANT access for the library in order to grant or revoke access to other users.

User list box	Lists the users who currently have access to the selected library or stored program unit.  Click a user name to place it in the User text box.
User	Type in the user name that you wish to grant or revoke access to for the selected library or stored program unit.  This user name must be a valid user name for the current database.  If the user already appears in the User list box, simply click the name.
Add	Adds the user name to the list of those with GRANT access to the library or stored program unit.
Remove	Removes the user name from the list of those with GRANT access to the library or stored program unit.


Lists the users who currently have access to the selected library.  Click a user name to place it in the User text box.


Type in the user name that you wish to grant or revoke access to for the selected library.  This user name must be valid user name for the current database.  If the user already appears in the User list box, simply click the name.


Adds the user name to the list of those with GRANT access to the library.


Removes the user name from the list of those with GRANT access to the library.


Save Library dialog
Save Library dialog box

The Save Library dialog box allows you to save a library to the file system or the database, and provides a graphical user interface for the Interpreter's SAVE command.

Library	Type the name (and location) of the library you wish to save.
Browse	If File System is selected in the To field, displays your operating system file dialog box.  If Database is selected in the To field, displays the Database Libraries dialog box.
To	Indicates whether the library will be saved on the file system or in the database.


Type the name (and location) of the library you wish to save.


If File System is selected in the To field, displays your operating system file dialog box.  If Database is selected in the To field, displays the Database Libraries dialog box.


Indicates whether the library will be saved on the file system or in the database.


Find and Replace dialog box

The Find and Replace dialog box allows you to search for and replace character strings or regular expressions in the program unit source that is currently displayed in the Program Unit or Stored Program Unit editor.

Find What	Type the string you want to find.  If you want this string to be treated as a regular expression, click the Regular Expressions check box.
Replace With	Type the string to replace any matches found.
Regular Expression	If checked, specifies whether the search string should be treated as a regular expression instead of a string.
Case Sensitive	Indicates whether the search should be upper- and lower-case sensitive to the letters in the search string.  If this check box is not checked, the search will find all matches of the search string, regardless of case.
Find Next	Finds the next match of the search string starting from your cursor position.
Replace	Changes the most recently found string to the string specified in the Replace with text box.  If a match is not currently selected, finds the next occurrence of the search string and replaces it.
Replace All	Replaces all matches with the replace string (from the cursor position to the end of the searchable area).


Type the string you want to find.  If you want this string to be treated as a regular expression, click the Regular Expressions check box.


Type the string to replace any matches found.


Indicates whether the search should be upper- and lower-case sensitive to the letters in the search string.  If this check box is not checked, the search will find all matches of the search string, regardless of case.


If checked, specifies whether the search string should be treated as a regular expression instead of a string.


Finds the next match of the search string starting from your cursor position.


Changes the most recently found string to the string specified in the Replace with text box.  If a match is not currently selected, finds the next occurrence of the search string and replaces it.


Replaces all matches with the replace string (from the cursor position to the end of the searchable area).


PL/SQL Breakpoint dialog box

The PL/SQL Breakpoint dialog box provides a graphical user interface for the BREAK command.  It allows you to create or modify breakpoints and break triggers.

Breakpoint	Identifies the breakpoint and is of the form Breakpoint: New or Breakpoint: number.  The label value is "New" when specifying a new breakpoint, or a number when modifying an existing breakpoint.
Enabled	Indicates whether the breakpoint is enabled or disabled.
Program Unit	Identifies the target program unit or where the existing breakpoint is or where the new breakpoint will be created.
Line	Identifies the source location of the breakpoint in the program unit.
Trigger	If required, type the PL/SQL statements that will fire when the breakpoint is hit.  BEGIN and END keywords are not required in the trigger. For example, you can use DEBUG.INTERPRET to execute an Interpreter command. DEBUG.INTERPRET('.SHOW LOCALS');


Identifies the breakpoint and is of the form Breakpoint:  New or Breakpoint:  number.  The label value is "New" when specifying a new breakpoint, or a number when modifying an existing breakpoint.


Indicates whether the breakpoint is enabled or disabled.


Identifies the target program unit where the existing breakpoint is or where the new breakpoint will be created.


Identifies the source location of the breakpoint in the program unit.


Type the PL/SQL statements that will fire when the breakpoint is hit.  BEGIN and END keywords are not required.


PL/SQL Trigger dialog box

The PL/SQL Trigger dialog box allows you to create a debug trigger, and provides a graphical user interface for the TRIGGER command.

Trigger	Identifies the debug trigger and is of the form Trigger: New or Trigger: number.  The label value is New when specifying a new debug trigger, or a number when modifying an existing debug trigger.
Enabled	Indicates whether the debug trigger is enabled or disabled.
Location	Specifies the source location of the debug trigger.
	The Program Unit option (the default) indicates the debug trigger is located at a specific source location in the program unit.
	The Debug Entry option indicates the trigger is fired as soon as program unit execution is suspended.
	The Every Statement option indicates the debug trigger is fired just prior to every executable statement in the program unit.
Program Unit	Identifies the target program unit.
Line	Identifies the source location of the debug trigger in the program unit.
Trigger Body	Type the PL/SQL statements to be used as the body of the debug trigger.  BEGIN and END keywords are not required. A debug trigger works like a conditional break trigger.  If you specify conditions for when a debug action should take place, the trigger is fired only if the conditions are true.   For example, you can raise DEBUG.BREAK if a variable is equal to a certain value, say 100.  IF DEBUG.GETC('vnumber') = 100 THEN   RAISE DEBUG.BREAK; END IF;


Identifies the debug trigger and is of the form Trigger:  New or Trigger:  number.  The label value is New when specifying a new debug trigger, or a number when modifying an existing debug trigger.


Indicates whether the debug trigger is enabled or disabled.


Specifies the source location of the debug trigger.


Identifies the target program unit.


Identifies the source location of the debug trigger in the program unit.


Type the PL/SQL statements to be used as the body of the debug trigger.


PL/SQL Step dialog box

The PL/SQL Step dialog box allows you to set options for stepping through suspended program unit code while debugging, and provides a graphical user interface for the Interpreter's STEP command.

Mode	Specifies which Step option to use.
	INTO resumes execution until the next executable statement.
	OVER resumes execution until the next executable statement in the current program unit, skipping over any subprogram calls.
	OUT resumes execution through a nested subprogram and halts at the next executable statement in the calling program unit.
	TO resumes execution until the specified location is reached.
Program Unit	Identifies the target program unit body for the STEP TO command option.
Line	Identifies the location within the target program unit body for the STEP TO command option.
Count	Specifies the number of times the STEP command is repeated.  The count defaults to one.
Apply	Accepts the specified options and resumes program unit execution accordingly.  Since step operations are usually repeated one after another, the Step dialog box remains displayed until you explicitly close it, or as long as there is an active debug level.


Specifies which Step option to use.


Identifies the target program unit body for the STEP TO command option.


Identifies the location within the target program unit body for the STEP TO command option.


Specifies the number of times the STEP command is repeated.  The count defaults to one.


Accepts the specified options and resumes program unit execution accordingly.  Since step operations are usually repeated one after another, the Step dialog box remains displayed until you explicitly close it, or as long as there is an active debug level.


Load Program Unit dialog
Load Program Unit dialog box

The Load Program Unit dialog box allows you to import and compile a program unit stored on the file system, and provides a graphical user interface for the Interpreter's LOAD command.

File	Type the name (and location) of the file containing the program unit source text.
Browse	Displays your operating system file dialog box.
Suppress Confirmations	Suppresses all confirmation messages during the load and compile-for example, when overwriting an existing program  unit.  The default is disabled, meaning confirmations are not suppressed.
Load	Confirms your selections, loads the program unit, and closes the dialog box.


Type the name (and location) of the file containing the program unit source text.


Displays your operating system file dialog box.


Suppresses all confirmation messages during the load and compile-for example, when overwriting an existing program unit.  The default is disabled, meaning confirmations are not suppressed.


Confirms your selections, loads the program unit, and closes the dialog box.


Interpret Debug Script dialog
Interpret Debug Script dialog box

The Interpret Debug Script dialog box allows you to import and run a script containing any combination of Interpreter commands, PL/SQL source, or SQL statements, and provides a graphical user interface for the INTERPRET command.

File	Type the name (and location) of the file containing the debug script to be interpreted.
Browse	Displays your operating system file dialog box.
Echo	Enables or disables echo mode.  The default is disabled, meaning that each line of the script is not echoed on the Interpreter command line as the script is loaded.
Silent	Enables or disables silent mode.  The default is disabled, meaning that status messages are displayed while the script is loading.
Suppress Confirmations	Suppresses all confirmations during the operation-for example, when overwriting an existing program  unit.  The default is disabled, meaning confirmations are not suppressed.
Interpret	Confirms your selections, runs the script, and closes the dialog box.


Type the name (and location) of the file containing the debug script to be interpreted.


Displays your operating system file dialog box.


Enables or disables echo mode.  The default is disabled, meaning that each line of the script is not echoed on the Interpreter command line as the script is loaded.


Enables or disables silent mode.  The default is disabled, meaning that status messages are displayed while the script is loading.


Suppresses all confirmations during the operation--for example, when overwriting an existing program  unit.  The default is disabled, meaning confirmations are not suppressed.


Confirms your selections, runs the script, and closes the dialog box.


Compile dialog
Compile dialog box

The Compile dialog box displays compilation error messages during batch compilation and allows you to halt and resume compilation as well as navigate to an error source.

Status Line	Specifies the following information while program units are being compiled:
	name and type of the program unit currently being compiled
	[INTERRUPTED] when you click Interrupt
	percentage of program units that have been compiled
Compilation Errors list box	A scrollable, mouse-sensitive area that displays errors encountered during compilation of the selected program units. Click an error in the Compilation Errors list box to display the Program Unit editor and the program unit where the error is located. If you click an error in the Compilation Errors list box while in an interrupted state of compilation (as a result of clicking Interrupt) a message box displays, warning you that going to the source of an error will abandon the batch compilation.
Interrupt	Temporarily stops compilation-for example, when too many errors are being generated.
Resume	Resumes compilation after an interrupt.
Goto Error	Displays the Program Unit editor containing the program unit source at the location of the first error. If you click this button while in an interrupted state of compilation (as a result of clicking Interrupt) a message box displays, warning you that going to the source of an error will abandon the batch compilation. Also displays the PL/SQL Compilation Messages dialog box-a scrollable, mouse-sensitive list box where you can browse all errors encountered during compilation of the selected program units.  Click an error in the list box to display the Program Unit editor and the program unit where the error is located.

If compilation ends with no errors detected, the message Compilation completed successfully is displayed on the status line.  If compilation ends with errors detected, the message Compilation completed with errors is displayed.

The PL/SQL Compilation Messages dialog box is a scrollable, mouse-sensitive list box where you can browse all errors encountered during compilation of the selected program units.  Click an error in the list box to display the Program Unit editor and the program unit where the error is located.


Specifies the following information while program units are being compiled: name and type of the program unit currently being compiled, and percentage of program units that have been compiled.


Temporarily stops compilation-for example, when too many errors are being generated.  Clicking Interrupt displays [INTERRUPTED] on the status line.


Resumes compilation after an interrupt.


Presents the PL/SQL Compilation Messages browser and displays the Program Unit editor containing the program unit source at the location of the first error.


Regular expressions

Regular expressions are strings that can contain any of the following special wildcard characters:

.	Matches any single character.  For example, .he would match both the and she.
( )	Used to force precedence of operators (e.g., +) when the default precedence is not desired.  For example, concatenation of characters (e.g., the) precedes other operators such as +, so that the+A is equivalent to (the)+A.  If instead you wished to match theeeeeeA, you can force + to precede concatenation using parentheses:  th(e+)A.
[ ]	Matches any one of the single characters in the brackets.  The brackets are a logical OR operator.  For example, t[hr]e would match the in other and tre in trend.
|	Used between two regular expressions.  Matches if either regular expression matches.
\	Matches the special character that follows the backslash.  For example, \* would match *.  The backslash is the escape character.  Any special character following it is not treated as a special character. Below are some special uses of the escape character:
	\n matches a newline character
	\t matches a tab character
	\b matches a blank character
	\w matches \n, \t, \b or \0
*	Matches 0 or more instances of the regular expression.  For example, (the)*A would match A, theA, and thetheA.
+	Matches 1 or more instances of the regular expression.  For example, (the)+A would match both theA and thetheA, but it would not match A by itself as (the)*A would.
These characters have special meaning between square brackets:

~	As the first character, matches any characters not found in the characters or ranges inside the brackets.  For example, t[~hr]e would match toe, but not the.
-	Between character pairs, matches any characters in the range.  For example, [A-E] would match the letters A, B, C, D, and E.  Character range pairs can be either of the following:
	• same case alphabetics, in which the first character comes before (or is equal to) the second character in the alphabet
	• digits, in which the first digit is less than or equal to the second digit  (e.g., [4-9] or [0-3]).
	You can also use the escape character between brackets.
Rules:  The order of precedence of the regular expression special characters is as follows:  ( ), [ ], concatenated characters (e.g., abc), *, +, ~,  , |, .

The following examples show some of the implications of the order of precedence:

•	Start|Finish is equivalent to (Start)|(Finish)

•	Start* is equivalent to (Start)*

•	Start|Finish* is equivalent to (Start)|((Finish)*)


PL/SQL Table Elements Selection dialog box

The PL/SQL Table Elements Selection dialog box contains indexes to rows in a selected table, and enables you to select the rows you wish to examine fully expanded in the Object Navigator.

Record Index list box	A scrollable, mouse-sensitive area that contains a list of indexes to all rows in the table.
Select All	Selects all elements in the table.
Deselect All	Deselects all elements in the table.
By default, all indexes are selected.  Deselect individual selections by Ctrl-clicking on them in the list.


Find and Replace in Program Units dialog box

The Find and Replace in Program Units dialog box allows you to perform a global search and replace across multiple program units.

Find What	Type the string you want to find.   If you want the string to be treated as a regular expression, check the Use Expressions check box.
Expression	Display a list of regular expressions you can use in your search criteria.  Click an expression to insert it in the Find What box.
Replace With	Type the string you want to replace the search string with.
Use Expression	Check this box if you are using regular expressions in your search criteria. Uncheck this box if you are not using regular expressions in your search criteria.
Match Case	Check this box to specify that the search be case sensitive. Uncheck this box to find all matches of the search string, regardless of case.
Look Where	Specify where you want to perform the search or search/replace. In Procedure Builder standalone, / represents the topmost Program Units node in the Object Navigator.  All open PL/SQL libraries in the current session are listed below /.   All nodes are selected by default.  If you wish to search in a specific node only, click the node.
Find All	Find all matches of the search string you specified.  No replacement is performed.
Replace All	Replace all matches of the search string with the replacement string you specified.  A message box displays, prompting you for confirmation before the batch replacement is performed.
Close	Close the dialog box.
Help	Display this help topic.
Results list box	Display the occurrences of the matched string found.  The location of each match is indicated by the node, program unit name, and line and column numbers of the source line. The status bar above the list box shows the number of matches found. Click a match to select it for editing or replacing.  You can select more than one match.
Replace	Replace the search string with the replacement string in the matches selected in the Results list box only.
Edit	Open the source of the selected match in the Program Unit editor.


The Program Unit editor interface

  Related Topics

The buttons and drop-down list box are:

Compile	Compiles the current program unit.  Any error messages generated as a result of the compilation will appear in the scrollable Compilation Messages pane.
Apply	Saves any changes made to the program unit since it was first opened or since the last apply or revert operation.  The program unit is not recompiled.  The editor remains open.  The undo/redo stack is cleared.
Revert	Restores the program unit to its state at the last apply or revert operation.  If no apply or revert operations have occurred, the program unit is returned to its original state.
New	Displays the New Program Unit dialog box, where you can specify the type and name of the program unit you wish to create.
Delete	Deletes the current program unit.  A message box displays to prompt you for confirmation.
Close	Closes the Program Unit editor.
Help	Displays this help topic.
Name	Displays the name of the current program unit.  Click the arrow to the right of the box to display a drop-down list of existing program units in the current session.  Click a program unit on this list to display that program unit in the Source pane.

In addition, the following elements make up the editor:

Source pane	Area for typing and editing PL/SQL program unit source text.   Split bars enable you to create up to four separate views of the current program unit.  Each view can be scrolled independently.   To create horizontal views in the Source pane, place the cursor on the split bar at the top of the vertical scroll bar, and double-click.  This splits the Source pane horizontally into two equal-sized views.  Alternatively, you can click and drag the split bar down to create the view sizes that you want.  To create vertical views, place the cursor on the split bar at the far left of the horizontal scroll bar, and double-click.  This splits the Source pane vertically into two equal-sized views.  Alternatively, you can click and drag the split bar to the right to create the view sizes that you want. To resize views, click and drag the split bar that separates the views. To remove a horizontal or vertical view, double-click the split bar that separates the views, or drag it to the edge of the pane. To remove all four views at once, place the cursor on the intersection of the split bars and double-click, or drag it to any corner of the pane. To select a line of code, place the cursor on the left margin and click.
Compilation Messages pane	Displays error messages, if any, generated as a result of compilation.  Clicking on an error message highlights it, scrolls the Source pane to the source statement that is producing the error, and positions the text cursor at the location of the error in the statement. By default, the Compilation Messages pane displays only when there are error messages generated during compilation. To manually display the Compilation Messages pane at any time, move the cursor to the bottom right corner of the editor window until the cursor changes to cross-hairs.  Then click and drag the cursor up.  This moves the split bar up, revealing the Compilation Messages pane below.
Split bar (separating panes)	Separates the Source pane and the Compilation Messages pane.  Enables you to change the relative size of the panes.  Click and drag the split bar to resize the panes. If the Compilation Messages pane is not displayed, the split bar is actually near the bottom of the editor window.
Status bar	Displays information about the current state of the program unit at the bottom of the editor.


Compiles the program unit appearing in the Source pane.  Any error messages generated as a result of the compilation will appear in the scrollable Compilation Messages pane.


Saves any changes made to the program unit in the editor since it was first opened or since the last apply or revert operation.  The program unit is not recompiled.  The editor remains open.


Restores the program unit to its state at the last apply or revert operation.  If no apply or revert operations have occurred, the program unit is returned to its original state.


Displays the New Program Unit dialog box, where you can specify the type and name of the program unit you wish to create.


Deletes the displayed program unit, with confirmation.


Attempts to close the editor.  If any changes have been made but not applied, a message box displays, prompting you to apply or revert the changes or cancel the operation.  Once all changes have been applied or reverted, the Program Unit editor is closed.


Specifies the type of program unit (trigger, procedure, etc.) currently displayed in the editor.


Specifies with what object the program is associated.


Displays the name of the current program unit.  Press the arrow to the right of the field to display a drop-down list of other existing program units.  Click a program unit on this list to display that program unit in the editor.


Type and edit PL/SQL program unit source text.


Displays syntax errors encountered during compilation.  Click on an error to navigate to its source in the program unit.


Enables you to change the relative amount of space occupied by the two panes (source and compilation messages) in the Program Unit editor.  Note that by default, the Compilation Messages pane is displayed only when error messages are generated during compilation.


The left side of the status bar displays the following messages:

Not Modified	No changes have been made to the program unit since it was first displayed or last applied.
Modified	One or more changes have been made to the program unit since it was first displayed or last applied.

The right side of the status bar displays the following messages:

Not Compiled	The program unit source text currently displayed has not been compiled.
Successfully Compiled	The program unit source text currently displayed compiled with no errors.
Compiled with Errors	The program unit source text currently displayed compiled with errors.  The errors appear in the Compilation Messages pane.


PL/SQL V1 Conversion Options dialog box

Use the PL/SQL V1 Conversion Options dialog box to control how the utility should proceed when it encounters each type of supported PL/SQL V1 or V2 syntax.  Your preferences are saved across multiple invocations of the conversion utility: in either the registry for Microsoft Windows or in a UNIX profile.

Problem type	List of PL/SQL V1 or V2 syntax type situations supported by the conversion utility:  CHAR replaced by VARCHAR2   String length required for VARCHAR2  OUT and IN OUT default expressions removed  NULL added to RETURN in functions  Obsolete built-in  LENGTH function returns NULL for zero-length string  Passing NULL to overloaded subprogram does not resolve properly  Missing RETURN statement in function
Convert	All instances of the selected problem type are automatically converted without confirmation.
Convert All	Fast path for setting all problem types to Convert.  The utility automatically converts all PL/SQL V1 or V2 without confirmation.
Ignore	All instances of the selected problem type are ignored.  To avoid compiler errors, you must modify the V1 or V2 code manually.
Ignore All	Fast path for setting all problem types to Ignore.  The utility ignores all problem types and does not perform any conversion.  To avoid compiler errors, you must modify the V1 or V2 code manually.
Ask me	Displays each instance of the selected problem type individually in the Conversion dialog box.  From the dialog box you can either Convert or Ignore.
Ask All	Fast path for setting all problem types to Ask Me.  The utility prompts you for confirmation (in the Conversion dialog box) before converting a PL/SQL V1 or V2 string.
OK	Confirms your selections and closes the dialog box.
Cancel	Cancels any changes to the module and closes the dialog box.


Conversion dialog box

The Conversion dialog box allows you to interactively control the PL/SQL V1 or V2 conversion process.  To set options for subsequent conversions, click Options.

Source pane	Displays the program unit source where the conversion condition is detected.  The syntax to be converted is highlighted.  You can scroll up or down within this pane to review the conversion accomplished so far.
Condition:	The PL/SQL V1 or V2 statement that requires conversion.
Action:	What the conversion utility will do if you click Convert.
Explain. . .	Displays more details about the problem and what will happen if you decide to ignore the conversion.
Convert	Accepts the recommended default action; moves to the next statement.
Convert All	Converts all PL/SQL V1 or V2 syntax problems in the entire module, which may contain multiple program units.  All default actions are accepted.
Ignore	Does not convert the PL/SQL V1 or V2 statement described in the Problem field; moves to the next statement.
Ignore All	Bypasses the conversion process for the entire module, which may contain multiple program units.
Options. . .	Displays the PL/SQL V1 Conversion Options dialog box, in which you can specify options to control the conversion process.


PL/SQL V1 Conversion Summary dialog box

The PL/SQL V1 Conversion Summary dialog box provides information such as:

•	source lines that were converted successfully

•	source lines that were ignored

•	source lines that generated PL/SQL compiler errors.

Toolbar buttons:

X icon	Closes the dialog box.
? icon	Displays dialog box help.
Summary pane:

Find	Provides standard search capabilities for both expanded and collapsed nodes.
node	One for each program unit in the module. If the node contains a plus sign, click it to display a summary of what was converted (and how) and what was ignored. If a node is empty (no plus or minus sign), the program unit did not require conversion. To address compiler errors-or to review the converted source or the items you ignored-double click a line in an expanded node. (Or select the line and select Program [image] Program Unit Editor.)  The editor opens with the cursor positioned at the selected line. Note:  After you change the source using the Program Unit editor,  the cursor may not be correctly positioned the next time you double-click a line or use the Edit button.
Menu items:

The Program menu provides two options:

Program Unit Editor	Opens the source in the Program Unit editor. The cursor is positioned at the line you select.
Conversion Options	Displays the Conversion Options dialog box so you can view or modify the options you specified.
Pop-up menu:

Click the right mouse button to display a pop-up menu.

Edit	Opens the source in the Program Unit editor.  The cursor is positioned at the line you select.
Explain	Displays online help about the type of conversion for the selected line.


The Stored PL/SQL editor interface
The Stored Program Unit editor interface

  Related Topics

The buttons and drop-down list boxes are:

New	Displays the New Program Unit dialog box, where you can specify the type and name of the stored program unit you wish to create.
Save	Compiles the current stored program unit.  Any error messages generated as a result of the compilation will appear in the scrollable Compilation Messages pane. The undo/redo stack is cleared.
Revert	Restores the stored program unit to its state at the last save or revert operation.  If no save or revert operations have occurred, the program unit is returned to its original state.
Drop	Drops the current stored program unit from the database. A message box displays to prompt you for confirmation.
Close	Closes the Stored Program Unit editor.
Help	Displays this help topic.
Owner	Displays the database user ID of the owner of the current program unit.  Click the arrow to the right of this box to display a drop-down list of user names.  The Owner list displays only the names of those users whose stored program units you have access to.
Name	Displays the name of the current stored program unit.  Click the arrow to the right of this box to display a drop-down list of stored program units owned by the user ID shown in the Owner field.  The Name list displays only the names of the stored program units to which you have been granted access.

In addition, the following elements make up the editor:

Source pane	Area for typing and editing PL/SQL program unit source text.   Split bars enable you to create up to four separate views of the current program unit.  Each view can be scrolled independently.   To create horizontal views in the Source pane, place the cursor on the split bar at the top of the vertical scroll bar, and double-click.  This splits the Source pane horizontally into two equal-sized views.  Alternatively, you can click and drag the split bar down to create the view sizes that you want.  To create vertical views, place the cursor on the split bar at the far left of the horizontal scroll bar, and double-click.  This splits the Source pane vertically into two equal-sized views.  Alternatively, you can click and drag the split bar to the right to create the view sizes that you want. To resize views, click and drag the split bar that separates the views. To remove a horizontal or vertical view, double-click the split bar that separates the views, or drag it to the edge of the pane. To remove all four views at once, place the cursor on the intersection of the split bars and double-click, or drag it to any corner of the pane. To select a line of code, place the cursor on the left margin and click.
Compilation Messages pane	Displays error messages, if any, generated as a result of compilation.  Clicking on an error message highlights it, scrolls the Source pane to the source statement that is producing the error, and positions the text cursor at the location of the error in the statement. By default, the Compilation Messages pane displays only when there are error messages generated during compilation. To manually display the Compilation Messages pane at any time, move the cursor to the bottom right corner of the editor window until the cursor changes to cross-hairs.  Then click and drag the cursor up.  This moves the split bar up, revealing the Compilation Messages pane below.
Split bar	Separates the Source pane and the Compilation Messages pane.  Enables you to change the relative size of the panes.  Click and drag the split bar to resize the panes. If the Compilation Messages pane is not displayed, the split bar is actually near the bottom of the editor window.
Status bar	Displays information about the current state of the stored program unit at the bottom of the editor.


Displays the New Program Unit dialog box, where you can specify the type and name of the program unit you wish to create.


Compiles the stored program unit appearing in the Source pane.  Any error messages generated as a result of the compilation will appear in the scrollable Compilation Messages pane.


Restores the stored program unit to its state at the last save or revert operation.  If no save or revert operations have occurred, the program unit is returned to its original state.


Drops the current stored program unit from the database, with confirmation.


Displays the database user ID of the owner of the current program unit.  Click the arrow to the right of this field to display a drop-down list of user names whose stored program units to which you have access.


Displays the name of the current stored program unit.  Click the arrow to the right of this field to display a drop-down list of stored program units owned by the user ID shown in the Owner field.  The Name list displays only the names of the stored program units to which you have been granted access.


Used to enter and edit PL/SQL stored program unit source text.


Displays syntax errors encountered during compilation.  Click on an error to navigate to its source location in the program unit.


Enables you to change the relative amount of space occupied by the two panes in the Stored Program Unit editor.  Note that by default, the Compilation Messages pane is displayed only when error messages are generated during compilation.


About source control

  Related Topics

Source control is the process of managing and maintaining multiple revisions of the same file in an archive.

An archive is a user-defined directory that contains a text version of the file as well as information about each revision of the file, including a description of all file changes and when they were made.

Using an archive, a member of your development team can retrieve, modify, and return any revision of a file in a safe and consistent manner.

Components (e.g., Form Builder) provides source control in via a generic interface to any source control provider you want to use.  Plug-in modules are currently available for the Polytron Version Control System (PVCS) from INTERSOLV and Pure-Atria Clearcase, with others forthcoming.

For information on installing and using PVCS, refer to your INTERSOLV documentation.

PVCS also supports file locking and archive reporting.


About configuration files

There are four environment variables that should be set for optimum performance of the source control interface.  Under Windows 3.1 these are set in oracle.ini, while under Windows NT or Windows 95/98 these are set in the registry, in the SOFTWARE/ORACLE key.

DEV2000_SOURCECONTROL specifies which source control system to use.  This should be set to "PVCS".  Since components (e.g., Form Builder) defaults to use PVCS, omitting this variable will not have any noticeable effect in this release.  However, as support for more source control systems is added, setting this variable will ensure that the source control interface functions as intended.

DEV2000_PROJECT  replaces the TVCCFG variable from Forms Developer release 1.0 and 1.1, and identifies the PVCS project configuration (.CFG) file that should be used.  If you do not specify a project configuration file via an environment variable, you will need to choose one from the Source Control Options dialog box in each session.

DEV2000_SCVIEWER controls what program is used to view the results of a source control log or difference report operation.  To disable viewing the results, set this variable to null (no value).

DEV2000_SCCONVERT controls whether files are converted to ASCII before checking them in to PVCS, and converted back to binary before checking them out.  Unless you are upgrading from using PVCS with a prior version of Forms Developer, and want to preserve this behavior, you should leave this entry set to its default of FALSE.

A sample fragment of oracle.ini might be:

...

DEV2000_SOURCECONTROL=PVCS

DEV2000_PROJECT=C:\PROJECTS\MYPROJ\MYPROJ.CFG

DEV2000_SCVIEWER=NOTEPAD.EXE

DEV2000_SCCONVERT=FALSE

...


About PVCS implementation

When you check in certain objects (forms, menus, reports, displays, PL/SQL libraries) the binary file is automatically converted to the text-file equivalent, and the text file is checked in to the source control.  For example, if you checked in MYFORM.FMB, MYFORM.FMB would automatically convert to MYFORM.FMT (the text equivalent) and then check MYFORM.FMT in to source control.

Similarly, when you check out an archived file, it converts the text version of the file to the equivalent binary format that can be read by the designer interfaces.  If you were to check out MYFORM.FMT, it would be converted to MYFORM.FMB so that you could edit it.

Archiving is done on the text version of the file to permit more meaningful Difference Reports to be generated between different revisions of a file.  While PVCS does support archiving binary files, difference reporting between revisions of binary files is not possible.

This file conversion can lead to extra files being left in your working directory, depending on PVCS settings.  If your project is configured to make working files read-only after check-in, you will have both the binary file, and a read-only text-format file, present in your directory.  However, if your project is configured to delete working files after check-in, only the binary file will remain present in your working directory.


About checking in a file

  Related Topics

Each time you modify a file and check it into an archive, it becomes a new revision.  When you check in a file (e.g., a PL/SQL library file with an extension of .pll), PVCS performs a binary-to-text conversion automatically and archives the file in the specified location as a text file with the appropriate file extension (e.g., .pld).  PVCS uses the text file to generate archive reports.

A version label identifies a revision as one of a group of revisions that typically make up a complete version of your application.  Version labels enable you to operate on all of the files associated with a particular version at the same time by referencing a single name.  If you have already archived a version of the current module, the appropriate information automatically enters in the Archive field.


About checking out a file

  Related Topics

Checking a file out of an archive gives you access to it for browsing, editing, or printing.  By default, only one user at a time can check out a particular revision with a lock.

When you check out a file, the file automatically converts from the archived text version to the proper format (for example, the conversion of a PL/SQL library file from pld to .pll).  The file you check out of an archive is called a workfile.  Each time you check in a new variation of a workfile, it becomes a revision.


About creating archive reports

  Related Topics

PVCS enables you to generate reports that summarize the following archive activities:

•	creation of archives

•	attributes of archived files

•	successive revisions

•	label names

•	lines changed in the last revision

•	description of the workfile


About promotion models

A promotion model is a hierarchy of milestones in a development cycle.  You use promotion to control the development of source code from the design phase to final release.  Each milestone is represented by a promotion group.  Examples of promotion groups include Development, Quality Assurance, and Production.  A promotion model is an advanced feature, and is recommended for sites with formal software turnover procedures.

A promotion model can have one ore more lowest-level, or development, groups.  When a promotion model is in effect, users can only modify revisions that are associated with a development group.  To edit a revision associated with a higher group, a user must check it out and reassociate it with a development group at check out, then repromote it to a higher group after checking it back in.

If the promotion model only includes one development group, only one revision in the archive can be locked at a time.  To design a promotion model for parallel development, you must include at least two development groups.

You can define any number of intermediate promotion groups above the development group(s) for various stages of testing or preliminary releases.  At the highest level is the production group, which usually indicates that revisions are ready for final release.

Using a promotion model enables you to:

•	Quickly determine project status.  You can run an archive report on project in a project to immediately determine which modules have not reached a particular milestone in the development cycle.

•	Control revision access on non-development levels.  Because users cannot modify revisions associated with post-development promotion groups, you ensure that all revisions are thoroughly tested.

•	Custom-design your own model.  You can custom-design a promotion structure that is uniquely suited for each project, with any number of milestones in the promotion structure.


Creating an archive directory

  Next Step	  Related Topics

To create an archive directory:  Note:

1	Choose File [image] Administration [image] Source Control Options to display the Source Control:  Options dialog.

2	If it is not already selected, select the Project tab.

3	Specify the name and location of your archive directory In the New Archive Directory field.

4	Click Add new directory to list and then click Close to close the dialog.


You cannot add archive directories unless you have already defined the DEV2000_PROJECT parameter in the oracle.ini file.  On Microsoft Windows, define the DEV2000_PROJECT parameter as follows:

DEV2000_PROJECT=C:\PVCS\PROJECT1\PROJECT1.CFG

You edit the DEV2000_PROJECT parameter using the Oracle.ini file for Windows 3.1 and the Registry for Windows 95/98 and NT.


Checking in a file

  Next Step	  Related Topics

To check in a file:

1	Choose File [image] Administration [image] Check-In to display the Source Control: Check-In dialog.

2	Type the name of the file to archive in the Work File text box.

3	Specify the location of your archive in the To Archive field.

4	(Optional)  Provide a Version Label, Promotion Group, and Description.

5	(Optional)  Click the Retain lock after checkin check box if you want a writable copy of the archive file to remain locally even after the file is checked in.  Having a writable copy of the file allows you to modify and check in subsequent changes to the file without having to first check the file out.

6	Click OK to check in your file.

PVCS archives your file.


Checking out a file

  Next Step	  Related Topics

To check out a file:

1	Choose File [image] Administration [image] Check-Out to display the Source Control:  Check-Out dialog.

2	Specify the location of the source archive in the Source Archive field.

3	Type the name of the file you want to check out in the File Name text box.

4	Select the desired file revision in the Revisions field.

5	(Optional)  Specify the desired destination by entering a path in the Destination field.

6	(Optional)  If you intend to lock the file you are checking out, you must choose the Development-level Promotion Group that will be assigned to the revision you are checking out.

7	(Optional)  Click the Lock file at checkout check box.  Note:

8	(Optional)  Click the Open file after checkout check box.  If this box is checked, the file you checked out will be opened in the designer after it has been checked out of PVCS.

9	Click OK to check out your file.


If you intend to modify an archive file, you must enable the Lock file at checkout check box in order to check in your changes.  Otherwise, a read-only version of the file will be checked out.


Creating an archive report

  Related Topics

To create an archive report:

1	Choose File [image] Administration [image] Source Control Options.

2	Click the Reporting tab to display the Source Control:  Reporting Options page.

3	Specify the location of the archive in the Archive field.

4	Specify the name of the desired archive file in the Source File field.  PVCS will generate a report based on the comparison between this file and the target file.

5	Specify the name of a target file In the Target File field.  Note

6	Select the desired file revisions in the Source Revision and Target Revision fields, respectively.

7	Specify the name and location of your report in the Output File field, then click Run Report.

PVCS creates your report.  If a viewing program is specified via the DEV2000_SCVIEWER environment variable or oracle.ini parameter, it will be called to display the output.  Otherwise, use an editor to open your report file.


If you are comparing two revisions within the same archive, enter the name of the archive file that you entered in step 4.  If you are comparing different archive files, specify a different archive file in the Target File field.


Source control: Check In dialog

  Related Topics

Merges the desired file into the specified archive.

The Check-In dialog includes the following options:

Work File	Specifies the name of the file you are checking in.  Choose Browse to invoke a file dialog from which you can select a file.
To Archive	A drop-list of all available archives for the current project.  Select an archive from the list where the file is to be checked in.
Version Label	(Optional)  Specifies the file version label.
Promotion Group	If a promotion model is defined for your PVCS project, this list is enabled.  Choose the Development-level promotion group that is to be assigned to the revision you are checking in.
Description	Specifies a description of the changes made for this revision.  Although optional, it is recommended that you enter a change description to make it easier to identify revisions at check-out.
Retain lock after checkin	Specifies whether a writable copy of the archive file should remain locally even after it is checked in.  Having a writable copy of the file allows you to make subsequent changes to the file without having to first check the file out.


Source control: Check Out dialog

  Related Topics

Retrieves the specified file from an archive so you can edit it.

The Check-Out dialog includes the following options:

Source Archive	Specifies the directory name of the archive from which the file should be checked out.
File Name	Specifies the name of the file you want to retrieve from source control.  Choose Browse to invoke a file dialog from which you can select a file.
Revisions	Displays the available revisions and version labels of the file selected in the File Name field.
Description	Lists descriptions of the available revisions listed in the Revisions list.
Destination	(Optional)  Specifies the destination directory for the file being checked out.
Promotion Group	If a promotion model is defined for your PVCS project, this list is enabled.  If you intend to lock the file you are checking out, you must choose the Development-level promotion group that will be assigned to the revision that you are checking out.
Lock file at checkout	Specifies whether the file being checked out should be marked as locked.  A locked file is protected against update by other users.
Open file after checkout	If you check this box, the file you checked out will be opened in the designer after it has been checked out of PVCS.


Source control: Options dialog

  Related Topics

The Options dialog includes three tabs:

Project Options

Files Options

Reporting Options


Source control: Project Options page

  Related Topics

Enables you to add and remove archive directories from your project configuration file.

The Project Options page includes the following settings:

Current project	The name of the current PVCS project configuration file.  Its initial value is the value of DEV2000_PROJECT in the oracle.ini  file.  You can enter a file name directly, or click Browse to display your operating system file dialog.
New Archive Directory	Specifies a new archive directory to add to the list of available archive directories in the current project.  You can type a directory name or click Browse to display your operating system file dialog.
Archive Directory List	Shows the archive directories available in the current project.
Add new directory to list	After entering an archive directory in the New Archive Directory text box, click Add new directory to list to add the directory to the current project.  The directory will appear in the list once added.
Remove selected directory from list	Select an archive directory from the list and click Remove selected directory from list to remove the directory from the project.


Source control: Files Options page

  Related Topics

Enables you to lock or unlock an archive, or generate a log of activity on that archive.

The Files Options page includes the following settings:

Archive	A drop-down list of all archive directories in the current project configuration file.
File Name	Specifies the archive file to access.  You can enter the name directly, or choose a file with Browse.  If your PVCS project is configured to ignore workfile paths, you can specify either a work file or an archive file.  Otherwise, be sure to specify an archive file only.
Revision	This drop-down list shows all available revisions and version labels of the selected file, as well as having an empty entry indicating no selection.  If you select a specific revision, that revision will be locked or unlocked.  If you do not select a revision, the behavior for locking depends on whether there is a promotion model defined.  If no model is defined, the tip revision will be locked.  If a model is defined, the revision currently assigned to the designated promotion group will be locked.  The behavior for unlock with no revision selected is always to release all locks you own on the file.
Promotion Group	If a promotion model is defined for your PVCS project, this list is enabled, and displays all Development-level promotion groups in your promotion model.  When you lock a revision, the promotion group shown in this list will be assigned to it.
Log File Name	Specifies the name of the log file
Log Type	Specifies the type of updates that should be entered in the specified log file when a check-in our check-out occurs.
Lock Revision	Locks the file specified in the File Name field, without retrieving it from source control.  A locked file is protected against update by other users.  If you selected a specific revision from the Revision list, that revision will be locked.  If you did not select a revision, the tip revision (or the revision currently assigned to the designated promotion group) will be locked.  If a promotion model is defined for your PVCS project, the designated promotion group will be assigned to the revision being locked.
Unlock Revision	Unlocks the file specified in the File Name field, allowing other users to check out and modify the archive file.  If you selected a specific revision from the Revision list, that revision will be unlocked.  If you did not select a revision, all locks that you own on any revisions of the file will be released.
Generate Log	Generates a log file with the specified name.  The type of entries in the log file are determined by the setting of the Log Type option.  If a viewing program is specified via the DEV2000_SCVIEWER environment variable or oracle.ini parameter, it will be called to display the output.


Source control: Reporting Options page

  Related Topics

Enables you to define and create archive reports.

The Reporting Options page includes the following settings:

Archive	A drop-down list of all archive directories in the current project configuration file.
Source File	Specifies the first file to use for difference reporting.  You can enter the name directly, or choose a file with the adjacent Browse button.  If your PVCS project is configured to ignore workfile paths, you can specify either a work file or an archive file.  Otherwise, be sure to specify an archive file only.
Source Revision	A drop-down list of all available revisions and version labels of the source file.
Target File	Specifies the name of the target file.  PVCS generates a report based on a comparison of the source file and the target file.
Target Revision	A drop-down list of all available revisions and version labels of the target file.
Output File	Specifies the destination directory and file name that the differences report should be written to when comparing one file to another.
Run Report	Creates a report according to the options specified.  If a viewing program is specified via the DEV2000_SCVIEWER environment variable or oracle.ini parameter, it will be called to display the output.


Error messages

The following are error messages you may encounter while using the Source Control Interface Dialogs:

D2SCP-001:	File access denied by File System

 Cause:	You do not have file system access privileges to either read the archive file, write the work file, or write log or report output.

 Action:	If you believe you should have file system access to these files, contact your system administrator.

D2SCP-002:	Insufficient Version Manager access privileges

 Cause:	You do not have PVCS privileges to access the archive you had specified.  You will also see this error if changing archive directories has been disabled in the Master Project and you attempt to change them in the Project Options tab of the Options dialog.

 Action:	If you believe you should have access to that archive, contact your PVCS administrator.

D2SCP-003:	Archive already exists

 Cause:	This indicates an internal error and should not be encountered.

 Action:	If it persists after repeating the operation you attempted, contact Oracle Customer Support.

D2SCP-004:	Cannot find the specified archive

 Cause:	You entered or selected a file that was not an archive, when an archive file is required.  A common cause of this is selecting the work file instead of the archive file (for example, MYFORM.FMB instead of MYFORM.FMV).

 Action:	Use the Browse button to choose an archive file.

D2SCP-005:	Invalid filename: Drive or path is nonexistent, or filename contains invalid characters

 Cause:	The filename you entered is not a valid operating system file name.

 Action:	Check the file name syntax for errors.

D2SCP-006:	File is in use by another process

 Cause:	The file you are trying to access is in use by another PVCS user.

 Action:	If you retry the operation after a short wait, it will generally succeed.

D2SCP-007:	Conversion Failed.  Workfile may be read-only or an unsupported type.

 Cause:	The possible causes of this error include:

A.	Your work file may be read only.  This will happen if you check out the file without locking it, and then later lock it from the Options Dialog.

B.	You attempted to check in or out a file that is of a type that  is not recognized.

 Action:	You can take the following action(s) to correct this error:

If A.	Use the Windows File Manager or Explorer to make the file writeable before proceeding.

If B.	Check the file in or out using the stand-alone PVCS interface.

Note that you can check out any file, but can only check in files that are recognized.  This is because Forms Developer can only determine if it’s a supported file type from the workfile.  When checking in, you have the workfile. so Forms Developer tests the file before check-in.  When checking out, the file is first checked out to obtain the workfile.  Only then can Forms Developer test the file.  So you can safely ignore this error on checkout if you know that you are checking out a non-Forms Developer file type.

D2SCP-008:	Invalid or insufficient values

 Cause:	This indicates an internal error and should not be encountered.

 Action:	If it persists after repeating the operation you attempted, contact Oracle Customer Support.

D2SCP-010:	Specified version label already exists

 Cause:	You specified a version label in the Check-In dialog that already exists for the file you are checking in.  PVCS requires version labels to be unique.

 Action:	Change the label.  To see labels in use, use the Log feature from the File Options tab of the Options Dialog.

D2SCP-011:	Specified revision does not exist

 Cause:	This indicates an internal error and should not be encountered.

 Action:	If it persists after repeating the operation you attempted, contact Customer Support.

D2SCP-012:	Invalid configuration file specified

 Cause:	The possible causes of this error include:

A.	The file you chose in the Project Options tab of the Options Dialog is not a valid PVCS configuration file.

B.	If you encounter this error when attempting to access the Check-In or Check-Out dialogs, it means that the configuration file specified in the DEV2000_PROJECT environment variable is invalid.

 Action:	You can take the following action(s) to correct this error:

If A.	Select another, valid, file.

If B.	Modify the variable, or use the Project Options tab of the Options Dialog to set a valid configuration file.

D2SCP-013:	You must first choose a project from 'Source Control Options'

 Cause:	You tried to access the Check-In or Check-Out dialogs, but had not specified a project, either through the DEV2000_PROJECT variable in the ORACLE.INI file, or on the Project Options tab of the Options Dialog.

 Action:	You need to go to the Project Options tab and select a project before continuing.

D2SCP-014:	Unable to update project configuration file.

 Cause:	You tried to add or remove archive directories from the project configuration file, but do not have write permission to the file or directory where the file is located.

 Action:	Consult your PVCS or system administrator if you believe you should have this access permission.

D2SCP-015:	Revision is not locked.

 Cause:	You tried to check in a revision you do not have locked, or unlock a revision that you have not locked (from the File Options tab).

 Action:	If you have made modifications, lock the revision from the File Options tab before checking it in.

D2SCP-016:	Unable lock specified Revision.

 Cause:	You tried to check out a revision with a lock from the Check-Out dialog, or lock a revision from the File Options tab, but PVCS was unable to grant you the lock.  Possible causes for this error include:

A.	The revision is already locked by you or someone else.

B. 	Your project does not allow multiple locks, and the revision is already locked.

C. 	If your project has a promotion model, the promotion group you specified may already be assigned to a locked revision.

 Action:	You can take the following action(s) to correct this error:

If A.	Use the Log feature to see who has the lock, and if you have already locked the revision, check it out without requesting a lock.  If someone else has locked the file, wait for them to release the lock before checking out the file for modification.

If B.	Either wait for the revision or file to become available, or consider allowing multiple locks per file in the project.

If C.	Either wait for that promotion group to become available (not assigned to a locked revision) or use another development-level promotion group.

D2SCP-017:	Specified directory does not exist.

 Cause:	You specified a directory that does not exist.  A common cause of this error is checking out a file where the location from which it was checked in does not exist on your workstation.

 Action:	If this is the case, edit the destination field to point to an existing directory.

D2SCP-018:	Unable to redirect output to file

 Cause:	The file name you specified for the log or difference report output is invalid, or the file could not be opened for writing.

 Action:	Specify a valid, writeable file.

D2SCP-100:	PVCS Error number - keyword

 Cause:	An error was returned from PVCS that the source control interface could not process.

Action:	Consult your PVCS documentation using the error number or error keyword to look up the error, and take action accordingly.


Why doesn't the PVCS configuration manager interface show the new files or revisions?

After I check in files and assign version labels, the PVCS configuration manager interface doesn’t show the new files or revisions.  What do I do?

The project folder needs to be updated with the new information that’s in the archives (new files and revisions).  To do this, choose Update Project Folder... from the PVCS top-level Project menu.  The new files and revisions should then be visible in PVCS’ "Folders" window.


Why are the source control menu options only enabled in one product?

If I run more than one product simultaneously, the source control menu options are only enabled in one of them.  Why?

PVCS on Windows is not reentrant.  This means that only one program (either a PVCS-enabled program like Report Builder, or the PVCS interface itself) can access PVCS services at a time.  You will need to exit both the program that has the menus enabled, and the one from which  you wish to access PVCS services.  Then re-start the one in which you need PVCS access.


Why do I get an error that PVCS is unable to find the archive?

When trying to check out a Report, I chose the .RDV (archive file) but I still get an error that PVCS is unable to find the archive.  What’s going on?

Even though you have chose an .RDV file, it may not have been the archive. Report Builder writes its intermediate (ASCII) files to an extension .RDV before checking them in.  (See About PVCS Implementation for details.)  Be sure that you are selecting an .RDV file from the archive directory, and not the working directory.  There are three ways to help prevent this confusion:

•	Set the PVCS project option to delete work files after check-in.  This will prevent the Reports intermediate .RDV files from remaining on your disk.

•	Change the suffix rule, so that when an .RDV file is checked in, it is given a different suffix, say .VRD.  Then you can be sure to look for .VRD’s, not .RDV’s, when checking out.

•	Configure your project to ignore workfile paths when searching for archives.  This will allow you to specify the work file (in this case, .RDF) , and not the archive, at checkout.

These options are available from the PVCS configuration manager user interface, from the Configure Project... menu choice.


How can I make sure the proper username is used when I lock a file?

Whenever I lock a file (or check out with a lock) the User ID is set to “UNKNOWN”.  This lets other people check in or unlock the file.  How can I make sure the proper username is used?

There is a PVCS project configuration option, "Login Source" in the "network" section of the PVCS project configuration options (in the PVCS Version Manager Interface) which you can use to prevent this from happening.  With  this option, you’ll be able to define how PVCS determines the current user ID.  For example, if you use a NETWARE network, you can instruct PVCS to use the current NETWARE Login ID. On Windows NT, you can use the NT Login ID by choosing the "HOST" Login source.  Consult your PVCS documentation for further details.


Is there anything I can do to allow me to select work files for check-out?

Is there anything I can do to allow me to select work files, not archive files, for check-out?

There is a PVCS project configuration option, "Ignore Workfile Path" in the "Archive Searching" section of the PVCS project configuration options (in the PVCS Version Manager Interface) which you can use.  If you turn on this option, you’ll be able to select either work files or archive files in Check Out and Source Control Options dialogs.


Why did  I receive an error that VCSDIR is not allowed in the project configuration file?

I have configured my Master Project to disallow changing archive directories.  In the PVCS Version Manager interface, I can’t change archive directories in a sub-project, which is correct.  But in Forms Developer, I was able to.  Afterwards, from the PVCS version manager interface, I received an error that VCSDIR is not allowed in the project configuration file.  What’s going on?

The PVCS Version Manager interface looks for a default MASTER.CFG file in its root directory, and that’s probably what it found, and why it raised the error after you’ve changed archive directories. To make the master configuration file recognizable, you must configure PVCS using the VCONFIG command.  This encodes the name of your master configuration file in the PVCS libraries, and ensures that no one will be able to accidentally change the archive directory list.  Refer to the sections on "Master Configuration Files" and "VCONFIG command" in your INTERSOLV PVCS Command-Line Reference Guide.


• 9


Accessing non-Oracle datasources

  Related Topics

Through the Oracle Open Client Adapter (OCA), your application can connect to any ODBC datasource.  For the datasources listed below, we provide specific information.

Click the datasource you want to access:

Personal Oracle Lite

Microsoft SQL Server  (Versions 4.2, 6.0, and 6.5)

Microsoft Access  (Version 2.0 and higher)

Oracle Rdb  (Versions 5.1, 6.1, and 7.0)

Sybase   (SQL Server Version 4.9, System 10, and System 11)

Tandem NonStop SQL

Informix   (SE and Online Versions 5.x, 6.x, and 7.x)


Preparing to use the Open Client Adapter
Preparing to use the Open Client Adapter (OCA)

  Related Topics

To set up your system to use the OCA:

1	Install the necessary database server and client software, including network libraries. Configure your database, create database accounts, grant the appropriate access privileges to the users.  Note that for some single-user, single-machine datasources, such as Microsoft Access, there is no notion of a database server and database client, and no special setup is required (you do, however, need to create the database file to store database tables).

2	Install the necessary ODBC drivers on your client machine and configure the datasource using the Microsoft ODBC Administrator (which is automatically installed with the drivers).  ODBC drivers from Intersolv (for SQL Server, Rdb, Sybase, Informix, Ingres and many other databases) are installable from the your installation CD.  You can also use drivers from Microsoft, IBM, and other ODBC driver vendors.


Accessing Personal Oracle Lite

  Related Topics 	  Open oca_info.pdf

To access Personal Oracle Lite:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	Run the.SQL scripts to create data dictionary views on the server side that allow design-time components to display database object names for selection at design time.  Note

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Optional)  Run the.SQL scripts to create and populate demo tables.  Example

6	(Form Builder only)  Set the Primary Key property for each data item to Yes.  Data items correspond to columns in your datasource.

7	When you are ready to connect to the Personal Oracle Lite datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Personal Oracle Lite, see oca_info.pdf.


Init_Form is the OPENDB routine that automatically modifies your form-level properties so that your form can communicate with an ODBC datasource.


OCA.PLL is located in your ORACLE_HOME\oca20 directory.  For Form Builder to locate OCA.PLL, you must add the ORACLE_HOME\oca20 directory to the FORMS50_PATH environment variable in the registry.


Accessing Miscrosoft SQL Server
Accessing Microsoft SQL Server

  Related Topics	  Open oca_info.pdf

To access Microsoft SQL Server:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	Run the.SQL scripts to create data dictionary views on the server side that enable the display of database object names for selection at design time.  Note

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Optional)  Run the.SQL scripts to create and populate demo tables.  Example

6	(Form Builder only)  Set the Primary Key property for each data item to Yes.  Data items correspond to columns in your datasource.

7	When you are ready to connect to the Microsoft SQL Server datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Microsoft SQL Server, see oca_info.pdf.


Accessing Rdb
Accessing Oracle Rdb

  Related Topics 	  Open oca_info.pdf

To access Oracle Rdb:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	Run the.SQL scripts to create data dictionary views on the server side that enable the display of database object names for selection at design time.  Note

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Optional)  Run the.SQL scripts to create and populate demo tables.  Example

6	(Form Builder only).  Attach the OCA.PLL library to your application, then create a Pre-Form or When-New-Form-Instance trigger that includes the OPENDB.Init_Form routine.

7	When you are ready to connect to the Oracle Rdb datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Oracle Rdb, see oca_info.pdf.


Accessing Microsoft Access

  Related Topics	  Open oca_info.pdf

To access Microsoft Access:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	(Optional) Run the.SQL scripts to create and populate demo tables using the UBT utility:

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Form Builder only)  Set the Primary Key property for each data item to Yes.  Data items correspond to columns in your datasource.

6	When you are ready to connect to the Microsoft Access datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Microsoft Access, see oca_info.pdf.


Accessing Sybase

  Related Topics 	  Open oca_info.pdf

To access Sysbase:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	Run the.SQL scripts to create data dictionary views on the server side that enable the display of database object names for selection at design time.  Note

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Optional)  Run the.SQL scripts to create and populate demo tables.  Example

6	(Form Builder only)  Set the Primary Key property for each data item to Yes.  Data items correspond to columns in your datasource.

7	When you are ready to connect to the Sybase datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Sybase, see oca_info.pdf.


Accessing Tandem NonStop SQL

  Related Topics 	  Open oca_info.pdf

To access Tandem NonStop SQL:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	Run the.SQL scripts to create data dictionary views on the server side that enable the display of database object names for selection at design time.  Note

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Optional)  Run the.SQL scripts to create and populate demo tables.  Example

6	(Form Builder only)  Set the Primary Key property for each data item to Yes.  Data items correspond to columns in your datasource.

7	When you are ready to connect to the Tandem NonStop SQL datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Tandem NonStop SQL, see oca_info.pdf.


Accessing Informix

  Related Topics 	  Open oca_info.pdf

To access Informix:

1	Set up your system to use the Open Client Adapter (OCA).

2	Read through the release notes and the PDF document (oca_info.pdf).

3	Run the.SQL scripts to create data dictionary views on the server side that enable the display of database object names for selection at design time.  Note

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  Example

If dbname is not specified, the views will be created in the 'current' database for the ODBC connection.

4	Launch the Builder.

5	(Optional)  Run the.SQL scripts to create and populate demo tables.  Example

6	(Form Builder only)  Set the Primary Key property for each data item to Yes.  Data items correspond to columns in your datasource.

7	When you are ready to connect to the Informix datasource, type the following connect string in the Connect dialog box:

[user[/password]]@ODBC:datasource[:dbname]  Example

For more information about accessing Informix, see oca_info.pdf.


About the Open Client Adapter (OCA)

  Open oca_info.pdf

The Oracle Open Client Adapter (OCA) for ODBC allows applications on Microsoft Windows 3.1, Windows 95/98, and Windows NT to access ODBC-compliant datasources through ODBC drivers.  The OCA requires the ODBC driver to be ODBC level 1-compliant.  OCA also uses certain level 2 ODBC functionality to achieve greater performance if that capability is provided by the ODBC driver.

Using the OCA, an application can access different datasources in a consistent manner.  This allows an application developer to build an application that can run unmodified against one of several datasources.  Alternatively, the application can be targeted at a specific datasource, and take advantage of features particular to that system.

The OCA is installed through the Oracle Installer, which copies all necessary files to your ORACLE_HOME directory.  One of these files is oca.pll, which is a PL/SQL library of functions that you can use from within applications to:

•	Open auxiliary connections to other datasources in addition to the application's main connection.

•	Execute arbitrary SQL statements and Stored Procedure calls on any connection.

•	Retrieve results sets from non-Oracle stored procedures.

•	Obtain the DBMS and ODBC driver names and versions for a given connection.

•	Automatically adjust Form and Data Block properties at runtime to suit the datasource.

Click the [image] button at the top of this topic to learn more about these functions.

For details about other installed files, refer to the release notes.


By default, oca_info.pdf is installed in ORACLE_HOME\TOOLS\DOC60\US.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


About the UBT utility

The Oracle Open Client Adapter (OCA) for ODBC includes a SQL*Plus-like utility called Universal Backend Tester (UBT).  UBT enables you to manipulate SQL commands within the interpreter or through command files.

The UBT executable (UBT32.EXE for Windows NT and Windows 95/98, and UBT.EXE for Windows 3.1) is installed in ORACLE_HOME\BIN.

For more information about Oracle Client Adapater, see oca_info.pdf (includes UBT utility information)..


The OCA release notes are included in RELNOTES.TXT on the installation CD.


By default, information about accessing  Personal Oracle Lite is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf


This is optional for application development, and not required for runtime. For some databases (for example, Microsoft Access), data dictionary views cannot be created due to inadequate exposure of database catalog information and lack of support for creating views.  In this case, you can type in database object names at design time, rather than select them from a list.


By default, the SQL scripts for creating data dictionary views for Personal Oracle Lite are installed in ORACLE_HOME\OCA20\SQL\POLITE:

polvudrp.sql	removes any old versions of the views.

polvubld.sql	creates necessary views.


UBT32.EXE scott/tiger@ODBC:polite_ds @polvubld.sql


By default, the SQL script for creating demo tables for Personal Oracle Lite is installed in ORACLE_HOME\OCA20\SQL\POLITE:

poldmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:polite_ds @poldmbld.sql


scott/tiger@ODBC:polite_ds


By default, information about accessing Microsoft SQL Server is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


By default, the SQL scripts for creating data dictionary views for Microsoft SQL Server are installed in ORACLE_HOME\OCA20\SQL\SQLSRV:

sqsvudrp.sql	removes any old versions of the views.

sqsvubld.sql	for SQL Server Version 4.2, creates necessary views.

sqs60bld.sql	for SQL Server Version 6.0, creates necessary views.


UBT32.EXE scott/tiger@ODBC:sqlserver_ds @sqsvubld.sql


By default, the SQL script for creating demo tables for Microsoft SQL Server is installed in ORACLE_HOME\OCA20\SQL\SQLSRV:

sqsdmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:sqlserver_ds @sqsdmbld.sql


scott/tiger@ODBC:sqlserver_ds


By default, information about accessing Microsoft Access is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


By default, the SQL script for creating demo tables for Microsoft Access is installed in ORACLE_HOME\OCA20\SQL\ACCESS:

accdmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:access_ds @accdmbld.sql


scott/tiger@ODBC:access_ds


By default, information about accessing Oracle Rdb is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


By default, the SQL scripts for creating data dictionary views for Oracle Rdb are installed in ORACLE_HOME\OCA20\SQL\RDB:

rdbvudrp.sql	removes any old versions of the views.

rdbvubld.sql	creates necessary views.

rdbdual.sql	creates view dual (to support SYSDATE).


UBT32.EXE scott/tiger@ODBC:rdb_ds @rdbvubld.sql


By default, the SQL script for creating demo tables for Oracle Rdb is installed in ORACLE_HOME\OCA20\SQL\RDB:

rdbdmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:rdb_ds @rdbdmbld.sql


scott/tiger@ODBC:rdb_ds


By default, information about accessing Sybase is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


By default, the SQL scripts for creating data dictionary views for Sybase are installed in ORACLE_HOME\OCA20\SQL\SYBASE:

sybvudrp.sql	removes any old versions of the views.

sybvubld.sql	creates necessary views.


UBT32.EXE scott/tiger@ODBC:sybase_ds @sybvubld.sql


By default, the SQL script for creating demo tables for Sybase is installed in ORACLE_HOME\OCA20\SQL\SYBASE:

sybdmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:sybase_ds @sybdmbld.sql


scott/tiger@ODBC:sybase_ds


By default, information about accessing Tandem NonStop SQL is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


By default, the SQL scripts for creating data dictionary views for Tandem NonStop SQL are installed in ORACLE_HOME\OCA20\SQL\NONSTOP:

nssvudrp.sql	removes any old versions of the views.

nssvubld.sql	creates necessary views.


UBT32.EXE scott/tiger@ODBC:nonstop_ds @nssvubld.sql


By default, the SQL script for creating demo tables for Tandem NonStop SQL is installed in ORACLE_HOME\OCA20\SQL\NONSTOP:

nssdmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:nonstop_ds @nssdmbld.sql


scott/tiger@ODBC:nonstop_ds


By default, information about accessing Informix is installed in ORACLE_HOME\TOOLS\DOC60\US\oca_info.pdf.  If you have the Adobe Acrobat Reader installed in the default directory, click the [image] button at the top of this topic to display this document.  Otherwise, start your PDF viewer and open oca_info.pdf.


By default, the SQL scripts for creating data dictionary views and demo tables for Informix are installed in ORACLE_HOME\OCA20\SQL\INFORMIX:

infvudrp.sql	removes any old versions of the views.

infvubld.sql	creates necessary views.


UBT32.EXE scott/tiger@ODBC:informix_ds @infvubld.sql


By default, the SQL script for creating demo tables for Informix is installed in ORACLE_HOME\OCA20\SQL\INFORMIX:

infdmbld.sql	creates demo tables.

The SQL script for populating the demo tables is installed in ORACLE_HOME\OCA20\DEMO:

demodata.sql	inserts data into demo tables.


UBT32.EXE scott/tiger@ODBC:informix_ds @infdmbld.sql


scott/tiger@ODBC:informix_ds


Troubleshooting

If an application that used to work against Oracle now fails against an ODBC datasource, the most likely explanation is that you have encountered a restriction or limitation of either ODBC or the datasource.

To view the SQL statements issued by OCA and the messages generated by the ODBC driver or the database:

1	Verify that the following entry is set in the ORACLE.INI file on Windows 3.1 or in the registry on Windows NT and Windows 95/98:

•	UB=ORACLE_HOME\OCA20

2	Add the following entries to the ORACLE.INI file on Windows 3.1 or to the registry under SOFTWARE\ORACLE on Windows NT and Windows 95/98:

•	OCA_DEBUG_SQL=TRUE

•	OCA_DEBUG_ERROR=TRUE

3	Run your application against the ODBC datasource to view SQL statements or error messages in the debug window.  Click OK to close the debug window and continue processing.

4	If you are unable to resolve the error, call Oracle Support Services.


OCA Messages

Code	Message Description

30000	General OCA error.

30001	NULL hostdef.

30002	Function not supported.

30003	NULL username in connect string.

30004	NULL hostname in connect string.

30005	All cursors are in use.

30006	Error creating parse tree.

30007	NULL SQL statement.

30008	Memory allocation failed.

30009	Error processing bind variables.

30010	Oracle to ODBC datatype conversion error.

30011	ODBC to Oracle datatype conversion error.

30012	Error binding reference value.

30013	No parameters to bind.

30014	Hostname too long.

30015	Stored procedures not supported for this datasource.

30016	Sequences not supported by this database.

30017	Error logging on to non-Oracle database.

30018	Username or password too long.

30019	Error handling non-Oracle stored procedures.

30020	Stored procedure name is missing.

30021	Error preparing/executing SQL statement.

30022	Error retrieving column.

30023	Error fetching result set.

30024	Error retrieving column descriptors.

30025	Error getting number of columns in result set.

30026	Error retrieving procedure descriptors.

30027	Error setting ODBC connection/statement option.

30028	Error at commit/rollback.

30029	Error binding column.

30030	Error binding parameter.

30031	Error retrieving information about driver/database.

30032	Error freeing memory.

30033	Row status error.

30034	Table not found.

30035	Column not found.

30036	Invalid authorization specification.

30037	Data source not available.

30038	Invalid column number.

30039	Illegal bundled operation combination.

30040	Invalid cursor context.

30041	Bind variable does not exist.

30042	No data found.

30043	Fetched column value is NULL.

30044	Fetched column value was truncated.

30045	Error returning result data.

30046	No data source name specified.

30047	Unsupported transaction isolation level.

30048	Binding arrays not supported.

30049	Not logged on.

30050 	Error freeing SQL statement.

30051	Error fetching data.  You must re-execute after a commit for this datasource.

30052	Parameter value was truncated at execution.

31000	General ODBC error issued by the ODBC driver in use.

If an error occurs and the application is unable to read the message from the message file, verify that the following entry is set in the ORACLE.INI file on Windows 3.1 or in the registry on Windows NT and Windows 95/98:

•	UB=ORACLE_HOME\OCA20


PDF file
PDF document

To view the PDF document,  you will need to start your PDF viewer and open oca_info.pdf from the directory in which it is installed.


Glossary

A

    action
    active window/view
    ActiveX
    Ada
    aggregation
    alert
    alignment
    alias
    All tool
    ancestor
    ancestor group
    anchor
    anchor point
    anonymous block
    antecedent
    applet
    application
    argument
    ASCII
    attached library
    attribute
    attribute columns
    attribute mask
    Attribute tool
    attribute value
    axis chart

 B

    background element
    background process
    baseline value
    Batch
    batch compile
    bind reference
    bind variable
    block
    body
    boilerplate
    border
    bounding box
    break chart
    break column
    break group
    break report
    break trigger
    breakpoint
    builder
    built-in datatype
    built-ins
    built-in macro
    buffer
    button
    button procedure

C

    cache (memory)
    call interface
    call stack
    canvas
    canvas view
    cartridge
    cascading style sheet
    category
    category axis
    cell
    CGI
    CGM
    CHAR datatype
    chart element
    chart item
    chart template
    check box
    checksum
    child
    child query
    classification
    clause
    client
    client/server architecture
    Clipboard
    CMDFILE
    collection type
    color palette
    column
    column object
    command line
    comment
    commit
    comparison operators
    compile
    component
    concurrency
    condition
    confine mode
    connect
    connect string
    constraint
    construct
    context area
    continuous axis
    control point
    coordinate plane
    coordinate system
    coordinates (x, y)
    copy
    correlated subquery
    cross product
    crosstab
    cursor
    custom measure
    cut

D

    damage
    data dictionary
    data link
    data model
    data structure node
    database
    database trigger
    datasource
    datatype
    DATE
    date axis
    debug
    debug action
    debug trigger
    Debugger
    deconstructed object
    default
    deliver
    dependency tree
    dependency view
    dependent data
    descendant
    designer
    Designer (Oracle)
    detail query
    dialog box
    DIANA
    dimension
    dimension hierarchy
    dimension value
    disabled
    discrete axis
    display
    display item
    downward-growing
    drag
    drill
    duplicate
    dynamic saved selection

E

    EBCDIC
    edge
    Edge/Fill/Text Display
    editor
    element
    element type
    Ellipsis button
    enabled
    enclosing object
    encryption
    environment
    exception
    Exception tool
    executable argument
    execute
    export
    export file
    expression
    external PL/SQL library
    external query

F

    family
    Family tool
    field
    field template
    file node
    fill area
    filter
    firewall
    flattened object
    flex mode
    focus
    foreground element
    foreign key
    form layout
    form letter layout
    format mask
    format trigger
    formula
    formula column
    frame
    function

G

    generate
    Generate
    Global Registry
    global variable
    grant
    gridlines
    group
    group filter
    group tree
    GUI

H

    handle
    header
    heading node
    hidden
    hierarchy
    HTML
    HTTP
    hyperlink
    hypertext

I

    ICD
    icon
    image
    implied item
    import
    independent data
    index
    inherit
    inner bounding box
    input item
    insert mode
    internet
    Interpreter script
    intranet
    IP (Internet Protocol) Address
    item
    item node

J

    JAR
    Java
    join
    justification

K

    keyword

L

    label
    Launcher
    level
    Level tool
    layout
    layout unit
    lexical reference
    library
    link
    link file
    list box
    list item
    list of values
    List tool
    local database
    local registry
    local variable
    logical operators
    logical page
    loop

M

    macro
    mailing label layout
    margin
    master/detail layout
    Match tool
    matrix cell
    matrix layout
    matrix report
    measure
    megabyte (Mb)
    message box
    method
    modal window
    modeless window
    module
    multi-line field

N

    NA value
    nested matrix
    NOCACHE
    node
    non-caching column
    NULL value
    numeric operators

O

    object
    object column
    object group
    object handle
    Object Navigator
    object table
    object type
    ODBC
    OLE
    OLE container
    OLE Server
    Oracle datatype
    Oracle Designer
    ORACLE_HOME
    organization node
    origin
    outer bounding box
    overflow

P

    packaged function
    package
    package body
    package specification
    page
    page break
    palette
    pane
    panel
    parameter
    parameter list
    parent
    paste
    pattern
    Pcode
    PDF
    physical page
    placeholder username
    plot type
    PL/SQL
    pld file
    pll file
    pls file
    plx file
    pop-up list
    port
    pre-defined action
    pre-defined type
    preference
    preview
    Previewer
    primary key
    primitive
    printer control code
    prt file
    procedure
    program unit
    project
    project file
    project item
    Project Navigator
    project node
    project registry
    project view
    Project Wizard
    property
    property class
    protocol

Q

    qualifying dimension
    query
    query filter function
    quit

R

    radio button
    radio group
    Range tool
    RC4
    RDBMS
    rdf file
    rep file
    read consistency
    record
    record group
    REF column
    reference line
    refresh
    register
    registry
    relational operator
    remote database
    repeating frame
    replace mode
    report-level objects
    Reports Background Engine (RWRBE60)
    Reports Queue Manager (RWRQM60)
    Reports Server (RWMTS60)
    Reports Web Cartridge
    Reports Web CGI (RWCGI60)
    rex file
    RGB
    root
    root node
    row
    row object
    RTF
    run
    runfile
    Runtime
    Runtime Parameter Form

S

    saved selection
    Saved Selection tool
    schema
    scope
    script
    section
    SELECT statement
    selection
    selection script
    Selector
    Selector tool
    session
    sibling
    socket
    Sort tool
    source
    specification
    split bar
    SQL
    sql file
    SQL script
    SQL statement
    stack
    statement
    static saved selection
    stored program unit
    stored subprogram
    style sheet
    subprogram
    subproject
    subproject node
    summary column
    SYLK
    syntax
    system variable

T

    table
    table type
    tabular
    target
    target node
    TCP
    tear-off menu
    text item
    title bar
    title page
    toggle
    tool
    toolbar
    tool palette
    Top/Bottom tool
    trailer
    transaction
    trigger
    type

U

    update
    URL
    user exit
    user-defined action
    user-defined type
    user-defined macro
    user registry

V

    valid XML
    value axis
    value construct
    variable
    varying array type
    VBX
    VBX control
    view
    virtual directory
    virtual file system
    visual attribute

W

    Web
    Web browser
    Web cartridge
    Web link
    Web server
    well-formed XML
    wildcard
    window
    WKS
    WRB
    WWW

X

    XML

Y

Z

    zoom


In Project Builder, a command string supplied either by Project Builder or by the user that applies to files of a given type.  An action is not restricted to a single file type; for example, if the action "Compile" is defined for both forms and C source files, selecting "Compile Project" will compile all .fmb and .c files using the appropriate tools.  See also:  pre-defined action, user-defined action.


A high-level programming language developed by the U.S. Department of Defense for use in embedded computer systems.


A window or view that can receive user input.


(Oracle Express) The consolidation of data for several dimension values into a single value, such as the total units sold for all the cities, or into a smaller set of values, such as the average units sold for cities in each region. Data is often collected at the lowest level of detail and is aggregated into higher level totals for analysis.


A modal window that notifies you of a condition that occurred because of your last action.  You must respond to an alert.


The way in which data is positioned in a field.  It may be positioned to the left, right, center, flush/left, flush/right, or flush/center of the defined width of a field.


A secondary name used in a SQL statement to reference a table, view, or column.


(Oracle Express) A Selector dialog box tool that allows you to select all of the values in a dimension, or all of the values in a dimension for a specific hierarchy.


(Oracle Express) A dimension value at any level above a particular value in a hierarchy. The ancestor value is the aggregated total of the values of its descendants.  The following example shows the dimension value "Europe" as the ancestor of "France," "Lyon," and "Paris" in the GEOGRAPHY dimension.


A group that owns another group, either directly or indirectly.


A layout object used to fix a spot on one object to a spot on another object, ensuring the position of the first object in relation to the second object.


(Oracle Express) A specific dimension value that is used when selecting dimension values based on their family relationship or when navigating through a hierarchy.


A PL/SQL program unit that has no name and does not require the explicit presence of the BEGIN and END keywords to enclose the executable statements.  Since they are unnamed, anonymous blocks cannot be referenced by other program units.


An object that appears in another object's group tree at any position above that other object.  Every object is an antecedent of its descendants.


A Java term for small programs that can be dynamically imported into Web pages or applications as needed.


One or more program modules used to achieve a specific result.  Applications can be nested within other applications.  For example, an application to control a company's inventory could consist of various Form Builder applications for input of data, and various Graphics Builder applications to display the data visually.


1. An optional expression passed to a program unit for the program unit to operate on.
2. Clauses containing keywords and their specified values.


Acronym for American National Standard Code for Information Interchange.


A read only collection of PL/SQL subprograms, usually provided with an application to supply necessary PL/SQL source.  Program units in an attached library are implicitly loaded when they are first called by another program unit at compile-time or runtime.  They remain loaded for quick reuse, which reduces runtime memory requirements and improves the performance of an application.  See also:  library .


1. See property.
2.  A part or component of an Oracle8 object type definition.  Each attribute has a name and an Oracle8 datatype.  When an object table is created based on the object type, the columns in the table correspond to the attributes in the object type definition.  When a column object in a relational table is created based on the object type, the column object contains the equivalent of sub-columns, each of which corresponds to an attribute in the object type definition.  Each Oracle8 object attribute in a table is treated as a separate data item, as if it were a separate column.  This is true for both object tables and column objects in relational tables.
3. (Oracle Express) A descriptive characteristic that is shared by dimension values. Attributes represent logical groupings that allow users to select data based on like characteristics. For example, in a database representing footwear, you can use a shoe color attribute to select all boots, sneakers, and slippers that share the same color.


The columns that compose a column object (Oracle8).


In Graphics Builder, the first element in an attribute descriptor.  It is a 32-bit mask that informs the toolkit of the attributes that will be set or retrieved by a subsequent function call.  Only those elements that have their corresponding bits set in the attribute mask are set or retrieved.


(Oracle Express) A Selector dialog box tool that allows you to select dimension values based on attributes and attribute values. For example, in a database representing soft drinks, you might select all products whose size is 1 liter. In this example, Size is an attribute and 1 liter is an attribute value.


(Oracle Express) The values in the database that make up an attribute. For example, in a database representing ice cream products, the following attribute values might belong to a flavor attribute in a Product dimension: vanilla, chocolate, and strawberry. Dimension values at various levels in the Product dimension -- brand, form, and size, for instance -- might share the same value for flavor.


A type of chart in which the data is plotted according to where it lies along the chart's edges, called axes.  An axis chart may contain two or three axes, each of which may be one of the following types:  discrete, continuous, or date.


The white part of a pattern.  You apply color to the background element using the Fill Color palette.


A non-interactive process that runs in an operating system environment and performs some service or action.  Certain Oracle products use background processes for different tasks, such as performing and coordinating tasks on behalf of concurrent users of the database, processing and delivering electronic messages, and managing printing services.


The value used as the starting point for plotting fields on the continuous axis of a chart.


The executable that executes an application in batch mode, without using a windowing system.


To translate, at once, several PL/SQL program units into a machine executable form.


A reference to a parameter used to replace a single literal value (e.g., a character string, number, or date) appearing anywhere in a PL/SQL construct or a SQL SELECT statement.  For a bind reference, you must precede the parameter name with a colon (:).


A global variable you can create and use outside of a PL/SQL package.


1. The basic program unit in PL/SQL, defined by the keywords DECLARE, BEGIN, EXCEPTION, and END.
2. In Form Builder, a logical container that relates to a database table or view.


1. Contains the same information as the program unit specification, and also includes the actual implementation of the subprogram (i.e., its sequence of actions).  In most cases, only a body must be defined for a subprogram.
2. In Report Builder, a region that contains the bulk of the report layout (text, graphics, data, and computations).  The report body appears between the report header and trailer pages.


Text and/or graphics that appear in a report every time it is run.  In some products this is called "constant" text or graphics.


A user-defined outline around a layout object, usually used to highlight its contents.  Borders are drawn such that half the width of the border lies outside the edge of the object, and half inside the edge.


See inner bounding box, outer bounding box.


An axis chart that displays two categories of data along one axis.


A query column assigned to a break group.


A group used to break or categorize report data.  All data in query columns assigned to a break group appear above the data in columns belonging to other groups.  Each record fetched for a break group appears only once, while multiple related records in other groups can be displayed.


A report that contains categories that break the report data into sets.


A PL/SQL block that executes each time a breakpoint is reached.  See also:  breakpoint.


A debug action you can place at any executable source line in a PL/SQL subprogram.  A breakpoint interrupts execution of the program unit and passes control to the PL/SQL Interpreter.  Breakpoints allow you to incrementally execute a subprogram and search for runtime errors.  See also:  break trigger.


Refers to a component used to create a specific type of document. For example, Form Builder is used to create forms, while Report Builder is used to create reports.


A datatype defined and supported by the Oracle Server.


A collection of extensions to the PL/SQL language that are designed to be used with the software.  Built-ins include datatypes, procedures, functions, exceptions, and constants.


In Project Builder, macro shipped with Project Builder.  See also:  macro.


A temporary storage area for data during the transfer of that data between the computer and a peripheral, or between parts of a computer.  A buffer prevents loss of information due to differences in the speed or timing of the transfer and speeds up certain functions.


1. An interface element used to select an action item, display a dialog box, or acknowledge the current condition.
2. An object in an application that has a PL/SQL procedure associated with it.  The procedure is generally executed upon a user mouse event.


A PL/SQL procedure associated with an application object, that is executed when a specific mouse event occurs on the item at runtime (e.g. clicking the button).  It does this by establishing a hierarchy for the fetched data containing a break group.


A temporary storage place for database data that is currently being accessed or changed by users, or for data that Oracle Server requires to support users. The terms are often used interchangeably.


An interface that enables you to invoke Forms Developer or Reports Developer component executables from other Oracle products, or a 3GL program.


A chain of subprogram calls, from the initial entry point down to the currently executing subprogram.  Each subprogram call is represented by a frame on the downward-growing call stack, in which newly entered subprograms are added to the bottom of the stack.


   See editor.


In Form Builder, the background object on which you place the interface objects that users will interact with in the runtime application.  A canvas view is usually associated with a window.


Manageable objects that plug in to the client, application server, or database through an open API.


See style sheet.


A label component that allows differentiation between information on the basis of non-hierarchical delineation or compartments rather than sensitivity levels.  With classification, they are used as a means of restricting access to information.


See discrete axis.


An instance of data in a spreadsheet (e.g., Microsoft Excel).


Acronym for Common Gateway Interface. The industry-standard technique for running applications on a Web server.  Whereas standard HTML documents retrieved from a Web server are static (the exact same text is retrieved every time) CGI enables a program running on the Web server to communicate with another computer to generate "dynamic" HTML documents in response to user-entered information.


Acronym for Computer Graphics Metafile.  A file format recognized internationally and used to store and transport object-oriented graphics from one system or program to another.


An Oracle datatype provided for ANSI/ISO compatibility.  A CHAR column is a fixed-length column and can contain any printable characters, such as A, 3, &, or blanks, and can have from 1 to 255 characters or can be null.


A bar, line, symbol, or other graphical object that represents a single value for a field.


A bordered rectangle of any size used to embed Graphics Builder charts in a form or report.


A collection of attributes and properties that defines the format of a chart.


A interface element, appearing as a small square, that a user can toggle on or off.


An error-checking algorithm.


1. An object that is a member of a group, and is immediately below that group object in its group tree.  The objects that compose a group object are children of that group.  Every object is a child of its parent.
2. (Oracle Express) A dimension value at the level immediately below a particular value in a hierarchy. Values of children are included in the calculation that produces the aggregated total for a parent.  A dimension value may be a child for more than one parent if the dimension has more than one hierarchy.  The following example shows the dimension values "Lyon" and "Paris" as the children of "France" in the GEOGRAPHY dimension.


See detail query.


A hierarchical level that denotes the sensitivity of the information that is labeled.  Classifications are used as a means of restricting access to information.


A part of a SQL statement that does not constitute the full statement; for example, a "WHERE clause."


A user, software application, or computer that requests the services, data, or processing of another application or computer (the "server").  In a two-task environment, the client is the user process.  In a network environment, the client is the local user process and the server may be local or remote.


Separation of processing between two CPUs, one acting as the server that provides services in a transaction and the other as the client in the transaction, requesting and receiving services.  All responsibilities of shared data management can be processed by the computer running the database management system while the workstations running the database application concentrate on the interpretation and display of data.


A memory buffer.  An object remains on the Clipboard until you cut or copy another object, or until you quit the application.


A user-defined datatype that describes a data unit made up of an indefinite number of elements, all of the same datatype.  Varying array types and table types are collection types.  (Oracle8)


An argument that allows you to specify a file that contains a set of command line arguments for Forms Developer executables.


Contains all the colors available to the windowing system, the drawing surface, or a window and its views.


1. A vertical space in a database table that represents a particular domain of data.  A column has a column name (e.g., ENAME) and a specific datatype (e.g., CHAR).  For example, in a table of employee information, all of the employees' names would constitute one column.  A record group column represents a database column.
2. In Report Builder, a data model object created automatically for each column expression in a query's SELECT list, or created manually to perform summaries, formulas, or act as a placeholder.


In an Oracle8 relational table or object table, a column whose definition is based on an object type.  The column is a composite, the parts of which correspond to the attributes of the object type.


An operating-system command line.  Most Oracle products can be invoked from a command line using a number of executable arguments.


A language construct for the inclusion of explanatory text in a program, the execution of which remains unaffected.


To make changes to data in the database permanent.  Before changes are stored, both the old and new data exist so that changes can be stored or the data can be restored to its prior state.


(Oracle Express)

>	Greater than

<	Less than

=	Equal to

<=	Less than or equal to

>=	Greater than or equal to

<>	Not equal to

For numbers, the operands are widened to the least common type (Integer is preferred over Long, which is preferred over Single, which is preferred over Double). For Strings, the comparison is case-sensitive and is based on the collating sequence used by the language specified in the Windows Control Panel. The result is 0 for FALSE and -1 for TRUE.


To translate a source program into a binary, executable format.  PL/SQL program units must be compiled before they can be executed.


A specific target object that is a part of a larger application; e.g. a form in an order entry system, or a library that is shared among many other elements.  See also:  target.


The simultaneous access of the same data by multiple users executing different database applications or the same application.  In database software concurrency requires additional logic to ensure that all users see consistent data and that all changes are made in the proper order.


An expression whose value is either true or false, such as X> 100.  For example, you can set a condition in a query when you want the query to display only those rows that evaluate as true in your expression.


Layout editor mode that prevents child objects from being moved or resized on or outside their parent objects.


To log on to a database.  You must connect if you want to create or modify queries or access an application stored in a database.


The set of parameters, including a protocol, that SQL*Net uses to connect to a specific Oracle instance on the network.


A rule or restriction concerning a piece of data (such as a NOT NULL restriction on a column) that is enforced at the database level, rather than the object or application level.


A PL/SQL code structure.  There are two types of constructs: non-value constructs do not return a value; value constructs return a value.


A work area in which Oracle Server stores the current SQL statement, and if the statement is a query, the result's column headings and one row of the result.  Also referred to as cursor.


An axis that plots values that begin with one value and continue until they reach another value.  Thus, these values are mathematically related.  Dependent data is usually plotted along this axis, also called the value axis.


The four corner points of the virtual rectangle that constitutes an object's ideal shape.  When you select an object on the layout, its control points appear.  Depending on the object selected, you may be able to modify it by dragging a control point.


The two-dimensional grid on which drawing takes place.


The type of x, y units used to place and size objects in the Layout Editor view.  The coordinate systems available are 1) character, which uses the platform's native character cell size, and 2) real, which can be in units of pixels, centimeters, inches, or points.


The location points for objects appearing in the layout.  x and y coordinates determine the horizontal (x) and vertical (y) placement of objects.


To store a replica of a selected object on the Clipboard, so that it may be pasted elsewhere in an editor if desired.


A subquery based on the same tables as the parent query (i.e., references columns in the tables included in its parent query).


Group that owns two or more other groups and performs a mathematical cross product (i.e., correlates values between them).


See matrix cell.


1. A small icon representing the position of the mouse.  The shape of the cursor varies, depending on the selected tool.
2. An internal pointer to data retrieved by a query.  A cursor points only to one row of data at a time; however, you can use built-in subprograms to move the cursor to any row in the data set.


(Oracle Express) A formula created by a user, which allows fine-tuning of data analysis. You create custom measures using base measures in the database. For example, if the database contains the existing measure Volume Share, you can use this measure to create a custom measure named Volume Share Year Ago. This custom measure would allow you to look at a product's absolute share from the previous year.


To delete one or more objects and store them in the Clipboard, so that they may be pasted elsewhere in an editor, if desired.


A view is damaged when it is totally or partially occluded by another view.


A set of tables and views owned by the database administrator.  It is a central source of information for Oracle Server and other relational databases.


A data model object used to define a master/detail (parent-child) relationship between a group and a query.


A relational model that defines what data should be fetched from the database, what values should be computed, and how data should be ordered in a report.  Report Builder objects that define the data model are queries, groups, columns, parameters, and links.


A source for data returned by a query, including database objects such as tables, views, synonyms, snapshots, and queries stored as views.


In Project Builder, a node in the Project Navigator denoting a project item that governs the structure of an open project.  For example, the Global Registry node denotes the Global Registry, which contains a list of local registries and a list of global type definitions.


A set of dictionary tables and user tables that are treated as a unit.


A stored PL/SQL block that is implicitly executed when a triggering INSERT, UPDATE, or DELETE statement is issued against the associated table in the database.  See also:  debug trigger.


A standard form of data.  Some common Oracle datatypes are CHAR, VARCHAR2, DATE, NUMBER, LONG, RAW, and LONG RAW.


An Oracle Server datatype.  A date column may contain a date and time between January 1, 9999 BC and December 31, 9999 AD.


An axis that plots date values that begin at one date and continue until they reach another date.


To detect, diagnose, and eliminate runtime errors in programs.


A user-specified event placed in a PL/SQL subprogram, usually for the purpose of troubleshooting runtime errors.


A conditional debug action you can place at any executable source line in a PL/SQL subprogram.  If the specified condition is met, the specified action is taken before execution of the subprogram resumes.  See also:  database trigger.


The Procedure Builder functionality within the software component used for testing and debugging.


In Oracle8, object types and objects are composites, built of parts or attributes.  Forms Developer or Reports Developer treats each part/attribute as an independent, individually-selectable data item.  This treatment results in a deconstructed object (sometimes also known as a flattened object).  The object is not an homogeneous entity within the Developer environment.


A piece of data that depends on other data for its value.  For example, an employee's  years of service may have the value 10, which is dependent upon the value of the employee's name.  Also called value data.


A value supplied by the system when a user does not specify a required command parameter or attribute.


To prepare and provide a completed application for distribution and deployment.


In Project Builder, the mechanism used by Project Builder to determine how to compile files that are referenced in projects.  Items toward the top left of the tree depend on items toward the lower right; so, for example, if a header file is either out of date or more recent than the executable file it is used to build, then the Project Builder will rebuild the executable file, given a Build command.  Dependencies also extend to subprojects.  For example, if a subproject consisting of a function library has been rebuilt, the Project Builder "knows" the dependent project will need to be rebuilt in order to use the updated library functions.  See also:  dependency view.


In Project Builder, shows files in the Project Navigator in the order in which they depend on each other, with project nodes at the highest point in the hierarchy, followed by target nodes, which are followed by buildable components of those targets.  For example, an executable form depends on and will be followed by an .fmb file, which may depend on and be followed by a library used for a USEREXIT procedure, and so on.  See also: project view, target.


1. An object that appears in another object's group tree at any position below that other object.  Every object is a descendant of its antecedents.
2. (Oracle Express) A dimension value at any level below a particular value in a hierarchy. Values of descendants are included in the calculation that produces the aggregated total for an ancestor.  The following example shows the dimension values "France," "Lyon," and "Paris" as descendants of "Europe" in the GEOGRAPHY dimension.


The interface used to design different components of a Forms Developer or Reports Developer application.


See Oracle Designer.


An application modeling, design and generation toolset.  Using Oracle Designer, you can generate forms and menus from module definitions recorded in the Oracle Repository.


When defining a master/detail report, the detail query retrieves all related records for each record retrieved by the master, or parent, query.


A partial screen or window that prompts you to enter information necessary to complete an operation.


An intermediate representation of a program unit, generated by the compiler.  The DIANA includes all of the syntactic and semantic information for a compiled program unit.  In order to compile a reference to a program unit, the compiler must have access to the referenced program unit's DIANA.  For example, if program unit A calls program unit B, the DIANA for B must be available before A can be compiled.


(Oracle Express) A type of database object that is a list of values that provide categories for data. A dimension acts as an index for identifying values of a variable. For example, if you have sales data with a separate sales figure for each month, then the data has a MONTH dimension; that is, the data is organized by month. A dimension is similar to a key in a relational database.

Any item of data within a multidimensional variable can be uniquely and completely selected by specifying one member from each of the variable's dimensions. For example, if a sales variable is dimensioned by MONTH, PRODUCT, and MARKET, specifying "January" for the MONTH dimension, "Stereos" for the PRODUCT dimension, and "Eastern Region" for the MARKET dimension uniquely specifies a single cell in the variable. Thus, dimensions offer a concise and intuitive way of organizing and selecting data for retrieval, updating, and performing calculations.

A dimension can be simple, with values that are single text or integer values, or it can be conjoint, with values that are combinations of values in other dimensions. A composite is not a dimension, but it is a conjoint-like internal object that Express treats like a dimension for the purpose of handling sparse data.


(Oracle Express) One element in the list that makes up a dimension. For example, a computer company might have dimension values in the PRODUCT dimension called "LAPPC" and "DESKPC." Values in the GEOGRAPHY dimension might include "Boston" and "Paris." Values in the TIME dimension might include "MAY96" and "JAN97."


An interface element state that means a menu item, button, etc., cannot be used in the current context; i.e., it does not respond to keyboard or mouse input.


An axis that plots distinct values at fixed intervals.  These values are not mathematically related.  Independent data is usually plotted along this axis, also called the category axis.


A Graphics Builder document containing any combination of charts, images, text objects and shapes.


In Form Builder, an item that stores or displays information that must be fetched or assigned programmatically with PL/SQL.


As it pertains to the call stack, in which newly entered subprograms are added to the bottom of the stack.  The earliest frame, corresponding to the initial program entry point, is at the top of the stack, while the latest frame, associated with the most deeply nested subprogram call, is at the bottom of the stack.


Press and hold down a mouse button while you slide the mouse pointer to a particular location in a window.


(Oracle Express) To navigate up and down through the levels of aggregation in a dimension that has a hierarchy. When selecting dimension values or viewing data, you can expand or collapse a dimension hierarchy by drilling down or up in it. Drilling down expands the view to include child values that are associated with parent values in the dimension hierarchy. Drilling up collapses the list of descendant values associated with a parent value in the dimension hierarchy.

You can click on a plus icon ( [image]) to drill down on (expand) the hierarchy or on a minus icon ( [image]) to drill up on (collapse) the hierarchy.

In the Selector, you can click on the drill icon ( [image]) to display the Drill dialog box so you can select a level of detail for the entire dimension.


An option that allows you to copy objects directly on the layout without affecting the contents of the Clipboard.


(Oracle Express) A saved selection that can have different dimension values each time it is evaluated. The selected dimension values might differ from use to use. In contrast, a static saved selection is an unchanging list of dimension values. A dynamic saved selection script might include "Select the last three Months", while the script for a static saved selection might have "Select February 1996, March 1996, and April 1996".


Acronym for Extended Binary-Coded Decimal Interchange Code.


The boundary of an object.


A display box on the Layout Editor tool palette that shows the current settings for the edge, fill, and text patterns and colors.


A work area in which you perform a specific set of tasks, such as creating a program unit or designing an application.


A thing of significance about which you may need to record information.  Elements are described by attributes and associations to other elements.


Any element held in the dictionary is classified as being of a particular type.  Examples of element type are entity, attribute, program module, table, diagram, text, softbox.  Occurrences or instances of these are called elements.


(Oracle Express) Displays a dialog box related to the task you are performing, usually so you can select one or more values that you need.


An interface element state that means that a menu item, button, etc., can be used in the current context, that is, it responds to keyboard or cursor/mouse input.


An object that contains another object.  An object is considered to be enclosed by another object only if all of the following are true:  both objects belong to the same region (Body, Margin, Header, or Trailer);  the outermost of the two objects is a frame or repeating frame;  the outermost of the two objects is behind the other object;  the innermost of the two objects lies entirely within the borders of the other object.


The practice of scrambling (encrypting) data in such a way that only an intended recipient can unscramble (decrypt) and read the data.


The user's computer-based workplace, including the tools typically used and their configurations. For Project Builder, this refers to the subset of tools that are used to complete various tasks related to developing Forms Developer applications.


A warming or error condition generated from a PL/SQL subprogram.


(Oracle Express) A Selector dialog box tool that allows the user to select dimension values associated with data that meets cutoff terms that the user specifies. For example, the user can select all products whose dollar sales were greater than $10,000 for the week ending December 23, 1995 in the Boston market.


An argument you can pass to a product executable, such as 'OPENFILE=my_disp' and 'PRINT=YES'.  These arguments usually are specified when the executable is invoked from a command line.


See run.


To store a copy of an object, module, selected text or image to a file or database.  In Project Builder, the process of writing out a file containing project, type, action, and/or macro definitions in a portable format for distribution to others who may work on heterogeneous platforms.  See also:  export file, import.


In Project Builder, the shareable, portable file created by exporting a project.


1. A PL/SQL construct combining variables, constants, literals, and operations on their values.
2. (Oracle Express) One or more data values that are specified in an Express language program. For example, you can specify expressions as arguments to programs or functions. An expression can be any of the following:

•	A single, literal value (for example, 10)

•	A variable or formula that contains one or more values

•	A function that returns one or more values

•	A calculation that combines values, such as variables, formulas, or functions, with arithmetic or Boolean operators


See library.


An ANSI-standard SQL SELECT statement that can be referenced by other Oracle products.


(Oracle Express) A group of related dimension values that correspond to the levels of the dimension hierarchy. Dimension values within a family can relate to each other as ancestor, parent, child, and descendant.  The following example shows family relationships for the dimension value "France" in the GEOGRAPHY dimension.


(Oracle Express) A Selector dialog box tool that allows the user to select a family of dimension values for a particular hierarchy. A family includes a parent and all of its descendant dimension values. For example, the user can select all of the family members below the Chicago market level in the Geography dimension.


1. An interface element in which you enter, edit, or delete data.  2. In Graphics Builder or Report Builder, a layout object that define how the data for a specific query column appears.


In Graphics Builder, a collection of attributes and properties that determines how dependent data (values) are represented as chart fields, such as bars or lines.


In Project Builder, a node in the Project Navigator denoting a file stored in the file system.  For example, the global and local registry nodes correspond to global and local registry files.


The area within an object to which a fill (color or pattern) should be applied.


A PL/SQL function or anonymous function that restricts the data displayed by a group.


A computer that regulates access to computers on a local area network from outside, and regulates access to outside computers from within the local area network.


See deconstructed object.


Layout Editor mode that automatically resizes or shrinks parent objects when child objects are moved or resized, and adjusts the positions of other layout objects that might otherwise be affected by the repositioning or resizing of the objects.


The state of an entity that is able to respond to input from the user or the client.  If an entity has the keyboard focus, it can receive events when the user presses a key.  If a drawn view has the drawing focus, it can respond to client routines that affect drawing.


The black part of a pattern.  You apply color to the foreground element using the Edge Color palette.


A value or column in one table that refers to a primary key in another table.


In Report Builder, a default layout style in which labels appear to the left of fields, and each record prints on a separate logical page.


In Report Builder, a default layout style that intermixes boilerplate and fields, wrapping lines at "word" breaks.


(Field Properties)  A setting that defines the appearance of the value of a field.  For example, a format mask is used to specify the display of currency amounts and dates.


A PL/SQL function that allows you to dynamically change the formatting attributes of an object.


(Oracle Express) A type of database object that represents a stored calculation, expression, or procedure that produces a value. A formula provides a way to define and save complex or frequently used relationships within the data without resaving the data itself. Each time you use a formula, Express performs the calculation or procedure that is required to produce the value.


A user-created column that gets its data from a PL/SQL function or expression, a user exit, a SQL statement, or any combination of these.


In Graphics Builder, the part of a chart template that defines the basic structure of a chart, but does not determine the way the data is plotted.
2. In Report Builder, a layout object used to enclose other layout objects and control the formatting, frequency, and positioning of several objects simultaneously.


A PL/SQL subprogram that performs a specified sequence of actions, and then returns a value.  Can reside and execute on the client and the database server.


To save an application to a file or database in a binary format that can be executed by Runtime and Batch executables.


The Form Builder executable used to save an application to a file or database in a binary format.


A Project Builder registry that stores information common to an entire Forms Developer or Reports Developer installation.  This information is restricted to type definitions, and their associated actions and pre-defined or user-defined properties.  The use of the Global Registry is optional; its functions can be performed by individual user registries.  See also: registry, user registry.


A logical container that exists across an application.  When an application uses a global variable, the application maintains the variable until the application is exited, or until another object explicitly removes it.


To give a user access to a module.  Only a module's creator can grant its access to other users.


In Graphics Builder, the lines that separate rows and columns in the Layout Editor.


1. An object that is composed of several other objects.
2. In Report Builder, a data model object that is created automatically to contain all the columns selected by a query, or created by the user to modify the hierarchy of the data appearing in a report;  it is used primarily for creating breaks in a report, as well as for resetting computations.
3. In Project Builder, collections of related items available via submenus off the Launcher.  Groups allow users to set up the Launcher much like the Windows 95 Start menu, with arbitrary "groups" as entries that pop up to reveal other items and/or groups.  For example, a user could define a group named "Project Docs", containing a project schedule, to-do list, component specifications, etc.; some files may be .TXT files, other .DOC files.


A PL/SQL function that restricts the data fetched by a group.


A hierarchical model-similar to a "family tree"-that describes the relationships between group objects and the objects that compose them.


Acronym for graphical user interface. The use of pictures rather than just words to represent the input and output of a program.  Programs with GUIs run under a windowing system (such as  X Windows, Microsoft Windows, Apple Macintosh, and so on).  GUI programs display icons, buttons, and so on, in windows on the screen;  users control the GUI programs mainly by moving a pointer on the screen (typically controlled by a mouse).  Also known as a bitmapped interface.


An internal pointer to an application object.  In order to reference an object in a PL/SQL program unit, you must pass its handle as an argument to the appropriate subprogram.


An optional report region that can contain introductory material for the report, including text, graphics, data, and computations.  The report header appears first, before the body and trailer.


A node in the Object Navigator denoting a type of object which can be contained within or associated with a report.  Selecting a heading node does not select an object in the report.


(Field Properties)  A property that specifies whether Report Builder will suppress the indicated field at its location in the layout.  If Hidden is specified, the field's value will appear only where referenced in text objects (using &fieldname).


(Oracle Express) A means of organizing and structuring data. A hierarchy exists when values within a dimension are arranged in levels, with each level representing the aggregated total of the data from the level below. Some dimensions have multiple hierarchies based on them.

The following example shows a hierarchy based on the GEOGRAPHY dimension, in which dimension values are arranged in five levels. Data at the Customers level is aggregated into the Cities level, which, in turn, is aggregated into the Countries/Areas, Continents/Regions, and Global levels.


Acronym for Hypertext Markup Language.  A tag-based ASCII language used to specify the content and links to other documents on Web servers on the Internet.  End users with Web browsers view HTML documents and follow links to display other documents.


Acronym for Hypertext Transfer Protocol. The protocol used to carry WWW traffic between a WWW browser computer and the WWW server being accessed.


A reference (link) from some point in one document to (some point in) another document or another place in the same document.  A Web browser usually displays a hyperlink in some distinguishing way (in a different color, font or style).  When users activate hyperlinks (by clicking on them with a mouse) the browser displays the target of the link.


A collection of documents containing cross-references which, with the aid of a Web browser, allow readers to move easily from one document to another.


Cross-references which, with the aid of a Web browser, allow readers to move easily from one document to another.


Acronym for interface C definition-a PL/SQL application programming interface to functionality implemented in C.


A graphic representation of a window or tool.


A bitmapped object that can be stored and loaded into an application.  The client cannot modify an imported image.


In Project Builder, a project item, usually the result of automatic generation, that Project Builder recognizes and for which it automatically creates entries in the Project Navigator.  For example, Project Builder can recognize .OBJ files, generated as an intermediate step during the compilation of C source files, and create entries for them in the Project Navigator.  Although resetting the properties of an implied item is of limited use (the next compilation will destroy changes) such items can be useful, as they can be examined via actions such as Edit, View, and Print.  See also: item, action.


1. To read a module from the file system or database, and incorporate it into an application.
2. To read in a file containing project information.


A piece of data that does not depend on other data for its value.  For example, an employee's name may have the value Jones, which is independent of the values of other employee's names or associated data.  Also called category data.


An optional structure associated with a table that is used by Oracle Server to locate rows of the table quickly, and (optionally) to guarantee that every row is unique.


In Project Builder, to obtain information for an action, type, macro, or property definition from an ancestor node in the dependency tree.  If related attributes exist in an ancestor node, they may be inherited.  Thus, filesystem items like forms and documents may inherit action definitions from subprojects, projects, the user registry, or the Global Registry; projects may inherit type definitions from the local or the Global Registry; and so on.


The virtual rectangle that constitutes an object's ideal shape and connects its four control points, regardless of edge thickness or other attribute settings.


The file used to build a target: for instance, an .FMB is the input for an .FMX.  Also called source.


A mode in which each character you enter is inserted at the cursor, pushing the following characters to the right.  The opposite of replace mode.


A worldwide TCP/IP-based network of computers.


A file containing any mixture of PL/SQL source, Procedure Builder commands, and SQL statements.


An internal TCP/IP network, access to which is restricted (via a firewall) to individuals inside the company or organization.  An intranet provides similar services within an organization to those provided by the Internet, but is not necessarily connected to the Internet.  A common example of an intranet is when a company sets up one or more Web servers on an internal network for distribution of information or applications within the company.


A four-part number with no more than three digits in each part that uniquely identifies a computer on the Internet.


In Project Builder, an object in the file system associated with the project, such as a form or a document, pointed to or represented by a node in the Project Navigator.


In Project Builder, an entry in the Project Navigator window, consisting of an icon and a descriptive title.  Nodes point to actual items in the filesystem, such as Form Builder files and documents.  See also: node, item.


Acronym for Java ARchive.  A file used for aggregating many files (Java class files, images, and so on)  into one file.


A computer language that supports programming for the Internet in the form of platform-independent "applets".


Combining data from two (or more) tables in a single SELECT statement.


  See alignment.


1. Part of a command line syntax that must be supplied with a corresponding argument.  2. A required part of a PL/SQL construct.


Text identifying the values or meaning of an application's visual objects.


(Oracle Express) A position in a dimension hierarchy. Each level above the base level represents the aggregated total of the data from the level below. For example, the TIME dimension might have ascending levels such as Month, Quarter, and Year. Within a dimension hierarchy, a dimension value at one level has a family relationship with the dimension values at the levels above and below that level.


(Oracle Express) A Selector dialog box tool that allows the user to select dimension values based on their level in a particular hierarchy. For example, the user can select all of the dimension values at the Key Account level in the Geography dimension.


The area of an editor in which you can create, modify, position, or delete objects.


A unit of measurement for ensuring a consistent measurement system across different display devices.  Used to specify a position on the layout, or the dimensions of an object.


A reference to a parameter used to represent a string of text in a SQL SELECT statement.  For a lexical reference, you must precede the parameter name with an ampersand (&).


A collection of one or more PL/SQL program units that are stored together in a file on the client file system or in the database.  Program units stored in a library can be referenced by several applications at once.  Unlike stored program units, which reside and execute in the database, program units in libraries always load and execute within the PL/SQL engine on the client side.  To reference program units that are stored in a library, you must first attach the library.  See also:  attached library.


A data model object used to define a master/detail (parent-child) relationship between a group and a query.


The name of a file to which a boilerplate object is associated.  At runtime, Report Builder imports the file's contents into your report layout.


A list of items within a dialog box.  Usually, the list box offers choices for selection, and it is scrollable.


In Form Builder, an item that displays a list of choices.


Also called LOV. A scrollable popup window that provides the user with a single or multi-column selection list.


(Oracle Express) A Selector dialog box tool that allows you to select dimension values from a list of the currently selected values in the dimension.


1. The database on the computer running the application.  2. The database to which an application is connected.  This database parses and executes all SQL statements generated by the application.


See user registry.


A PL/SQL variable declared only within the scope of the current program unit.


(Oracle Express)

Not	Unary Not -- Operand can be integer or long. The operation is performed bitwise (one's complement).

And	And -- Operands can be integer or long. The operation is performed bitwise.

Or	Inclusive Or -- Operands can be integer or long. The operation is performed bitwise.

Xor	Exclusive Or -- Operands can be integer or long. The operation is performed bitwise.

Eqv	Equivalence -- Operands can be integer or long. The operation is performed bitwise. (A Eqv B) is the same as (Not (A Xor B)).

Imp	Implication -- Operands can be integer or long. The operation is performed bitwise. (A Imp B) is the same as ((Not A) OR B).


One page of your actual report (it may be displayed on one or more physical pages).


In a PL/SQL subprogram, a conditional statement that is repeated until the condition is no longer met.


In Project Builder, a type-specific variable that may be used to customize and extend actions.  A macro may be either a constant or a simple expression (which, in turn, may contain other constants and/or expressions).  The use of macros adds great flexibility in issuing command options, and in allowing the user to modify sets of commands by changing one property definition.


A default layout that displays records in one or more columns on the page.  Fields appear directly beneath each other in a single repeating frame.


An optional report region that appears at the top and bottom of each logical page in the body region.  The margin may include any layout object, but typically contains boilerplate and fields (for page numbers, page totals, grand totals, and current date and time).


A default layout in which the detail records appear below the master records.  Master records appear in form layout style, while detail records appear in tabular layout style.


(Oracle Express) A Selector dialog box tool that allows the user to select dimension values by matching characters in dimension value names to characters that the user specifies. For example, the user can select all dimension values in the Product dimension at the Brand level that contain the characters "new."


A repeat direction that displays each record of a repeating frame as a cell of a matrix.


A default layout, resembling a grid, that formats the four sets of data necessary for a matrix report; one set of data displays as a row of labels, one as a column of labels, one set creates the grid, and one set fills the cells of the grid.


A cross-tabulation of four sets of data:  one set of data displays across the page; one set of data displays down the page; one set of data is the cross-product, determining all possible locations in which the across and down data relate and placing a cell in those locations; and one set of data displays as the "filler" of the cells.


(Oracle Express) Data that can be examined and analyzed, such as sales or cost data. You can select and display the data in a measure. Measures can be stored as variables or relations, or measures can be calculated by means of formulas.


A unit of memory equal to 1,048,576 bytes (1024 x 1024). Often rounded to one million bytes.


A modal window that notifies you of a condition that occurred because of your last action.  You must respond to a message box.


Executable code attached to an Oracle8 object through its object type definition.


A window that elicits a response from the operator before the application can continue.


An unrestricted window that can have as much functionality as the runtime window manager can support.


1. An object that can be shared by multiple applications.  External queries and PL/SQL libraries are examples of modules.  2. In Form Builder, a major component of an application (i.e., a menu module).


A field in a window or dialog that extends for several lines, allowing you to scroll vertically through the information.


(Oracle Express) A special data value that indicates that data is "not available" (NA). NA is the value of any cell to which a specific data value has not been assigned or for which data cannot be calculated.


Matrix report in which either the across and/or down dimension contains one or more master/detail relationships.  There is no limit to the amount of nesting allowed.


A datatype indicating that the data will be fetched when the page on which it appears is formatted (instead of fetched and cached until formatted).


1.  A specific location in the Object Navigator object hierarchy.  Nodes can be expanded to reveal information about an object, such as cross references to other objects.  2.  In Project Builder, an entry in the Project Navigator.  See also:  item, item node, organization node.


A report column that references a database column of datatype NOCACHE.


The absence of a value.


(Oracle Express)

^	Exponentiation,

-,+	Unary minus and plus,

*, /	Numeric multiplication or division. For division, the result is a double.

\	Integer division. The operands can be integer or long.

Mod	Modulus or Remainder. The operands can be integer or long,

-, +	Numeric addition and subtraction. The + operator can also be used for string concatenation.


1.  An item that can be placed on the layout.  The following are examples of objects:  rectangle, line, ellipse, arc, polygon, polyline, rounded rectangle, freehand, chart, text, symbol, and text field.  2.  In Oracle8, an instance of an object type.  An object can be a row in an object table, or the portion of a row contained in a column object in a relational table.


See column object.


A container for a group of objects, used to provide the ability to copy or reference related objects.


See handle.


The window containing a hierarchical list of objects for the current session.  The list appears in outline form, and enables the user to accomplish several tasks such as creating, editing, renaming, and deleting objects.


In Oracle8, a table whose definition is based on an object type.  Each attribute in the object type becomes a column in the object table.  Each row in the table is an individual Oracle8 object.


In Oracle8, a user-supplied definition or template, upon which objects can be built.  An object type is a composite, whose parts are attributes.  Each attribute has a name and a datatype, and the object type as a whole has a name.  An object type may also include one or more methods.


Acronym for Open Database Connectivity.  A standard for accessing different database systems.  An application can submit statements to ODBC using the ODBC flavor of SQL.  ODBC then translates these to whatever flavor the database understands.  Using the Oracle Open Client Adapter (OCA), an application can access different database management systems in one consistent manner.  This allows an application developer to develop, compile, and ship an application without targeting a specific DBMS.


Object Linking and Embedding.


An application that can store and display OLE objects.


An application that creates OLE objects.


See built-in datatype.


An environment variable that indicates the root directory of Oracle products.


An entry in the Project Navigator, such as "Types", "Projects", "Form Files", etc., used to help organize the Navigator and indicate the filetypes of child items.  It may also correspond to a data structure within certain types of filesystem objects.


Represented in x and y coordinates.  The origin of a view indicates the location of the view on its parent's canvas.  The origin of a canvas indicates the position of drawing on a drawn view.


The smallest virtual rectangle that completely surrounds an object.


When an object's contents cannot fit on the current logical page.  In the event of overflow, some of the contents are moved to the next logical page.


A PL/SQL function provided with the software that can be referenced anywhere within a program unit.


A method of encapsulating and storing related procedures, functions, variables, and other package constructs together as a unit in the database or on the client.  While packages provide the database administrator or application developer organizational benefits, they also offer increased functionality and database performance.  The software provides several built-in packages which contain PL/SQL constructs that can be referenced by client-side program units (e.g., TEXT_IO package).  Several packages are also supplied with the Oracle database server for referencing by stored program units (e.g., DBMS_OUTPUT package).


Includes the actual implementation of the package, which may include private subprograms and datatypes.  The body is optional if the package consists only of declarations.


Declares the public interface to the package-that is, the datatypes and subprograms that can be referenced by other program units.


(Oracle Express) 1. A slice of data included in a report. Additional pages display additional slices of data.

The following figure shows three pages of data.

2. In Express, a page can also refer to a unit of storage in an Express database.


(Oracle Express) A representation of how data selected for a query will appear in your spreadsheet. The page layout shows three edges -- Across, Down, and Page. The edges indicate how the multi-dimensional datacube defined by the query will appear in the two-dimensional spreadsheet. Dimension tiles display the names and positions of the dimensions. A dimension tile on the Across edge indicates that this dimension will appear as a column. A dimension tile on the Down edge indicates that this dimension will appear as a row. A dimension on the Page edge indicates that this dimension will appear in a page box at the top of the results.


A setting that controls whether to move the current object and its children to the next logical page.  You can set page breaks to occur before or after the current object appears in the report output.


An interface element that displays tools, colors, or patterns available in an editor.


A distinct portion of an editor where work is performed, usually resizeable.


The number of physical pages needed to print one logical page.


1. A PL/SQL construct used to pass information to a subprogram.  For example, in the subprogram call MYPROC (x),x is a parameter.  2. In Forms Developer, parameters are used to pass information between components such as Form Builder and Graphics Builder.  3. A variable you can change at runtime.


A group of parameter names and associated values used to pass information between Forms Developer components.


1. An object that is immediately above another object in its group tree.  A group object is the parent to each of the objects that compose it.  Every object is the parent of its children.
2. (Oracle Express) A dimension value at the level immediately above a particular value in a hierarchy. The parent value is the aggregated total of the values of its children.  The following example shows the dimension value "France" as the parent of "Lyon" and "Paris" in the GEOGRAPHY dimension.


To place the contents of the Clipboard (cut or copied objects) at the current cursor location.


A graphical property you can apply to the edge or fill of most objects.


The machine code or instruction list for a compiled program unit.


Acronym for Portable Document Format.  A file format (native for Adobe Acrobat) for representing documents in a manner that is independent of the original application software, hardware, and operating system used to create the documents.  A PDF file can describe documents containing any combination of text, graphics, and images in a device-independent and resolution independent format.


The size of a page that is output by your printer.


The type of element used to plot a field on a chart, such as bar, line, or symbol.


Oracle's proprietary extension to the SQL language.  Adds procedural and other constructs to SQL that make it suitable for writing applications.


A Procedure Builder Interpreter script file.


A PL/SQL library file that contains source code and compiled code. The file can be opened in Procedure Builder for editing.


A text file that contains the PL/SQL source of a single program unit.


A runtime PL/SQL library file that contains executable code only.  The file cannot be opened in Procedure Builder for editing.


A list that pops up when the user performs a particular action.


A number that TCP uses to route transmitted data to and from a particular program.


An action shipped with Project Builder and automatically available to the user via a menu item and/or a toolbar button.  Pre-defined actions include Build, Deliver, and several source control options.  When a pre-defined action is defined for a supported file type, the action is invoked for any selected item of that type when the user calls the action from Project Builder.  See also:  action, user-defined action.


See built-in datatype.


A setting that affects the behavior of the application's interface.


(Oracle Express) View the script that would be generated if you accept the current criteria. In the dialog box for any Selector tool you can preview your selection by choosing the Preview button.


The interface with which you view and scroll through report output online.


A column in a database table whose members consist of unique values that can be used to identify a row in a table.


See built-in datatype.


In a printer definition file, an escape sequence to which you assign a printer code that can be referenced in a report.


A file that contains a printer definition in text (e.g., ASCII or EBCDIC) format.


A PL/SQL subprogram that performs a specified sequence of actions. .  Can reside and execute on the client and the database server.


A PL/SQL code structure that can be independently recognized and processed by the PL/SQL compiler.  Anonymous blocks, subprogram specifications and bodies (procedures and functions), and package specifications and bodies are types of program units.  Program units can reside and execute on the client and the database server.  See also:  stored program unit.


The basic data structure created by Project Builder.  Projects are collections of pointers to all the files you consider part of your application, or otherwise want to group together conceptually.  You can define the editors, compilers, and other tools you use to work with the items contained within a project.  All project information is stored within a project registry.  See also:  project item, project file, export.


In Project Builder, project files are all the files associated with an application.  Project files can be of any type, including forms, reports, displays, 3GL modules, documentation, and test scripts. See also:  project, project item.


In Project Builder, anything for which properties may be defined, including all entities stored under the Projects node, types, actions, and macros. See also: project, project file.


The window containing a hierarchical list of project items for the current session.  The list appears in outline form, and enables the user to accomplish several tasks such as creating, editing, renaming, and deleting objects.  Although only one is visible at any time, the user can choose from two different schema by which to organize the objects.


The top-level node for a project.  It represents or points to the project file.  See also: project, project file.


In Project Builder, the file that stores all the information associated with a project:  files belonging to the project, types, actions, and macros defined for the project, and so on.


The project view shows objects organized by their type, and by their project/subproject relationships.  The projects are organized alphabetically by project file, then alphabetically by category.  See also:  dependency view, project, project file, view.


A dialog that assists the user in accomplishing the steps necessary to create a new project or sub project.


A characteristic of an object that determines the behavior or appearance of that object.


A named object that contains a list of properties and their settings used to globally control the appearance and functionality of objects based on that class.


A string you can enter when connecting to a database or server that allows you to connect to a remote database or server.


(Oracle Express) When you select values for one of the dimensions in a measure, the other dimensions that make up that measure are known as qualifying dimensions.

Suppose your Sales measure is dimensioned by Product, Month, and Geography. If you select the top ten cities based on Sales, you must also specify which product and month you want to consider when you compare Sales values. In this case, Product and Month are the qualifying dimensions.


A SQL SELECT statement that specifies the data you wish to retrieve from one or more tables or views of a database.


A PL/SQL function that, when executed, filters data retrieved by a query.  Only the data that meet the conditions in the function are charted.


An option that terminates the current session and returns the user to the operating system.  On some systems, Quit is Exit.


A control (similar to a check box), appearing in sets of two or more, only one of which may be either "on" or "off" at any given time.


A set of two or more radio buttons, only one of which may be either "on" or "off" at any given time.


(Oracle Express) A Selector dialog box tool that allows the user to select consecutive time periods as dimension values. These time periods can be based on any of the following:

•	A specific number of the most recent time periods

•	A beginning time period and a most recent time period

•	A beginning and ending time period

For example, the user can select dimension values for the range from the week ending November 25, 1996 through the week ending December 30, 1996.


A cipher designed by RSA Data Security, Inc. which can accept keys of arbitrary length, and is essentially a pseudo random number generator with the output of the generator being XORed with the data stream to produce the encrypted data.  For this reason, it is very important that the same RC4 key never be used to encrypt two different data streams.


Acronym for Relational Database Management System.  A database that allows the definition of data structures, storage and retrieval operations, and integrity constraints.  In such a database, data and relations between them are organized in tables.


A file that contains a single report definition in binary format.  .RDF files are used to both run and edit reports.


A file that contains a single report definition in binary format.  .rep files are used solely to run reports; you cannot edit a .rep file.


The ability to query the data throughout a database as of a single point in time.


One row fetched by a SQL SELECT statement.


An internal data structure object with a column/row framework, that belong to the form module in which they are defined.


A type of column that points to data in other column objects or object tables (Oracle8).


A line that appears at a specified value on a chart.


(Oracle Express) Fetch the most recent data from an Express database after query results are displayed in your report. When you open a saved Express query, the results are refreshed automatically.


To add the definition of a type or a new project to either the global or local registry.  Upon being registered, a new type can have actions defined for it, while a new project can have its referenced files identified as specific types, so that actions can be invoked against them.  See also:  registry.


A global and/or user-specific configuration file used to store project definitions and environment information.  See also:  Global Registry, user registry.


A symbol used in search criteria to indicate a comparison between two values, such as the equal sign in "WHERE DEPTNO = 10." Rows in which the comparison results in "true" are returned in the result (fetched), while rows in which the comparison returns "false" are rejected from the result.


A database on a computer other than the local database.  Usually a computer on the same network, but at a different node (i.e., a database that you use through a database link).


A layout object used to display rows of data that are fetched for a group.


A mode in which each character you type replaces the current character at the cursor.  The opposite of insert mode.


The objects that are used to define a report's data model and layout.  Report-level objects are assigned to a single report, and cannot be shared by other reports or other Oracle products. Objects include reports, queries, external queries, external PL/SQL libraries, groups, columns, parameters, links, frames, repeating frames, fields, boilerplate, and anchors.


Available on Windows NT and Windows 95 only, waits for any command lines to run a report, then places that report in its queue to run in the background on the local server.  Typically command lines are received from Form Builder or Graphics Builder via RUN_PRODUCT, or from another report via SRW.RUN_REPORT.  You can also use RWISV60 to submit a report to the Reports Background Engine.


Maintains timestamp and status information about reports managed by the Reports Server.


Available on Windows NT, Windows 95, and UNIX, enables running reports on a remote server.  Queues job requests and allows you to schedule when to run reports.  Use RWCLI60 to send a report to the Reports Server.


Provides an interface between your Web Server and Reports Runtime, enabling you to run reports dynamically from your Web browser.


Provides a connection between a Web Server and the Reports Server.


A file that contains a report definition stored in text (e.g., ASCII or EBCDIC) format.  .REX files are used to port reports from one platform to another. Note that .REX files are no longer required. They are available for backward compatibility.


Refers to the intensities of the red, green, and blue components of a color.


The group object to which all other objects in an application belong.


Top-level node for a project representing user's environment.  May correspond to the user registry or the Global Registry, depending on which registry has been chosen to set defaults.


1. One set of field values in a table; for example, the fields representing one employee in the example table EMP.  2.  To generate a runtime version of an application.


An object in an Oracle8 object table.  Each row in the table is an object.  However, in Forms Developer an object table is deconstructed into individual columns, so that the row object no longer exists as a single entity (only as its separate attributes).


To execute a runtime version of an application or program unit.


Acronym for Rich Text Format.  A non-platform-specific file format based on control words used to represent unformatted text and images in various applications and operating systems.  RTF uses the ANSI, PC-8, Macintosh, or IBM PC character set to control the representation and formatting of a document, both on the screen and in print.


See rep file.


The interface in which users view and interact with a runtime application.


A screen or window appearing optionally at runtime in which a user can modify print options and parameters prior to report execution.


(Oracle Express) A set of dimension values that has been saved either as a list of values or as a script. You can save selections that you build, or your database administrator can create saved selections and make them available to you.

Saved selections are a time-saving feature: each time that you need to re-use a selection, you can simply retrieve a saved selection without having to recreate it.


(Oracle Express) A Selector tool that allows you to retrieve a selection of dimension values that has been saved.


A collection of related database objects, usually grouped by database userid.  Schema objects includes tables, views, sequences, stored program units, synonyms, indexes, clusters, and database links.


The level at, or range in which, an object operates.  For Project Builder:  1.  Describes the range of files affected by Compile and Compile All commands invoked against compilable project items.  2:  Describes the range of files influenced by inheritable definitions.


See SQL script, Interpreter script.


In Report Builder, one of multiple layouts in the same report, each with a different target audience, output format, page layout, page size, or orientation.  For example, a single report can include an executive summary for senior management in one section and also a detailed breakdown for  individual managers in another section.


A SQL statement that specifies which rows and columns to fetch from one or more tables or views.


(Oracle Express) The set of dimension values currently chosen for a dimension, or the script that contains conditions or criteria to specify those values.


(Oracle Express) As shown on various dialog boxes in the Selector, a description of the choices that a user has made in selecting dimension values. It is a translation, in ordinary language, of the Express Language script.


(Oracle Express) A set of tools that you use to choose the dimension values to include, for instance, in a report, table, graph, or dimension list box. For example, you can use the Selector to choose the top 10 cities based on Sales or those cities whose Sales exceeded Quota by 15 percent. The Selector also allows you to sort dimension values and to create and retrieve saved selections.


(Oracle Express) A dialog box or group of dialog boxes that provides a particular way of selecting or sorting dimension values. Each Selector tool is part of the Selector. You can use Selector tools to select dimension values based on their level in the hierarchy, their attributes, the characters in the value name, and so on. You can also use Selector tools to sort the dimension values.


The period between invoking and quitting the executable.


One of two or more objects that have the same parent object in its group tree.  All objects that belong to one group object are siblings.


The combination of an IP address and a port number.


(Oracle Express) A Selector dialog box tool that allows you to rearrange the order of dimension values in a displayed selection. You can sort a selection in ascending or descending order by the following:

•	Alphabet

•	Order in the database

•	Data value

•	Order or level in the hierarchy

•	Time period

You can also sort a selection manually, by dragging and dropping dimension values.


In PL/SQL:  Statements provided in a subprogram or package.  You must have the source code for a program unit before you can compile it into executable form.  In Project Builder:  The input types required to build target types.


Defines only the names, parameters, and return type (applies to functions only) of the subprogram.


A small rectangle at the bottom of the vertical scrollbar and to the left of the horizontal scrollbar in an editor.  Dragging and releasing the mouse button creates a new pane, and divides the scroll bar into separate scroll bars for each pane.


A standard interface for storing and retrieving information in a relational database.  SQL is an acronym for Structured Query Language.


A that contains a query stored in text (e.g., ASCII or EBCDIC) format.


A file containing SQL statements that you can run to perform database administration quickly and easily.  Several SQL scripts are shipped with Oracle products.


A SQL instruction to Oracle.  A SELECT statement is one type of SQL statement.


See call stack.


A PL/SQL construct used for conditional, iterative, and sequential control, and for error handling.  A semi-colon (;) must terminate every PL/SQL statement.


(Oracle Express) A saved selection that contains the same dimension values every time it is evaluated. Static saved selections list the dimension values that are to be selected, rather than the selection criteria. For example, a static saved selection script might include "Select February 1996, March 1996, and April 1996", while the script for a dynamic saved selection might have "Select the last three Months".


A procedure, function, or package that resides and executes in the Oracle database server.


A procedure or function that resides and executes in the Oracle database server.


HTML extensions that provide powerful formatting flexibility in HTML documents.  To view an HTML document that takes advantage of style sheets, display it in a browser that supports style sheets.


A PL/SQL procedure or function.


In Project Builder, a project contained within another project file, rather than being stored in its own file.  See also:  project.


In Project Builder, a node denoting a subproject.  See also:  project, project node, subproject node.


A column, with a type of summary, which computes subtotals, grand totals, running totals, and other summaries of the data in a report, using one of the packaged summary functions provided by Report Builder.


The file format used by the Microsoft Excel program.


The orderly system by which commands, qualifiers, and parameters are combined to form valid command strings.


One of the variables that are provided with Reports Developer (e.g., &Logical Page, DESTYPE).


A named collection of related information, stored in a relational database or server, in a two-dimensional grid that is made up of rows and columns.


A collection type, which defines a data unit made up of an unordered set of elements, all of the same data type.  The corresponding data unit is a single column nested table, the column type of which is a built-in type or an object type.  (Oracle8)


A default layout displaying labels at the top of the page and rows of data underneath the labels.


In Project Builder, any item in the middle of the dependency tree; for example, an executable is a (compile) target for a library; while a library is a target for a group of objects; and an object is a target for a source file.


A node denoting a target.  See also: target.


Acronym for Transmission Control Protocol. The underlying communication protocol for exchanging HTTP requests between clients and Web servers.


A submenu that the user can remove from its source using a mouse or other pointing device and drag to another part of the display screen.


In Form Builder, an item that displays a character string value.


The horizontal area at the top of a window that displays the name of the application or interface element in that window.


See header.


To turn a setting alternately on or off.  For example, you can hide or show the Object Navigator.


An iconic button used to create and manipulate objects in an application.


Collection of iconic buttons that perform product commands.  Usually aligned horizontally along the top, or vertically down the side of a window.


A collection of tools.


(Oracle Express) A Selector dialog box tool that allows the user to select dimension values based on the top x, bottom y, or top x and bottom y data values. For example, the user can produce a dimension selection that contains products whose Volume Sales were among the top 10 percent of products in the Total U.S. for the four-week time period ending December 30, 1995.


A optional report region that can contain closing material for the report, including text, graphics, data, and computations.  The report trailer appears last, following the header and body.


A sequence of SQL statements treated as a single unit.


A PL/SQL procedure that is executed, or "fired," upon a specific event.


A description of a file type, such as a form, a document, etc., containing such information as type name and description. Each description applies to a single file type.  In addition, there are four meta-types: "updtext", which applies to all text files, “updproj” which applies to all project files, “updlink”, which applies to all project links, and "all" which applies to any file type.  Types are the foundation for defining actions and macros.


To change the values for table data, in particular, by altering data values using the SQL command UPDATE, but also by deleting values using the SQL command DELETE or by inserting values using the command INSERT.


Acronym for Uniform Resource Locator. The "address" used to specify a WWW server and home page.  For example:
http://www.acme.com/
which indicates that the host's address is www.acme.com. An URL most often is a filename (possibly with a long path to it and usually with an extension of .HTML, or .HTM (for PC-DOS filenames).


A way in which to pass control (and possibly arguments) from Forms Developer to another Oracle product or 3GL, and then return control (and possibly arguments) back to Forms Developer.


A custom action defined by a Project Builder user.  Such actions may apply to any single file type, or to all file types.  See also:  action, pre-defined action.


See object type.


A custom macro defined by a Project Builder user.  Such macros may be used to modify both built-in actions and user-defined actions.  See also:: macro, built-in macro, action, pre-defined action.


A project file storing configuration information on a per-user basis.  This enables users to customize their individual development environments.  The user registry inherits type information from the Global Registry, and may define new types as well as override aspects of type definitions stored in the Global Registry.  It also stores environment and preference information, such as the user's preferred connection string, UI settings such as "Display Toolbar" and certain general project information such as "Author."  See also:  registry, Global Registry.


See continuous axis.


A PL/SQL code structure that returns a value.  Value constructs include functions and expressions.


A named object that can be assigned a value and whose assigned value may change over time.


A collection type, which defines a data unit made up of an ordered set of elements, all of the same datatype.  The corresponding data unit is a varying array or VARRAY.  The number of elements in a VARRAY (size) is variable.  However, you must specify a maximum size when you declare a varying array type.


Visual Basic extension.  Used as the file extension for special dynamic link libraries distributed on files that contain predefined VBX controls.


A widget, built with the Microsoft Visual Basic language, used to enhance the user interface, obtain user input, and display output  (e.g. sliders, grids, and control knobs).


A virtual table whose rows do not actually exist in the database, but which is based on a table that is physically stored in the database.


A directory mnemonic (essentially a shortcut or synonym) that the virtual file system uses to map files stored in the file system on the host machine.


A mapping that associates the pathnames used in URL to the file system maintained by the host machine's operating system.


The font, color, and pattern properties that you set for objects that appear in your application interface.


See WWW.


A program that end users utilize to read HTML documents and programs stored on a computer (serviced by a Web server).


A program executed on a Web server via the Web Request Broker.


A server process (HTTP daemon) running at a Web site which sends out Web pages in response to HTTP requests from remote Web browsers.


A character used to mean 'any one character' or 'a contiguous set of characters' within a word or phase.


1. A rectangular area of the desktop that contains an application.  Each window has an area where you can interact with the application.  Windows can be opened, resized, moved, reduced to an icon, or enlarged to fill the entire desktop.  2. In Form Builder, an object type you can associate with a canvas view.


The file format used by some spreadsheet programs, such as SQL*Calc, or by Lotus 1-2-3 programs.


Acronym for Oracle Web Request Broker.  Provides a powerful distributed runtime environment for developing and deploying applications for the Web.  The WRB runtime platform enables application developers to write applications that are independent of, and work with a number of, Web servers.


Acronym for World Wide Web.  The network of servers on the Internet, each of which has one or more home pages, which provide information and links to other documents on that and (usually) other servers.


To expand an object to allow more room for editing the contents of the field.


The secondary toolbar docked (by default) to the left of the Project Navigator.  It provides simple organization and application launching abilities.


 the latest version of OLE controls (OCX)


XML output complying with general XML principles such as proper tagging, nesting, and the inclusion of an XML declaration, e.g. <?xml version="1.0" encoding="UTF-8"?>.


A placeholder username enables users to log on to the database using their personal username rather than the Oracle database username (e.g., $user_name@database) when running reports from a Web browser.


Extensible Markup Language -- a metalanguage using SGML to define and structure data. Report Builder supports XML output to enable Web publishing as well as electronic data exchange with third-party applications. You can also use XML to build report definitions that can be merged with other report definitions at runtime or run separately


XML output with structure and element content conforming to a document type definition (DTD). Valid XML is also well-formed.


Using the online help

The following guidelines will help you to make effective use of the online help system:

•	Familiarize yourself with the Contents tab to get an idea of the scope of the topics covered in the online help.

•	Click the Related Topics button directly below topic titles for a list of topics related to the current topic.

•	Click the Options button at the top of any topic to set Keep Help on Top, so that help topics remain on your screen as you develop applications.

•	Click the Glossary button at the top of any topic for definitions of unfamiliar terms.


Documentation roadmap

To get started and become proficient with building applications:

1	Review the Quick Tour for a brief overview of each component:

•	Choose Help [image] Quick Tour.

2	Step through the Cue Cards to learn how to perform the most common tasks:

•	Choose Help [image] Cue Cards.

3	Display the online manuals (also available in hardcopy form):

•	Choose Help [image] Manuals.

4	Access the online help system:

•	Choose Help [image] Help Topics.

•	For context-sensitive help, press [Help] (this is usually the F1 key on most platforms).


Information Desk


National Language Support in Forms Developer

  Related Topics

When you design applications for international use, you want those applications to interact with users in their native language, using their specific local conventions for displaying data. Oracle’s National Language Support (NLS) includes three main layers:

•	Support for national language character encoding schemes.

•	Support for language and territory conventions.

•	Interface translation.

This combination of support at the character level, the data display level, and the interface level ensures that your applications will be usable in most European, Middle Eastern, and Asian languages, including multi-byte character encoding schemes and bidirectionality.


NLS architecture

  Related Topics

NLS architecture has two main parts:

•	language independent functions

•	language dependent data

Language-independent functions handle manipulation of data in an appropriate manner, depending on the language and territory of the runtime operator, and automatically format that data according to local date and time conventions.

Isolating the language-dependent data enables your application to deal only with translating the strings that are unique to your application.


National Language Support environment variables

  Related Topics

You can use the following parameters as environment variables to specify the language settings used by Forms Developer:

Parameter	Specifies:
NLS_CALENDAR	the calendar system used.
NLS_CREDIT	the string used to indicate a positive monetary value.
NLS_CURRENCY	the local currency symbol.
NLS_DATE_FORMAT	the default format used for dates.
NLS_DATE_LANGUAGE	the default language used for dates.
NLS_DEBIT	the string used to indicate a negative monetary value.
NLS_ISO_CURRENCY	the ISO currency symbol.
NLS_LANG	the language settings used by Forms Developer.
DEVELOPER_NLS_LANG	the language for the Forms Developer Builders.
USER_NLS_LANG	the language for the Forms Developer Runtime component.
NLS_LIST_SEPARATOR	the character used to separate items in a list.
NLS_MONETARY_CHARACTERS	the decimal character and thousands separator for monetary values.
NLS_NUMERIC_CHARACTERS	the decimal character and grouping separator for numeric values.
NLS_SORT	the type of sort used for character data.

For more information about these parameters, see the Oracle8 Reference manual.


NLS_LANG environment variable

  Examples	  Related Topics

The NLS_LANG environment variable determines the language settings used by Forms Developer.

NLS_LANG specifies:

•	the language used to display messages to the user, for example the 'Working...' message.

•	the default format masks used for dates and numbers.

•	the sorting sequence.

•	the characters that make up the character set.

The syntax of NLS_LANG is:

NLS_LANG=language_territory.charset

where:

language	specifies the language and its conventions for displaying messages and day and month names. If language is not specified, the value defaults to American.
territory	specifies the territory and its conventions for default date format, decimal character used for numbers, currency symbol, and calculation of week and day numbers. If territory is not specified, the value defaults to America.
charset	specifies the character set in which the data is represented. This should be a character set that matches your language and platform. This argument also controls the character set used for displaying messages.

For more information about NLS_LANG, see the Oracle8 Reference manual.


DEVELOPER_NLS_LANG and USER_NLS_LANG environment variables

  Examples	  Related Topics

In most cases, setting a single value for NLS_LANG will meet your needs. However, if you need to use two sets of resource and message files on the same machine at the same time, two other environment variables are available:

•	DEVELOPER_NLS_LANG specifies the language for the product's Builder.

•	USER_NLS_LANG specifies the language for the product's Runtime component.

The syntax of DEVELOPER_NLS_LANG and USER_NLS_LANG is the same as NLS_LANG.

Use these two variables, instead of the single NLS_LANG, in the following circumstances:

•	You prefer to use the Builder in English, but you are developing an application for another language.

•	You are creating an application to run in a language that uses a bidirectional character set.

•	You are creating an application to run in a language for which a local language version of the Builder is not available.

Note  If these environment variables are not specifically set, they take their default values from NLS_LANG.

For more information about NLS_LANG, see the Oracle8 Reference manual.


Setting NLS_LANG variables
Setting NLS_LANG environment variables

  Examples	  Related Topics

To set NLS_LANG environment variables:

  Define values for these variables in the same way you define other environment variables on your base operating system, keeping in mind platform-specific rules such as path length, etc.

For example, to set NLS_LANG for Microsoft Windows NT:

1	From the Start Menu choose Run.

2	Type 'regedit' and click OK to open the Registry Editor.

Note  The Windows registry is highly sensitive to changes. Only change environment variables if absolutely necessary. If you make a mistake, click Cancel and restart.

1	Expand the HKEY_LOCAL_MACHINE node, then expand the SOFTWARE node.

2	Click ORACLE to display the Oracle environment variables in the right panel of the Registry Editor.

3	Double-click the NLS_LANG environment variable.

4	Type the new value for NLS_LANG in the Value data text box and click OK.

Note  If you want to use any NLS feature, you must at least set NLS_LANG so that the product can locate the NLS components.


Font aliasing on Windows platforms

  Related Topics

There may be situations where you create an application with a specific font but find that a different font is being used when you run that application. You are most likely to encounter this problems when using an English font (such as MS Sans Serif or Arial) in a non-Western European environment. This occurs because Forms Developer checks to see if the character set associated with the font matches the character set specified by the language environment variable. If the two do not match, Forms Developer automatically substitutes the font with another font whose associated character set matches the character set specified by the language environment variable. This automatic substitution assures that the data being returned from the database gets displayed correctly in the application.

Note  If you enter local characters using an English font, Windows does an implicit association with another font.

There may be cases, however, where you do not want this substitution to take place. You can avoid this substitution by mapping all desired fonts to the WE8ISO8859P1 character set in the font alias file. For example, if you are unable to use the Arial font in your application, add the following line to your font alias file:

Arial.....=Arial...WE8ISO8859P1


Supported Microsoft Windows character sets

Character set name	Description
AR8MSWIN1256	MS Windows Code Page 1256 8-bit Latin/Arabic
BG8MSWIN	MS Windows 8-bit Bulgarian Cyrillic
CL8MSWIN1251	MS Windows Code Page 1251 8-bit Latin/Cyrillic
EE8MSWIN1250	MS Windows Code Page 1250 8-bit East European
EL8MSWIN1253	MS Windows Code Page 1253 8-bit Latin/Greek
ET8MSWIN923	MS Windows Code Page 923 8-bit Estonian
IW8MSWIN1255	MS Windows Code Page 1255 8-bit Latin/Hebrew
JA16SJIS	Shift-JIS 16-bit Japanese
KO16KSC5601	KSC5601 16-bit Korean
LT8MSWIN921	MS Windows Code Page 921 8-bit Lithuanian
TH8TISASCII	Thai Industrial Standard 620-2533 - ASCII 8-bit
WE8ISO8859P1	ISO 8859-1 West European
ZHS16CGB231280	CGB2312-80 16-bit Simplified Chinese
ZHT16BIG5	BIG5 16-bit Traditional Chinese


Supported Arabic display character sets

Id	Character set name	Description
61	AR8ASMO708PLUS	ASMO 708 Plus Client 8-bit Latin/Arabic
72	AR8XBASIC	EBCDIC XBASIC Client 8-bit Latin/Arabic
504	AR8NAFITHA711T	Nafitha Enhanced 711 Client 8-bit Latin/Arabic
505	AR8SAKHR707T	SAKHR 707 Client 8-bit Latin/Arabic
506	AR8MUSSAD768T	Mussa'd Alarabi/2 768 Client 8-bit Latin/Arabic
507	AR8ADOS710T	Arabic MS-DOS 710 Client 8-bit Latin/Arabic
508	AR8ADOS720T	Arabic MS-DOS 720 Client 8-bit Latin/Arabic
509	AR8APTEC715T	APTEC 715 Client 8-bit Latin/Arabic
511	AR8NAFITHA721T	Nafitha International 721 Client 8-bit Latin/Arabic
514	AR8HPARABIC8T	HP ARABIC8 Client 8-bit Latin/Arabic
567	AR8ARABICMACT	Mac Client 8-bit Latin/Arabic


Language and territory conventions

  Related Topics

While the character encoding schemes ensure that the individual characters needed for each language are available, support for national conventions provides correct localized display of data items.

The specified language determines the default conventions for the following characteristics:

•	language for server messages

•	language for day and month names and their abbreviations (specified in the SQL functions TO_CHAR and TO_DATE)

•	symbols for equivalents of AM, PM, AD, and BC

•	default sorting sequence for character data when ORDER BY is specified (GROUP BY uses a binary sort, unless ORDER BY is specified)

•	writing direction

•	affirmative/negative response strings

For example, if the language is set to French, the messages:

ORA-00942:  table or view does not exist
FRM-10043:  Cannot open file.

will appear as:

ORA-00942: table ou vue inexistante
FRM-10043: Ouverture de fichier impossible.

The specified territory determines the conventions for the following default date and numeric formatting characteristics:

•	date format

•	decimal character and group separator

•	local currency symbol

•	ISO currency symbol

•	week start day

•	credit and debit symbol

•	ISO week flag

•	list separator

For example, if the territory is set to France, numbers will be formatted using a comma as the decimal character.


Supported languages

Abbreviation	Language
us	American
ar	Arabic
bn	Bengali
ptb	Brazilian Portuguese
bg	Bulgarian
frc	Canadian French
ca	Catalan
hr	Croatian
cs	Czech
dk	Danish
nl	Dutch
eg	Egyptian
gb	English
et	Estonian
sf	Finnish
f	French
d	German
din	German DIN
el	Greek
iw	Hebrew
hu	Hungarian
is	Icelandic
in	Indonesian
i	Italian
ja	Japanese
ko	Korean
esa	Latin American Spanish
lv	Latvian
lt	Lithuanian
ms	Malay
esm	Mexican Spanish
n	Norwegian
pl	Polish
pt	Portuguese
ro	Romanian
ru	Russian
zhs	Simplified Chinese
sk	Slovak
sl	Slovenian
e	Spanish
s	Swedish
th	Thai
zht	Traditional Chinese
tr	Turkish
uk	Ukrainian
vn	Vietnamese

Note  The fact that a particular language is supported does not necessarily mean that a translation for that language is available.


Supported territories

Algeria	Greece	Portugal
America	Hong Kong	Qatar
Austria	Hungary	Romania
Bahrain	Iceland	Saudi Arabia
Bangladesh	Iraq	Slovakia
Brazil	Israel	Slovenia
Bulgaria	Italy	Somalia
Canada	Japan	Spain
Catalonia	Jordan	Sudan
China	Korea	Sweden
CIS	Kuwait	Switzerland
Croatia	Latvia	Syria
Cyprus	Lebanon	Taiwan
Czech Republic	Libya	Thailand
Czechoslovakia	Lithuania	The Netherlands
Denmark	Malaysia	Tunisia
Djibouti	Mauritania	Turkey
Egypt	Mexico	Ukraine
Estonia	Morocco	United Arab Emirates
Finland	Norway	United Kingdom
France	Oman	Vietnam
Germany	Poland	Yemen


Bidirectional support in Forms Developer

  Related Topics

NLS support for Middle Eastern and North African languages includes bidirectional support for languages whose natural writing direction is right-to-left.

Bidirectional support enables developers to control:

•	layout direction, which includes displaying items with labels at the right of the item and correct placement of check boxes and radio buttons.

•	reading order, which includes right-to-left or left-to-right text direction.

•	alignment, which includes switching point-of-origin from upper left to upper right.

•	initial keyboard state, which controls whether Local or Roman characters will be produced automatically when the end user begins data entry in forms (the end user can override this setting).

In addition to the NLS_LANG environment variable, bidirectional applications may use two additional environment variables:

•	DEVELOPER_NLS_LANG

•	USER_NLS_LANG

For example, if you want to use an American interface while developing an Arabic application in a Windows environment, set these environment variables as follows:

DEVELOPER_NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
USER_NLS_LANG=ARABIC_territory.charset


Bidirectional support in Form Builder

  Related Topics

Five properties are used to specify the appearance of objects in bidirectional applications: Direction, Justification, Reading Order, Keyboard State, and Initial Keyboard State.

Direction is an umbrella property that provides as much functionality for each object as possible. For all objects except text items and display items, the Direction property is the only bidirectional property, and its setting controls the other aspects of bidirectional function. (List items, however, include Initial Keyboard State and Keyboard State properties.)

Text items and display items do not have a Direction property; instead, you can specifically set Justification, Reading Order, Initial Keyboard State, and Keyboard State properties for these items.

You may restrict the keyboard state to one language. For example, setting Keyboard State to Local prevents the end user from switching the keyboard to another language.

When the bidirectional properties are set to Default, those properties inherit their values from the natural writing direction specified by the language environment variable.  In most cases, this will provide the desired functionality.  You only need to specify the bidirectional properties when you want to override the inherited default values.

Inheritance for bidirectional properties is as follows:

	Default setting derives value from this object
Form	language environment variable
All objects, such as Alert, Block, LOV, Window, and Canvas-view	Form
All items, such as Text Item, Display Item, Check Box, Button, Radio Group, and List Item	Canvas-view

Most properties related to bidirectional function can be retrieved and set programmatically. For more information, see the appropriate built-in subprogram description. For example, for information about getting the value of the Direction property for buttons, see the description for GET_ITEM_PROPERTY.


Bidirectional support in Report Builder

  Related Topics

Four properties are used to specify the appearance of objects in bidirectional applications: Justify, Direction (for an object), and Direction (for the report).  The bidirectional properties are added to objects in the following hierarchy:

Module

Boilerplate

Field

External Boilerplate

Button

Parameter Form Boilerplate

Objects not in this list either do not require bidirectional support (for example, images) or they are defaulted from one of the above object’s properties.


Unicode support in Forms Developer

  Related Topics

Unicode is a global character set that allows multilingual text to be displayed in a single application. This enables multinational corporations to develop a single multilingual application and deploy it worldwide.

Global markets require a character set that:

•	allows a single implementation of a product for all languages, yet is simple enough to be implemented everywhere.

•	contains all major living scripts.

•	supports multilingual users and organizations.

•	enables worldwide interchange of data via the Internet.

Forms Developer provides Unicode support. If you use Unicode, you will be able to display multiple languages, both single-byte languages such as Western European, Eastern European, Bidirectional Middle Eastern, etc. and multi-byte Asian languages such as Chinese, Japanese, and Korean (CJK) in the same application.

Use of a single character set that encompasses all languages eliminates the need to have various character sets for various languages.

For example to display a multi-byte language such as Japanese, the NLS_LANG environment variable must be set to (for Windows platform):

Japan_Japanese.JA16SJIS

To display a single-byte language such as German, NLS_LANG must be set to (for Windows platform):

German_Germany.WE8ISO8859P1

The obvious disadvantage of this scheme is that applications can only display characters from one character set at a time. Mixed character set language data is not possible.

With the Unicode character set, you can set the character set portion of NLS_LANG to UTF8 instead of a specific language character set. This allows characters from different languages and character sets to be displayed simultaneously.

For instance to display Japanese and German together on the screen the NLS_LANG variable setting must be:

Japanese_Japan.UTF8

or

German_Germany.UTF8

The Unicode capability of Forms Developer gives the application developer and end user the ability to display multilingual text in a form. This includes text from a database containing Unicode, multilingual text, text in GUI objects (for example, button labels), text input from the keyboard, and text from the clipboard. Forms Developer currently supports Unicode on Windows NT 4.0 and Windows 95/98 (limited support).

Note  If you develop applications for the Web, you can use Unicode because of the Unicode support provided by Java.


Configuration considerations

  Related Topics

UNIX servers can support multiple ORACLE_HOMEs (where ORACLE_HOME is the directory created by and for Oracle software) and can therefore support multiple NLS settings. This means a single UNIX server can support multiple languages.

Windows NT however, can only support a single ORACLE_HOME and therefore can only have one NLS setting. This means Windows NT can only support one language.


Unicode font support

  Related Topics

To display Unicode multilingual text, a font must be used that contains the glyphs, or characters of the languages to be displayed. On Windows NT and Windows 95/98, you must use either TrueType 'Big Fonts' supplied by Microsoft, or a third party Unicode font. If you try to type, display, or print multilingual text and see unexpected characters, you are probably not using a Big Font. Big Fonts provided by Microsoft under NT 4.0 are:

•	Arial

•	Courier New

•	Lucida Console

•	Lucida Sans Unicode

•	Times New Roman

A third party font may be used if Windows Big Fonts do not meet the display requirements.


Enabling Unicode support

  Related Topics

To enable Unicode support in Forms Developer, set NLS_LANG as follows:

NLS_LANG=language_territory.UTF8


Converting between character sets

  Related Topics

When you begin to design applications for use in multiple languages, you need to consider both the character sets used by application end users, and those used by application developers. While conversion at the character set level at runtime is automatic, this conversion impacts performance.

For example, if you build an application in one character set and run it in another character set, you may notice a degradation in performance. In addition, if a character set does not contain an equivalent for a particular character, it will display a replacement character instead, for example a question mark (?). However, even if you don’t see any visible difference, as a developer you will want to pay attention to the character sets you use to generate, because of performance issues.

Note  Forms Developer only converts between character sets for the same language, for example AR8MSWIN and AR8ISO, or IW8MSWIN and IW8ISO.

If you are designing applications to run in more than one language, or even in the same language with different character sets, for best performance you will want to match your generate environment to your runtime environment:

•	Determine the character set most widely used at runtime.

•	Generate with the language environment variable set to that character set.

Note  For Form Builder, the character set used when generating is used at runtime, regardless of the character set specified in the runtime environment.


The Forms Developer user interface

  Related Topics

Oracle uses a single executable approach for software internationalization. This means that you do not need a separate executable (for example f60des.exe) to process single-byte European languages or multi-byte Asian languages. The same set of tools can be used to create both English and non-English applications.

Note  Forms Developer relies on the Microsoft Windows operating system for the font and input method for the different languages. To enter and display text in any particular language, you must be running a version of Windows that supports that language (that is, to display Thai, you must be running Thai Windows).

When you install Forms Developer, you select the language of the message files you want to install. When you use an Forms Developer component (for example Form Builder), the appropriate message file, based on the language environment variable, is used to display the interface, including:

•	messages

•	menus and menu items

•	dialog boxes

•	prompts and hints

•	alerts

If Forms Developer does not find a message file that corresponds to the current language setting, it defaults to the American message files.

Note  During installation you can only specify one language to install message files for in addition to American. If you later want to use Forms Developer with a different language, you will need to reinstall Forms Developer with the appropriate message files.

Message file names specify both the Forms Developer component and the language, using the following file naming convention:

<product_id><language_id>.MSB

For example, for Form Builder:

FMDUS.MSB contains default (American) Builder messages

FMGUS.MSB contains default (American) Generate messages

FMFUS.MSB contains default (American) Runform messages

FMFI.MSB contains Italian Runform messages

FMFD.MSB contains German Runform messages

For more information about installation of language dependent message file, see the Installation and User Guide for your platform.

Note  Language supplements are not forward compatible, they are only meant to work with the version of Forms Developer they were released with. If you already have language supplements from previous releases, these must be removed from your system.


Using CONVERT to convert data

You can use the SQL function CONVERT to convert data between character sets. This function converts the binary representation of a character string in one character set to another. For information about converting, see Converting between character sets.

For a complete description of CONVERT, see the Oracle8 SQL Reference manual.


Default format masks

  Examples	  Related Topics

The language environment variable establishes not only the language used for the Forms Developer interface (both Builders and Runtime), but also the set of default format masks used to display that data, unless explicit format masks override the default. As an application developer, you also have additional NLS-related format mask characters available if you choose to override the default display masks.

All data input into Forms Developer or the application will use the default format masks associated with the specified territory, so you can change languages when building an application as well as when running it, without needing to change the date and number formats.

Specifically, Forms Developer uses the default format masks:

•	in the Builder: When the Builder displays default values for items, ranges, or parameters

•	at runtime: If a user enters data into a text item whose type is territory specific, such as DATE or NUMBER

While working with date and currency fields for multilingual applications, you will want to consider:

•	Whether to make all displayed items (boilerplate, text items, interface objects such as buttons and lists of values) longer to accommodate text translation and language-specific conventions for numeric display.

•	Whether you need to use the NLS-related format mask characters to create special format masks, or if the default format masks invoked by NLS_LANG are sufficient.


Tip
For implicit datatype conversions, PL/SQL always expects items in the America default format (such as DD-MON-YY), so if you use an item whose type is territory-specific in PL/SQL, you will need to specify the correct format masks. Oracle recommends that you use TO_DATE to translate territory-specific items in PL/SQL.

IF :emp.hiredate < TO_DATE(’30-12-1996’,’DD-MM-YYYY’) THEN
   ...


Format mask characters

  Examples	  Related Topics

The following format mask characters allow you to override the default format masks.

Date format mask characters

Character	Returns
D	Digit for the day (1-7)
DY	Name of the day (abbreviated)
DAY	Name of the day (padded with blanks to the length of 9 characters)
WW	Digit for the week, calculated by the algorithm int((day-jan1)/7)
IW	Digit of the ISO week
MON	Name of the month (abbreviated)
MONTH	Name of the month (padded with blanks to the length of 9 characters)
RM	Character for the Roman numeral month
I,IY,IYY,IYYYY	Last one, two, or three digits of the ISO year or the ISO year, respectively
BC,AD,B.C.,A.D.	BC or AD indicator (with or without periods)
AM,PM,A.M.,P.M.	AM or PM indicator (with or without periods)
For more information on ISO and its date format masks, see the Oracle Server SQL Reference.

Number format mask characters

Character	Returns
C	International currency symbol
L	Local currency symbol
D	Decimal separator
G	Group (thousands) separator


Sorting character data

  Restrictions	  Examples	  Related Topics

Conventionally, when character data is sorted, the sort sequence is based on the numeric values of the characters defined by the character encoding scheme. Such a sort is called a binary sort and produces reasonable results for the English alphabet because the ASCII and EBCDIC standards define the letters A to Z in ascending numeric value.  Note

However, when characters used in other languages are present, a binary sort generally does not produce reasonable results. For example, an ascending ORDER BY query would return the character strings ABC, ABZ, BCD, ÄBC, in that sequence, when the Ä has a higher numeric value than B in the character encoding scheme.

To produce a sort sequence that matches the alphabetic sequence of characters for a particular language, another sort technique must be used that sorts characters independently of their numeric values in the character encoding scheme. This technique is called a linguistic sort. A linguistic sort operates by replacing characters with other binary values that reflect the character's proper linguistic order so that a binary sort returns the desired result.

Linguistic special cases  Linguistic special cases are character sequences that need to be treated as a single character when sorting. Such special cases are handled automatically when using a linguistic sort. For example, one of the linguistic sort sequences for Spanish specifies that the double characters ch and ll are sorted as single characters appearing between c and d and between l and m respectively.

Another example is the German language sharp s (ß). The linguistic sort sequence German can sort this sequence as the two characters SS, while the linguistic sort sequence American sorts it as SZ.

Special cases like these are also handled when converting uppercase characters to lowercase, and vice versa. For example, in German the uppercase of the sharp s is the two characters SS. Such case-conversion issues are handled by the NLS_UPPER, NLS_LOWER, and NLS_INITCAP functions, according to the conventions established by the linguistic sort sequence. (The standard functions UPPER, LOWER, and INITCAP do not handle these special cases.)

NLSSORT function  You can use the SQL function NLSSORT to sort character data. This function replaces a character string with the equivalent sort string used by the sort mechanism. For a binary sort, the sort string is the same as the input string. When a linguistic sort is being used, NLSSORT returns the binary values used to replace the original string.


Note
In the ASCII standard all uppercase letters appear before any lowercase letters. In the EBCDIC standards, the opposite is true: all lowercase letters appear before any uppercase letters.


Linguistic sorting restrictions

  Related Topics

Linguistic sorting is not supported on multi-byte character sets.


Comparing strings in a WHERE clause

  Examples	  Related Topics

Character strings in a WHERE clause are compared using the characters’ binary values: a character is 'greater than' another if it has a higher binary value in the database character set. Because the sequence of characters based on their binary values may not match the alphabetic sequence for a language, the comparisons often do not follow alphabetic conventions. Use the NLSSORT function to perform a linguistic sort instead of a binary sort.


Controlling an ORDER BY clause

  Related Topics

If a linguistic sorting sequence is in use, then NLSSORT is implicitly used on each character item in the ORDER BY clause. As a result, the sort mechanism (linguistic or binary) used for an ORDER BY is transparent to the application.

However, if the NLSSORT function is explicitly specified for a character item in an ORDER BY item, then the implicit NLSSORT is not done. In other words, the NLSSORT linguistic replacement is only applied once, not twice.

The NLSSORT function is generally not needed in an ORDER BY clause, when the default sort mechanism is a linguistic sort. However, when the default sort mechanism is binary, then a query such as:

SELECT ENAME FROM EMP

ORDER BY ENAME

will use a binary sort. A linguistic sort (for German in the example below) can be obtained using:

SELECT ENAME FROM EMP

ORDER BY NLSSORT(ENAME, ’NLS_SORT = GERMAN’)


Using ALTER SESSION

  Examples	  Related Topics

You can use the ALTER SESSION SQL command to override the NLS defaults. For example, suppose you create some parameters (such as language, territory, etc.), and a user specifies values for them: you could then alter the session as they specified.

Note  At runtime, the server executes an ALTER SESSION command on behalf of the client based on the values specified in NLS_LANG. If NLS_LANG is not defined, the ALTER SESSION statement is not executed.

In Form Builder, you can specify any of the following NLS parameters for the ALTER SESSION command. However, for Report Builder and Graphics Builder, you can only specify the NLS_SORT parameter.

Parameter	Description
NLS_LANGUAGE	Language used by the server to return messages and errors
NLS_TERRITORY	Territory used for default date and currency masks
NLS_DATE_FORMAT	Default format used for dates
NLS_DATE_LANGUAGE	Default language used for dates
NLS_NUMERIC_CHARACTERS	Decimal character and group separator
NLS_ISO_CURRENCY	ISO international currency symbol
NLS_CURRENCY	Local currency symbol
NLS_SORT	Character sort sequence
NLS_CALENDAR	Current calendar system

For details on these parameters, see the Oracle8 SQL Reference manual.


Using NLS parameters in SQL functions

  Related Topics

Wherever you use SQL, you can use the following NLS parameters to override default NLS behavior.

SQL Function	NLS Parameter(s)
TO_DATE	NLS_DATE_LANGUAGE NLS_CALENDAR
TO_NUMBER	NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY
TO_CHAR	NLS_DATE_LANGUAGE NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_CALENDAR
NLS_UPPER	NLS_SORT
NLS_LOWER	NLS_SORT
NLS_INITCAP	NLS_SORT
NLSSORT	NLS_SORT

For details on these parameters, see the Oracle8 SQL Reference manual.


Form Builder NLS parameters

  Related Topics

You can use Form Builder built-in functions to obtain the current value of the NLS environment variables for use in PL/SQL code:

	DEVELOPER_NLS_LANG	USER_NLS_LANG
Built-in	GET_FORM_PROPERTY	GET_APPLICATION_PROPERTY
Parameter	MODULE_NLS_LANG	USER_NLS_LANG

Because both USER_NLS_LANG and DEVELOPER_NLS_LANG default to the value of NLS_LANG, the Form Builder NLS parameters will hold the value of NLS_LANG if either variable is not specifically set.

Both Form Builder NLS parameters have four variations, to allow you to retrieve either the complete environment variable or a specific portion of it. This table shows the four parameters of the GET_APPLICATION_PROPERTY built-in that returns the USER_NLS_LANG environment variable:

Parameter	Returns
USER_NLS_LANG	Entire USER_NLS_LANG variable
USER_NLS_LANGUAGE	Language portion only
USER_NLS_TERRITORY	Territory portion only
USER_NLS_CHARACTER_SET	Character set portion only

To retrieve the DEVELOPER_NLS_LANG environment variable, call GET_FORM_PROPERTY, using the MODULE_NLS_LANG parameter.


Printer definition files and National Language Support

  Related Topics

When using reports in character mode, you should define the physical page width of a report as one character less than the page width defined in the printer definition file (.PRT file). Otherwise, multi-byte characters might start on the last character space of a line and have to overflow to the next line in order to complete. For example, if the physical page width is 80 characters and the width in the printer definition is 80 characters, a multi-byte character might start on the 80th character. Since multi-byte characters may not be separated, the line would have to overflow to an 81st character in order to complete the multi-byte character. To avoid this, the physical page width should be set to 79 for the report.

The following Arabic and Hebrew specific NLS parameters can be set in the printer definition file:

Use:	To:	Values:
nls locale	set the locale of printing engine.	hebrew or arabic
nls datastorageorder	set logical or visual data storage.	logical or visual
nls contextuallayout	perform pre contextual layout for Arabic printers.	no or yes
nls contextualshaping	perform pre contextual shaping for Arabic printers.	no or yes
nls pcharset	specify the character set of the printer.	any character set

For more information about printer definition files, see the Report Builder help system.


Translating applications

  Related Topics

All error messages and boilerplate text should be in the same language. When running an application, an end user views messages and boilerplate text from three sources:

•	error messages from the server

•	runtime error messages produced by Forms Developer

•	messages and boilerplate text defined as part of the application

Oracle's NLS handles translation for the first two sources. You, as the application developer are responsible for translating the messages and boilerplate text for the third source.

In general, there are two types of application-specific text you will need to translate:

•	translatable text, such as menus, boilerplate text, item labels, messages, and hints

•	strings in triggers and procedures, including alerts and messages defined in triggers

Translation Builder helps you translate the 'translatable text' strings in the user interface into multiple languages. You can use Translation Builder to assist with translation for almost all multilingual Forms Developer applications by generating separate binary files for each language.

While Translation Builder helps you find and translate strings in the user interface, it cannot pull out string constants in PL/SQL triggers and procedures. Manual translation is required for constant text within PL/SQL block, because that text is not clearly delimited, but is often built up from variables and pieces of strings.

For a complete description of Translation Builder, refer to the Translation Builder help system.


Design considerations

  Related Topics

When designing an application that will be translated, remember to leave extra space for widgets and boilerplate labels. To accommodate multiple character sets and allow for expansion caused by translation, a rule-of-thumb is to leave 30% white space around fields, borders, and boilerplate text.

For example:

Prompt on left of field	Allow 30% expansion room to left of prompt.
Prompt above field	Allow 30% expansion room to right of prompt.
Buttons, check boxes, radio groups and poplists	Allow for 30% expansion.
Titles	Size any bounding box so the title can expand to the right by 30%.
Display-only fields	Size 30% wider than needed for the base language.
All widgets	Make widgets large enough to accommodate translation. For example, buttons need to be large enough to hold translated labels. Check button height as well as length, to be sure the height of the button will accommodate the tallest character you need to use. For example, calculate pixels needed to render Kanji characters.


Using the Translation Builder approach

  Related Topics

You can use Translation Builder to assist with translation for almost all multilingual Forms Developer applications. Unless your application requires end users to toggle between languages at runtime, you can use Translation Builder and then generate separate binary files for each language.

To change from one language to another at runtime, the user exits the application, changes the language environment variable, and then restarts the application.

Using the Translation Builder approach, you would develop your application in the following stages:

•	Create one basic application definition (for example .FMB, .RDF) in the source language.

•	Use Translation Builder to extract strings for translation, allow translation into one or several languages, and then store the strings back into the application definition.

•	Manually translate standard messages in PL/SQL libraries.

•	Use the Generator to generate a binary version of the application for each target language.

Advantages  This is the simplest way to implement multiple language applications quickly. With this approach, you can use Translation Builder for maximum efficiency. If you have a stable application, this approach will work well for you.

For example, if you created an application in four languages and then needed to change the text of a field label, you would make the change in the Builder, save the change in the definition file, use Translation Builder to translate the new field label, and then insert the new messages into the definition file and regenerate to create a binary file containing the new label.

Disadvantages  If your applications must support multiple languages simultaneously, you must use the runtime language switching approach instead.


Using the runtime language switching approach

  Related Topics

A small number of applications must support multiple languages simultaneously. For example, the application may begin by displaying a window in English which must stay up throughout the application, while an end user may press a button on that window to toggle the prompts into French, and then back into English.

If your application requires runtime language switching, you can include more than one language in a single application as long as they share the same character set, but you cannot use Translation Builder to locate translatable text if you are dynamically populating the text at runtime. Instead, you would build case structures (IF...THEN...ELSIF) to change the application to another language by checking the value of the NLS environment variable using the GET_FORM_PROPERTY built-in.

Using the runtime language switching approach, you would develop your application in the following stages:

•	Develop the entire application for one language, including libraries.

•	Manually translate each library.

•	Design boilerplate labels as appropriately sized display items that are dynamically populated at runtime.

Form Builder supports attaching multiple libraries, so you can use one library specifically for messages that will be translated, and other libraries for other purposes.

Advantages  The main advantage of this approach is it allows you to support sophisticated applications in which the forms may be highly dynamic. In these cases, this approach avoids some maintenance problems, because you do not have to generate separate files for each language each time the form changes.

Disadvantages  This approach is more complicated, because it involves considerable effort to create the language-specific message storage, population, and maintenance involved and to perform the translation manually. For example, you would set up a WHEN-NEW-FORM-INSTANCE trigger to set the labels for each button, pulling the correct labels from an attached library, based on the value of the NLS environment variable.


Using PL/SQL libraries for strings in code

  Examples	  Related Topics

While Translation Builder assists in translating messages that are part of the standard Builder interface, messages that are displayed programmatically require special treatment. You can use the PL/SQL libraries to implement a flexible message structure for messages in triggers or procedures.

For application-specific messages—those displayed programmatically to the screen by the built-in routines MESSAGE or CHANGE_ALERT_MESSAGE, or by assigning a message to a display item from a trigger or procedure—you can use the attachable PL/SQL libraries to implement a flexible message function. The library can be stored on the host, then dynamically attached at runtime. At runtime, based on a search path, you can pull in the library attached to the form. (For example, a library might hold only the Italian messages.)


National Language Support examples

  Related Topics 	  All examples

Comparing strings examples

Format mask examples

NLS_LANG examples

PL/SQL libraries example


ALTER SESSION examples

  Related Topics

The following statement changes the decimal character to a comma and the group separator to a period:

ALTER SESSION
   SET NLS_NUMERIC_CHARACTERS = ',.'

These new characters are returned when you use their number format elements D and G:

SELECT TO_CHAR(SUM(sal), 'L999G999D99') Total FROM emp

TOTAL
--------------
   FF29.025,00

The next statement changes the ISO currency symbol to the ISO currency symbol for the territory America:

ALTER SESSION
   SET NLS_ISO_CURRENCY = America

The ISO currency symbol defined for America is used:

SELECT TO_CHAR(SUM(sal), 'C999G999D99') Total FROM emp

TOTAL
---------------
   USD29.025,00

The next statement changes the local currency symbol to DM:

ALTER SESSION
   NLS_CURRENCY = 'DM'

The new local currency symbol is returned when you use the L number format element:

SELECT TO_CHAR(SUM(sal), 'L999G999D99') Total FROM emp

TOTAL
--------------
   DM29.025,00


Comparing strings examples

  Related Topics 	  All examples

Suppose you have a column (COL1) that contains the values ABC, ABZ, BCD and ÄBC in the ISO 8859/1 8-bit character set. Suppose also, that you wrote the following query:

SELECT COL1 FROM TAB1 WHERE COL1 > 'B'

The query would return both BCD and ÄBC since Ä has a higher numeric value than B.

You can perform linguistic comparisons using NLSSORT in the WHERE clause, as follows:

WHERE NLSSORT(column) operator NLSSORT(string)

Notice that NLSSORT has to be used on both sides of the comparison operator.

SELECT COL1 FROM TAB1 WHERE NLSSORT(COL1) > NLSSORT('B')

If a German linguistic sort is being used, this will not return strings beginning with Ä, because Ä comes before B in the German alphabet. If a  Swedish linguistic sort is being used, those strings would be returned, because Ä comes after Z in the Swedish alphabet.


Format mask examples

  Related Topics 	  All examples

For NLS-compliant applications, avoid hard-coding a string containing a month name. However, if a hard coded month name is essential, avoid using the COPY built-in. If you use COPY, the month name may be incorrect, depending on which language is specified. (To specify a date in a library, use a variable for the date and COPY will work.)

Language-dependent example (not recommended):

:emp.hiredate := '30-DEC-96';

copy ('30-DEC-96','emp.hiredate');

Instead, use TO_DATE, as shown in the following example.

Language-independent example (recommended):

:emp.hiredate := to_date(’30-12-1996’,’DD-MM-YYYY’);


NLS_LANG examples

  Related Topics 	  All examples

Suppose you want your application to run in French. The application will be used in France and data will be displayed using the WE8ISO8895P1 character set. You would set NLS_LANG as follows:

NLS_LANG=French_France.WE8ISO8895P1

Now, suppose you still want your application to run in French, but this time it will be used in Switzerland. You would set NLS_LANG as follows:

NLS_LANG=French_Switzerland.WE8ISO8895P1

More examples:

NLS_LANG=Norwegian_Norway.NDK7DEC
NLS_LANG=Norwegian_Norway.WE8ISO8895P1
NLS_LANG=Japanese_Japan.JA16SJIS
NLS_LANG=Arabic_Egypt.AR8MSWIN1256
NLS_LANG=American_America.AR8MSWIN1256
NLS_LANG=American_America.WE8ISO8859P1


PL/SQL libraries example

  Related Topics 	  All examples

FUNCTION nls_appl_mesg(index_no NUMBER)

RETURN CHAR

IS

   msg CHAR(80);

BEGIN

   IF index_no = 1001 THEN

      msg := 'L''impiegato che Voi cercate non esiste...';

   ELSIF index_no = 1002 THEN

      msg := 'Lo stipendio non puo essere minore di zero.';

   ELSIF ...

   :

   ELSE

      msg := 'ERRORE: Indice messaggio inesistente.';

   END IF;

   RETURN msg;

END;

A routine like this could be used anywhere a character expression would normally be valid: for example, to display an alert with the appropriately translated application message you might include the following code in your form:

Change_Alert_Message('My_Error_Alert', nls_appl_mesg(1001));

n := Show_Alert('My_Error_Alert');

To change the application to another language, simply replace the PL/SQL library containing the nls_appl_mesg function with a library of the same name containing the nls_appl_mesg function with translated text.

If the application needs to support multiple languages simultaneously, the function above could accept an additional parameter indicating the desired language and the code would then contain an additional level of IF...THEN...ELSIF...ELSE...END IF to handle the various languages.


Oracle8 objects examples

  Related Topics 	   All Examples

Object Type

Table Type

Varying Array Type

Column Object

Object Table

Object View


Oracle8 Server support

  Related Topics

The Oracle8 Server provides a number of new features.  In general, the features are in these categories:

•	Greater scalability.  For example, Oracle8 databases can contain tens of terabytes of data, and can support simultaneous access by up to 10000 users.  Tables themselves can now contain up to 1000 columns.  CHAR and VARCHAR2 datatypes can now be up to 2000 and 4000 bytes, respectively.

•	Greater performance and efficiency.  Use of these Oracle8 features is handled for you and requires no actions on your part.  You automatically receive the speed and reliability benefits of having your data on the Oracle8 Server.

•	Large objects (sometimes called LOBs)

•	User-defined objects.

Continued support for Oracle7

Oracle7 Server features are still supported (Release 7.3.4 and later).


Oracle8 datatypes supported

  Related Topics

This release continues to support the following Oracle8 datatypes:

Large objects (LOBs)

In Oracle8, programmers can define large objects, often called LOBs.  These can store such things as text, images, sound, or video.

This release supports the following Oracle8 large object datatypes:

•	BLOB, or binary large object

•	CLOB, or single-byte character large object

•	BFILE, or binary file (sometimes referred to as an external file).

User-defined objects

In Oracle8, programmers can define object types (also called user-defined types), which are composites based on the existing single-element datatypes supported by Oracle8.  Using these object definitions, programmers can then create various kinds of tables.

Currently supported Oracle8 objects include:

•	An object table, where the entire table is based on a single object type.

•	A column object in a relational table, where that column is based on an object type.

•	A REF column in either an object or relational table, where that column's values are pointers to rows in another object table.

New scalar datatypes

This release supports the new Oracle8 FLOAT datatype.  It maps this datatype to its own NUMBER datatype.


About Oracle8 large objects (LOBs)

You can access the Oracle8 large object datatypes: binary large objects (BLOBs), character large objects (CLOBs), and binary files (BFILEs).

On an Oracle8 server, these datatypes can store objects of up to 4 gigabytes in size.  They are similar in purpose to the familiar Oracle7 LONG and LONG RAW datatypes, but offer a number of additional advantages.

Comparison of LOBs with LONGs

LOBs	LONGs
Up to 4 gigabytes	Up to 2 gigabytes
Multiple LOB columns allowed in a single table	Only one LONG column allowed per table
Replication supported	No replication
Random data access supported	Only sequential access supported
Better table space management (only LOB locator is stored)	Less efficient (data is stored directly in table)
Allowed in user-defined object types	Not allowed
Easily passed to procedures and external calls	Not easily passed
LOBs in detail:

BLOBs are used to store large objects in binary format.  CLOBs are used to store character data.  These two types are also known as internal LOBs, because their data is stored within the server.  The data participates in transactions and integrity control, including commits and rollbacks.

BFILEs, in contrast, are stored outside of the server. The server stores only the operating system address of the file.  As a consequence, BFILEs can not participate in database transactions.

Compatibility

Because of the various advantages offered by LOBs (see the table above), you should used LOBs instead of LONGs in any new application.

However, for backward compatibility, LONGs are still fully supported.

Forms Types

Within a form, the LOB would usually be given a control type of Text, Image, or Sound, depending on its nature and usage.

Restrictions

•	BFILEs are read-only.

•	Although Forms will attempt to load the entire BFILE or BLOB when it is read at runtime, it is limited by the amount of runtime virtual memory available.

•	For CLOBs, Forms has a size limitation of 65534 bytes.


About Oracle8 user-defined objects

  Related Topics  [image]  Examples

In its support for the Oracle8 Server, this release provides you with access to Oracle8 user-defined objects.  These include object tables, column objects in relational tables, and the special kind of column object known as a REF column.

Object tables

In Oracle8, an object table is based on a user's object type definition.  This definition is itself a composite, each attribute or component of which is based on a familiar Oracle8 built-in datatype.  (An object type definition can be based on another object type definition, but ultimately the definitions rest on known Oracle8 built-in datatypes.)

Because of this, each column in an object table is treated as an individual data item, in a manner similar to the way it treats the columns of a relational table.

Column objects in relational tables

A database programmer can also base a column in a relational table on an object type definition.  This has the effect of embedding a composite object in the relational table.

The embedded column object is expanded into its composite parts, and each part is treated as a column in itself.

For example, if the Oracle8 Server held a 3-column relational table, and one of those columns was a column object, and that column object was based on an object definition having four parts or attributes, then the table would be treated as a 6-column table (the 2 relational columns plus the 4 columns that comprise the object).

In the event one of the individual attributes of the column object's definition was based on yet another object type, then that part is further expanded and treated as a set of individual columns.

REF columns

A column in either an object or relational table can be defined as having a type of REF.  A REF column does not hold data directly, but rather has pointers (references) to another object table that holds the actual data.

The reference can be resolved at runtime, so that the user sees the actual referenced data.


Oracle8 user-defined objects: examples

  Related Topics

To create objects in the Oracle8 Server, a database programmer first defines an object type, and then creates a specific object based on that type definition.  The resulting object can be either an object table or a column object in a relational table.

Examples

Consider the following definitions.  The first creates an object type.  The second creates a table of that type.

         CREATE TYPE  emp_type  AS OBJECT

                      (name     CHAR(30),

                       title    CHAR(20),

                       idnum    NUMBER);

         CREATE TABLE  emp  OF emp_type;

In the above example, we create an object table named emp.  It has three columns, and those columns have the names and datatypes that are established in the attributes of the emp_type object type definition.

The following is an example of a column object in a relational table:

         CREATE TYPE  address_type  AS OBJECT

                      (street    VARCHAR2(40),

                       city      VARCHAR2(25),

                       state     VARCHAR2(2)

                       zip       NUMBER);

         CREATE TABLE  customers

                       (cust_id  NUMBER,

                        name     VARCHAR(40),

                        address  address_type);

In this example, we create a relational table named customers.  The table has three columns.  The first two columns (cust_id and name) are the usual relational columns.  The third column (named address) is a column object.  It is built on the object type definition named address_type.  This address column has the structure and datatypes established by that object definition.  The address column can be thought of as having four parts or components (street, city, state, and zip).  Each of these components is of the datatype that was established in the address_type object type definition.  (In this case, all are of VARCHAR2 except for zip, which is of datatype NUMBER).

In the following illustration, the third column of a three-column relational table is based on an object type that itself has three parts or components.

Note that an Oracle8 object is a composite, built from parts or components.  Each of its parts has a name and is of a known Oracle8 datatype.  If the object is a table (actually, a row in an object table), it has as many columns or parts as there are attributes in the object type definition.  If a column in a relational table is based on an object, then each of the object's parts can be thought of an additional column in that table.  Because each of these parts is based on an attribute in the object type definition, these parts are sometimes called attribute columns.

How Developer treats objects

An object table is treated very much like a relational table.  Each column is individually selectable.  Although all columns may be selected, each is treated as a separate item within the application.  The table itself does not have any particular identity as an object within the environment.

Similarly, a column object in a relational table is not treated as a single, homogeneous entity.  Instead, it treats each of the column object's components as an individual, independent data item.  Each component of the column object is selectable.  Once selected, each is treated as an independent data item.  Even if all of the column object's components are selected, the column object itself does not have any particular identity as an object within the development environment.

Data items selected from an object are given the default name ColumnObjectName_ItemName.  Thus, if we select the component named zip from the column object named address in the above example, the data item will have the name address_zip within the application.


About Oracle8 REFs

  Related Topics

REF is a new datatype in Oracle8.  It establishes a column object as a pointer to data in another object table.  The REF column itself does not hold the data.

For example:

           CREATE TYPE  dept_type  AS OBJECT

                        (deptname     VARCHAR2(24),

                         deptnumber   NUMBER);

           CREATE TABLE  dept_table OF dept_type;

           CREATE TABLE  emp

                         (empname    VARCHAR2(50),

                          empnumber  NUMBER,

                          empdept    REF  dept_type);

In the relational table named emp, the column empdept is a REF column.  It points to an object of type dept_type.

Types versus tables

When a REF column is defined, it identifies an object type -- not a particular object table.  It is possible for a database to contain more than one object table based on a single object type definition.  Thus, the REF column definition itself does not identify the target table(s).

Pointer resolution

When the table holding the REF column is initialized, the values placed in the REF column will be pointers to rows in the specific table or tables that have the desired data.  Later at runtime, when users look at the REF column, they will see the pointed-to data (not the pointers).

How Developer displays REFs at design time

At design time, when you ask to see a table that contains a REF column, the REF column displays in its expanded form.  That is, it shows the attributes in the object type pointed to by the original REF definition.

In the above example, the empdept REF column would show as holding two components or attribute columns:  deptname and deptnumber.  These were the two attributes in the object type (dept_type) identified in the REF definition.

Just as with a regular column object, you can select any or all of the referred-to components/attribute columns to become data items in the application.  However, in contrast to regular column objects, you can also select the REF name itself to become a manipulatable item within your application.  That is, you can use the REF in your PL/SQL coding.  By default, the REF becomes part of the null canvas.

How you can display REF data to your users

As an application designer, you have a choice in how the runtime user will see the referenced data (the resolved REF):

•	data displayed in the data block in which the REF exists (sometimes called the look-up method)

•	data displayed in the data block pointed to by the REF (the master-detail method)

The first choice (displaying the data as part of the data block in which the REF exists) is the simplest.  You select the desired REF components as items into your data block, and at runtime Developer and Oracle8 will resolve the references and place the actual referred-to data in the display items.  The user need see only the one block.

The other choice (displaying the data in the pointed-to data block) requires setting up a master-detail link.  This is very similar to setting up a master-detail link for two blocks having a primary-key foreign-key relationship.  In this case, the REF creates the link between the two blocks.  The user will see both blocks, but will  see the REF data only in the referred-to block.

The Form Builder Data Block Wizard can be used to set up this master-detail relationship.


Icons for Oracle8 objects

The object navigator and wizards use icons to help you see what type of Oracle8 data you are accessing.   These icons, and their meanings, are as follows:

             normal table

             object type

             object view

             object table

             nested object

             nested table

             referenced object

             varying array

             method

             unknown type

             server-side stack mode

             server-side program unit

             file

             datatype of Date

             datatype of Number

             datatype of Character

             datatype of Raw

             datatype of BLOB

             datatype of BFILE

             datatype of CLOB

             rowid

             MLS label


Scalability and performance with Oracle8

Oracle8 Server gives you a number of scalability and performance improvements.  For the most part, you obtain these advantages automatically.

For example, you can access Oracle8's:

•	Larger sizes.  The database itself, the number of concurrent users, and its table column limits (now up to 1000 columns) have all increased.

•	Table and index partitioning

•	Client-side object caching

You can also make direct use of several other Oracle8 functions that provide it with improved performance:

•	Prefetch.  Forms uses this Oracle8 feature (along with the existing Array Size mechanism) to reduce both database round-trips and memory usage.  This is done automatically, without any need for user involvement.

•	Returning values clause.  Forms uses this new DML feature when doing inserts and updates.  The Returning clause eliminates the need for a second database query (to obtain any server-side trigger changes to the data), thus speeding up processing.  Users can control it with the DML Returning Value property.

•	INSTEAD-OF trigger for updating views.  This server-side trigger provides a mechanism for updating both relational and object views that would not otherwise be updatable.


Support for PL/SQL 8

  Related topics

This release uses PL/SQL 8 on the client and the server.  Client-side program units currently cannot support Oracle8 object-related functionality.  However, stored program units can use all the new PL/SQL 8 features.

Appendix A in the PL/SQL User's Guide and Reference Release 8 manual describes the new PL/SQL 8 features.  This manual is available online.  Choose Help -> Manuals, and navigate to Reference Manuals under Online Manuals.


Compatibility with earlier releases of PL/SQL

If you have client-side program units written in PL/SQL 1 or PL/SQL 2, you must convert the code to the new level.  The PL/SQL 1 conversion utility is provided to help automate the upgrading process.

Stored program units created with previous releases will run against the PL/SQL 8 engine on the database server, but may compile with errors.  These errors arise in some situations where there is syntax incompatibility between PL/SQL 8 and PL/SQL 2.  A compatibility flag in PL/SQL 8 allows you to choose a PL/SQL 2 compatibility mode, so that the PL/SQL 8 engine does not issue such errors when it compiles PL/SQL 2 code in the server.  Chapter 6 in the Oracle8 Server Migration manual describes the situations that are covered by this compatibility flag.


Oracle8 features not yet supported

  Related Topics

Not all Oracle8 features are currently supported across this release.  The major unsupported features are:

•	Collection types (nested tables and varying arrays, or varrays)

•	Stored procedures that return object values

•	Scalar datatypes NCHAR and NVARCHAR2.

You should also be aware that, although this release does support PL/SQL 8, client-side PL/SQL 8 does not yet fully support all the features in the Oracle8 Server.  (Server-side PL/SQL 8 support is complete.)


Oracle8 Object Support in the Object Navigator

Oracle8 functionality in the Object Navigator provides access to object datatypes, enabling you to program against Oracle8 data more easily. The added Oracle8 object support allows you to view user-defined datatypes in a hierarchical format, and to find and display tables, views, columns, triggers, attributes and methods associated with the user-defined datatypes.

The Database Objects node contains the schemas and their objects that you can access in the currently connected database. When connected to an Oracle8 database, the Object Navigator displays available user-defined datatypes (with their attributes and methods) in the Types node within each schema. Tables, views, columns and triggers associated with the user-defined datatypes are displayed in the Tables and Views nodes.

Specifically, Oracle8 functionality in the Object Navigator enables you to display and find:

•	object tables and column objects in the Tables node

•	object views in the Views node

•	Instead Of triggers for views in the Views node

•	object types, table types and varying array types in the Types node

•	attributes and methods of object types in the Types node

Icons are used to differentiate relational objects and Oracle8 objects in the Object Navigator. For example, separate icons are used to represent normal, relational tables and object tables, and normal views and object views.

For information about Oracle8 user-defined datatypes, see your Oracle8 documentation.

Learn more about

Object Type nodes

Table Type nodes

Varying Array Type nodes

Column Object nodes

Object Table nodes

Object View nodes

Expanding All

Oracle8 objects icons


Object Type nodes

  Example	  Related Topics

Object types appear within the Types node in the Object Navigator. An object type node represents a type created by the SQL statement, CREATE TYPE AS OBJECT. The object type is displayed in the Object Navigator as:

object-type-name ( Object Type [ * ] & Body [ * ] )

The Object Type label appears when a CREATE TYPE AS OBJECT statement has been issued to the database. An asterisk ( * ) appears when the type specification is invalid or if the type is incomplete. An incomplete type is a placeholder for defining types recursively.

The Object Body label appears when a type body has been created using the CREATE TYPE BODY statement. An asterisk ( * ) appears when the type body is invalid.

When both object type and object body have been successfully created, then the label appears as Object Type & Body.

Object type nodes are composite nodes; they have two subnodes, Attributes and Methods. An object type node can be expanded only if a valid type specification exists.

The attributes of an object type are represented as nodes under the Attributes subnode.

The methods of an object type are represented as nodes under the Methods subnode. The methods appear as procedures and functions. The method labels are displayed in the Object Navigator as:

method-name (Procedure)

and

method-name (Function)

If a map method or order method is specified for an object type, then the method label is displayed as:

method-name (Map Function)

or

method-name (Order Function)

Note:  The argument list of a method is not displayed.


Object Type node example

  Related Topics 	   All Examples

The following SQL statement creates the object type emp_typ.

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

The subtree for emp_typ is:


Table Type nodes

  Example	  Related Topics

Table types appear within the Types node in the Object Navigator. A table type node represents a type created by the SQL statement, CREATE TYPE AS TABLE. The table type is displayed in the Object Navigator as:

table-type-name (TABLE OF table-subtype-name)

The table type node is not expandable if the subtype is a built-in type. If the subtype is an object type or REF object, the attributes of the object appear as subnodes.


Table Type node example

  Related Topics 	   All Examples

The following SQL statements create the object type emp_typ and the table type emp_tbl.

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

CREATE TYPE emp_tbl AS TABLE OF emp_typ;

The subtree for emp_tbl is:


Varying Array Type nodes

  Example	  Related Topics

Varying array types appear within the Types node in the Object Navigator. A varying array type node represents a type created by the SQL statement CREATE TYPE AS VARYING ARRAY. The varying array type is displayed in the Object Navigator as:

varying-array-type-name (VARRAY (size) varying-array-subtype-name)

The varying array type node is not expandable if the subtype is a built-in type. If the subtype is an object type or REF object, the attributes of the object appear as subnodes.


Varying Array Type node example

  Related Topics 	   All Examples

The following SQL statements create the object type emp_typ and the varying array type emp_ary.

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

CREATE TYPE emp_ary AS VARRAY(7) OF emp_typ;

The subtree for emp_ary is:


Column Object nodes

  Examples	  Related Topics

Column objects appear as nodes within the Columns node. Each object is labeled with a name and its type in parentheses. Column object nodes are composite nodes, with the attributes of the type appearing as subnodes.

There can be four subtypes of column objects-nested object type, table type, varying array type and REF object type. Column objects are labeled in the Object Navigator as follows:

column-name (nested-object-type)

column-name (table-type-name:TABLE OF table-subtype-name)

column-name (varying-array-type-name: VARRAY(size) OF varying-array-subtype-name)

column-name (REF reference-type-name)


Column Object node examples

  Related Topics 	   All Examples

In the following example, the emp_col column of table emp_tab is a nested object of type emp_typ.

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TABLE emp_tab (emp_col emp_typ, dept VARCHAR2(2));

The subtree for emp_tab is:

In the next example, the emps column of table dept_tab is a nested table with subtype emp_tbl. The nested table contains rows of type emp_typ.

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TYPE emp_tbl AS TABLE OF emp_typ;
CREATE TABLE dept_tab (dname VARCHAR2(20), emps emp_tbl)
  NESTED TABLE emps STORE AS emps_tab;

The subtree for dept_tab is:

In the following example, the emps column of table dept_tab_ary is a varying array with subtype emp_ary. The varying array contains rows of type emp_typ.

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TYPE emp_ary AS VARRAY(7) OF emp_typ;
CREATE TABLE dept_tab_ary (dname VARCHAR2(20), emps emp_ary);

The subtree for dept_tab_ary is:

In the next example, the manager column of table dept_ref is a referenced object with type emp_typ.

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TABLE dept_ref (dname VARCHAR2(20), manager REF emp_typ);

The subtree for dept_ref is:


Object Table nodes

  Example	  Related Topics

Object tables appear within the Tables node in the Object Navigator. An object table node represents a table created by the SQL statement CREATE TABLE OF. Object table nodes are labeled in the Object Navigator as:

object-table-name (object-type-name)

Each object table node has two subnodes, Triggers and Columns. The Triggers subnode contains all triggers associated with the object table. These triggers are displayed in the same manner as triggers associated with normal, relational tables. The Columns node contains all relational columns and column objects associated with a given object table. Each column is labeled with a name and its type in parentheses.


Object Table node example

  Related Topics 	   All Examples

The following SQL statements create the object type person_typ and the object table person_tab.

CREATE TYPE person_typ AS OBJECT
  (name VARCHAR2(30), address VARCHAR2(60));

CREATE TABLE person_tab OF person_typ;

The subtree for person_tab is:


Object View nodes

  Example	  Related Topics

Object views appear within the Views node in the Object Navigator. An object view node represents a view created by using the OF object_type clause. Object view nodes are labeled with a name and its type in parentheses. The attributes of the object are not displayed.

Each object view node has two subnodes, Triggers and Columns. The Triggers subnode contains all triggers associated with the object view, including Instead Of triggers. When an Instead Of trigger is associated with a view, the label is displayed as:

trigger-name (INSTEAD OF trigger-statements)


Object View node example

  Related Topics 	   All Examples

The following SQL statements create an object view.

CREATE TYPE emps_typ AS OBJECT (ename VARCHAR2(30), esalary number(5,2), deptno NUMBER(2));
CREATE TABLE emps (ename VARCHAR2(30), esalary number(5,2), deptno NUMBER(2));
CREATE VIEW dev_emps OF emps_typ
  WITH OBJECT OID (ename)
  AS SELECT ename, esalary, deptno FROM emps WHERE deptno = 10;

The subtree for the object view dev_emps is:


Expanding all Oracle8 object nodes

  Related Topics

The Expand All operation in the Object Navigator does not expand Oracle8 datatype and attribute nodes recursively.

For example, if an attribute called manager with type emp_typ appears as a descendent from another type emp_typ, then the manager attribute would not be expanded by Expand All.


Environment variables

  Related Topics

CA_GPREFS

CA_UPREFS

CUE_PREFS

DEV2000_PROJECT

DEV2000_SOURCECONTROL

DOC60

FORMS60_DEFAULTFONT

FORMS60_EDITOR

FORMSnn_ERROR_DATE/DATETIME_FORMAT

FORMS60_JAVADIR

FORMS60_MAPPING

FORMS60_OUTPUT

FORMSnn_OUTPUT_DATE/DATETIME_FORMAT

FORMS60_PATH

FORMSnn_PLSQLV1_NAME_RESOLUTION

FORMS60_REPFORMAT

FORMS60_TIMEOUT

FORMSnn_USER_DATE/DATETIME_FORMAT

FORMS60_USEREXITS

GRAPHICS60_PATH

INTERRUPT (DOS SQL*Net users only)

LOCAL

NLS_LANG

OleCreateObjPoolInMemory

OleDoNotUpdateLinks

OleUpdateLinksPrompt

ORACLE_HOME

ORACLE_PATH

ORAINFONAV_DOCPATH

REPORTS60_CGIDIAGBODYTAGS

REPORTS60_CGIDIAGHEADTAGS

REPORTS60_CGIHELP

REPORTS60_CGIMAP

REPORTS60_CGINODIAG

REPORTS60_CGIPATHONLYURL

REPORTS60_COOKIE_EXPIRE

REPORTS60_DB_AUTH

REPORTS60_ENCRYPTION_KEY

REPORTS60_OWSDIAGBODYTAGS

REPORTS60_OWSDIAGHEADTAGS

REPORTS60_OWSHELP

REPORTS60_OWSMAP

REPORTS60_OWSNODIAG

REPORTS60_OWSPATHONLYURL

REPORTS60_PATH

REPORTS60_REPORTS_SERVER

REPORTS60_SYS_AUTH

REPORTS60_TERMINAL

REPORTS60_TMP

REPORTS60_USEREXIT

REMOTE

UI_ICON

USERNAME

WIN_REMOTE_SESSIONS

XMITTR(DOS users only)


The Registry (Windows 95 and Windows NT)

  Environment Variables

The Oracle Installer creates a new ORACLE section in your registry.  The Oracle registry contains configuration parameters that control such things as the name of the Oracle home directory, the location of the product preference file, and the location of the help files.

Viewing and modifying the Registry

You can view and optionally edit the Microsoft Windows Registry by using the Registry Editor.  This editor is located in the directory where your Windows software is installed.  To start the editor, choose Start [image] Run, then type REGEDIT and click OK.

In the Registry Editor, expand the HKEY_LOCAL_MACHINE node, then expand the SOFTWARE node.  Click the ORACLE key to display the Oracle configuration parameters.

You can modify any parameter value by double-clicking the parameter name to display the Edit String dialog.  Change the value in the Value data text box, then click OK to accept the new value.


Configuration parameters

  Environment Variables

The Oracle Installer automatically sets many parameters.  Some of these parameters are required by Oracle products, and other parameters allow you to customize the products' behavior.

Required parameters

The parameters listed in this section are automatically set or removed by the Oracle Installer.  They are required by various Oracle products to function properly.

Caution: Do not change the settings of parameters listed in this section.  Doing so may cause one or more Oracle products to stop functioning correctly.

The appearance of nn in the parameters listed below specifies a product or component release number.  This number may change when you upgrade to a new release of an Oracle product.

Parameter	Default Value
BROWSERnn	ORACLE_HOME\BROWSE25
DEnn	ORACLE_HOME\TOOLS\COMMON60
FORMSnn	ORACLE_HOME\FORMS60
GRAPHICSnn	ORACLE_HOME\GRAPH60
MMnn	ORACLE_HOME\TOOLS\COMMON60
OCLnn	ORACLE_HOME\GRAPH60
PROnn	ORACLE_HOME\PRO18
RDBMSnn	ORACLE_HOME\RDBMS73
RWnn	ORACLE_HOME\REPORT60
TKnn	ORACLE_HOME\TOOLS\COMMON60
VGSnn	ORACLE_HOME\TOOLS\COMMON60
Customizeable parameters

The parameters listed in this section control various aspects of your Oracle products.  You may change the settings of these parameters to customize the product's behavior.

The sections below list the default setting (if any) of each parameter that is automatically set by the Oracle Installer.  Those parameters that aren't automatically set are also noted.  Descriptions of the valid values and examples of settings are also provided.


CA_GPREFS

Default:  ORACLE_HOME

Valid Values:  any directory on any drive

Example:

CA_GPREFS=C:\orawin95

This parameter specifies the location of the global preferences file, CAGPREFS.ORA.  Global preferences are shared among networked users.  In addition to searching the directory specified by the CA_GPREFS parameter, products will also search the current directory for the CAGPREFS.ORA file.

The CAGPREFS.ORA file is automatically created by the Oracle Installer.  To modify the global preference settings, use a text editor such as Notepad to manually edit this file.  Global preferences set in CAGPREFS.ORA can be overridden by the local preference file, CAUPREFS.ORA, which is defined by the parameter CA_UPREFS.


CA_UPREFS

Default:  ORACLE_HOME

Valid Values:  any directory on any drive

Example:

CA_UPREFS=C:\orawin95

This parameter specifies the location of the user preferences file, CAUPREFS.ORA.  The CAUPREFS.ORA file maintains the preferences that you set via Tools [image] Tools Options within your products.  In addition to searching the directory specified by the CA_UPREFS parameter, the product will also search the current directory for the CAUPREFS.ORA file.

Several Oracle products write their preference information to the CAUPREFS.ORA file.  To manually modify the user preference settings, use a text editor such as Notepad to edit this file.  User preferences set in CAUPREFS.ORA override global preferences set in the CAGPREFS.ORA file, which is defined by the parameter CA_GPREFS.


CUE_PREFS

Default:  ORACLE_HOME

Valid Values:  any directory on any drive

Example:

CUE_PREFS=C:\orawin95

This parameter specifies the location of the Cue Cards preferences file, CUEPREF.RES.  The CUEPREF.RES file maintains the Cue Card preferences that you can set from the Cue Cards Options dialog.

Your preferences are saved to the CUEPREF.RES file each time you exit from an application.  You cannot modify this file manually.


DEV2000_SOURCECONTROL

Default:  none

Valid Values:  keywords that specify which source control system should be used with Forms Developer or Reports Developer

Example:

DEV2000_SOURCECONTROL=PVCS

This parameter specifies which source control system you plan to use with with Forms Developer or Reports Developer.  Currently, you can either specify no source control system, or you can set this parameter to the value 'PVCS.'  As support for additional source control systems is added, you will be able to specify keywords for additional source control systems, as well.


DEV2000_PROJECT

Default:  none

Valid Values:  keywords that specify the project file of the source control system to be used with with Forms Developer or Reports Developer

Example:

DEV2000_PROJECT=c:\pvcs\project1\project1.cfg

This parameter specifies the name of the project file for the source control system you selected on the DEV2000_SOURCECONTROL parameter.


DOC60

Default:  Oracle_Home\tools\doc60

Valid Values:  any directory on any drive

Example:

DOC60=c:\orawin95\tools\doc60

This parameter specifies the location of the online documentation files, including online help, Cue Cards, and Quick Tours.


FORMS60_DEFAULTFONT

Default:  none

Valid Values:  A text string specifying any valid font.

Example:

FORMS60_DEFAULTFONT="MS Sans Serif.8"

This parameter specifies the default font used for boilerplate in the Form Builder Layout editor.


FORMS60_EDITOR

Default:  none

Valid Values:  the name and path of a system editor

Example:

FORMS60_EDITOR=C:\windows\notepad.exe

This parameter defines the editor that can be invoked by Form Builder multi-line items in the Designer or Runform components.  No user-defined editor will be launched unless this parameter is defined.

Note:  When exiting the editor, the file must be saved back as an "ASCII Only" file.  No native word processor formats are supported.


FORMSnn_ERROR_DATE/DATETIME_FORMAT

Purpose:  These two environment variables establish the format masks that Forms will use in producing runtime error messages that are issued when an end user enters an invalid value into a date or datetime item.

Default:  See the help topic About Format Masks for Dates.

Valid Values:  any valid date/datetime format mask.

Example:

FORMS65_ERROR_DATE_FORMAT YYYY/MM/DD


FORMS60_JAVADIR

Default:  Oracle_Home\forms60\java

Valid Values:  the name and path of the Oracle Java runtime environment

Example:

FORMS60_JAVADIR=C:\orant\forms60\java

This parameter defines the location of the Oracle Java runtime environment files required to use Java Bean areas and to preview web-based forms from Form Builder.


FORMS60_MAPPING

Default:  none

Valid Values: the virtual location of your temporary work directory

Example:

FORMS60_MAPPING=http://myhost.com/webtemp

To process images on the Web, the Forms Server transmits temporary compressed JPEG files. If you use images or icons in your Web Forms applications, you must create a temporary directory and a virtual directory (for example, C:\ORANT\WEBTEMP) that the Forms Server will use for images and other work files. You must also create the FORMS60_OUTPUT and FORMS60_MAPPING environment variables on the machine on which your Forms Server is running.


FORMS60_OUTPUT

Default:  none

Valid Values:  any directory on any drive on the machine on which the Forms Server is running

Example:

FORMS60_OUTPUT=C:\ORANT\WEBTEMP\

To process images on the Web, the Forms Server transmits temporary compressed JPEG files. If you use images or icons in your Web Forms applications, you must create a temporary directory (for example, C:\ORANT\WEBTEMP) that the Forms Server will use for images and other work files. You must also create the FORMS60_OUTPUT and FORMS60_MAPPING environment variables on the machine on which your Forms Server is running.


FORMSnn_OUTPUT_DATE/DATETIME_FORMAT

Purpose:  These two environment variables establish the format masks that Forms will use for runtime ouput operations on any date and datetime items that do not have their own individual, specific masks.

Default:  See the help topic About Format Masks for Dates.

Valid Values:  any valid date/datetime format mask.

Example:

FORMS65_OUTPUT_DATETIME_FORMAT YYYY/MM/DD HH24:MI:SS


FORMS60_PATH

Default:  ORACLE_HOME\FORMS60\PLSQLLIB

Valid Values:  any directory on any drive

Example:

FORMS60_PATH=C:\oracle\apps\forms;C:\myfiles

This parameter specifies the search path for files used in a Form Builder runtime application.  These include form files (.fmx), menu files (.mmx), PL/SQL libraries (.pll), and other objects that the application attempts to load from a file at runtime.  For example, if you import the image file scooter.tif, Form Builder searches in the directories specified by FORMS60_PATH to find that file.

FORMS60_PATH can specify multiple directories.  Use a semi-colon (;) to separate directory names in a list of paths.


FORMSnn_PLSQLV1_NAME_RESOLUTION

Default:  OFF

Valid Values:  ON, OFF

Example:

FORMS6i_PLSQLV1_NAME_RESOLUTION=ON

This environment variable allows you to choose between R4.5 behavior and R5-and-later behavior for runtime program unit name resolution.  A value of ON selects R4.5 behavior.  A value of OFF (or not including this environment variable at all) selects R5-and-later behavior.

R4.5 Behavior:

When Forms encounters a call to a program unit, it first looks for the program unit in the current form or menu, then searches the attached libraries.  This behavior provides a simple style of dynamic name resolution, as the program unit that is called is not the same as the one which was resolved at compile time.  In addition, in situations where the same library is attached to multiple forms, each form maintains its own unique set of library information, including instantiations, package state, and dependencies.  This means that dependency information is not shared across forms.

R4.5 behavior has the following disadvantages:

•	No sharing of information across forms.  SHARE_LIBRARY_STATE will have no effect.

•	Increases in execution time and memory usage (as compared to R5+).

R5+ Behavior:

When Forms encounters a call to a program unit, it also first looks for the program unit in the current form or menu, then searches the attached libraries.  However, in those situations where the same library is attached to multiple forms, each form does not maintain its own unique set of library information.  Instead, the program unit instantiations are shared across forms.  This means that dependency information can be shared across forms.

Recommendation:

Because of the disadvantages noted above, and because this environment variable will not always be supported in future releases, it is recommended that you not choose the R4.5 behavior.

Instead, to obtain dynamic name resolution, use the Execute-Trigger built-in.  If arguments are needed, use global variables.


FORMS60_REPFORMAT

Default:  none

Valid Values:  HTML, PDF

Example:

FORMS60_REPFORMAT=HTML

If you are invoking a browser to run a report from a form via RUN_PRODUCT, you must set the FORMS60_REPFORMAT environment variable.  This parameter specifies the report format.


FORMS60_TIMEOUT

Default:  15

Valid Values:  1-1440 (1 day)

Example:

FORMS60_OUTPUT=1440

This parameter specifies the amount of time in elapsed minutes before the Forms server process is terminated if there is no client communication with the Forms server.


FORMSnn_USER_DATE/DATETIME_FORMAT

Purpose:  These two environment variables establish the format masks that Forms will use at runtime to extract values from items of type DATE and DATETIME, when those items do not have their own individual, specific masks.

Default:  See the help topic About Format Masks for Dates.

Valid Values:  any valid date/datetime format mask.  Multiple format masks may be specified, separated by vertical bars.  During runtime item conversion, the format masks are used in the order specified, until a conversion succeeds (or the masks are exhausted).

Example:

FORMS65_USER_DATE_FORMAT  FXFMDD-MM-RRRR


FORMS60_USEREXITS

Default:  none

Valid Values:  Any user exit dynamic link library (along w/ absolute path).

This parameter allows you to define multiple DLLs to contain foreign functions that can be invoked from a user exit interface.  The FORMS60_USEREXITS parameter includes a semicolon-delimited list of user interface DLLs.

FORMS60_USEREXITS can specify multiple DLLs.  Use a backslash (\) to separate directories in a path, and a semicolon (;) to separate complete paths.

If this value is not explicitly set, Form Builder assumes it to be ORACLE_HOME\BIN\F45XTB.DLL.

Example:

FORMS60_USEREXITS = C:\mathlib\add.dll;C:\mathlib\mult.dll


GRAPHICS60_PATH

Default:  none

Valid Values:  any directory on any drive

Example:

GRAPHICS60_PATH=C:\oracle\apps\graphics;C:\myfiles

This parameter specifies the search path for files used in a Graphics runtime application.  These include display files (.ogr), images, external queries, and other objects that the application attempts to load from a file at runtime.  For example, if you import the image file scooter.tif, Graphics Builder searches in the directories specified by GRAPHICS60_PATH to find that file.

GRAPHICS60_PATH can specify multiple directories.  Use a backslash (\) to separate directories in a path, and a semicolon (;) to separate complete paths.


INTERRUPT (DOS SQL*Net users only)

Default:  none

Valid Values:  same value specified in your DOS CONFIG.ORA file

This parameter specifies the interrupt vector address that DOS Oracle products will use.  If you use a DOS SQL*Net driver for Windows, check your CONFIG.ORA file located in the DOS Oracle home directory.  If the INTERRUPT parameter is set in CONFIG.ORA, you must set it to the same value in registry.  If this variable is not set in your DOS CONFIG.ORA files, you do not need to set it in the registry.

Note:  Do not set INTERRUPT to 103 when using a third-party memory management product such as QEMM, 386MAX, CEMM, or EMM386.  Doing so will result in unexpected behavior after you start SQLPME and SQL*Net.


LOCAL

Default:  none

Valid Values:  any valid SQL*Net driver prefix, including database string parameters.  For more information, see the Oracle Network Administrator's Guide.

This parameter specifies the SQL*Net driver and complete connect string that the product will use if you do not specify a communications driver when you connect to the database within the product.

If you add the LOCAL parameter, do not add the parameter to the end of the file.  Oracle products will not recognize the LOCAL parameter if it appears as the last parameter.

Note:  If you use a DOS SQL*Net driver for Windows, check to see whether the LOCAL parameter is set in your CONFIG.ORA file located in the DOS Oracle home directory.  If LOCAL is set in CONFIG.ORA, you must set it to the same value in the registry.


NLS_LANG

Default:  AMERICAN_AMERICA.WE8ISO8859P1

Valid Values:  See the NLS Reference Manual for a current list of available values, or see the following file on your CD: \bonus\nls\nlsd2r1.wri

Example:

NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

This parameter sets the language in which message files appear.  The syntax for NLS_LANG is as follows:

NLS_LANG=<language>_<territory>.<char_set>

where:

language	specifies the language and its conventions for displaying messages and day and month names.
territory	specifies the territory and its conventions for calculating week and day numbers.
char_set	specifies the character set used for the UPPER, LOWER, and INITCAP functions, and the type of sort used by an ORDER BY query.  This argument also controls the character set used for displaying messages.


OleCreateObjPoolInMemory

Default:  0

Valid Values:  0 or 1

Example:

OleCreateObjPoolInMemory=0

For Report Builder, this parameter specifies whether to create the OLE2 object pool in temporary files (0) or in memory (1).  Creating the pool in memory improves performance by reducing disk access.  If you have a large number of OLE2 objects or large OLE2 objects (e.g., images), the amount of memory needed may be high.  In determining how many OLE2 objects you have, note that an OLE2 boilerplate object in a repeating frame contains one OLE2 object.  An OLE2 field contains one OLE2 object for each instance of the field.


OleDoNotUpdateLinks

Default:  0

Valid Values:  0 or 1

Example:

OleDoNotUpdateLinks=0

For Report Builder, this parameter enables (0) or disables (1) the updating of links when you open the Layout editor or run the report.  Linked OLE2 objects contain cached presentations of their source objects.  These cached presentations are updated by the corresponding OLE2 server based upon the persistent object data.

These updates occur automatically or manually, depending upon the link type.  Since updating the cached presentations requires launching the OLE2 server, you may want to disable the updating to improve performance, if you know the source objects have not changed or if you don't need the latest changes.  Note that even if you do not specify this option, you can still cancel updates from the standard dialog box that appears as the OLE2 objects are being updated.


OleUpdateLinksPrompt

Default:  0

Valid Values:  0 or 1

Example:

OleUpdateLinksPrompt=0

For Report Builder, this parameter specifies to prompt (0) or not prompt (1) when the source of a linked object is not found.  If the source of an object is not found during an update attempt, a dialog box is displayed from which you can re-specify the link source or ignore the error.  If you will not be there to accept the dialog box (e.g., you are running the report overnight), you may want to disable this prompt to ensure that the report execution completes.


ORACLE_HOME

Default:  C:\ORAWIN95

Valid Values:  any directory on any drive

Example:

ORACLE_HOME=C:\orawin95

This parameter specifies the home directory in which Windows Oracle products are installed.  This directory is the "top" directory in the Oracle directory hierarchy.

Usage Notes

•	If you are using Reports Runtime, the combined length of ORACLE_HOME and ORACLE_PATH should not exceed 255 characters


ORACLE_PATH

Default:  none

Valid Values:  any directory on any drive

Example:

ORACLE_PATH=C:\oracle\apps\forms;C:\oracle\apps\graphics;
C:\oracle\apps\reports

This parameter specifies the search path for files referenced by a Forms, Graphics, or Reports Runtime.  Note that the directories specified by ORACLE_PATH are searched after those specified by a product-specific parameter:  FORMS60_PATH, GRAPHICS60_PATH, or REPORTS60_PATH.

ORACLE_PATH can specify multiple directories.  Use a semi-colon (;) to separate directory names in a list of paths.

Usage Notes

•	If you are using Reports Runtime, the combined length of ORACLE_HOME and ORACLE_PATH should not exceed 255 characters


ORAINFONAV_DOCPATH

Default:  none

Valid Values:  any directory on any drive

Example:

ORAINFONAV_DOCPATH=C:\orawin95\oin

This parameter specifies the location of the table of contents and index for your online documentation.


REMOTE

Default:  none

Valid Values:  any valid SQL*Net driver prefix and parameters

Example:

REMOTE=P:PIPER

This parameter specifies the default and remote SQL*Net driver to use when connecting via a local database.  The parameter can include the default SQL*Net parameters (complete database string).

where P: is the network prefix for Named Pipes, and Piper is the database name.

If a user logs on and specifies a connection with an explicit driver prefix matching the one specified in REMOTE, but specifies no SQL*Net parameters, the parameters specified in REMOTE are used.  This parameter enables the DBA to define a "normal" network connection for which the SQL*Net user need not specify connection parameters.  You can reset this parameter on the command line at any time.

Note:  If you use a DOS SQL*Net driver for Windows, check to see whether the REMOTE parameter is set in your CONFIG.ORA file located in the DOS Oracle home directory.  If REMOTE is set in CONFIG.ORA, you must set it to the same value in the registry.


REPORTS60_CGIDIAGBODYTAGS

For the Reports Web CGI, specifies the HTML tags that will be inserted as <BODY…> tags in the RWCGI60 diagnostic/debugging output.  For  example, you can use this environment variable to set up text/background color and image.


REPORTS60_CGIDIAGHEADTAGS

For the Reports Web CGI, specifies HTML tags which will be inserted between <HEAD> … </HEAD> tags in the RWCGI60 diagnostic/debugging  output. For example, you may want to use this environment variable to set up <TITLE> or <META…> tags.


REPORTS60_CGIHLP

For the Reports Web CGI, defines URL/URI of the RWCGI60 help file, which will be navigated to when RWCGI60 is invoked with the empty request:

http://your_webserver/your_virtual_cgi_dir/rwcgi60.exe?

For example, setting REPORTS60_CGIHLP to http://www.yahoo.com will go to that URL; setting it to myhelpfile.htm will display the file:

http://your_webserver/myhelpfile.htm

If this variable is not defined, a default help screen will be displayed.


REPORTS60_CGIMAP

For the Reports Web CGI, defines fully qualified filename/location of the RWCGI60 map file if map file configuration is used:

c:\orant\report60\mymap.dat


REPORTS60_CGINODIAG

For the Reports Web CGI, when defined, disables all debugging/diagnostic output from RWCGI60.

http://your_webserver/cgi-bin/rwcgi60.exe/help?

Usage Note:

The parameter will not work when REPORTS60_CGINODIAG is defined.


REPORTS60_CGIPATHONLYURL

For the Reports Web CGI, when defined (the value does not matter), forces RWCGI60 to return any URLs to the browser as partial, path-only URLs; i.e., instead of returning:

Location: http://your_webserver:port/path

it will return only:

Location: /path

This variable can be used to resolve problems with Web server setups that use multiple ports, including a default port.


REPORTS60_COOKIE_EXPIRE

Default:  30

Valid Values:  any number of minutes

Example:

REPORTS60_COOKIE_EXPIRE=30

For Reports Server security, determines the idle time of the cookie (e.g., REPORTS60_COOKIE_EXPIRE=30).  Cookies save encrypted user names and passwords on the client-side.  When CGI receives a cookie from the client, CGI compares the time saved in the cookie with the current system time.

If the time is longer than the number minutes defined in the REPORTS60_COOKIE_EXPIRE parameter (e.g., 30 minutes), CGI rejects the cookie and returns the database authentication form and an error message to the client.  The user must re-authenticate to run the report.


REPORTS60_DB_AUTH

Default:  dbauth.htm

Valid Values: any html file that contains special authentication actions. It is recommended that you keep the default.

Example:

REPORTS60_DB_AUTH=dbauth.htm

Specifies the database authentication template used to log on to the database.


REPORTS60_SYS_AUTH

Default:  sysauth.htm

Valid Values: any html file that contains special authentication actions. It is recommended that you keep the default.

Example:

REPORTS60_SYS_AUTH=sysauth.htm

Specifies the authentication template used to authenticate the username and password when users run report requests to a restricted Reports Server.


REPORTS60_ENCRYPTION_KEY

Default:  Reports6.0

Valid Values:  any encryption key

Example:

REPORTS60_ENCRYPTION_KEY=reports6.0

Specifies the encryption key used to encrypt the user name and password.


REPORTS60_REPORTS_SERVER

Valid Values:  any Reports Server service entry name

Example:

REPORTS60_REPORTS_SERVER=repserver

Specifies the default Reports Server for Web Cartridge or Web CGI requests. When this parameter is set, you can omit the SERVER command line argument in report requests to process them using the default server, or you can include the SERVER command line argument to override the default.


REPORTS60_OWSDIAGBODYTAGS

For the Reports Web Cartridge, specifies HTML tags which will be inserted as a <BODY…> tag in  the RWOWS60 diagnostic/debugging output. For instance, you may want to use this environment to set up text/background color, image, etc.


REPORTS60_OWSDIAGHEADTAGS

For the Reports Web Cartridge, specifies HTML tags which will be inserted between <HEAD> …</HEAD> tags in the RWOWS60 diagnostic/debugging output. For instance, you may want to use this environment to set up <TITLE> or <META…> tags, etc.


REPORTS60_OWSHELP

Valid Values:  any path and file name or URL

For the Reports Web Cartridge, defines URL/URI of the RWOWS60 help file, which will be navigated  to when RWOWS60 is invoked with the empty request:

http://your_webserver/rwows60?

e.g., setting it to http://www.yahoo.com will go to that URL; setting it to myhelpfile.htm will display the file:

http://your_webserver/myhelpfile.htm

If this parameter is not defined, a default help screen will be displayed.


REPORTS60_OWSMAP

For the Reports Web Cartridge, defines fully qualified filename/location of the RWOWS60 map file (if map file configuration is used):

C:\ORANT\REPORTS60\MYMAP.DAT


REPORTS60_OWSNODIAG

For the Reports Web Cartridge, when defined, disables all debugging/diagnostic output from RWOWS60:

http://your_webserver/rwows60/help?

will not work when REPORTS60_OWSNODIAG is defined.


REPORTS60_OWSPATHONLYURL

For the Reports Web Cartridge, when defined (the value does not matter), it causes RWOWS60 to use path-only URLs (e.g., "/rscache/..." instead of "http://mywebsrv.com:1550/rscache/..." ) in HTTP redirection to report output and in the RWOWS60-generated diagnostic output. This is useful to force the client browser to retain the original URL request in its "Location:" field after retrieving the report output. Normally, RWOWS60 will switch the URL to the location of the report output (i.e., the directory specified by REPORTS60_WEBLOC), and will show the name of the report output file which, just having been generated, has a rather uninformative name such as 12345679.htm. By setting this parameter, this "URL switching" can be avoided. This will work only if all URLs are using the default port (typically 80).

The drawback to setting this parameter, however, is that any subsidiary files (such as image files) dependent on the main report output file will not be retrieved by the browser (although they are created successfully in the pointed to by REPORTS60_WEBLOC). This can be worked around either by specifying a <BASE HREF="..."> or <META HREF="..."> tag (with the main file location as a full or partial URL) in the report definition so that it is included in the main report output file, or by setting REPORTS60_WEBLOC to point to the location of the RWOWS60 executable.

Setting REPORTS60_OWSPATHONLYURL can also be used to workaround certain Intranet/Internet configurations where the same machine may have several different IP addresses simultaneously (with several network cards), because it removes the dependence of the HTTP redirection on the machine name or IP address.


REPORTS60_PATH

Default:  ORACLE_HOME\REPORT60\DEMO;ORACLE_HOME\REPORT60\DEMO\BITMAP;ORACLE_HOME\REPORT60\DEMO\REQFILES

Valid Values:  any directory on any drive

Example:

REPORTS60_PATH=C:\oracle\apps\reports;C:\myfiles

This environment variable is used to locate reports and external objects that you use in your reports, such as PL/SQL libraries, external queries, and external boilerplate.  It enables you to create reports that are easily portable across operating systems by preventing the need to hard-code directory paths.

Note: REPORTSPATH is limited to 256 characters.

Define REPORTS60_PATH in the same fashion you define other environment variables on your operating system, keeping in mind such platform-specific rules as path length, etc.

In addition to directory paths, you can specify the keyword DB when you define REPORTS60_PATH.  This instructs Report Builder to search the database to which you are currently connected.

Suppose you specified the following on a Unix platform:

setenv REPORTS60_PATH
/home/tkostin/pay:/home/tkostin/receive:DB

Report Builder will first search the directory /home/tkostin/pay.  If it cannot find the file in question, it will search /home/tkostin/receive.  If it still cannot find the file, it will search the database to which you connected when you began your Report Builder session.


REPORTS60_TERMINAL

Default:  none

Valid Values:  any directory on any drive

Example:

REPORTS60_TERMINAL=C:\mytermdefs

This environment variable is used to locate terminal definitions that you use in your character-mode reports.  The path you specify for this variable takes precedence over the ORACLE_TERMINAL environment variable.

Define REPORTS60_TERMINAL in the same fashion you define other environment variables on your operating system, keeping in mind such platform-specific rules as path length, etc.


REPORTS60_TMP

Default:  none

Valid Values:  any directory on any drive

Example:

REPORTS60_TMP=C:\tmp

This environment variable establishes the directory in which you wish to store Report Builder temporary files.  Report Builder will use only one directory for this purpose; do not define more than one.

Define REPORTS60_TMP in the same fashion you define other environment variables on your base operating system, keeping in mind such platform-specific rules as path length, etc.  If you don't define REPORTS60_TMP, it will default to the current working directory.


REPORTS60_USEREXIT

Default:  none

Valid Values:  any user exit dynamic link library (along with its absolute path)

Example:

REPORTS60_USEREXIT=C:\mydll.dll;d:\mynew.dll;e:\bin\speed.dll

This parameter allows you to define multiple DLLs for use by Report Builder and its related executables (e.g., Reports Runtime).  These DLLs are program modules created by you to be called by the Report Builder executables.

REPORTS60_USEREXITS can specify multiple DLLs.  Use a backslash (\) to separate directories in a path, and a semicolon (;) to separate complete paths.

If this value is not explicitly set, Report Builder looks for 60xtb32.dll according to the path variable of the system.


UI_ICON

Default:  none

Valid Values:  any accessible directory on any drive

Example:

UI_ICON=C:\icon

This environment variable establishes the directory in which you wish to store icons used for buttons in your layout.  Report Builder will use only one directory for this purpose; do not define more than one.

Define UI_ICON in the same fashion you define other environment variables on your base operating system, keeping in mind such platform-specific rules as path length, etc..


USERNAME

Default:  none

Valid Values:  any valid Oracle username (without the OPS$ prefix)

Example:

USERNAME=dsanvita

This parameter specifies the variable part of a default logon account.  See your database documentation for more information on setting the USERNAME parameter.


WIN_REMOTE_SESSIONS

Default:  none

Valid Values:  0-33

If you receive an error in the ORA-3100 to ORA-3199 range when you try to log on, there may not be enough real-mode memory to establish a communication buffer with an Oracle server.  NETINIT7.EXE solves this problem by reserving memory for server connections.

This parameter sets the number of connections to a remote server for which NETINIT7 should reserve memory.  Note the following rules when setting the WIN_REMOTE_SESSIONS parameter:

•	If you set WIN_REMOTE_SESSIONS to 0, NETINIT7 will not reserve any memory for remote server connections.

•	Setting WIN_REMOTE_SESSIONS to the values 1 through 33 will reserve memory for the specified number of connections.  Note that NETINIT7 reserves 12K of real-mode memory for each remote server connection.

•	A suggested default value for WIN_REMOTE_SESSIONS is 5.  Setting WIN_REMOTE_SESSIONS to 5 should create enough sessions to allow you to run several products.

•	If you do not add the WIN_REMOTE_SESSIONS parameter, NETINIT7 will reserve memory for one remote server connection.

To use NETINIT7, complete the following steps:

1	Configure the number of sessions by adding the WIN_REMOTE_SESSIONS parameter.

2	Create the NETINIT7 icon in your Oracle program group.  (For more information about creating icons, see your Microsoft Windows documentation.)  Enter the following path in the Command Line field of the Windows Program Item Properties dialog box:

ORACLE_HOME\bin\netinit7.exe

4	Start NETINIT7 by double-clicking the icon in the Oracle program group.  Make sure that you start NETINIT7 before you start a product.  If you want NETINIT7 to run automatically at Windows startup, include the NETINIT7 icon in the Windows Startup program group.

NETINIT7 attempts to reserve real memory for the configured number of server connections.  If NETINIT7 cannot allocate the required memory, it displays a warning message and indicates the actual number of sessions for which it has allocated memory.

After allocating memory, NETINIT7 minimizes itself.  Restoring NETINIT7 displays the total number of sessions configured and the total amount of memory used.  Closing NETINIT7 releases all unused session memory.  If an application is still using session memory, NETINIT7 notifies you that applications must log off before session memory can be freed.

Note:  If you start a product before NETINIT7, it will allocate its own session memory, which is not recognized by NETINIT7.  NETINIT7 attempts to allocate the configured session memory in addition to memory already allocated by the product you started.


XMITTR(DOS users only)

Default:  none

Valid Values:  same value specified in your DOS CONFIG.ORA file

This parameter applies only to users of Oracle DOS protected mode executables.  Check your CONFIG.ORA file, located in the DOS Oracle home directory.  If the XMMITR parameter is set in CONFIG.ORA, you must set it to the same value in the registry.  If this variable is not set in your DOS CONFIG.ORA files, you do not need to set it in the registry.

XMMITR (Extended Memory Manager Interrupt Vector) is a variable that indicates the interrupt vector to be used for the extended memory manager/mode transition driver XMM/MTD interrupt services entry point.  To set a different vector, the new interrupt vector is expressed as a decimal number.  XMMITR should be used only if another program in your system needs to use interrupt 100 decimal, or 64 hexadecimal.

Note:  Do not set XMMITR to 103 when using a third-party memory management product such as QEMM, 386MAX, CEMM, or EMM386.  Doing so will result in unexpected behavior after you load SQLPME and SQL*Net.


The Syntax Palette interface

The Syntax Palette enables you to display and copy the constructs of PL/SQL language elements and built-in packages.  It allows you to copy selected syntax into the Program Unit editor or Stored Program Unit editor only.

The Syntax Palette has the following pages:

PL/SQL page	Allows you to display and select PL/SQL language elements for copying.  The PL/SQL language elements are grouped by categories such as Control Flow, Cursors, Exceptions, and so on.
Built-ins page	Allows you to display and select built-in PL/SQL constructs (functions or procedures) for copying.  The built-ins are grouped by package names such as EXEC_SQL, DEBUG, DDE, and so on.

Each page has the following components:

Drop-down list	Displays a PL/SQL category name or a built-in package name.   Click the arrow on the right to choose a PL/SQL category or built-in package.
List area	Displays the individual language elements in a selected PL/SQL category or the constructs in a selected built-in package.  The first item in the list is highlighted (selected) by default.   Click a language element or construct to select it and to show its full syntax in the display area..
Display area	Shows the full syntax of a selected PL/SQL language element or construct.  Reserved words are in uppercase items. After inserting the syntax into the editor, replace lowercase items that are not within comments with the appropriate values.  Lowercase items within comments are optional.
Insert	Click to copy the selected item in the list area to the current cursor position in the active editor window.
Close	Click to close the Syntax Palette.
Help	Displays this help topic.


Displaying the Syntax Palette

To display the Syntax Palette:

  Choose Program [image] Syntax Palette.


Closing the Syntax Palette

To close the Syntax Palette:

  Click the Close button.


Inserting syntax into an editor

  Related Topics

To insert syntax into an editor:

1	Make sure the Program Unit editor or Stored Program Unit editor is the current (most recently selected) window.

2	Place the cursor in the editor where you want to insert the syntax.

3	In the Syntax Palette, click the PL/SQL tab or the Built-ins tab.

4	Choose a PL/SQL category or a built-in package from the drop-down list.

When you click a category or a package, the PL/SQL language elements or PL/SQL constructs that are available for selection appear in the list area below.

5	Choose a PL/SQL language element or construct in the list area.

When you click a PL/SQL language element or construct, the syntax appears in the display area that is below the list area.

6	Click Insert to copy the selected syntax.

The selected PL/SQL syntax with place-holders is inserted into the active editor at the current cursor position.  Reserved words are in uppercase.

Replace all lowercase place-holders that are not within comments with the appropriate values.  Items within comments are optional.


List of PL/SQL categories

Blocks

Comments

Control Flow

Cursors

Data Types

Exceptions

Functions

Loops

Object Types

Packages

PL/SQL Tables

Procedures

Queries

Records

SQL Cursors

Tables/Views

Transactions

User Types

Variables


List of built-ins

EXEC_SQL

TOOL_SQL

ORA_FFI

ORA_DE

ORA_PROF

ORA_NLS

TOOL_RES

TOOL_ENV

TEXT_IO

TOOL_ERR

STPROC

LIST

OLE2

DDE

DEBUG

PLITBLM

STANDARD


Editing features

  Related Topics

These editing features are supported in the Program Unit editor and Stored Program Unit editor only:

Automatic indent/outdent	As you enter code in the editors, lines are automatically indented or outdented according to the syntax rules of PL/SQL.
Color syntax highlighting	Keywords, comments, strings, and symbols such as := and || are colored differently.
Column and line selection	You can select columns of text as well as lines of source code. To select a column, press the ALT key, then click and drag horizontally. To select a line, click on the extreme left margin of the line in the Source pane.
Drag and drop text manipulation	Selected text may be copied or moved by dragging and dropping. To copy text, press the CTRL key and drag the selected text. To move text, simply drag the selected text.
Indent/Outdent lines	The  Indent/Outdent commands on the Edit menu enable you to indent or outdent selected source lines. You can also use TAB and Shift-TAB to indent and outdent selected lines.
Multiple split views	You can create up to four separate views of the current program unit. To create horizontal views, place the cursor on the split bar at the top of the vertical scroll bar. Then click and drag the split bar down. To create vertical views, place the cursor on the split bar at the far left of the horizontal scroll bar.  Then click and drag the split bar to the right. To remove a horizontal or vertical view, double-click the split bar that separates the views.
Printing	Choose File [image] Print to print the current program unit.
Unlimited undo/redo	The Undo/Redo commands on the Edit menu enable you to undo or redo changes as far back as the last save operation.

Note: These features are available in Microsoft Windows only.  In UNIX, you can do the following only:

•	print the current program unit

•	use TAB and Shift-TAB to indent and outdent selected lines

•	move selected text by dragging and dropping


Using the mouse in the editor

  Related Topics

The following mouse actions are supported when using the Program Unit editor (and Stored Program Unit editor) in Microsoft Windows:

To do this:	Mouse action:
Select characters in a range	Click and drag the cursor from the first character to the last character in the range you wish to select. (also supported in UNIX) Or, Click the first character, then press the Shift key, and click the last character in the range you wish to select.
Select word under cursor	Double-click the word. (also supported in UNIX) Or,  Press the Ctrl key, then click the word you wish to select.
Select words in a range	Press the Ctrl key, then click and drag the cursor from the first word to the last word in the range you wish to select.
Select a line	Place the cursor on the the left margin of the line you wish to select.  Click when the cursor changes to an arrow.
Select multiple lines	Place the cursor on the the left margin of the first line you wish to select.  When the cursor changes to an arrow, click and drag the cursor to the last line you wish to select.
Select columns of text	Press the Alt key, then click and drag the cursor from the first column to the last column in the range you wish to select.
Move selected text	Select the text first. Then click and drag the selected text to its new position. (also supported in UNIX)
Copy selected text	Select the text first.  Then press the Ctrl key, and drag the selected text to the location where you want to place a copy and release the mouse.
Split window into two horizontal views	Double-click the split bar at the top of the vertical scroll bar. Or, Click and drag the split bar at the top of the vertical scroll bar.
Split window into two vertical views	Double-click the split bar at the extreme left of the horizontal scroll bar. Or, Click and drag the split bar at the extreme left of the horizontal scroll bar.
Adjust relative size of split views	Click and drag the split bar that separates the views.
Remove split views	Double-click the split bar that separates the views. Or, Click and drag the split bar to the edge of the window. To remove all four views at once, double-click the intersection where the split bars meet or drag it to any corner of the window.


Using the keyboard in the editor

  Related Topics

The following keyboard actions are supported when using the Program Unit editor (and Stored Program Unit editor) in Microsoft Windows and UNIX:

To do this:	Keystroke:
Move cursor left one character	Left arrow key
Select character as cursor moves left	Shift + Left arrow key
Move cursor right one character	Right arrow key
Select character as cursor moves right	Shift + Right arrow key
Copy selected characters or words	Ctrl + C
Cut selected characters or words	Ctrl + X
Paste from the clipboard	Ctrl + V
Delete character on the right of current cursor position, or delete selected characters or words	Delete key
Delete character on the left of current cursor position	Backspace
Move cursor to the end of the program unit	Ctrl + End	(Windows only)
Move cursor to the start of the program unit	Ctrl + Home	(Windows only)
Select source lines from the current cursor position to the end of the program unit	Ctrl + Shift + End	(Windows only)
Select source lines from the current cursor position to the start of the program unit	Ctrl + Shift + Home	(Windows only)
Move cursor to the end of current line	End	(Windows only)
Move cursor to the start of current line	Home	(Windows only)
Select characters from the current cursor position to the end of the current line	Shift + End	(Windows only)
Select characters from the current cursor position to the start of the current line	Shift + Home	(Windows only)
Indent selected line, or indent characters on the right of current cursor position	Tab key
Outdent selected line	Shift + Tab key
Move cursor down one line	Down arrow key
Select line as cursor moves down	Shift + Down arrow key
Move cursor up one line	Up arrow key
Select line as cursor moves up	Shift + Up arrow key
Scroll down the program unit by the number of lines that are shown in the Source pane	PageDown key
Scroll down the program unit by the number of lines that are shown in the Source pane and select the lines at the same time	Shift + PageDown key
Scroll up the program unit by the number of lines that are shown in the Source pane	PageUp key
Scroll up the program unit by the number of lines that are shown in the Source pane and select the lines at the same time	Shift + PageUp key
Undo most recent action	Ctrl + Z	(Windows only)
Revert most recent undo action	Ctrl + Y	(Windows only)


PL/SQL V1 conversion examples

  Related Topics 	   All Examples

Removing default expressions

Adding NULL to RETURN

Replacing obsolete built-in

Length function

Passing NULL to overloaded subprogram

Missing RETURN

Renaming procedure names uniquely in a package

Removing the package prefix

Reserved word


Data Wizard:  Welcome page

About the Data Wizard

The Data Wizard helps you to quickly and easily define a query, break groups, and totals for a multi-query report.  After the wizard has created the data model, you can:

•	modify the data model in the Data Model view

•	use the Data Wizard to create additional queries

•	use the Report Wizard to default the layout

•	modify the layout in the Layout Model view, including reordering or adding new layout sections

Note:  In this release, the Data Wizard does not support creating links between queries.  To define parent/child query relationships, you can create a data link manually.

The Data Wizard is re-entrant

A powerful quality of the Data Wizard is its ability to operate in re-entrant mode.  This means you can use the Data Wizard to modify the queries for an existing data model.

To invoke the Data Wizard in re-entrant mode, click an existing query and choose Tools [image] Data Wizard.

Navigating in the Data Wizard

The Data Wizard provides six buttons to help you navigate through its pages:

•	Cancel—cancel all changes you have made (if any), and exit the wizard

•	Help—display online help text for the current page of the wizard

•	Back—navigate to the previous page in the wizard

•	Next—navigate to the next page in the wizard

•	Apply—apply changes you have made (re-entrant wizard only)

•	Finish—save changes you have made with the wizard (if any), and exit the wizard

Note:  If you click Next before you have entered all necessary information for a particular wizard page, the wizard prevents you from navigating to the next page.  Similarly, if you have not entered all necessary information into the wizard when you click Apply or Finish, the wizard automatically places you onto the page where you can finish entering the required data.


Data Wizard:  Style page
Data Wizard:  Query Name page

  About the Data Wizard

1	(Optional)  In the Query name field, replace the default name for  the query.

2	If this query will be used in the data model for a matrix (cross-tab) report, check the Matrix query check box.


Data Wizard: Type page

Choose the type of query that you want to create:

•	SQL statement means you want to create a query that selects data from a relational database (e.g., Oracle8).

•	Express query means that you want to create a query that selects data from an Express Server.


Data Wizard:  Data page

  Related Topics 	  About the Data Wizard

1	If you are not already connected to a database, click Connect and fill out the Connect dialog box.

2	Specify a SELECT statement in any of the following ways:

•	Type the SELECT statement in the SQL Query Statement area.

•	Click Query Builder and define a query using the Query Builder dialogs.  When you have finished building your query with Query Builder, the SELECT statement is displayed in the SQL Query Statement area.

•	Click Import SQL Query to include a SELECT statement stored in a file.  When you close the Import dialog box, the selected file’s contents are placed in the SQL Query Statement area.


Data Wizard:  Groups page

  About the Data Wizard

1	Click a field in the Available Fields list that you want to make a group field.

2	Click [image] to move the field to the Group Fields list.  A line defining the field’s break level appears above it.

3	Repeat Steps 1 and 2 for all of the group fields you want in the report.

4	(Optional) Click a field in the Group Fields list and drag it to the desired break level.

5	(Optional) To move a field out of the Group Fields list, click it then click [image].

Usage Notes

•	If you want two columns to be in the same break level, click a column in the Group Fields list first, then move a column from the Available fields list.  The column from the Available Fields list is automatically placed in the same break level as the selected column.  If you want to create a new break level, click a column in the Available Fields list, click a break level in the Group Fields list, and move the column from the Available Fields list.  The column is automatically placed in a new break level beneath the selected break level.

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	Column objects and Ref columns cannot be break columns.  Therefore, you cannot select them in the Available Fields list.

•	Attribute columns in the Group Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Data Wizard:  Totals page

  About the Data Wizard	  Related Topics

1	Click a field in the Available Fields list.

2	Click the appropriate button for the function you want to apply to the field.  An entry with the field and function name appears in the Totals list.

3	Repeat Step 2 for any other desired functions you want to apply to the field.

4	Repeat Steps 1 through 3 until you have created all of the desired totals.

5	(Optional) To remove a field from the Totals list, click it then click the left arrow [image] button.

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	The functions you can perform on column objects and Ref columns are limited.  Therefore, some functions are disabled when you select them in the Available Fields list.

•	For group reports, the Data Wizard creates n summary fields in the data model for each summary column you define: one at each group level above the column being summarized, and one at the report level.  For example, if a report is grouped by division, and further grouped by department, then a summary column defined for a salary total would create fields for the sum of salaries for each division and each department group (group-level summaries), and the sum of all salaries (report-level summary).


Data Wizard:  Groups page

  About the Data Wizard

If the field(s) in the Matrix Group Fields list are as desired:

  Click Next.

To change the fields in the Matrix Group Fields list:

1	Click a field in the Available Fields list that you want to make a matrix group field.

2	Click [image] to move the field to the Group Fields list.  A line defining the field’s break level appears above it.

3	Repeat Steps 1 and 2 for all of the matrix group fields you want in the report.

4	(Optional) Select a field in the Matrix Group Fields list and drag it to the desired break level.

5	(Optional) To move a field out of the Matrix Group Fields list, click it then click [image].

Usage Notes

•	If you want two columns to be in the same break level, click a column in the Matrix Group Fields list first, then move a column from the Available fields list.  The column from the Available Fields list is automatically placed in the same break level as the selected column.  If you want to create a new break level, click a column in the Available Fields list, click a break level in the Matrix Group Fields list, and move the column from the Available Fields list.  The column is automatically placed in a new break level beneath the selected break level.

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	Column objects and Ref columns cannot be break columns.  Therefore, you cannot select them in the Available Fields list.

•	Attribute columns in the Matrix Group Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Data Wizard:  Rows page

  About the Data Wizard

1	Click a field in the Available Fields list.

2	Click [image] to move the field to the Matrix Row Fields list.  A line defining the field’s break level appears above it.  Tip

3	Repeat Steps 1 and 2 for all of the desired matrix row fields.

4	(Optional) To remove a field from the Matrix Row Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	Column objects and Ref columns cannot be used as matrix row fields.  Therefore you cannot select them from the Available Fields list.

•	Attribute columns in the Matrix Row Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Data Wizard:  Columns page

  About the Data Wizard

1	Click a field in the Available Fields list.

2	Click [image] to move the field to the Matrix Column Fields list.  A line defining the field’s break level appears above it.  Tip

3	Repeat Steps 1 and 2 for all of the desired matrix column fields.

4	(Optional) To remove a field from the Matrix Column Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	Column objects and Ref columns cannot be used as matrix column fields.  Therefore you cannot select them from the Available Fields list.

•	Attribute columns in the Matrix Column Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Data Wizard:  Cells page
Data Wizard:  Cell page

  About the Data Wizard

1	Click a field in the Available Fields list.

2	Click the appropriate button for the function you want to apply to the field.  An entry with the field and function name appears in the Matrix Cell Fields list.  Tip

3	Repeat Steps 1 and 2 for all of the desired matrix cell fields.

4	(Optional) To remove a field from the Matrix Cell Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	Column objects and Ref columns cannot be used as matrix cell fields.  Therefore you cannot select them from the Available Fields list.

•	Attribute columns in the Matrix Cell Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizards: Totals page
Data Wizard: Totals page

  About the Data Wizard

1	Click a field in the Available Fields list.

2	Click the appropriate button for the function you want to apply to the field.  An entry with the field and function name appears in the Matrix Totals list.

3	Repeat Step 2 for any other desired functions you want to apply to the field.

4	Repeat Steps 1 through 3 until you have created all of the desired totals.

5	(Optional) To remove a field from the Matrix Totals list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.  If your query selects an unsupported Oracle8 datatype, a special icon will identify it in the wizard.

•	The functions you can perform on column objects and Ref columns are limited.  Therefore, some functions are disabled when you select them in the Available Fields list.


Data Wizard:  Finished page

  About the Data Wizard

What's next?

You are ready to exit the Data Wizard and continue work on the report.  When you click Finish, Report Builder will close the Data Wizard, and automatically display the data model in the Data Model view.  At this point, you can:

•	modify the data model in the Data Model view

•	use the Data Wizard to create additional queries

•	use the Report Wizard to default the layout

•	modify the layout in the Layout Model view, including reordering or adding new layout sections

To learn more about building reports, refer to the online help:

1	Review the Quick Tour for a brief overview of Report Builder:

•	Choose Help [image] Quick Tour.

2	Step through the Cue Cards to learn how to perform the most common tasks:

•	Choose Help [image] Cue Cards.

3	Access the online/hardcopy manuals:

•	Choose Help [image] Manuals.

4	Locate help topics:

•	For the table of contents and index, choose Help [image] Help Topics.

•	For context-sensitive help, press [Help] (this is usually the F1 key on most platforms).


Align Objects dialog box

Description  The Align Objects dialog box enables you to specify how to position a set of objects.

This dialog box contains:

Align To Each Other/Grid

Horizontally

Vertically


Align To Each Other/Grid

Description  Align to Each Other/Grid is a radio button that specifies what you want to align the selected object(s) with.  Choose Align to Grid or Align to Each Other.

Values

Align To Grid	Means that you want to align the object with the nearest grid snap point.
Align To Each Other	Means that you want to align the object with the other selected object(s).


Horizontally

Description  Horizontally is a radio button that specifies how you want to align objects horizontally.

Values

Align Center	Moves the selected objects such that their horizontal midpoints line up at a midpoint among all of the selected objects.
Align Left	Moves the selected objects such that their left sides line up with the left side of the leftmost, selected object.
Align Right	Moves the selected objects such that their right sides line up with the right side of the rightmost, selected object.
Distribute	Moves the selected objects an equal distance apart, leaving the leftmost and rightmost objects in their original horizontal positions.
Stack	Moves the selected objects such that the left side of each object lines up with the right side of the object immediately to its left.  The leftmost object retains its original position.
None	Means that no horizontal alignment is used.


Vertically

Description  Vertically is a radio button that specifies how you want to align objects vertically.

Values

Align Bottom	Moves the selected objects such that their bottom sides line up with the bottom of the lowest, selected object.
Align Center	Moves the selected objects such that their vertical midpoints line up at a midpoint among all of the selected objects.
Align Top	Moves the selected objects such that their top sides line up with the top of the highest, selected object.
Distribute	Places the selected objects an equal distance apart, leaving the highest and lowest objects in their original vertical positions.
Stack	Moves the selected objects such that the top of each object lines up with the bottom of the object immediately above it.  The topmost object retains its original position.
None	Means that no vertical alignment is done.


Size Objects dialog box

Description  The Size Objects dialog box enables you to resize a set of objects relative to each other.

This dialog box contains:

Custom Height

Custom Width

Height

Units

Width


Custom Height

Description  Custom Height is the height to which each selected object will be resized, if the Custom radio button is selected for Height.

Values

Enter any positive number.


Custom Width

Description  Custom Width is the width to which each selected object will be resized, if the Custom radio button is selected for Width.  The unit of measurement for this value is specified by the accompanying radio buttons.

Values

Enter any positive number.


Height

Description  Height is a set of radio buttons that specify how you want to change the height of the selected objects.

Values

Average	Means each object will be resized such that its height is equal to the average height of all of the selected objects.
Custom	Means each object will be resized such that its height is equal to the custom height typed in the Custom Height text field.
Largest	Means each object will be resized such that its height is equal to the height of the tallest selected object.
No Change	Means the height of the objects will not change.
Smallest	Means each object will be resized such that its height is equal to the height of the shortest selected object.


Units

Description  Units specifies what unit of measure is used in the Custom Width and Custom Height fields.

Values

Centimeters

Character Cells

Inches

Points


Width

Description  Width is a set of radio buttons that specify how you want to change the width of the selected objects.

Values

Average	Means each object will be resized such that its width is equal to the average width of all of the selected objects.
Custom	Means each object will be resized such that its width is equal to the custom width typed in the Custom Width field.
Largest	Means each object will be resized such that its width is equal to the width of the widest selected object.
No Change	Means the width of the objects will not change.
Smallest	Means each object will be resized such that its width is equal to the width of the thinnest selected object.


Chart dialog box

  Related Topics

Description  The Chart dialog box enables you to map report columns and parameters to chart columns and parameters.

This dialog box contains:

  Parameters tab

  Columns tab


List of Values dialog box

Description  The List of Values dialog box enables you to define a list of values for a parameter.  You can create a static list of values or use values from the database.  Select the type of list you want to create (Static Values or SELECT Statement) and the settings in the dialog will change as appropriate.

This dialog box contains:

Add

Hide First Column

List of Values

Query Builder

Remove

Restrict List to Predetermined Values

SELECT Statement/Static List of Values

Value


Query Builder

Description  Query Builder invokes a set of dialog boxes that you can use to create a SELECT statement.


Color/Pattern dialog box

Description  The Colors/Pattern dialog box enables you to choose a color or pattern for the current property in the Property Palette.  Select a color or pattern and accept the dialog box.


SQL Query Statement dialog box

Description  The SQL Query Statement dialog box enables you to enter a SQL SELECT statement.  You can enter the SELECT statement, use Query Builder to create it, or import an existing query.

This dialog box contains:

SQL Query Statement	Is the SELECT statement you have created.
Query Builder	Displays the Query Builder (a set of dialogs that enables you to create a SELECT statement).
Connect	Displays the Connect dialog box, where you can connect to the desired database.
Import SQL Query	Displays a file dialog box from which you can choose a .sql file to import.
Usage Notes

•	The SELECT statement you enter must follow all SQL language syntax rules governing SELECT statements.  See your ORACLE8 Server SQL Language Reference Manual.

•	If you are using 8-bit characters (e.g., Danish_Denmark.we8ISO8859P1), you must double-quote columns, tables, and parameters.


Conditional Formatting dialog box

  Related Topics

Description  The Conditional Formatting dialog box enables you to add, edit, or delete format exceptions that conditionally set formatting attributes (font and/or color) to highlight data in your report output.  Using the Format Exception dialog box (displayed when you click New or Edit), you can quickly and easily specify output formatting attributes for a selected layout object based on defined conditions.

This dialog box contains:

Format Exceptions	Lists the format exceptions that have been defined in the Format Exception dialog box.  Formatting is applied in the order that the format exceptions are listed; a format exception will override a previous format exception if both evaluate to TRUE.
New	Displays the Format Exception dialog box to allow you to define a new format exception.
Edit	Displays the Format Exception dialog box to allow you to edit an existing format exception.
Delete	Deletes the selected format exception.
Sample	Shows sample output when the selected format exception evaluates to TRUE.  If you choose to hide the object, the words "Hide the Object" display here.
Up Down	Moves the selected format exception in the Format Exceptions list up or down.  Note:  you can also  drag and drop items in the list.


Format Exception dialog box

  Related Topics

Description  The Format Exception dialog box enables you to quickly and easily specify output formatting attributes for a selected layout object based on defined conditions.  You can define up to three conditions, which are evaluated in the order specified (i.e., top down).  Each condition that evaluates to TRUE is applied, unless the result of setting the condition is to hide the object (in which case, it is meaningless to apply formatting).

This dialog box contains:

Condition check boxes

Parameter/column drop-down list

Condition drop-down list

Value fields

AND/OR drop-down list

Format section:

Border Color

Fill Color

Font

Hide the Object

Reset Format

Text Color


Condition check boxes

Description  The condition check boxes enable you to specify up to three conditions.

Values

Check the check box for each condition you want to specify.


Parameter/column drop-down list

Description  The parameter/column drop-down list includes the system and user parameters for which conditions can be set, and the number, date, char, and long columns that can provide values for the layout object.

Values

Choose a parameter or column from the list.


Condition drop-down list

Description  The condition drop-down list includes the valid conditions for the selected parameter/column.

Values

Choose a condition from the list.


Value fields

Description  The value fields enable you to speciify the value(s) for the selected parameter/column.

Values

Choose the value(s) from the list or type the value(s) for the selected parameter or column.  You can specify literal values or bind variables; for example:

SAL between :LOWSAL and 50000

where :LOWSAL is a column or parameter in the data model.


AND/OR drop-down list

Description  The AND/OR drop-down list enables you to specify boolean logic for evaluating the result of multiple conditions.  If three conditions are specified, the result of the first two conditions is evaluated against the third condition (i.e., (condition1 AND/OR condition2) AND/OR condition3).

This drop-down list is only active when the check box for the subsequent condition is checked.

Values

AND	Means that the current condition AND the following condition must be TRUE to apply formatting.
OR	Means that either the current condition OR the following condition can be TRUE to apply formatting.


Border Color

Description  Border Color is the color for the border of the layout object when the specified condition(s) evaluate to TRUE.

Values

Click [image] and select a color from the color palette.


Fill Color

Description  Fill Color is the color for the fill (background) of the layout object when the specified condition(s) evaluate to TRUE.

Values

Click [image] and select a color from the color palette.


Font

Description  Font displays the Font dialog box to enable you to change the font style, weight, and size of the layout object when the specified condition(s) evaluate to TRUE.  If you click OK in the Font dialog box, Report Builder will apply all settings in this dialog box to the layout object when the specified conditions evaluate to TRUE (whether or not you modify the default settings in the Font dialog box).


Hide the Object

Description  The Hide the Object check box enables you to specify whether or not the layout object should not be shown in the formatted report when the specified condition(s) evaluate to TRUE.

Values

Checked	Hide the object in the formatted report.
Unchecked	Do not hide the object in the formatted report.


Reset Format

Description  The Reset Format button enables you to reset the format of the layout object to the existing settings, effectively making no changes.  The color and font values are set to <default>.


Text
Text Color

Description  Text Color is the color for the text of the layout object when the specified condition(s) evaluate to TRUE.

Values

Click [image] and select a color from the color palette.


Convert dialog box

Description  The Convert dialog box enables you to create a copy of a report or PL/SQL library in a different format.  For example, you might convert a report definition stored in the database to a runfile that can be run via RWRUN60.  You can also convert a report definition to a template to be applied to other reports.

This dialog box contains:

  Conversion page

  Options page

Usage Notes

•	In some cases, Convert will automatically compile the report's PL/SQL as part of the conversion process.  Provided that your conversion Destination is not a .rex file, PL/SQL is automatically compiled under the following conditions.  In all other situations, you must compile the report's PL/SQL yourself (e.g., Program [image] Compile [image] All).

•	You try to create a .rep file using Convert.  If there are compile errors, an error message is displayed and the .rep file is not created.

•	You use a .rex file as the Source report.  If there are compile errors, a warning is displayed, but the conversion continues.

•	You use a report that was created on another platform as the Source report.  If there are compile errors, a warning is displayed, but the conversion continues.

•	Fonts are mapped when a report is opened in Report Builder or Reports Runtime.  Fonts are not mapped during conversion.

•	When converting a report to a template, only objects in the report’s header and trailer pages, and the margin area are used in the template.  Objects in the body are ignored.

•	When converting reports that have attached libraries, you should convert the .pll files attached to the report before converting the .rdf file.


Conversion page

Description  Conversion specifies the source and destination information for the conversion you want to perform.  Most of the items on this tab correspond to RWCON60 keywords.

Document Type

Destination	DEST

Destination Type	DTYPE

Source	SOURCE

Source Type	STYPE


Options page

Description  Options specifies special conversion characteristics.  All of the items on this tab correspond to RWCON60 keywords.

Destination Unit	DUNIT

Form Dimensions	FORMSIZE

Log File	LOGFILE

Overwrite	OVERWRITE

Page Dimensions	PAGESIZE


Document Type

Description  Document Type is the type of document you are converting.

Values

PL/SQL Library

Report

Default

Report


Conversion Status

Description  The Conversion Status dialog box provides information about conversion process (e.g., whether is was successful, if it was not successful, why it was not).


Comment dialog box

Description  The Comment dialog box enables you to document an object.  For example, you could describe the purpose of an object so that someone else would be able to quickly understand what it does.  Enter any text not to exceed 64K.


Delimited Output dialog box

  Related Topics

Description  The Delimited Output dialog box defines preferences for delimited report output.

This dialog box contains:

Delimiter

Date Format Mask

Number Format Mask

Cell Wrapper


Delimiter

  Related Topics

Description  Delimiter is a value that specifies what character(s) separate cells in your delimited report output.

Values

Tab	means a tab separates each cell
,	means a comma separates each cell
:	means a colon separates each cell
;	means a semicolon separates each cell
|	means a vertical bar separates each cell
?	means a question mark separates each cell
$	means a dollar sign separates each cell
.	means a period separates each cell
Space	means a space separates each cell
Return	means a new line separates each cell
any alphanumeric character or string of alphanumeric  characters	means the character(s) you type in the textbox separates each cell
Default

Tab

Usage Notes

You can also use escape sequences based on the ASCII character set


Date Format Mask

Description  Date Format Mask specifies how the date values display in your delimited report output.

Values

any valid date format mask

Default

none

Usage Notes

•	You can only use this option if you’ve selected a delimiter

The format mask only applies to date data.


Number Format Mask

Description  Number Format Mask specifies how the number values display in your delimited report output.

Values

any valid number format mask

Default

none

Usage Notes

•	You can only use this option if you’ve selected a delimiter.

•	The format mask only applies to all number data in your report output.


Cell Wrapper

Description  Cell Wrapper is a value that specifies what character(s) display around each cell of your delimited report output.

Values

None	means no cell wrapper
“	means a double quote displays on each side of the cell
‘	means a single quote displays on each side of the cell
Space	means a space displays on each side of the cell
any alphanumeric character or string of alphanumeric  characters	means the character(s) you type in the textbox displays on each side of the cell
Default

none

Usage Notes

•	You can only use this option if you’ve selected a delimiter.

•	You can also use escape sequences based on the ASCII character set.


Display dialog box

Description  The Display dialog box specifies the location of the document, database or file.  You can also control the types of documents displayed in the file or database dialog box list of values.  The Display dialog box only appears if the Object Access preference is File/Database.

This dialog box contains:

  Display

  Open From


Display dialog box

Description  The Display dialog box specifies the types of documents to display in the file or database dialog box list of values.

This dialog box contains:

  Display


Display

Description  Display is five check boxes that indicate the type of object you want included in the list displayed in the database or file selection dialog box.

Values

All	Means that everything will be included.
PL/SQL	Means that external PL/SQL libraries will be included.
Queries	Means that external queries will be included.
Reports	Means that reports will be included.
Templates	Means that templates will be included.
Default

All


Open From

Description  Open From is indicates whether the document is in a database or a file.

Values

Database

File

File/Database

Default

Database


The Database Selection dialog box

Description  The database selection dialog box enables you to select an object from the database for the operation.

This dialog box contains:

Open	Is the name of the object you wish to select.  You can type the name of the object or select it from a list of values.  Documents stored in the database have a user ID prefixed to the name and a colon (:) followed by an extension (REPORT, QUERY, or LIB) appended to the name.  If you type the name of the object, Report Builder will automatically prefix your userid to the name and append the appropriate extension.  The documents are listed in order first by type (REPORT, QUERY, LIB), then by userid (current user followed by users in alphabetical order), and then by document name in alphabetical order.  The list of values is restricted by the Display option of the Display dialog box.  For example, if you specified only Queries under the Display option, the list of values would contain only the names of external queries stored in the database.
Retrieve List Button	If you have selected Suppress List Retrieval on Dialog Box Entry in the Preferences dialog box, then the Database dialog box will not display the list of objects that currently exist in the database.  To display the list of objects, you must select the Retrieve List button.  If Suppress List Retrieval on Dialog Box Entry is not selected, the Retrieve List button is disabled (since the list has already been displayed).
Usage Notes

•	The names of documents stored in the database are not case sensitive.


Distribution dialog box

  Restrictions	  Related Topics

Description  The Distribution dialog box enables you to specify multiple destinations for report and/or section output and delete destinations from the distribution list.

This dialog box contains:

Distribution List	list the destinations in the distribution list for the current report or section.
Distribution ID	is an identifier for a destination.
DESNAME	is the name of the path and file, printer, or email ID (or distribution list) to which the report output will be sent.  Note:  If you specify a file, the directories in the path must already exist.
	Default repname repnamem repnameh repnamet	for report for main section for header section for trailer section
DESFORMAT	is the destination format, or the printer driver to be used when DESTYPE is FILE.
	Values
	BITMAP	specifies bitmap format, as displayed in the builder, which can be sent to a printer.
	HTML	specifies HTML format that can be read by an HTML 3.0 compliant browser.
	HTMLCSS	specifies HTML format that can be read by an HTML 3.0 compliant browser that supports cascading style sheets.
	PDF	specifies PDF format that can be read by a PDF viewer.  PDF output is based upon the currently configured printer for your system.  The drivers for the currently selected printer is used to produce the output; you must have a printer configured for the machine on which you are running the report.
	ASCII	specifies character (ASCII) format, which can be sent to a MAPI-compliant e-mail application.
	RTF	specifies RTF format that can be read by standard word processors (such as Microsoft Word).
	Default BITMAP
DESTYPE	is the type of destination device that will receive the report output
	Values
	FILE	specifies a file (named by DESNAME).
	MAIL	specifies e-mail (mail IDs identified by DESNAME).  You can send mail to any mail system that is MAPI-compliant or has the service provider driver installed.  The report is sent as an attached file.
	PRINTER	specifies a printer (named by DESNAME).
	Default FILE
COPIES	is the number of copies to distribute.
New	adds the distribution definition in the Settings section to the Distribution List and opens a new line for a new distribution definition.
Remove	removes the selected distribution definition from the Distribution List.
Remove all	clears the Distribution List.


Distribution restrictions

•	You can only distribute reports to multiple destinations in bitmap or character mode, not a combination of both.

•	You must set the MODE system parameter to character to distribute reports in ASCII.


Before Report Value dialog box

Description  The Before Report Value dialog box enables you to provide HTML coding for the Before Report Value property.  Type the desired HTML and accept the dialog box.


After Report Value dialog box

Description  The After Report Value dialog box enables you to provide HTML coding for the After Report Value property.  Type the desired HTML and accept the dialog box.


Before Page Value dialog box

Description  The Before Page Value dialog box enables you to provide HTML coding for the Before Page Value property.  Type the desired HTML and accept the dialog box.


After Page Value dialog box

Description  The After Page Value dialog box enables you to provide HTML coding for the After Page Value property.  Type the desired HTML and accept the dialog box.


Before Form Value dialog box

Description  The Before Form Value dialog box enables you to provide HTML coding for the Before Form Value property.  Type the desired HTML and accept the dialog box.


After Form Value dialog box

Description  The After Form Value dialog box enables you to provide HTML coding for the After Form Value property.  Type the desired HTML and accept the dialog box.


Page Navigation Control Value dialog box

Description  The Page Navigation Control Value dialog box enables you to provide HTML coding for and Page Navigation Control Value property.  Type the desired HTML and accept the dialog box.


External Query Definition dialog box

  Examples	  Restrictions

Description  The External Query Definition dialog box contains the SQL SELECT statement you want to use as an external query.  Enter a valid SELECT statement not to exceed 64K or select Tools [image] Query Builder to construct a query.


SELECT statement with WHERE clause example

  Related Topics 	  All Examples

SELECT O.CUSTID, P.DESCRIP, I.ITEMTOT, O.ORDERDATE,
      I.ORDID
FROM ORD O, PRODUCT P, ITEM I
      I.PRODID = P.PRODID
WHERE O.ORDID = I.ORDID AND
ORDER BY O.CUSTID, P.PRODID, O.ORDERDATE
/* For each customer, show the products they bought */
/* (DESCRIP), the amount spent on each product */
/* (ITEMTOT), the date they ordered each product */
/* (ORDERDATE), the order id (ITEM.ORDID) of the */
/* order in which they bought each product. */


SELECT statement with Parameter References example

  Related Topics 	  All Examples

SELECT CUSTID, SUM(TOTAL) TOTAL
FROM &FROMGROUP
HAVING SUM(TOTAL) > :MINTOTAL
/* &FROMGROUP is a parameter with an Initial Value of ORD GROUP */
/* BY CUSTID.  Note that, in this case, you must define a */
/* parameter named FROMGROUP with an Initial Value specified.*/
/* If the value of &FROMGROUP is null when the SELECT statement is */
/* parsed, you will get an error because the statement will not */
/*have a table name after FROM.
/* :MINTOTAL is a column from another query that is used to */
/* select customers with a minimum total of orders. */


SELECT Statement restrictions

Caution:  If you update the SELECT Statement, you must ensure that the update does not invalidate any report definitions that reference the external query.  For example, if a report has a column for DEPTNO and you delete DEPTNO from the SELECT list of the external query, the report cannot run.

•	The SELECT statement you enter must follow all SQL language syntax rules governing SELECT statements.  See your ORACLE8 Server SQL Language Reference Manual.

•	No semicolon, slash, or any other character should be used to end  the SELECT statement.

•	The SELECT statement is validated when you accept the report query that references it.  The SELECT statement is also validated and reread when you run a report that references it.

•	When you reference the external query in a report, you must have  the appropriate privileges on the tables and views referenced in the external query or you will get an error.

•	If you use a lexical reference to a parameter in an external query, a value of null is substituted when Report Builder parses it.

•	If you are using 8-bit characters (e.g., Danish_Denmark.we8ISO8859P1) in table, column, or parameter names, you must double-quote columns, tables, and parameters.


Custom Spacing dialog box

Description  The Custom Spacing dialog box enables you to specify a custom amount of vertical space between lines of text in fields or boilerplate text.  Select or enter the number of points you want to use.

This dialog box contains:

6 points

12 points

18 points

Other	Means you will enter a positive number of points in the field that follows it.

Usage Notes

•	Spacing does not affect user-created button label text.

•	Spacing cannot be defined on a selected section of boilerplate text.  It must apply to the entire boilerplate object.


Custom Line Width dialog box

Description  The Custom Line Width dialog box enables you to specify a custom border width for objects.  Select the unit of measure you want to use and enter a number for Width.

This dialog box contains:

Inches	Means Width is specified in inches.
Centimeters	Means Width is specified in centimeters.
Points	Means Width is specified in points.
Width	Is the thickness of lines for the currently selected objects.  Enter any positive number.


General Drawing Options dialog box

Description  The General Drawings Options dialog box enables you to specify options that define how objects are drawn in the Report Editor.  Choose one option each for Cap Style, Join Style, and Object Creation.

This dialog box contains:

Cap Style	Is the end style for objects.  Choose Butt, Projecting, or Round.
Join Style	Is the style to be used when objects meet in the Report Editor.  Choose Bevel, Mitre, or Round.
Object Creation	Is the point from which object should be drawn when you create them.  Choose Draw from Center or Draw from Corner.
Usage Notes

•	These settings apply only to objects that are drawn in the layout or parameter form.

•	If you choose Object Creation of Draw from Center and accept the dialog box, a plus sign will appear on those tools in the Tool palette that will be effected by this setting.


Arc dialog box

Description  The Arc dialog box enables you to specify how arcs are drawn in the Report Editor.  Choose one option each for Arc Closure and Arc Fill.

This dialog box contains:

Arc Closure	Is whether the arc should be closed.  Choose Closed or Open.
Arc Fill	Is whether the area inside the arc should be filled with a pattern.  Choose Chord or Pie.


Rounded Rectangle dialog box

Description  The Rounded Rectangle dialog box enables you to specify how rounded rectangles are drawn in the Report Editor.  Choose a unit of measure under Units and enter a number for Horizontal and Verical.

This dialog box contains:

Horizontal	Is the horizontal radius of the rounded corners of a rounded rectangle.  Enter any positive number.
Vertical	Is the vertical radius of the rounded corners of a rounded rectangle.  Enter any positive number.
Units	Is the unit of measure you want to use for the values in Horizontal and Vertical.  Choose Centimeters, Inches, or Points.


Image Drawing Options dialog box

Description  The Image Drawing Options dialog box enables you to specify how images will be rendered.

This dialog box contains:

Image Dither	Specifies whether to dither the image.  Dithering is a process by which Report Builder simulates colors that appear in the image but are not available in the Report Builder color palette.  If the image is not dithered, Report Builder substitutes available colors that most closely match those in the image.  A dithered image looks better, but results in slower screen redraw.  Choose On or Off.
Image Quality	Specifies the quality with which Report Builder displays the image.  A higher quality image looks better, but results in slower screen redraw.  Choose High, Low, or Medium.


Color Palette dialog box

Description  The Color Palette dialog box enables you to change the colors available in the color palette.

This dialog box contains:

Current Color	Is the name of the currently selected color.
Edit	Displays a color wheel where you can alter the settings of the current color.
Palette Name	Is the name of the current color palette.
Rename	Renames the current color to the name you have typed in Current Color.
Select Color to Edit	Contains the current color palette being used in the Report Editor.  Select a color from the palette and a color wheel is displayed from which you can alter the currently selected color.  When you accept the color wheel, control returns to the Color Palette dialog box.


Ruler Settings dialog box

Description  The Ruler Settings dialog box defines preferences for the appearance of rulers in the Report Editor.

This dialog box contains:

Grid Spacing

Horizontal

Number of Snap Points Per Grid Spacing

Units

Vertical


Grid Spacing

Description  The Grid Spacing radio button specifies the interval at which grid lines are to appear for each ruler unit.

Values

0.25	Specifies a grid line for each quarter of a ruler unit, that is, four grid lines per ruler unit.
0.5	Specifies a grid line for each half of a ruler unit, that is, two grid lines per ruler unit.
1	Specifies one grid line for each unit of measurement, that is, one grid line for each ruler unit.
2	Specifies one grid line for each two units of measurement, that is, one grid line for each two ruler units.
5	Specifies one grid line for each five units of measurement, that is, one grid line for each five ruler units.
Other	Specifies one grid line for each x units of measurement, where x is a number that you enter in the field next to Other.


Horizontal

Description  The Horizontal field specifies the size of a character cell unit, in points.

Values

Enter any positive, whole number.


Number of Snap Points Per Grid Spacing

Description  The Number of Snap Points Per Grid Spacing radio buttons specify how many snap points you want for each grid line.  Snap points are used by the editor to place objects when you have Grid Snap in the View menu checked.  The more snap points there are per grid point the finer the control you have over the placement of objects.

Values

1	Specifies a snap point for each grid line.
2	Specifies two snap points for each grid line.
4	Specifies four snap points for each grid line.
5	Specifies five snap points for each grid line.
8	Specifies eight snap points for each grid line.
Other	Specifies x snap points for each grid line, where x is a number that you enter in the field next to Other.
Usage Notes

•	Suppose Unit is Inch, Grid Spacing is 1 and Number of Snap Points Per Grid Spacing is 1.  When you move or create any objects, they are placed to the nearest inch.  If you change Number of Snap Points Per Grid Spacing to 2, objects are placed to the nearest half-inch.


Units

Description  The Units radio button specifies which unit of measurement is used for the rulers in the current view.

Values

Centimeters

Character Cells

Inches

Points


Vertical

Description  The Vertical field specifies the size of a character cell unit, in points.

Values

Enter any positive, whole number.


Points

Points are a printer's type size that makes up a pica.  Each pica contains twelve points and is equivalent to one-sixth of an inch.  (A point is 1/72 of an inch.)


Character Cells

Character Cells are the units equivalent to the size of one character (the size of a character is set in Horizontal and Vertical).


Import/Export Drawing dialog box

Description  The Import/Export Drawing dialog box enables you to specify how you want to import/export a drawing.  Choose Database or File and enter the name of the drawing.  Specify a Format.  Specify Options as desired.

This dialog box contains:

Database	Is whether you want to import/export from/to the database.  Next to this radio button is a field for the name of the object and a Browse button that enables you to choose from a list of what you have stored in the database.
File	Is whether you want to import/export from/to a file.  Next to this radio button is a field for the name of the file and a Browse button that enables you to choose from a list of what you have stored in files.
Format	Is a list of the possible formats for the drawing being imported/exported.  Choose a format.
Options (Export)	Is:
CGM Encoding	Is how to store an object being exported in CGM format.  CGM supports both 4-byte and 2-byte coordinate space.  (Most products use 2-byte coordinate space for CGM.)  Choose 16 bit for 2 byte coordinate space and 32 bit for 4 byte.
Compression	Is a list of the possible compression algorithms to be used when exporting a drawing.  The available compression algorithms will vary according to Format and your monitor type.  Choose the desired algorithm.
Options (Import)	Is:
	Use Imported Color Palette	Is whether you want to make the imported color palette the default color palette.


Import/Export Image dialog box

Description  The Import/Export Image dialog box enables you to specify how you want to import/export an image.  Choose Database or File and enter the name of the image.  Specify a Format.  Specify other options as desired.

This dialog box contains:

Compression	Is a list of the possible compression algorithms to be used when exporting a drawing.  The available compression algorithms will vary according to Format and your monitor type.  Choose the desired algorithm.
Database	Is whether you want to import/export from/to the database.  Next to this radio button is a field for the name of the object and a Browse button that enables you to choose from a list of what you have stored in the database.
Datatype	Is a list of the possible datatypes in which you can export your image (e.g., gray-scale, 24 bit true color, etc.).
File	Is whether you want to import/export from/to a file.  Next to this radio button is a field for the name of the file and a Browse button that enables you to choose from a list of what you have stored in files.
Format	Is a list of the possible formats for the image being imported/exported.  Choose a format.
Quality	Is the relative resolution with which an image is displayed.  The higher the quality, the larger the file and the more storage it requires.  Choose Excellent, Very Good, Good, Fair, or Poor.


Import/Export Color Palette dialog box

Description  The Import/Export Color Palette dialog box enables you to specify how you want to import/export a color palette.  Choose Database or File and enter the name of the color palette.

This dialog box contains

Database	Is whether you want to import/export from/to the database.  Next to this radio button is a field for the name of the object and a Browse button that enables you to choose from a list of what you have stored in the database.
File	Is whether you want to import/export from/to a file.  Next to this radio button is a field for the name of the file and a Browse button that enables you to choose from a list of what you have stored in files.


Insert Date and Time dialog box

Description  The Insert Date and Time dialog box enables you to quickly add a date and/or time field to you report layout.  When you accept the dialog box, a field with the appropriate format mask is inserted into your layout in the specified location.  If necessary, you can modify the field as you would any other field in your layout.

This dialog box contains:

Available Formats	Lists the predefined formats for the date and time.  You can select one from this list or use the Custom button to create your own.
Custom	Displays the Custom Date and Time dialog box where you can define your own format for the date and time.
Place the date/time at the	Specifies where the field will be placed on the page.  Note that once the field is created, you can move it as you would any other object in the layout.


Custom Date dialog box

Description  The Custom Date dialog box enables you to specify a format mask for the date/time you want to insert in the layout.  When you accept this dialog box, you are returned to the Insert Date and Time dialog box and your custom format mask is added to the Available Formats list in that dialog box.

This dialog box contains:

Custom Format	Is a format mask for the date/time.  The valid format mask tokens are displayed under Options.
Example	Displays what the format mask in Custom Format will look like when applied to the current date and time.  If nothing appears in Example, it means that the current tokens specified in Custom Format do not make up a valid format mask.
Options	Displays the format mask tokens that you can use when constructing the mask in Custom Format.  This list is read-only.


Insert Page Number dialog box

Description  The Insert Page Number dialog box enables you to quickly add page numbers to your report layout.  When you accept the dialog box, a boilerplate text object with the appropriate settings is inserted into your layout in the specified location.  If necessary, you can modify the boilerplate object as you would any other boilerplate object in your layout.

This dialog box contains:

Position drop-down box	Specifies where the boilerplate object will be placed on the page.  Note that once the boilerplate is created, you can move it as you would any other object in the Live Previewer or Layout Model views.
Available formats	Is two radio buttons (Page Number Only and Page Number and Total Pages) that define what numbers you want inserted into the layout.  Page Number Only inserts Page n, where n is the current page number.  Page Number and Total Pages inserts Page n of m, where n vis the current page number and m is the total number of pages in the report.


Layout Options dialog box

Description  The Layout Options dialog box defines preferences for the Layout Model view.

This dialog box contains:

  Layout tab

  Options tab


Confine

  Restrictions 	  Related Topics

Description  The Confine check box specifies whether or not you want to confine layout objects to the objects (repeating frames or frames) that contain them.  Confine mode is very useful for avoiding frequency errors in your report.  For example, if Confine is checked, Report Builder will not allow a field to be moved outside of its repeating frame.

In confine mode, Report Builder restricts the following operations such that they will not result in an object being outside of its container object's boundaries:

•	moving an object or its container object

•	moving an object or its container object to another layer (e.g., using Arrange [image] Send to Back, Arrange [image] Move Backward, Arrange [image] Send to Front, or Arrange [image] Move Forward)

•	resizing an object or its container object

•	rotating an object or its container object

•	increasing an object's or its container object's border size

Default

Checked (Confine mode is on)


Confine mode restrictions

•	An object is contained by another object if the following are all true:

•	The object is located on a layer above the container object.

•	The object is completely enclosed by the container object.

•	The object is not explicitly anchored to an object outside the container object.

•	If an object is contained within another object when confined mode is entered, the object will remain inside its container object unless its container is changed.  The only way to change an object's container in confine mode is to do one of the following:

•	Explicitly anchor the object to an object outside its container.

•	Create a new container for the object inside its original container.

•	If you create an object outside of all other objects while in confined mode, the first container object that you move it inside of will become its container.  For example, if you create a field outside of your existing layout and move it inside of a repeating frame, you will not be able to move it back out of that repeating frame.  As soon as the field is moved inside of the repeating frame, the repeating frame becomes its container object and the field cannot be moved outside of its container's boundaries.


Display Fields Using

Description  The Display Fields Using radio buttons specify how to display fields in the Layout and Parameter Form views of the Report Editor.

Values

Names	Display fields with their names.
Masks	Display fields with their format masks.
Outlines only	Display fields without their names or masks.
Default

Names


Display Layout Using

Description  The Display Layout Using radio buttons specify which region of the report should be shown in the Layout Model view of the Report Editor.

Values

Body View	Displays the body of the current report section.
Margin View	Displays the body of the current report section surrounded by the margins for all panels of one logical page of the report section.
Default

Body View


Flex

  Related Topics

Description  The Flex check box specifies whether you want to move or resize enclosing objects and objects in the push path when moving or resizing an object.  For example, if you try to move a field outside of its parent repeating frame in flex mode, its repeating frame will grow as necessary to contain it and any objects around the repeating frame will also grow or be pushed as necessary.

Caution: You can only resize one object at a time in flex mode.  If you try to resize more than one object at a time in flex mode, only the object whose control point you click on will be resized.  The other selected objects will be deselected.  You also can only resize objects in one direction at a time (vertically or horizontally, not diagonally).

Default

Unchecked


Anchors

Description  Anchors displays or hides the explicit anchors in the Layout Model view.  If you have a large number of anchors, it is sometimes useful to hide them so you can focus on other objects.

Default

Checked


Boilerplate Outlines

Description  Boilerplate Outlines displays or hides the outline (surrounding box) of boilerplate and Oracle Graphics objects, as well as their vertical and horizontal sizing icons, in the Layout Model view.

Default

Checked


Comments

Description  Comments displays or hides the comment symbol for objects in the Report Editor.

Default

Checked


Field Outlines

Description  Field Outlines displays or hides the outline (surrounding box) of fields, as well as its vertical and horizontal sizing icons, in the Layout Model view.

Default

Checked


Frame Outlines

Description  Frame Outlines displays or hides the outline (surrounding box) of frames, as well as its vertical and horizontal sizing icons, in the Layout Model view.

Default

Checked


Hidden Fields

Description  Hidden Fields displays or hides the fields that have the Hidden setting checked.

Default

Checked


Keep with Anchoring Object

Description  Keep with Anchoring Object Icons displays or hides the Keep with Anchoring Object symbol for objects in the Layout Model view.

Default

Checked


Names

Description  Names displays or hides the name for objects in the Layout Model view.

Default

Unchecked


Page Break Icons

Description  Page Break Icons displays or hides the Page Break symbol for objects with Page Break Before or Page Break After set in the Layout Model view.

Default

Checked


Page Protect Icons

Description  Page Protect Icons displays or hides the Page Protect symbol for objects in the Layout Model view.

Default

Checked


 Object Navigator Options dialog box

Description  The Object Navigator Options dialog box controls the behavior of the Object Navigator.

This dialog box contains:

  General tab

  Layout tab


Show Object Icons

Description  Show Object Icons enables or disables the display of the object type icon indicating the type of object represented by the node.  If displayed, the object type icon appear to the left of the node name.

Default

Checked

Usage Notes

•	If you deselect Show Object Icons, you will need to use Tools [image] Property Palette to access properties from the Object Navigator.


Show PL/SQL Icons

Description  Show PL/SQL Icons enables or disables the display of the PL/SQL icon indicating that the object has PL/SQL associated with it.  If displayed, the icon appears to the left of the node name.

Default

Checked

Usage Notes

•	Show PL/SQL Icons only applies to nodes representing objects that support PL/SQL.  Heading nodes do not display PL/SQL icons.


Anchoring Information

Description  Anchoring Information displays an Anchoring Information node for layout objects that are explicitly anchored to another layout object.  The Anchoring Information node contains a list of the objects to which the object is implicitly and explicitly anchored.

Default

Unchecked


Buttons

Description  Buttons displays button objects from the report layout in the Object Navigator.

Default

Checked


External Boilerplate

Description  External Boilerplate displays external boilerplate objects from the report layout in the Object Navigator.

Default

Checked


Fields

Description  Fields displays fields from the report layout in the Object Navigator.

Default

Checked


Graphical Boilerplate

Description  Graphics Boilerplate displays graphical boilerplate objects from the report layout in the Object Navigator.

Default

Checked


Image Boilerplate

Description  Image Boilerplate displays boilerplate images from the report layout in the Object Navigator.

Default

Checked


OLE2 Objects

Description  OLE2 Objects displays OLE2 objects from the report layout in the Object Navigator.

Default

Checked


Charts

Description  Charts displays charts from the report layout in the Object Navigator.

Default

Checked


Text Boilerplate

Description  Text Boilerplate displays boilerplate text objects from the report layout in the Object Navigator.

Default

Checked


Parameter Form Builder dialog box

Description  The Parameter Form Builder dialog box enables you to specify what the Runtime Parameter Form contains and how it will look.  Using the Parameter Form Builder, you can specify which parameters the user will be able to change at runtime.  When you accept this dialog box, the Runtime Parameter Form layout will be displayed in the Parameter Form view of the Report Editor.

This dialog box contains:

Hint Line	Is the contents of the hint line that appears below the title of the Runtime Parameter Form.  Accept the default hint or enter an alphanumeric string not to exceed 80 bytes.
Label	Is a list of labels (headings) for the parameters.  Accept the default label or enter an alphanumeric string not to exceed 256 bytes.
Parameter	Is a list of all the parameters in the current report.  Only the parameters that you select by clicking will be included in the Runtime Parameter Form.  Note that initially, only DESNAME, DESTYPE, and user-created parameters are selected for inclusion in the Runtime Parameter Form.
Status Line	Is the contents of the status line that appears below the hint line of the Runtime Parameter Form.  Accept the default status or enter an alphanumeric string not to exceed 80 bytes.
Title	Is the contents of the title which appears at the top of the Runtime Parameter Form.  Accept the default title or enter an alphanumeric string not to exceed 128 bytes.
Usage Notes

•	The Hint and Title must fit within the Width of the Runtime Parameter Form, which is defined in the report properties.


Runtime Parameter Form

  Related Topics

Description  The Runtime Parameter Form is a dialog box where you can set parameter values for the report’s execution.  Change the parameters as desired and then click [image] in the toolbar to run the report.  Alternatively, you can click [image] in the toolbar to cancel.


Format Masks dialog box

  Related Topics

Description  The Format Masks dialog box defines which format masks you want to appear in the list of values for the Format Mask property for fields and the Input Mask property for parameters.  You select masks by clicking on them.  Clicking on an already selected mask will deselect it.  Clicking in an open area of the list will deselect all selected masks.

This dialog box contains:

Add	Adds the format mask specified in Mask to the Format Masks list.  If Mask is empty, nothing occurs when you select this button.
Display	Is the type (Date or Number) of format mask displayed in the Format Masks list.
Format Masks	Is the current list of format masks.
Mask	Is the mask that will be added to the Format Masks list when you select the Add button.
Remove	Deletes the selected format mask from the Format Masks list.  If no mask is currently selected in the list, nothing occurs when you select this button.


Connect dialog box

Description  The Connect dialog box enables you to connect to an Oracle or non-Oracle datasource.  You can type in each field separately or you can type any of the following connect strings all in User Name:

username[/password]

username[/password][@database]

[user[/password]]@ODBC:datasource[:database] or [user[/password]]@ODBC:*

This dialog box contains:

Database	Is the name of the database to which you want to connect.  Enter a valid database string not to exceed 256 bytes.  This value can be the name of a local database, a communication protocol that enables you to access a remote database, or an ODBC datasource name (if accessing a non-Oracle datasource).  The communication protocol you enter depends upon your operating system.  For more details, refer to your Oracle Net8 documentation for your system and/or consult your DBA.
Password	Is the string you use to confirm your identity.  Enter a valid password not to exceed 30 bytes.
User Name	Is the name you use to connect to the database.  Enter a valid username not to exceed 512 bytes.  It might be different from the username you use to log on to your computer.


Page Numbering dialog box

Description  The Page Numbering dialog box defines how page numbers are calculated for fields that have a Source of Page Number, Panel Number, Physical Page Number, Total Pages, Total Panels, or Total Physical Pages.

This dialog box contains:

Include	Indicates which report sections are used to compute the report page numbers.  You can check Header Section, Main Section, Trailer Section, or some combination of choices.  The default is all sections checked, implying that all sections of the report should be included in computing page numbers.
Start at	Is a number from 1 through 32K that should be used for the first page on which the field is formatted.  The default is 1, implying that numbering should begin with 1.
Increment by	Is a number from 1 through 32K by which to increment for each page.  The default is 1, implying that the page number should be incremented by 1 for each new page.
Reset at	Is when to reset the page number to the initial value specified in Start At.  Reset at has a list of values that includes &Report and all enclosing repeating frames.  The default is &Report, implying that the page number only be reset to the Start at value once at the beginning of the report.  When a repeating frame is specified, the page number will be reset to the Start at value for each instance of the repeating frame.


Preferences dialog box

Description  The Preferences dialog box enables you to set preferences for your session and runtime settings for the current report.

This dialog box contains:

  General tab

  Access tab

  Wizards tab

  Runtime Values tab

  Runtime Settings tab


Color Mode

Description  Color Mode determines how a report's color palette is implemented on your system.  Each time you make a different report active, Report Builder tries to modify your system's color palette to match or come as close as possible to that report's color palette.  Since your system can handle only a limited number of colors at once, Report Builder's may not be able to accurately show multiple reports simultaneously if they are using different color palettes.

Values

Editable	Means Report Builder temporarily replaces your system's color palette with the palette of the active report.  Each time a new report is made active, its color palette replaces the system palette.  The active report will then be shown accurately, although the appearance of the inactive reports may suffer.
Read Only, Private	Means each time you make a report active, Report Builder appends that report's color palette to your system's original palette until there is no room left in the palette for any more colors.  That palette becomes the palette that is used whenever that report is active.  The active report is then shown accurately, although the appearance of the inactive reports may suffer.
Read Only, Shared	Means Report Builder continues to append each active report's color palette to your system's original palette until there is no room left in the palette for any more colors.  That palette becomes the single palette that all open reports share.  If you make a report that uses entirely different colors, it may not be shown accurately.
Usage Notes

•	In order to use Format [image] Layout Options [image] Color Palette , you must set Color Mode to Editable.

•	This preference setting takes effect with the next report you create or open.


Suppress Report Editor on Open

Description  The Suppress Report Editor on Open check box indicates whether the Report Editor should be opened when a report is opened.  Suppressing the Report Editor speeds performance when opening a report.

Default

Unchecked

Usage Notes

•	When the Report Editor is not open, choose Tools [image] Report Editor to open it and the View menu to change views in it.


Suppress Property Palette on Object Creation

Description  Suppress Property Palette on Object Creation indicates whether a report object's properties should be displayed when it is created.  Certain properties of layout objects can only be defined in the Property Palette for the object (e.g., the source of a field).  If you prefer to completely define one object before creating another, you should probably not check this preference, so that you can fully define the object as soon as you create it.  If you prefer to create a lot of layout objects without initially defining all of their properties, you should check this preference, so that you do not see the property sheet each time that you create an object in the editor.

Default

Checked

Usage Notes

•	When using this setting, bear in mind that some objects require certain settings be filled in before the report can be generated or run.  For example, queries require SELECT statements, and fields and repeating frames require sources.


Suppress List Retrieval on Dialog Box Entry

Description  Suppress List Retrieval on Dialog Box Entry prevents lists from displaying when an action brings up a database dialog box.  For example, in the Open from Database dialog box, the list of modules would not appear if this preference were checked.  This preference can improve performance when displaying a database dialog box.

Default

Unchecked

Usage Notes

•	When this preference is selected, you can still retrieve lists from dialogs by clicking the Retrieve List button.


Unit of Measurement

Description  Unit of Measurement specifies the units to be used in defining a new report.  (Existing bit-mapped reports use the Unit of Measurement defined in the Report property sheet, which you can access by double-clicking on the icon of the report's node in the Object Navigator.)

Values

Centimeter

Inch

Point	Is a printer's type size that makes up a pica.  Each pica contains twelve points and is equivalent to one-sixth of an inch.

Default

Inch


Access

Description  Access is a set of radio buttons that indicates the default location for your documents.  What you enter for this preference is used as the default information when you perform such things as Open or Save As.

Values

Database

File

File/Database

Default

File/Database

Usage Notes

•	If you specify Database and then need to access a module in a file, you will need to change your Access to be File in order to get access to the file dialog box.  Likewise, if you specify File and then need to access a module in the database, you must change this preference to be Database in order to get access to the database dialog box.


All

Description  All indicates whether Report Builder should include everything in an objects/files list when the operation requires an object/file name.  The value specified for this preference will appear on all Display dialog boxes (e.g., the Display dialog box for Open).

Default

Checked


PL/SQL Libraries

Description  PL/SQL Libraries indicates whether Report Builder should include external PL/SQL libraries in an objects/files list when the operation requires an object/file name.  The value specified for this preference will appear on all Display dialog boxes (e.g., the Display dialog box for Open).

Default

Unchecked


Queries

Description  Queries indicates whether Report Builder should include external queries in an objects/files list when the operation requires an object/file name.  The value specified for this preference will appear on all Display dialog boxes (e.g., the Display dialog box for Open).

Default

Unchecked


Reports

Description  Reports indicates whether Report Builder should include reports in an objects/files list when the operation requires an object/file name.  The value specified for this preference will appear on all Display dialog boxes (e.g., the Display dialog box for Open).

Default

Unchecked


Templates

Description  Templates indicates whether Report Builder should include templates in an objects/files list when the operation requires an object/file name.  The value specified for this preference will appear on all Display dialog boxes (e.g., the Display dialog box for Open).

Default

Unchecked


Chart Wizard Welcome Page

Description  Chart Wizard Welcome Page indicates whether the Chart Wizard’s welcome page should be displayed when you start the Chart Wizard.

Default

Checked


Horizontal Gap

Description  Horizontal Gap is the amount of horizontal space Report Builder will leave between objects and the objects that they enclose when creating a default layout. Increasing this gap makes your layout easier to read in the Layout Model view and adds white space in your output.

Values

Any number greater than or equal to zero (with up to four decimal places).  The amount of space is expressed as a multiple of the character size used to create the default layout.  For example, if you specify a Horizontal Gap of 0.1, you are specifying a gap of one tenth of one character in the current font.

Default

0.1000

Usage Notes

•	In character-mode emulation (check Design in Character Units in the report properties), Report Builder uses the values specified in Horizontal and Vertical Gap.  In character-mode Report Builder, however, Horizontal and Vertical Gap are not used.  As a result, if you want to see exactly how your report would look in character-mode Report Builder, you need to set both Horizontal and Vertical Gap to zero.


Horizontal Interfield

Description  Horizontal Interfield is the amount of horizontal space Report Builder will leave between fields when creating a default layout.  Increasing this gap makes your layout easier to read in the Layout Model view and adds white space between fields in your output.

Values

Any number greater than or equal to zero (with up to four decimal places).  The amount of space is expressed as a multiple of the character size used to create the default layout.  For example, if you specify a Horizontal Interfield of 0.1, you are specifying a gap of one tenth of one character in the current font.

Default

2.0000


Report Wizard Welcome Page

Description  Report Wizard Welcome Page indicates whether the Report Wizard’s welcome page should be displayed when you start the Report Wizard.

Default

Checked


Vertical Gap

Description  Vertical Gap is the amount of vertical space Report Builder will leave between objects and the objects that they enclose when creating a default layout. Increasing this gap makes your layout easier to read in the Layout Model view and adds white space in your output.

Values

Any number greater than or equal to zero (with up to four decimal places).  The amount of space is expressed as a multiple of the character size used to create the default layout.  For example, if you specify a Vertical Gap of 0.1, you are specifying a gap of one tenth of one character in the current font.

Default

0.1000

Usage Notes

•	In character-mode emulation (check Design in Character Units in the report properties), Report Builder uses the values specified in Horizontal and Vertical Gap.  In character-mode Report Builder, however, Horizontal and Vertical Gap are not used.  As a result, if you want to see exactly how your report would look in character-mode Report Builder, you need to set both Horizontal and Vertical Gap to zero.


Vertical Interfield

Description  Vertical Interfield is the amount of vertical space Report Builder will leave between fields when creating a default layout.  Increasing this gap makes your layout easier to read in the Layout Model view and adds white space between fields in your output.

Values

Any number greater than or equal to zero (with up to four decimal places).  The amount of space is expressed as a multiple of the character size used to create the default layout.  For example, if you specify a Vertical Interfield of 0.1, you are specifying a gap of one tenth of one character in the current font.

Default

0.0000


Web Wizard Welcome Page

Description  Web Wizard Welcome Page indicates whether the Web Wizard’s welcome page should be displayed when you start the Web Wizard.

Default

Unchecked


Welcome Dialog

Description  Welcome Dialog indicates whether the Welcome dialog box should appear when you start Report Builder.

Default

Checked


Runtime Values

Description  Runtime Values specifies values that are used when you run reports during the current session.  (To permanently change the default values of these settings for a particular report, you must update the Initial Value of the appropriate parameters in the report definition.)

Background	BACKGROUND

Copies	COPIES

Currency Symbol	CURRENCY

Decimal Indicator	DECIMAL

Destination Format	DESFORMAT

Destination Name	DESNAME

Destination Type	DESTYPE

Mode	MODE

Orientation	ORIENTATION

Print Job	PRINTJOB

Thousands Separator	THOUSANDS


Runtime Settings

  Restrictions	  Related Topics

Description  Runtime Settings specifies settings used when you run reports during the current session.  (To permanently change the default values of these settings for a particular report, you must update the Initial Value of the appropriate parameters in the report definition.)

Array Size	ARRAYSIZE

Auto Commit	AUTOCOMMIT

Blank Pages 	BLANKPAGES

Buffers	BUFFERS

Error File 	ERRFILE

Long Chunk	LONGCHUNK

Non-blocking SQL	NONBLOCKSQL

On Failure	ONFAILURE

On Success	ONSUCCESS

Page Width x Height	PAGESIZE

Parameter Form	PARAMFORM

Profile 	PROFILE

Read Only	READONLY

Role 	ROLE

Run Debug	RUNDEBUG


Runtime Settings restrictions

•	Any values specified in the Runtime Settings tab take precedence over values specified on the command line, and initial values saved with the report definition.  However, you can still modify settings from the Runtime Parameter Form (e.g., Destination Type, Destination Format, Currency, etc.).


Property Palette

The Property Palette enables you to access the properties of the currently selected object(s) in the Object Navigator, Report Editor, and Template Editor.

To get help on a particular property, select it in the Property Palette and press F1.

About the Property Palette

About making multiple selections in the Property Palette

About toolbar commands in the Property Palette

Displaying the Property Palette

Closing the Property Palette

Setting properties using the Property Palette

Example: Setting properties of multiple selections

Comparing the properties of one object to another


Rename dialog box

Description  The Rename dialog box enables you to rename modules that are stored in the database.

This dialog box contains:

New Name	Is the name to which you change the current module.  You directly type the name in this field.
Old Name	Is the current name of the module.  You can directly type the name or select it from the list of values.  (The list of values is restricted to modules that are owned by you.)
Rename	Is the button that renames the module to what you have specified in New Name.
Usage Notes

•	If the name you specify already exists, a warning dialog box appears so that, if desired, you can specify a different name for the module.


Document Access dialog box

Description  The Document Access dialog box lists all users who have read/write/execute access to the current document.  To grant or deny access, add or remove users from the list.

This dialog box contains:

Access List	Is a list of all the users who have been granted read/write/execute access to the current document.
Add	Is the button that adds the name specified in User to the Access List.
Remove	Is the button that removes the selected name(s) from the Access List.
User	Is the name of the user that you want to add to the Access List.  Enter any valid username or PUBLIC (grants access to all users)
Usage Notes

•	Entries in the Access List appear in upper-case and are alphabetized automatically as you add and remove users.


Report on Reports dialog box

Description  Report on Reports dialog box enables you to run on the settings of a report, if the report are stored in the database.  Report on Reports is useful for keeping a record of all of your reports and debugging reports.  Choose Portrait or Landscape for the orientation of the report.  When you accept the dialog box, the Runtime Parameter Form for the Report on Reports is displayed.  Fill it out as necessary and, when you accept it, the report will be run.

In addition to the default parameters you normally see in the Runtime Parameter Form, you specify the following:

•	the report name (if you use wildcards, you can generate output for multiple reports)

•	whether to include comments

•	whether to include PL/SQL

•	whether to include report-level information (e.g., Page Width)

•	whether to include data model information (e.g., query settings)

•	whether to include parameter settings

•	whether to include layout information (e.g., repeating frame settings)

Usage Notes

•	If you want to perform Report on Reports in batch, you can use RWRUN60 to run one of the reports on reports.  Run srwdocpb.rdf for portrait output and srwdoclb.rdf for landscape.


Set Role dialog box

  Related Topics

Description  The Set Role dialog box enables you to specify the database role to be used when running the report.

This dialog box contains:

Role Name	Is the name of the database role you want to use when running the report.
Role Password	Is the string you use to confirm your privilege to use the database role.
Confirm Password	Is the same string you entered for Role Password.  Confirm Password is used to verify that what you entered for Role Password is correct.


Role Password dialog box

  Related Topics

Description  The Role Password dialog box enables you to specify the password for the database role needed to open/run the report.

This dialog box contains:

Password	Is the string you use to confirm your privilege to use the database role.


Runtime Trace Settings dialog box

Description  The Runtime Trace Settings dialog box enables you to specify what, if any, tracing information you want placed in a log file during report execution.  These settings correspond to the executable arguments available with RWBLD60, and are specified using the same values.

Add  Distribution check box

When you run the report, a trace of which distribution lists were used will be written to the file that you specify in the Trace File field.  You can use this information to determine which section was sent to which destination.

This dialog box contains:

Trace File	TRACEFILE
Trace Mode	TRACEMODE
Errors/Warnings	TRACEOPTS=TRACE_ERR
Profile Messages	TRACEOPTS=TRACE_PRF
Breakpoints	TRACEOPTS=TRACE_BRK
Processing of Report Objects	TRACEOPTS=TRACE_APP
Execution of PL/SQL	TRACEOPTS=TRACE_PLS
Execution of SQL	TRACEOPTS=TRACE_SQL
Timestamp	TRACEOPTS=TRACE_TMS
Distribution	TRACEOPTS=TRACE_DST
All	TRACEOPTS=TRACE_ALL
Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify tracing when running a .rep file.


Attached Libraries dialog box

Description  The Attached Libraries dialog box enables you to attach an external PL/SQL library to your report.  When an external library is attached, you can reference its packages, functions, and procedures from within your report.

This dialog box contains:

Attach	Attaches the external PL/SQL library specified in Library.  Click this button after you have entered a valid library name in Library.
From	Is a set of radio buttons (Database, File, Either) that indicates where the library you want to attach is located.  Choose the correct one for the library you are attaching.
Library	Is the name of the external PL/SQL library you would like to attach to the report.  Enter a valid library name or click the Browse button to search for it.


Find and Replace dialog box

Description  The Find and Replace dialog box finds a specified alphanumeric string and, optionally, replaces it with another alphanumeric string.  It is useful in fields that contain a lot of text (e.g., a field with a long SQL statement in it).

This dialog box contains:

Case Sensitive	Is a check box that indicates whether the search should be upper- and lower-case sensitive to the letters in the search string.  If this check box is not checked, the search will find all matches of the search string, regardless of case.
Replace	Is a button that changes the most recently found string to the string specified in Replace with.  If the cursor is not on a match, Replace finds the next occurrence of the search string and replaces it.
Replace All	Is a button that replaces all matches with the replace string (from the cursor position to the end of the searchable area).
Regular Expression	Specifies whether the search string should be treated as a regular expression.  If this check box is not checked, then Report Builder will search for exactly what you specified in the Search field.
Replace with	Is the string that you want to replace matches of the search string.
Search	Is a button that finds the next match of the search string starting from your cursor position.
Find what	Is the string you want to find.  If you want this string to be treated as a regular expression, select the Regular Expression check box.


Regular Expressions

Regular expressions are strings that can contain any of the following special wildcard characters:

.	Matches any single character.  For example, .he would match the and she.
( )	Matches whatever is enclosed by the parentheses.  For example, (the) would match both other and then.
[ ]	Matches any one of the single characters in the brackets.  The brackets are a logical OR operator.  For example, (t[hr]e) would match other and trend.
	Two characters have special meaning between square brackets:
~	As the first character, matches any characters not found in the characters or ranges inside the brackets.  For example, (t[~hr]e) would match toe but not other and the.
--	Between character pairs, matches any characters in the range.  For example, [A-E] would match the letters A and E and all the letters in between the two.  Character range pairs are either:  same case alphabetics where the first character comes before (or is equal to) the second character in the alphabet;  numbers where the first number is less than (or is equal to) the second number.
Note:

|	Between two regular expressions, matches if either regular expression matches.
\	Matches the special character that follows the forward slash.  For example, \* would match *.  A forward slash is the escape character.  Any special character following it isn't treated as a special character.
	Below are some special uses of the escape character:
\n	matches a newline character.
\t	matches a tab character.
\b	matches a blank character.
\w	matches \n, \t, \b or \0.
*	Matches 0 or more instances of the regular expression.  For example, (the)*A would match A, theA, or thetheA.
+	Matches 1 or more instances of the regular expression.  For example, (the)+A would match theA or thetheA, but it would not match A by itself as (the)*A would.
Usage Notes

•	The order of precedence of the regular expression special characters is as follows:  ( ), [ ], characters beside each other (e.g., abc), *, +, ~,  , |, .  The following examples show some of the implications of the order of precedence:

Start|Finish is equivalent to (Start)|(Finish)

Start* is equivalent to (Start)*

Start|Finish* is equivalent to (Start)|((Finish)*)

•	You can use the escape character in between brackets.  For example, if you enter [\*\+], * or + would match.


Web Wizard:  Welcome page

  Related Topics

About the Web Wizard

The Web Wizard helps you to quickly and easily generate HTML or PDF output from an existing report.  Report Builder uses what you specify on each page of the wizard to determine how to generate the HTML or PDF output.

Navigating in the Web Wizard

The Web Wizard provides six buttons to help you navigate your way through its pages:

•	Cancel—cancel all changes you have made (if any), and exit the wizard

•	Help—display online help text for the current page of the wizard

•	Back—navigate to the previous page in the wizard

•	Next—navigate to the next page in the wizard

•	Finish—save changes you have made with the wizard (if any), and exit the wizard


Web Wizard:  Chart Hyperlinks page

  Related Topics

1	Click on a column from the Available Charts list.

2	Click [image] to move the chart into the Charts list.

3	Repeat Steps 1 and 2 to add more chart hyperlinks.

4	(Optional)  To remove a chart from the Charts list, click it, then click [image].


Web Wizard:  Bookmarks page
Web Wizard:  Outline page

  Related Topics

1	Select a column from the Available Columns list.

2	Click [image] to move the column into the Bookmarks list.  Each instance of this column will now be a bookmark in your HTML or PDF output.

3	Repeat steps 1 and 2 for all of the columns you want to use as bookmarks.

4	(Optional) To remove a column from the Bookmarks list, click it then click [image].


Web Wizard:  HTML Headers/Footers page

  Related Topics

Type the name of an HTML file that you would like to use as the header or footer for your HTML output or click Browse to choose a file.


Web Wizard:  Finished page

  Related Topics

Select one of the radio buttons:

•	If you choose Generate HTML output now, Generate HTML Style Sheet output now, or Generate PDF output now, Report Builder will generate either an HTML or PDF file.  You can then view the output file in your Web browser or PDF viewer.

•	If you choose Return to Builder, any changes you have made in the wizard (e.g., bookmarks or header/footer files) will be saved in the report definition so that you can generate HTML or PDF output later without having to run the wizard again.

Check the Generate output to a Web browser check box to automatically generate your report output to your default web browser.  You cannot use this option if the Return to Builder radio button is selected.


Welcome dialog box

Description  The Welcome dialog box gives you an easy way to select what initial task to perform when you start Report Builder.  Select one of the tasks listed and accept the dialog box.

This dialog box contains:

Use the Report Wizard	Means that Report Builder will place you in the Report Wizard to build a new report.  Follow the instructions in the Report Wizard to build a new report.
Build a New Report Manually	Means that Report Builder will create a new report node in the Object Navigator and open the Data Model view of the Report Editor.
Open an Existing Report	Means that Report Builder will take you through the dialog(s) to open a report.  The dialog box(es) you see depend upon what you have specified for the Access preference.  Once you have selected a report, Report Builder will open it for you.
Display at Startup	Is whether the Welcome dialog box appears when you start Report Builder.  Uncheck this checkbox to suppress this dialog in future.  This preference is saved in your preferences file.
Run the Cue Cards (tasks)	Means that Report Builder will open its Cue Cards.  Cue Cards describe the steps to follow in performing the most fundamental tasks of Report Builder.
Run the Quick Tour (concepts)	Means that Report Builder will open its Quick Tour.  The Quick Tour is an online, multimedia presentation that teaches you about Report Builder.
Usage Notes

•	To see the Welcome dialog box again after unchecking Display at Startup, choose Tools [image] Preferences.  Click on the Wizards tab.  Then, check the Welcome Dialog preference.

•	If a report is specified on the command line, then the Welcome dialog box does not appear, instead the report is opened and the Object Navigator appears.


New Report dialog box

Description  The New Report dialog box enables you to choose the method you want to use for building a report (i.e., the Report Wizard method or the manual method).

This dialog box contains:

Use the Report Wizard	Means that Report Builder will place you in the Report Wizard to build a new report.  Follow the instructions in the Report Wizard to build a new report.
Build a New Report Manually	Means that Report Builder will create a new report node in the Object Navigator and open the Data Model view of the Report Editor.


About Report Builder dialog box

Description  The About Report Builder dialog box contains the version of Report Builder you are using and a copyright notice.


PL/SQL Break Info dialog box

Description  The PL/SQL Break Info dialog box displays when you have a breakpoint set in the PL/SQL via SRW.BREAK.  When the report hits the breakpoint, the values of variables at that time are displayed in this dialog box.  Click the Continue button to resume report execution.


Report Wizard:  Welcome page

About the Report Wizard

The Report Wizard helps you to quickly and easily define a single-query report.  Report Builder uses what you specify on each page of the wizard to create a data model and layout for the report.  After the wizard has created the report, you can modify it as you would any other report.

The Report Wizard is re-entrant

A powerful quality of the Report Wizard is its ability to operate in re-entrant mode.  This means you can use the Report Wizard to modify an existing single- or multi-query report.  The Report Wizard is tabbed when you use it on an existing report, enabling you to quickly go to any page.

To invoke the Report Wizard in re-entrant mode, open an existing report and choose Tools [image] Report Wizard.

Navigating in the Report Wizard

The Report Wizard provides six buttons to help you navigate your way through its pages:

•	Cancel—cancel all changes you have made (if any), and exit the wizard

•	Help—display online help text for the current page of the wizard

•	Back—navigate to the previous page in the wizard

•	Next—navigate to the next page in the wizard

•	Apply—apply changes you have made (re-entrant wizard only)

•	Finish—save changes you have made with the wizard (if any), and exit the wizard

Note:  If you click Next before you have entered all necessary information for a particular wizard page, the wizard prevents you from navigating to the next page.  Similarly, if you have not entered all necessary information into the wizard when you click Apply or Finish, the wizard automatically places you onto the page where you can finish entering the required data.


Report Wizard:  Style page

  About the Report Wizard

1	(Optional) In the Title field, type a title for your report.  This title will display in the margin area of the report.

2	Choose one of the report styles:

About tabular reports

About form-like reports

About mailing label reports

About form letter reports

About group left reports

About group above reports

About matrix reports

About matrix with group reports

Usage Notes

•	If you are basing your report on an Express query, you typically should choose a matrix or matrix with group report style.

•	If you change the report style of an existing report, Report Builder will attempt to preserve your summaries in the new report style.  If you are switching between report styles that require different data models (e.g., Tabular to Matrix), though, Report Builder may not be able to exactly map your existing summaries to the new report style.


Report Wizard: Type page

Choose the type of query that you want to create:

•	SQL statement means you want to create a query that selects data from a relational database (e.g., Oracle8).

•	Express query means that you want to create a query that selects data from an Express Server.


Report Wizard:  Data page

  Related Topics 	  About the Report Wizard

1	If you are not already connected to a database, click Connect and fill out the Connect dialog box.

2	Specify a SELECT statement in any of the following ways:

•	Type the SELECT statement in the SQL Query Statement area.

•	Click Query Builder and define a query using the Query Builder dialogs.  When you have finished building your query with Query Builder, the SELECT statement is displayed in the SQL Query Statement area.

•	Click Import SQL Query to include a SELECT statement stored in a file.  When you close the Import dialog box, the selected file’s contents are placed in the SQL Query Statement area.


Report Wizard:  Groups page

  About the Report Wizard	  Related Topics

If the group(s) in the Displayed Groups list are as desired and have the desired Print Direction (i.e., Down, Down/Across, Across/Down, Across, or Matrix):

  Click Next.

If you want to change the Print Direction of the groups in the Displayed Groups list:

1	Select a group in the Displayed Groups list.

2	Click [image].

3	Click the appropriate button for the Print Direction you want to apply to the group.

4	Repeat Steps 1 through 3 until all of the groups in the Displayed Groups list are correct.  Tip

Usage Notes

•	If you want two columns to be in the same break level, click a column in the Group Fields list first, then move a column from the Available Fields list.  The column from the Available Fields list is automatically placed in the same break level as the selected column.  If you want to create a new break level, click a column in the Available Fields list, click a break level in the Group Fields list, and move the column from the Available Fields list.  The column is automatically placed in a new break level beneath the selected break level.

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	Column objects and Ref columns cannot be break columns.  Therefore, you cannot select them in the Available Fields list.

•	Attribute columns in the Group Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizard:  Groups page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list that you want to make a group field.

2	Click [image] to move the field to the Group Fields list.  A line defining the field’s break level appears above it.

3	Repeat Steps 1 and 2 for all of the group fields you want in the report.

4	(Optional) Click a field in the Group Fields list and drag it to the desired break level.

5	(Optional) To move a field out of the Group Fields list, click it then click [image].

Usage Notes

•	If you want two columns to be in the same break level, click a column in the Group Fields list first, then move a column from the Available Fields list.  The column from the Available Fields list is automatically placed in the same break level as the selected column.  If you want to create a new break level, click a column in the Available Fields list, click a break level in the Group Fields list, and move the column from the Available Fields list.  The column is automatically placed in a new break level beneath the selected break level.

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	Column objects and Ref columns cannot be break columns.  Therefore, you cannot select them in the Available Fields list.

•	Attribute columns in the Group Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizard:  Fields page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list.  Tip

2	Click [image] to move the field to the Displayed Fields list.  Tip

3	Repeat Steps 1 and 2 for all of the fields that you want to appear in the report.

4	(Optional) To remove a field from the Displayed Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	If you move a column object or Ref column from the Available Fields list to the Displayed Fields list, all of its attribute columns are moved to the Displayed Fields list and the column object or Ref column disappears.  Column objects cannot be the source of a layout object and are therefore excluded from the Displayed Fields list.  Attribute columns in the Displayed Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizard:  Totals page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list.

2	Click the appropriate button for the function you want to apply to the field.  An entry with the field and function name appears in the Totals list.

3	Repeat Step 2 for any other desired functions you want to apply to the field.

4	Repeat Steps 1 through 3 until you have created all of the desired totals.

5	(Optional) To remove a field from the Totals list, click it then click the left arrow [image] button.

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	The functions you can perform on column objects and Ref columns are limited.  Therefore, some functions are disabled when you select them in the Available Fields list.

•	For group reports, the Report Wizard creates n summary fields in the data model for each summary column you define: one at each group level above the column being summarized, and one at the report level.  For example, if a report is grouped by division, and further grouped by department, then a summary column defined for a salary total would create fields for the sum of salaries for each division and each department group (group-level summaries), and the sum of all salaries (report-level summary).


Report Wizard:  Text page

  About the Report Wizard

1	Click a field in the Available Fields list.

2	Click [image] to place the field in the Mailing Label Text area.

3	Add any desired spacing or punctuation by clicking the appropriate button (i.e., New Line, Space, Dash, Comma, or Period).

4	Repeat Steps 1 through 3 until all of the desired fields are in the Mailing Label Text area.

5	(Optional) Click in the Mailing Label Text area and edit the text as desired.


Report Wizard:  Text page

  About the Report Wizard

1	Click a field in the Available Fields list.

2	Click [image] to place the field in the Form Letter Text area.

3	Add any desired spacing or punctuation by clicking the appropriate button (i.e., New Line, Space, Dash, Comma, or Period).

4	Repeat Steps 1 through 3 until all of the desired fields are in the Form Letter Text area.

5	(Optional) Click in the Form Letter Text area and edit the text as desired.


Report Wizard:  Groups page

  About the Report Wizard

If the field(s) in the Matrix Group Fields list are as desired:

  Click Next.

To change the fields in the Matrix Group Fields list:

1	Click a field in the Available Fields list that you want to make a matrix group field.

2	Click [image] to move the field to the Group Fields list.  A line defining the field’s break level appears above it.

3	Repeat Steps 1 and 2 for all of the matrix group fields you want in the report.

4	(Optional) Select a field in the Matrix Group Fields list and drag it to the desired break level.

5	(Optional) To move a field out of the Matrix Group Fields list, click it then click [image].

Usage Notes

•	If you want two columns to be in the same break level, click a column in the Matrix Group Fields list first then move a column from the Available fields list.  The column from the Available Fields list is automatically placed in the same break level as the selected column.  If you want to create a new break level, click a column in the Available Fields list, click a break level in the Matrix Group Fields list, and move the column from the Available Fields list.  The column is automatically placed in a new break level beneath the selected break level.

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	Column objects and Ref columns cannot be break columns.  Therefore, you cannot select them in the Available Fields list.

•	Attribute columns in the Matrix Group Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizard:  Rows page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list.

2	Click [image] to move the field to the Matrix Row Fields list.  A line defining the field’s break level appears above it.  Tip

3	Repeat Steps 1 and 2 for all of the desired matrix row fields.

4	(Optional) To remove a field from the Matrix Row Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	Column objects and Ref columns cannot be used as matrix row fields.  Therefore you cannot select them from the Available Fields list.

•	Attribute columns in the Matrix Row Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizard:  Columns page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list.

2	Click [image] to move the field to the Matrix Column Fields list.  A line defining the field’s break level appears above it.  Tip

3	Repeat Steps 1 and 2 for all of the desired matrix column fields.

4	(Optional) To remove a field from the Matrix Column Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	Column objects and Ref columns cannot be used as matrix column fields.  Therefore you cannot select them from the Available Fields list.

•	Attribute columns in the Matrix Column Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizard:  Cells page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list.

2	Click the appropriate button for the function you want to apply to the field.  An entry with the field and function name appears in the Matrix Cell Fields list.  Tip

3	Repeat Steps 1 and 2 for all of the desired matrix cell fields.

4	(Optional) To remove a field from the Matrix Cell Fields list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	Column objects and Ref columns cannot be used as matrix cell fields.  Therefore you cannot select them from the Available Fields list.

•	Attribute columns in the Matrix Cell Fields list use underscore notation to indicate their parentage (e.g., ADDRESS_ZIP).


Report Wizards: Totals page
Report Wizard:  Totals page

  About the Report Wizard	  Related Topics

1	Click a field in the Available Fields list.

2	Click the appropriate button for the function you want to apply to the field.  An entry with the field and function name appears in the Matrix Totals list.

3	Repeat Step 2 for any other desired functions you want to apply to the field.

4	Repeat Steps 1 through 3 until you have created all of the desired totals.

5	(Optional) To remove a field from the Matrix Totals list, click it then click [image].

Usage Notes

•	Not all Oracle8 datatypes are supported at this time.   will identify the datatype as unknown in the wizard if your query selects an unsupported Oracle8 datatype.

•	The functions you can perform on column objects and Ref columns are limited.  Therefore, some functions are disabled when you select them in the Available Fields list.

•	For group reports, the Report Wizard creates n summary fields in the data model for each summary column you define: one at each group level above the column being summarized, and one at the report level.  For example, if a report is grouped by division, and further grouped by department, then a summary column defined for a salary total would create fields for the sum of salaries for each division and each department group (group-level summaries), and the sum of all salaries (report-level summary).


Report Wizards: Labels page
Report Wizard:  Labels page

  About the Report Wizard

1	Click on any of the label text under the Labels heading.

2	Edit the text as you would like it to appear in the report output.

3	Repeat Steps 1 and 2 until all of the labels are as desired.

4	Click on any of the numbers under the Width heading.

5	Change the number to the desired width for the associated field.  Tip

6	Repeat Steps 4 and 5 until all of the widths are as desired.


Report Wizards: Templates page
Report Wizard:  Templates page

  About the Report Wizard	  Next Step

1	Select one of the three radio buttons:  Predefined template, Template file, No template.

2	Depending upon what you selected in Step 1, do the following:

•	For Predefined template, select a template from the list.

•	For Template file, type the name of a .tdf file or click Browse to select one.

•	For No template, there is no further action necessary.


Report Wizard:  Finished page

  About the Report Wizard

What's next?

You are ready to exit the Report Wizard and continue work on the report.  When you click Finish, Report Builder will close the Report Wizard, and automatically display the report in the Live Previewer, one of Report Builder's design tools.  You can modify your report in the Live Previewer, or choose Tools [image] Report Wizard to re-enter the wizard and make further modifications there.  To learn more about building reports, refer to the online help:

1	Review the Quick Tour for a brief overview of Report Builder:

•	Choose Help [image] Quick Tour.

2	Step through the Cue Cards to learn how to perform the most common tasks:

•	Choose Help [image] Cue Cards.

3	Access the online/hardcopy manuals:

•	Choose Help [image] Manuals.

4	Locate help topics:

•	For the table of contents and index, choose Help [image] Help Topics.

•	For context-sensitive help, press [Help] (this is usually the F1 key on most platforms).


Group field

A group field is used to break the data in your report into masters and details (also called parents and children).  A group field appears in a master group and, for each record of the master group, a corresponding detail record is retrieved.


Matrix group field

A matrix group field is used to break the data in your report into masters and details (also called parents and children).  A matrix group field appears in a master group and, for each record of the master group, a corresponding detail record is retrieved and formatted as a matrix.


Matrix row fields

Matrix row field values appear down the side of the matrix.


Matrix column fields

Matrix column field values appear across the top of the matrix.


Tip

Clicking [image] moves all columns in the Available Fields list to the Displayed Fields list.  Clicking [image] moves all columns in the Displayed Fields list to the Available Fields list.


Tip

If the Group Fields list is empty, it means that currently there are no group fields selected to define a break in the report.  You must have at least one field in the Group Fields list before proceeding to another page of the wizard.  If there are no fields in Group Fields, clicking Back or Next, or selecting a tab will cause an error.


Tip

If the Displayed Fields list is empty, it means that currently there are no fields selected to appear in the report output.  You must have at least one field in the Displayed Fields list before proceeding to another page of the wizard.  If there are no fields in Displayed Fields, clicking Back or Next, or selecting a tab will cause an error.


Tip

Only groups that are in the Displayed Groups list will appear in the report output.


Tip

Report Builder retrieves all of the columns specified in the report’s queries from the database, but only the ones that appear in the Displayed Fields list will actually appear in the report’s output.


Tip

The Level 1 matrix row field appears as the outermost row down the side of the matrix.  The Level 2 field appears to the Level 1 field’s right, the Level 3 field appears to the Level 2 field’s right, and so on.


Tip

The Level 1 matrix column field appears as the outermost column across the top of the matrix.  The Level 2 field appears below the Level 1 field, the Level 3 field appears below the Level 2 field, and so on.


Tip

If you do not want to apply a function to the field, you can use [image] to place the field in the Matrix Cell Fields list without applying a function.  This is useful when your query already performs a function on the field’s source column, e.g., SUM(SAL) and you do not need to apply another function to it.


Tip

The width is specified in character units (e.g., 10 means 10 characters wide).


Data Model view

  Related Topics

The Data Model view is a work area in which you define the data to be used in your report.  You create, define, and modify data model objects (queries, groups, columns, parameters, and links).

Report Builder uses the data model to determine what data to retrieve for the report.  The data retrieved from the database may or may not appear in the report output.

Access

Painting region

Object representation

Rulers

Grid

Toolbar

Tool palette

Status bar


Description

The Data Model view is a work area in which you define the data to be used in your report.  You create, define, and modify data model objects (queries, groups, columns, parameters, and links).

Report Builder uses the data model to determine what data to retrieve for the report.  The data retrieved from the database may or may not appear in the report output.


Access

There are several ways that you can access the Data Model view:

•	Click the Data Model tool.

•	Choose View [image] Data Model.

•	From the Windows menu, select a window with the Data Model in it.

•	From the Object Navigator, double-click the Data Model node's icon.


Painting region

The painting region is the area in which you can create, modify, position, or delete objects while viewing their graphical representations on the screen.  Objects have only their relative positions in the data model graphically represented in an editor.  To see an object's settings, you must open its property sheet by double-clicking the object.


Object representation

The data model objects that you can create in the painting region include queries, groups, columns (summary and formula), parameters, and links.  You cannot cut, copy, paste, or duplicate data model objects (i.e., Cut, Copy, Paste, and Duplicate are disabled in the Edit menu.

Group hierarchy in the data model is determined by parent-child relationships or position in the editor.  If there is no parent-child relationship between two groups (e.g., they are siblings or unrelated groups), then the hierarchy is determined by reading from left to right then top to bottom in the Data Model view.  Column hierarchy is determined by reading from top to bottom inside each group.


Rulers

Rulers are located around the left and top edges of the painting region.  Rulers are initially hidden in the Data Model view.  To show rulers, choose View [image] Rulers.

Markers  Markers move along both of the rulers to track your cursor location in the painting region.  The rulers scroll along with the painting region.  Likewise, when you magnify part of the painting region, the rulers are updated to reflect the magnification.

Ruler Guides  Ruler guides provide you with a point of reference for creating and modifying objects.  To create a ruler guide, click one of the rulers and drag into the painting region.  To show ruler guides, choose View [image] Ruler Guides.


Grid

Inside the painting region is a grid to help you position objects in the painting region.  The grid is drawn in relationship to the rulers.  Choose View [image] Grid to display the grid.


Toolbar

To use the tools in the toolbar, click the desired tool to perform the action.  If the tool is designed to perform an action on objects, it appears grayed out until one or more objects are selected.  Then clicking the tool performs the action on the selected object(s).


Tool palette

The tool palette is a set of tools you can use to create and manipulate objects.  Click a tool to activate it for a single operation, or double-click a tool to "lock" it for multiple operations.

The tools in the tool palette vary depending on the Report Editor view.  Click a tool on the Data Model view tool palette to learn about its features.


Status bar

In the Data Model view, the status bar displays the following information:

•	absolute mouse position (in pixels, inches, or centimeters)

•	mouse drag distance (in pixels, inches, or centimeters)

•	magnification level


Query tool

The Query tool enables you to create a new query in the data model.  To create a query, select the tool and click in the painting region.  Then double-click the query object and specify the desired properties.


PL/SQL tool

The PL/SQL tool enables you to create a new ref cursor query in the data model.  To create a ref cursor query, select the tool and click in the painting region.  The PL/SQL Editor appears.  Type the PL/SQL for a function that opens a cursor and returns a cursor variable of the ref cursor type you defined in the package.


Data Link tool

The Data Link tool enables you to create a relationship between the data of two queries.  You can use the Data Link tool in three ways:

•	Query to Query Link  Click-and-drag from the parent query to the child query, to create a data link for each database constraint defined between the tables for two queries.

•	Group to Group Link  Click-and-drag from the parent group (avoiding the columns in the group) to the group belonging to the child query.

•	Column to Column Link  Click-and-drag from the column of the parent group to the column of the child group.


Summary Column tool

The Summary Column tool enables you to create a summary column in the data model.   To create a summary column, select the tool and click within a group or in an open area of the painting region.  Then double-click the summary column object and specify the desired properties.


Formula Column tool

The Formula Column tool enables you to create a new formula column in the data model.  To create a formula column, select the tool and click within a group or in an open area of the painting region.  Then double-click the formula column object and specify the desired properties.


Placeholder Column tool

The Placeholder Column tool enables you to create a new placeholder column in the data model.   To create a placeholder column, select the tool and click in within a group or in an open area of the painting region.  Then double-click the placeholder column object and specify the desired properties.


Cross-product tool

The cross product tool enables you to create a cross product-group around two or more other groups.  A cross product is a mathematical cross product, and is used in the data model to build a matrix.   Select the Cross-product tool and click-and-drag around the groups you want to include in the cross-product group.  If the cell group is a separate query from the cross-product groups, create the appropriate links between the columns in the cross-product groups and the cell group.  Then generate the report and specify the options for a matrix report in the Report Wizard.


Layout Model view

    Related Topics

The Layout Model view is a work area in which you can define the format of your report output.  To do this, you work with layout objects, such as frames, repeating frames, fields, boilerplate, anchors, and Graphics objects.

When you run a report, Report Builder uses the Layout Model as a default template for the report output.  This template will grow or shrink based on the data fetched for and the PL/SQL logic assigned to the layout objects.

Access

Painting region

Object representation

Rulers

Grid

Toolbar

Stylebar

Tool palette

Status bar


Description

The Layout Model view is a work area in which you can define the format of your report output.  To do this, you work with layout objects, such as frames, repeating frames, fields, boilerplate, anchors, and Graphics objects.

When you run a report, Report Builder uses the Layout Model as a default template for the report output.  This template will grow or shrink based on the data fetched for and the PL/SQL logic assigned to the layout objects.


Access

There are several ways that you can access the Layout Model view:

•	Click the Layout Model tool.

•	Choose View [image] Layout Model.

•	From the Windows menu, select a window with the Layout Model in it.

•	From the Object Navigator, double-click the Layout Model node's icon.


Painting region

The painting region is the area in which you can create, modify, position, or delete objects while viewing their graphical representations on the screen.  There are three report regions in the Layout Model view:

•	header

•	body/margin

•	trailer

 Click here.

To navigate between report regions, you can:

•	Click the corresponding icon on the toolbar.

•	Choose Layout Section from the View menu.

Header  The report header pages appear once at the beginning of each report on a set of separate pages.  They can contain text, graphics, data, and computations.

Body/Margin  The body/margin pages appear between the header and trailer pages, and are the bulk of the report.  Each physical page in this section consists of a body and a margin.  When you first enter the Layout Model view of a new report, you are placed in the Body/Margin region.  You can create, modify, and delete objects in either region.

The body contains the majority of the report's text, graphics, data, and computations.  A top and bottom margin appear on each page, until all data within the body has been formatted.  A margin may include text, graphics, page numbers, page totals, and grand totals.  The default margin size is one half inch each for the top and bottom margins and zero for the left and right margins

Trailer  The report trailer pages appear once at the end of each report on a set of separate pages.  They can contain text, graphics, data, and computations.


Object representation

The layout objects that you can create in the painting region include frames, repeating frames, fields, boilerplate, anchors, buttons, OLE2 objects, and Graphics objects. Objects have their sizes, relative positions, patterns, colors, and fonts graphically represented in the editor.

Graphic representations (or icons) indicate the type of object being represented and, in some cases, its settings.  The figure illustrates the meaning of these icons in the layout model.

 Click here.

To see an object's settings, you must open its property sheet by double-clicking the object.


Rulers

Rulers are located around the left and top edges of the painting region. Rulers are initially showing in the Layout Model view.  To hide rulers, deselect the Rulers menu option in the View menu.

Units  You can set the unit of measurement of the ruler to any of the following, by selecting Format [image] Layout Options [image] Rulers:

•	inches

•	centimeters

•	points

•	character cells

When you change a report's Unit of Measurement property, the ruler units are updated to reflect the Unit of Measurement.  When you set Design in Character Units to Yes, the ruler units are changed to character cells.

Markers  Markers move along both of the rulers to track your cursor location in the painting region.  The rulers scroll along with the painting region.  Likewise, when you magnify part of the painting region, the rulers are updated to reflect the magnification.

Ruler Guides  Ruler guides provide you with a point of reference for creating and modifying objects.  To create a ruler guide, click one of the rulers and drag into the painting region.

Note: To hide rulers and ruler guides, deselect the Rulers and Ruler Guides menu options in the View menu.  To show rulers and ruler guides, select these menu options.


Grid

Inside the painting region is a grid to help you position objects in the painting region.  The grid is drawn in relationship to the rulers.  Choose Format [image] Layout Options [image] Rulers to specify the interval at which grid lines appear per unit on the ruler.  For example, if you have a Unit of inches and a Grid Spacing of 0.5, there will be one grid line per half-inch on the ruler.


Toolbar

To use the tools in the toolbar, click the desired tool to perform the action.  If the tool is designed to perform an action on objects, it appears grayed out until one or more objects are selected.  Then clicking the tool performs the action on the selected object(s).


Stylebar

To use the tools in the stylebar, select one or more objects, then click the desired tool.  The action represented by the tool will be performed on the selected objects. Tools typically available on the stylebar let you change the font, font style, size and justification of the selected object.


Tool palette

The tool palette is a set of tools you can use to create and manipulate objects.  Click a tool to activate it for a single operation, or double-click a tool to "lock" it for multiple operations.

The tools in the tool palette vary depending on the Report Editor view.  Click a tool on the Layout Model view tool palette to learn about its features.


Status bar

In the Layout Model view, the status bar displays the following information:

•	absolute mouse position (in pixels, inches, or centimeters)

•	mouse drag distance (in pixels, inches, or centimeters)

•	rotation angles

•	magnification level

•	anchor percentages


Select tool

The Select tool enables you to choose one or more objects for an operation.  When an object is selected, its control points become visible.   By shift-clicking, you can select multiple objects or groups.   When you select an object in the Report Editor, it is also selected in the Object Navigator.


Frame Select tool

The Frame Select tool enables you to select a frame or repeating frame and all of the objects within it.  Any object that is indirectly or directly anchored to an object within the frame or repeating frame is also selected.  Any object that is anchored to the frame or repeating frame or an object outside of the frame or repeating frame is not selected.


Rotate tool

The Rotate tool enables you to rotate selected boilerplate text and graphic objects.  To rotate an object, click-and-drag one of its control points.  The selected object will rotate in the direction you drag.

These additional rules apply when using the Rotate tool:

•	Rotated text is not supported on all operating systems.  For example, rotated text will not appear rotated in character mode.

•	You cannot rotate a field directly, but you can reference a field (e.g., &ename) in a boilerplate text object, which can be rotated.

•	You can only rotate boilerplate text that you typed or imported in the editor.  You cannot rotate boilerplate text created with the Link File tool.

•	For rotated text, the Horizontal Elasticity property refers to the direction in which you read the text.  For example, if you rotate your text 90 degrees and give it a Fixed Horizontal Elasticity, it means that the text will occupy a fixed vertical space. If you set Horizontal and Vertical Elasticity to Variable or Expand and the rotation angle of the text is not a multiple of 90 degrees, the object's width will actually be treated as contracting (for Variable) or fixed (for Expand).


Reshape tool

The Reshape tool enables you to change the shape of selected objects.  To reshape objects, click-and-drag on their control points.  Note that the control points you see when reshaping differ from those you seen when selecting an object.  The Reshape tool produces different results for different objects:

•	For arcs, the Reshape tool enables you to change the sweep angle to something other than 90 degrees (the default when creating an arc).

•	For polygons, the Reshape tool enables you to move any vertex to a new position.

•	For rectangular objects (e.g., frames, fields, and chart objects), the Reshape tool enables you to move any vertex to a new position.  Note that this is only useful if the rectangle has been rotated such that the select control points no longer coincide with the reshape control points.

•	For anchors, the Reshape tool enables you to move any vertex to a new position, including moving the endpoints to new positions on the same or different objects.


Magnify tool

The Magnify tool magnifies an area around the point on which you click by a factor of two (i.e., the objects become twice as big as they were).  By pressing the constrain key (usually the Shift key) while using the Magnify tool, you magnify by a factor of one-half (i.e., the objects become half as big as they were).  This tool is useful when you want to focus on one part of a large layout.


Line tool

The Line tool enables you to draw a line boilerplate object.  To draw a line, click where you want one endpoint, drag to the other endpoint, and release.  To draw perfectly horizontal, vertical, or 45 degree lines, use the constrain key (usually the Shift key).   You can set additional options for lines by choosing Line Width, Bevel, Dash, or Arrow from the Format menu.


Rounded Rectangle tool

The Rounded Rectangle tool enables you to draw a rounded, rectangular boilerplate object.  To draw a rounded rectangle, click-and-drag diagonally to define the object, then release.  To create a square with rounded corners, use the constrain key (usually the Shift key).  You can set special Graphics Options for a rounded rectangle object using the Format menu.


Rectangle tool

The Rectangle tool enables you to draw a rectangular boilerplate object.  To draw a rectangle, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).


Ellipse tool

The Ellipse tool enables you to draw an elliptic boilerplate object.  To draw an ellipse, click-and-drag diagonally to define the object, then release. To draw a perfect circle, use the constrain key (usually the Shift key).


Arc tool

The Arc tool enables you to draw an arc boilerplate object.  To draw an arc, click-and-drag diagonally to define the object, then release. To draw the arc of a circle, use the constrain key (usually the Shift key).  You can set special Graphics Options for an arc object using the Format menu.


Polygon tool

The Polygon tool enables you to draw a polygon boilerplate object.  To draw a polygon, click at the desired location of the first vertex, then click at the next vertex, etc.  To finish drawing the polygon, double-click at the final vertex, and a line is drawn connecting the first and last vertices.  To draw a perfectly horizontal, vertical, or 45 degree segment, use the constrain key (usually the Shift key).  Constraining one vertex does not affect subsequent vertices.


Polyline tool

The Polyline tool enables you to create a polyline boilerplate object.  To draw a polyline, click at the desired location of the first vertex, then click at the next vertex, etc.  To finish drawing the polyline, double-click at the final vertex.  Unless you manually connect the first and last vertices, they are not connected (as with the polygon object).  To draw a perfectly horizontal, vertical, or 45 degree segment, use the constrain key (usually the Shift key).  Constraining one vertex does not affect subsequent vertices.


Freehand tool

The Freehand tool enables you to draw a free-form boilerplate object.  To draw a freehand object, click-and-drag to define the object, then release.


Text tool

The Text tool enables you to create and edit a boilerplate text object.  You can create a boilerplate text object with the Text tool in one of two ways:

•	Click where you want the text to start and begin typing.  Text will word wrap only when you type a return to start a new line.

•	Click-and-drag to create a bounding box for the text.  Text entered in the box will word wrap to fit within the horizontal boundaries of the box.  The box will grow vertically, if necessary, to accommodate the text you type.

To edit existing boilerplate text, click the boilerplate text object and start typing/editing.  When you are typing or editing text, you are in text mode.  To get out of text mode, click outside of the boilerplate text object.  While in text mode, you can perform actions on text such as cut, copy, and paste, or use the Stylebar to change fonts and alignment.

Note: If you change the font or size of the boilerplate text, the bounding box automatically grows or shrinks with the text.


Frame tool

The Frame tool enables you to create a frame. To draw a frame, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).


Repeating Frame tool

The Repeating Frame tool enables you to create a repeating frame.  To draw a repeating frame, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).


Field tool

The Field tool enables you to create a field.  To draw a field, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).


Link File tool

The Link File tool enables you to create a boilerplate object that is read in from a file.  The boilerplate may be text, drawings, or images and is represented as a rectangle in the editor.  To draw a link file object, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).


Chart tool

The Chart tool enables you to create a chart object that references a Graphics Builder display. To draw a chart object, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).


Button tool

The Button tool enables you to draw a button object.  To draw a button object, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).

Note:  User-defined buttons will appear at runtime with the same characteristics as native buttons on your platform.


Anchor tool

The Anchor tool enables you to anchor two objects together.  To draw an anchor, click an edge of the child object, click at other positions in the editor (optionally), and double-click an edge of the parent object.  Using the constrain key (usually the Shift key) while placing the anchor on the child object causes it to be constrained to the nearest 25 percent increment.


OLE2 Object tool

The OLE2 Object tool enables you to place an OLE2 object in your layout.  To draw an OLE2 object, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).

After you have drawn the OLE2 object, a dialog box is displayed in which you define the object type, object source, and whether the object is linked or imbedded.  Note that the options must be specified for the object to be created.


Additional Default Layout tool

The Additional Default Layout tool enables you to define a default layout for a portion of your report, without overwriting the entire layout model.  To draw an additional default layout, click-and-drag diagonally to define the object, then release.  To draw a perfect square, use the constrain key (usually the Shift key).   After you define the area in which the default layout will appear, you are prompted to specify options using the Report Wizard.


Fill/Line/Text display

The Fill/Line/Text display shows the current selections for fill, line, and text color.  To change the current selections, use the Fill Color, Line Color, and Text Color tools.


Fill Color tool

The Fill Color tool displays all of the available colors, No Fill, and Patterns.  Choosing any of the colors or No Fill sets the fill color for the selected objects and all subsequently created objects.  Selecting Patterns displays a pattern palette.  Choosing any pattern sets the fill pattern for the selected objects and all subsequently created objects.  At the bottom of the Pattern palette are foreground and background color palettes.  Choosing foreground and background colors sets the colors for the patterns.


Line Color tool

The Line Color tool displays all of the available colors, No Line, and Patterns.  Choosing any of the colors or No Line sets the line color for the selected objects and all subsequently created objects.  Selecting Patterns displays a pattern palette.  Choosing any pattern sets the line pattern for the selected objects and all subsequently created objects.  At the bottom of the Pattern palette are foreground and background color palettes.  Click these to display the available colors.  Choosing foreground and background colors sets the colors for the patterns.


Text Color tool

The Text Color tool displays all of the available colors.  Choosing any of the colors sets the text color for the selected objects and all subsequently created objects, until you change it.


Live Previewer view

  Related Topics

The Live Previewer is a work area in which you can preview your report and manipulate the actual, or live data at the same time.  In the Live Previewer you can customize reports interactively, meaning that you can see the results immediately as you make each change.

To activate buttons in the Live Previewer, you must display the report output in the Runtime Previewer.  In order to edit your report, such as changing column size,  the Live Previewer must be in  Flex Mode.

Access

Title

Viewing region

Rulers

Grid

Toolbar

Stylebar

Tool palette

Status bar


Description

The Live Previewer is a work area in which you can preview your report and manipulate the actual, or live data at the same time.  In the Live Previewer you can customize reports interactively, meaning that you can see the results immediately as you make each change.

To activate buttons in the Live Previewer, you must display the report output in the Runtime Previewer.


Access

The Live Previewer is displayed whenever you run a report.  To run a report from the Object Navigator or any editor, click [image] or choose Program [image] Run Report.  To run a report from the Report Wizard, click Finish.

You can also access the Live Previewer view in these ways:

•	Click [image] in the toolbar.

•	Choose View [image] Live Previewer.

•	From the Windows menu, select a window with the Live Previewer in it.

•	In the Object Navigator, double-click [image] (the Live Previewer node icon).


Title

By default, the Live Previewer view title is <report name>: Live Previewer view.   You can change the Live Previewer view title in the report's property sheet.


Viewing region

The viewing region is the area in which you can view and manipulate your report output.  You can split the viewing region vertically or horizontally into multiple regions, by dragging the black bars located below and to the right of the scroll bars.  You can also magnify the viewing region using the Magnify tool.

For more viewing options (opening multiple previewers, displaying multimedia objects), you can display your report in the Runtime Previewer.


Rulers

Rulers are located around the left and top edges of the painting region.  Rulers are initially hidden in the Live Previewer view.  To show rulers, select the Rulers menu option in the View menu.

Units  You can set the unit of measurement of the ruler to any of the following, by selecting Format [image] Layout Options [image] Rulers:

•	inches

•	centimeters

•	points

•	character cells

When you change a report's Unit of Measurement property, the ruler units are updated to reflect the Unit of Measurement.  When you set Design in Character Units to Yes, the ruler units are changed to character cells.

Markers  Markers move along both of the rulers to track your cursor location in the painting region.  The rulers scroll along with the painting region.  Likewise, when you magnify part of the painting region, the rulers are updated to reflect the magnification.

Ruler Guides  Ruler guides provide you with a point of reference for creating and modifying objects.  To create a ruler guide, click one of the rulers and drag into the painting region.

Note: To show rulers and ruler guides, select the Rulers and Ruler Guides menu options in the View menu.  To show rulers and ruler guides, deselect these menu options.


Grid

Inside the painting region is a grid to help you position objects in the viewing region. The grid is drawn in relationship to the rulers.  Choose Format [image] Layout Options [image] Rulers to specify the interval at which grid lines appear per unit on the ruler.  For example, if you have a Unit of inches and a Grid Spacing of 0.5, there will be one grid line per half-inch on the ruler.


Toolbar

To use the tools in the toolbar, click the desired tool to perform the action.  If the tool is designed to perform an action on objects, it appears grayed out until one or more objects are selected.  Then clicking the tool performs the action on the selected object(s).


Stylebar

To use the tools in the stylebar, select one or more objects, then click the desired tool.  The action represented by the tool will be performed on the selected objects. Tools typically available on the stylebar let you change the font, font style, size and justification of the selected object.


Tool palette

The tool palette is a set of tools you can use to create and manipulate objects.  Click a tool to activate it for a single operation, or double-click a tool to "lock" it for multiple operations.

The tools in the tool palette vary depending on the Report Editor view.  Click a tool on the Live Previewer view tool palette to learn about its features.


Status bar

In the Live Previewer view, the status bar displays the following information:

•	absolute mouse position (in pixels, inches, or centimeters)

•	mouse drag distance (in pixels, inches, or centimeters)

•	magnification level


Object Navigator

  Related Topics

The Object Navigator provides a hierarchical display of all major objects in a report or template, including attached libraries and external queries.  Using this view, you can take such actions as select an object, bring up the Property Palette for an object, edit an object's PL/SQL, drag and drop PL/SQL program units, and search for an object by name.

Access

Components

Nodes

Views


Description

The Object Navigator provides a hierarchical display of all major objects in a report or template, including attached libraries and external queries.  Using this view, you can take such actions as select an object, bring up the Property Palette for an object, edit an object's PL/SQL, drag and drop PL/SQL program units, and search for an object by name.


Access

There are two ways to access the Object Navigator:

•	Invoke the Report Builder.

•	Select it from the Windows menu.


Components

The Object Navigator has several components:

Document list

Find

Toolbar

Object tree


Document list

At the top of the Navigator is a list of all of the currently open modules in the Navigator, and the most recently selected node and its ancestors.  By selecting a name from the list, you can immediately select it's node in the Navigator.


Find

At the top of the Navigator is a field called Find in which you can enter a target string for the node search.  Next to the Find field are two tools for directing the search backward or forward:

 Search Forward finds the next node whose name matches the search string in Find.  It will search and expand collapsed nodes.

 Search Backward finds the previous node whose name matches the search string in Find.  It will search collapsed nodes.


Toolbar

To use the tools in the Toolbar, click on one or more objects in the outline view to select them, then click on the desired tool.  The action represented by that tool will be performed on the selected objects.


Object tree

The Object tree is the area that displays a listing of objects in the current session.  This listing consists of nodes, each representing an object or type of object.


Nodes

Each object or object type in your current session--from each open report or template, to the objects in each report--is represented in the Object Navigator by a node.  (A node is any selectable line in the Object Navigator.)

Each node in the Object Navigator consists of some or all of the following:

•	a plus or minus indicating the node’s expansion status

•	a PL/SQL icon ( [image] or [image]) representing the object’s PL/SQL

•	an object node or editor view icon representing the object’s properties (e.g., [image]) or a view in the Report Editor (e.g., [image])

•	a name or heading (e.g., Q_Emp or Data Model)


Plus/Minus

Indicates the expansion status of the node:

•	A plus indicates that the node has other nodes underneath it, but they are not currently displayed.  A plus can be clicked to display its child nodes.  If the plus is greyed out, it means that the node could contain other nodes but currently doesn't.

•	A minus indicates that the node has other nodes underneath it and they are currently displayed.  A minus can be clicked to collapse all of its currently displayed child nodes.


PL/SQL icon

Indicates that the object can have PL/SQL associated with it [image] and whether it currently has a program unit defined [image].  To display the Program Unit Editor with the object's program unit in it, double-click on the PL/SQL icon.


Object type or editor view

Indicates the type of object or editor represented by the node; e.g., a node representing a parameter will display [image] and the Layout Model view heading node will display [image].  To display the Property Palette for an object, double-click its object icon.  To display an editor view, double-click the editor view icon.  Use the Navigator [image] Navigator Options to show or hide these icons.


Object name or heading

Is the name of the object represented by the node or a heading node.  Object nodes represent specific objects found in open reports or templates, e.g., F_1, M_GRPFR_Dept, or B_Rectangle.  When you select an object node in the Object Navigator, the object is also selected in the appropriate view of the Report or Template Editor, if the editor is already open.  Heading nodes denote types of objects or properties, e.g., Reports, Frames, and Graphical Boilerplate are all heading nodes.  These headings precede the nodes representing objects and are used in navigation.

Clicking on the name or heading selects the node.  If the node is already selected, a single click on the name places it in edit mode, and you can edit the name of the object (you cannot edit headings).  Clicking outside the object deactivates edit mode and updates the edited name in all appropriate places (e.g., the layout and the object's properties).  Similarly, if you change the object's name elsewhere, it will automatically be updated in the Object Navigator.

Note: If the name in the Object Navigator is in edit mode but edited elsewhere, the name will not get updated in the Object Navigator.  Instead, the name in the Object Navigator takes precedence and the object's final name will be that which is in the Object Navigator at the time edit mode is deactivated.


Views

  Related Topics

The Object Navigator enables you to view objects by ownership hierarchy or by object type.

View [image] Ownership View displays objects in a parent-child hierarchy.  For example, a query’s columns would appear underneath the query and a field would appear underneath the repeating frame that encloses it.  This view can be a useful debugging tool because it enables you to easily see the relationships between objects.

View [image] Object Type View displays objects by their type.  For example, all queries would appear underneath the Queries heading and all database columns underneath the Database Columns heading.  This view can be useful when you want to quickly find objects in the Object Navigator.


Parameter Form view

  Related Topics

The Parameter Form view is the work area in which you define the format of the report's Runtime Parameter Form.  To do this, you define and modify parameter form objects (fields and boilerplate).

When you run a report, Report Builder uses the Parameter Form view as a template for the Runtime Parameter Form.  Fields and boilerplate appear in the Runtime Parameter Form exactly as they appear in the Parameter Form view.   If you do not define a Runtime Parameter Form in the Parameter Form view, Report Builder displays a default Parameter Form for you at runtime.

Access

Painting region

Object representation

Rulers

Grid

Toolbar

Stylebar

Tool palette

Status bar


Description

The Parameter Form view is the work area in which you define the format of the report's Runtime Parameter Form.  To do this, you define and modify parameter form objects (fields and boilerplate).

When you run a report, Report Builder uses the Parameter Form view as a template for the Runtime Parameter Form.  Fields and boilerplate appear in the Runtime Parameter Form exactly as they appear in the Parameter Form view.   If you do not define a Runtime Parameter Form in the Parameter Form view, Report Builder displays a default Parameter Form for you at runtime.


Access

There are several ways that you can access the Parameter Form view:

•	Click the Parameter Form tool.

•	Choose View [image] Parameter Form.

•	From the Windows menu, select a window with the Parameter Form in it.

•	From the Object Navigator, double-click the Parameter Form node's icon.


Painting region

The painting region is the area in which you can create, modify, position, or delete objects while viewing their graphical representations on the screen.  The painting region of the Parameter Form view is comprised of physical pages.  A physical page of the parameter form is a window of information that can contain boilerplate text and graphics, and fields.

When you first enter the Parameter Form view, you are placed on the first physical page.  You can navigate to other pages of your parameter form by scrolling down.  Pages are separated by dark lines in the editor.

You specify the size of each parameter form page and the number of pages using the Report property sheet (double-click the report's node in the Object Navigator).  The Parameter Form view will display as many pages vertically as you have specified, separating each page by a horizontal line. Objects that span pages will only appear on the first page of the Runtime Parameter form and will be truncated.


Object representation

The Parameter Form objects that you can create in the painting region are:  fields and boilerplate.

You can cut, copy, paste, and duplicate objects in the Parameter Form view, but only the graphical representations of the objects are copied.  The property sheet settings are not copied with the objects.

To see an object's settings, you must open its property sheet by double-clicking the object.


Rulers

Rulers are located around the left and top edges of the painting region. Rulers are initially showing in the Parameter Form view.  To hide rulers, deselect the Rulers menu option in the View menu.

Units  You can set the unit of measurement of the ruler to any of the following, by selecting Format [image] Layout Options [image] Rulers:

•	inches

•	centimeters

•	points

•	character cells

When you change a report's Unit of Measurement property, the ruler units are updated to reflect the Unit of Measurement.  When you set Design in Character Units to Yes, the ruler units are changed to character cells.

Markers  Markers move along both of the rulers to track your cursor location in the painting region.  The rulers scroll along with the painting region.  Likewise, when you magnify part of the painting region, the rulers are updated to reflect the magnification.

Ruler Guides  Ruler guides provide you with a point of reference for creating and modifying objects.  To create a ruler guide, click one of the rulers and drag into the painting region.

Note: To hide rulers and ruler guides, deselect the Rulers and Ruler Guides menu options in the View menu.  To show rulers and ruler guides, select these menu options.


Grid

Inside the painting region is a grid to help you position objects in the painting region.  The grid is drawn in relationship to the rulers.  Choose Format [image] Layout Options [image] Rulers to specify the interval at which grid lines appear per unit on the ruler.  For example, if you have a Unit of inches and a Grid Spacing of 0.5, there will be one grid line per half-inch on the ruler.


Toolbar

To use the tools in the toolbar, click the desired tool to perform the action.  If the tool is designed to perform an action on objects, it appears grayed out until one or more objects are selected.  Then clicking the tool performs the action on the selected object(s).


Stylebar

To use the tools in the stylebar, select one or more objects, then click the desired tool.  The action represented by the tool will be performed on the selected objects. Tools typically available on the stylebar let you change the font, font style, size and justification of the selected object.


Tool palette

The tool palette is a set of tools you can use to create and manipulate objects.  Click a tool to activate it for a single operation, or double-click a tool to "lock" it for multiple operations.

The tools in the tool palette vary depending on the Report Editor view.  Click a tool on the Parameter Form view tool palette to learn about its features.


Status bar

In the Parameter Form view, the status bar displays the following information:

•	absolute mouse position (in pixels, inches, or centimeters)

•	mouse drag distance (in pixels, inches, or centimeters)

•	rotation angles

•	magnification level


Template Editor

  Related Topics

The Template Editor is a work area in which you can define objects and formatting properties for your templates.  It is similar to the Layout Model view of the Report Editor.  You can create, delete, and modify objects (e.g., page numbers, text, and graphics) in the margin area.  You cannot create and delete objects in the body area, but you can modify the properties of body objects in the Property Palette (Tools [image] Property Palette).

Usage Notes

Access

Painting region

Report Styles

Object representation

Rulers

Grid

Status bar


Description

  Related Topics

The Template Editor is a work area in which you can define template objects and formatting properties.  It is similar to the Layout Model view of the Report Editor.  You can create, delete, and modify objects (e.g., page numbers, text, and graphics) in the margin area.  You cannot create and delete objects in the body area, but you can modify the properties of body objects in the Property Palette (Tools [image] Property Palette).


Usage notes

  Related Topics

•	When you are working in the Template Editor, you can define default attributes for all report styles, or override attributes for a selected report style.

•	When creating a template, modify the default attributes to get the look and feel right for most cases.  Then modify override attributes to tweak the changes for specific report styles.

•	Use the Object Navigator for modifying the template’s report properties, system parameters, user parameters, program units, attached libraries, and report triggers.

•	When creating an object in the margin area, you should assign it a name that you are certain will be unique in any report to which the template is applied.  For example, if you were to create a boilerplate object named B_1 in a template, this name could easily clash with the name of an existing boilerplate object in a report when you apply the template to a report.  To avoid this problem, append something to the template object name to ensure it is unique (e.g., $MY_TEMPLATE_BPLATE1).


Access

You can access the Template Editor in the following ways:

•	From the Windows menu, choose a window with the Template Editor Layout Model view in it.

•	In the Object Navigator, double-click the Layout Model node icon for a template.


Painting region

  Related Topics

The painting region is the area in which you can modify objects while viewing their graphical representations on the screen.  There are two regions in the Template Editor:

•	body

•	margin

To navigate between report regions, click the corresponding icon in the toolbar.


Body

The formatting characteristics (e.g., font and color) of objects in the body area of a template are inherited by the objects in the body area of any report to which you apply the template.  Objects in the body area of a template are placeholders for the types of objects that would appear in a report layout of that style.


Margin

Objects in the margin area of a template will be imported into the margin area of any report to which you apply the template.  You can define text, graphics, and fields whose source is a system parameter (e.g., Current Date or Page Number) in the margin.


Report Styles

To toggle the body area between views of the different report styles, use the Report Styles list at the top of the Template Editor.


Object representation

Objects in the body are only provided as an example of how visual attributes will be applied to the objects in a report.  Objects in the margin area will appear in the report as they do in the template.  To view or change an object's settings, display the Property Palettec_ppinvoke.


Rulers

Rulers are located around the left and top edges of the painting region.  Rulers are initially shown in the Layout Model view.  To hide rulers, deselect the Rulers menu option in the View menu.  When you change a template's Unit of Measurement property (double-click the template icon in the Object Navigator), the ruler units are updated to reflect the Unit of Measurement.  When you set Design in Character Units to Yes, the ruler units are changed to character cells.

Markers  Markers move along both of the rulers to track your cursor location in the painting region.  The rulers scroll along with the painting region.  Likewise, when you magnify part of the painting region, the rulers are updated to reflect the magnification.

Ruler Guides  Ruler guides provide you with a point of reference for creating and modifying objects.  To create a ruler guide, click on one of the rulers and drag into the painting region.  To get rid of a ruler guide, drag it back into the ruler.  To hide all ruler guides, deselect the Ruler Guides menu option in the View menu.  To show rulers and ruler guides, select these menu options.


Grid

Inside the painting region is a grid to help you position objects in the painting region.  The grid is drawn in relationship to the rulers.  From the Ruler Settings dialog box, you specify the interval at which grid lines appear per unit on the ruler.  For example, if you have a Unit of inches and a Grid Spacing of 0.5, there will be one grid line per half-inch on the ruler.


Status bar

In the Layout Model view, the status bar displays the following information:

•	absolute mouse position (in pixels, inches, or centimeters)

•	mouse drag distance (in pixels, inches, or centimeters)

•	rotation angles

•	zoom levels

•	anchor percentages


Built-in Packages examples
Built-in package examples

  Related Topics 	  All Examples

Report Builder built-in package examples

Other built-in package examples


Report Builder built-in package examples

  Related Topics 	  All Examples

There is only one Report Builder built-in package:

SRW


SRW built-in package examples

  Related Topics 	  All Examples

Dynamic SRW.SET_HYPERLINK example

Dynamic SRW.SET_LINKTAG example

SRW.CONTEXT_FAILURE example

SRW.DO_SQL example

SRW.DO_SQL_FAILURE example

SRW.GET_PAGE_NUM example

SRW.GETERR_RUN example

SRW.INTEGER_ERROR example

SRW.MAXROW_INERR example

SRW.MESSAGE example

SRW.NULL_ARGUMENTS example

SRW.PROGRAM_ABORT example

SRW.REFERENCE example

SRW.RUN_REPORT example

SRW.RUN_REPORT_BATCHNO example

SRW.RUN_REPORT_FAILURE example

SRW.SET_ATTR

SRW.SET_AFTER_PAGE_HTML examples

SRW.SET_AFTER_REPORT_HTML examples

SRW.SET_DISPLAY_NAME example

SRW.SET_FIELD_CHAR example

SRW.SET_FIELD_DATE example

SRW.SET_FIELD_NUM example

SRW.SET_HYPERLINK example

SRW.SET_HYPERLINK_ATTRS example

SRW.SET_LINKTAG example

SRW.SET_MAXROW example

SRW.SET_PDF_ACTION example

SRW.SET_PRINTER_TRAY example

SRW.UNKNOWN_QUERY example

SRW.UNKNOWN_USER_EXIT example

SRW.USER_EXIT example

SRW.USER_EXIT_FAILURE example


SRW.SET_ATTR

  Related Topics	  All Examples

SRW.SET_ATTR character mode example

SRW.SET_ATTR format mask example

SRW.SET_ATTR set field color example

SRW.SET_ATTR set field text example

SRW.SET_ATTR set vertical spacing example

Web link examples


Call interface examples

  Related Topics 	  All Examples

Ada example

C example

COBOL example

FORTRAN example

Pascal example

PL/I example


Distribution examples

  Related Topics 	  All Examples

.DST file example


Data Model examples

  Related Topics 	  All Examples

Break order examples

Column examples

Data link examples

Group examples

Matrix example

Query examples


Break Order examples

  Related Topics 	  All Examples

Break Order example (descending)

Break Order example (ORDER BY)


Column examples

  Related Topics 	  All Examples

Formula column

Formula for adding values example

Formula with condition example

PL/SQL example (referencing PL/SQL function in formulas)

Product Order example (formula)

Read from File example (formula column)

Summary column

Compute At example (group report)

Compute At example (matrix report)

Product Order example (multiple group)

Product Order example (single group)


Group examples

  Related Topics 	  All Examples

Child Dimension example (set to No)

Child Dimension example (set to Yes)

Filter Type example

Outer XML Tag example

Outer XML Attributes example

Reset At example (group)

XML Tag example

XML Tag Attributes example (group level)


Data link examples

  Related Topics 	  All Examples

START WITH Link example

WHERE Clause Link example


Query examples

  Related Topics 	  All Examples

SQL query examples

Bind reference examples

Lexical reference examples

Read from File example (image)

SELECT INTO statement example

SELECT statement example (first query multi-group above report)

SELECT statement example (nested matrix)

SELECT statement example (second query multi-group above report)

SELECT statement with Parameter Reference example

SELECT statement with WHERE clause example

SQL Query statement example

SQL Query statement with bind and lexical references example

SQL Query statement with lexical reference example

Ref cursor query examples

Package with ref cursor and function example

Package with ref cursor example

Ref cursor query calling function example

Ref cursor query example


E-mail examples

  Related Topics 	  All Examples

MAPI (Windows) e-mail batch mode example (recipient with apostrophe in name)

MAPI (Windows) e-mail batch mode example (recipients by first and last names)

MAPI (Windows) e-mail example (recipient with apostrophe in name)

MAPI (Windows) e-mail example (recipients by first and last names)

Oracle*Mail (UNIX) e-mail example (multiple recipients)


Express examples

  Related Topics 	  All Examples

RWBLD60 examples

EXPRESS_SERVER with userid, password, and domain example

EXPRESS_SERVER without userid, password, and domain example

RWRUN60 examples

EXPRESS_SERVER with userid, password, and domain example

EXPRESS_SERVER without userid, password, and domain example


Layout Model examples

  Related Topics 	  All Examples

Anchor examples

Boilerplate examples

Chart example

Common layout object examples

Field examples

Frames and Repeating Frames examples

Link File examples


Common layout object examples

  Related Topics 	  All Examples

Page Protect

Page Protect example (group report)

Page Protect example (large object)

Page Protect example (small object)

Vertical Elasticity

Vertical Elasticity example (expand)

Vertical Elasticity example (variable)

Web link

Web link examples


Anchor examples

  Related Topics 	  All Examples

Centering fields horizontally example

Centering fields vertically example

Collapse Vertically and Horizontally example (field)

Collapse Vertically example (field)

Keep with Anchoring Object example


Boilerplate examples

  Related Topics 	  All Examples

Line Stretch with Frame example (grid)

Minimum Widow Lines example (set to 1 vs. 2)

ObjectWidth and ObjectHeight output to HTML example

Print Object On example (overflow)

Web link examples


Field examples

  Related Topics 	  All Examples

Format Masks examples

Hidden Field Reference example

Horizontal Elasticity example (field)

Page Numbering example (Page N of Total Pages)

Page Numbering example (pages in body)

Page Numbering example (repeating frame instances)

Source example

Web link examples


Link File examples

  Related Topics 	  All Examples

Print Object On example (all)

URL example (link to image)


Frames and Repeating Frames examples

  Related Topics 	  All Examples

Column Mode example

Horizontal Elasticity example (frame)

Maximum Records Per Page example

Minimum Widow Records example

Page Protect example (group report)

Print Direction example (across/down)

Printer Code Special Font example


Printing examples

  Related Topics 	  All Examples

Property Palette settings examples

Horizontal/Vertical Panels per Page example

Print Direction example (across/down)

Print Object On example (all)

Print Object On example (overflow)

Printer Definition examples

dec180.prt example

declno3.prt example

dflt.prt example

hplwide.prt example

psport85.prt example

Printer examples

Printer Code Special Font example

PRINTER_INTRAY example

SRW.SET_ATTR example (switching printer trays)

SRW.SET_PRINTER_TRAY example


Examples

 Alphabetic list

Built-in packages examples

Call interface examples

Data Model examples

Distribution examples

E-mail examples

Express examples

Font mapping example

Interpreter commands examples

Layout Model examples

Oracle8 examples

Parameter Form examples

PL/SQL V1 conversion examples

Printing examples

Query Builder examples

Trigger examples

User exit examples

Web report examples

XML examples


Trigger examples

  Related Topics 	  All Examples

Report trigger examples

Data trigger examples

Layout trigger examples


Report trigger examples

  Related Topics 	  All Examples

Between Pages trigger

SRW.SET_PRINTER_TRAY

Set Attributes procedures

SRW.SET_BEFORE_REPORT_HTML example

SRW.SET_AFTER_REPORT_HTML example

SRW.SET_BEFORE_PAGE_HTML example

SRW.SET_AFTER_PAGE_HTML example

SRW.SET_BEFORE_FORM_HTML example

SRW.SET_AFTER_FORM_HTML example

SRW.SET_ATTR (pre-Release 2.1 for backward compatibility)

Before and after page escape example

Before and after report escape example

Graphic page separator example

Links to home pages example


Data trigger examples

  Related Topics 	  All Examples

Group filter

Group filter example

Ref cursor query

Package with ref cursor example

Package with ref cursor and function example

Ref cursor example

Ref cursor query example

Ref cursor query calling function example

Formula

Formula for adding values example

Formula with condition example

Validation trigger

Validation trigger example


Layout trigger examples

  Related Topics 	  All Examples

Action trigger

Action trigger example

Format trigger

Format trigger example (highlighting a value)

Format trigger example (placing a common between fields)

Format trigger example (suppressing labels)

Format trigger example (suppressing values)

Format trigger example (inserting blank lines between groups of rows)

SRW.SET_ATTR character mode example

SRW.SET_ATTR format mask example

SRW.SET_ATTR set field color example

SRW.SET_ATTR set field text example

SRW.SET_ATTR vertical spacing example

SRW.SET_ATTR Web link examples

Set Attributes procedures

Dynamic SRW.SET_BOOKMARK example

Dynamic SRW.SET_HYPERLINK example

Dynamic SRW.SET_LINKTAG example

SRW.SET_BOOKMARK example

SRW.SET_HYPERLINK example

SRW.SET_LINKTAG example

SRW.SET_PDF_ACTION example


User exits examples

  Related Topics 	  All Examples

Complete user exit example

SRW.USER_EXIT example

SRW.USER_EXIT_FAILURE example

SRW.USER.UNKNOWN_USER_EXIT examples

User exit example

User exit call example


Web report examples

  Related Topics 	  All Examples

Property Palette settings examples

Set Attributes procedures examples

SRW.SET_ATTR examples (pre-Release 2.1 for backward compatibility)


Property Palette settings examples

  Related Topics 	  All Examples

Web Link

Web link examples

HTML document and page headers and footers

After Page Value example (insert GIF)

After Report Value example (append text)

After Report Value example (links to home pages)

Before Page Value example

Before Report Value example

HTML Parameter Form

After Form Value example (append text)

Before Form Value example

Boilerplate text object example

Default input to uppercase example

Data input validation example

Select validation example


Web Link examples (Property Palette)

  Related Topics 	  All Examples

Application Command Line

Application Command Line example

Bookmark

Bookmark example (dynamic bookmark string)

Bookmark example (with indentation/ordering)

Bookmark example (ordered bookmark list)

Bookmark example (ordered bookmark list, indented)

Bookmark example (static bookmark string)

Hyperlink

Chart Hyperlink example

Additional Hyperlink Attributes examples

Hyperlink example (dynamic)

Hyperlink example (hyperlink to HTML document on remote server)

Hyperlink example (hyperlink to script on remote server)

Hyperlink example (static)

Hyperlink Destination

Hyperlink Destination example (dynamic)

Hyperlink Destination example (static)


Set Attributes procedures examples

  Related Topics 	  All Examples

Web link examples

Web link examples

HTML document and page headers and footers examples

SRW.SET_AFTER_PAGE_HTML example

SRW.SET_AFTER_REPORT_HTML example

SRW.SET_BEFORE_PAGE_HTML example

SRW.SET_BEFORE_REPORT_HTML example

HTML Parameter Form headers and footers examples

SRW.SET_AFTER_FORM_HTML example

SRW.SET_BEFORE_FORM_HTML example


Web link examples (Set Attributes)

  Related Topics 	  All Examples

SRW.SET_PDF_ACTION

SRW.SET_PDF_ACTION example

SRW.SET_BOOKMARK

Dynamic SRW.SET_BOOKMARK example

SRW.SET_BOOKMARK example

SRW.SET_HYPERLINK

Dynamic SRW.SET_HYPERLINK example

SRW.SET_HYPERLINK example

SRW.SET_LINKTAG

Dynamic SRW.SET_LINKTAG example

SRW.SET_LINKTAG example


SRW.SET_ATTR examples (pre-Release 2.1 for backward compatibility)

  Related Topics 	  All Examples

Web link examples

Web link examples

HTML document and page headers and footers examples

Before and after page escape example

Before and after report escape example

Links to home pages examples


Web link examples (SRW.SET_ATTR)

  Related Topics 	  All Examples

ACTION

ACTION example

BOOKMARK

BOOKMARK example

Dynamic BOOKMARK example

HYPERLINK

Dynamic HYPERLINK example

HYPERLINK example

LINKTAG

Dynamic LINKTAG example

LINKTAG example


XML examples

  Related Topics 	  All Examples

XML Property examples

Exclude from XML Output example (limit data output)

Exclude from XML Output example (limit redundancy)

Contains XML Tags example

Outer XML Attributes example

Outer XML Tag example

XML Prolog Value example (prolog type: file)

XML Prolog Value example (prolog type: text)

XML Tag Attributes example (group level)

XML Tag Attributes example (report-level)

XML Tag example


Executable names

  Related Topics

Letters are appended to the executable names listed above to indicate if the GUI mode of the executable is something other than the native GUI.  For example, "a" indicates a GUI mode of Apple MacIntosh and "m" a GUI mode of Motif.  (No added letter means the executable's GUI mode is the native GUI.)  In addition, an "x" is used to indicate if user exits are linked to the executable.


Executable invocation

  Related Topics

Executables can be invoked in one of two ways:

•	by command line

•	by double-clicking the executable’s icon

Executable Arguments  When you invoke an executable, you can enter executable arguments that govern how the executable behaves.  If you invoke the executable via command line, you enter the executable arguments on the command line after the executable name.


Help on command line options

  Related Topics

If you are on a command line, you can view an executable's command line options by typing the executable's name, then a space and a question mark, and then pressing Return.  For example, rwrun60 "?".

Note:  Some operating systems require quotes around the question mark.  For example, to view the command line options for the RWRUN60 executable in the UNIX C shell, you need to enter rwrun60 "?".


Executable syntax restrictions

  Related Topics

•	When you enter an executable on the command line, it generally has the form shown below:

executable_name  keyword1=value1  keyword2=value2 ...

•	If your operating system does not have a command line available (e.g., Apple Macintosh or Windows) and you invoke the executable via icon, an intermediary dialog box may appear where you can enter values for the executable arguments or you may need to use the Runtime Values and Runtime Parameters tab on the Preferences dialog box (Tools [image] Preferences) for executable arguments.

•	Each keyword=value is called an executable argument.  Because it would be cumbersome to enter the keywords each time, they may be omitted.

•	No spaces should be placed before or after the equal sign of an argument.

•	Separate arguments with one or more spaces; do not use commas to separate arguments.

•	Values of arguments may be in single or double quotes.  The effect of single or double quotes is operating system-specific.

•	The keyword= part of all arguments is not case sensitive.  The value portion of the SOURCE, DEST, CMDFILE, TERM, DESNAME, DESFORMAT, DNAME, and SNAME arguments may be case sensitive, depending on your operating system.  The value portion of all other arguments is not case sensitive.

•	Keywords may sometimes be omitted.

•	To pass a single quote from the command line, you must enter two quotes (one quote as an escape and one as the actual quote).  For example:

rwrun60 module=myrep destype=file desname=run.out batch=yes
p_value="Roy''s Batch Report"

To pass a parameter value with a single quote in it using the Forms RUN_PRODUCT packaged procedure, you must enter four single quotes (PL/SQL collapses two quotes to one and so does Report Builder).  For example, if you wanted to pass the following literal value to a Reports' parameter:

where '='

you would enter the following string in RUN_PRODUCT:

'where ''''='''''

•	To give an argument an empty string as its value, you enter keyword= or keyword="".  If you enter an empty string in this way, the Runtime Parameter Form will display an empty string for the argument instead of its Initial Value.

•	Full pathnames are supported for all file references (e.g., desname=/revenues/q1/nwsales).  If you do not specify the full path, the file path search order is used to find the file.  Note: To help ensure the portability of your reports, you can use the environment variable REPORTS60_PATH for referencing reports, external queries, external PL/SQL libraries, text files, graphics, etc.  REPORTS60_PATH enables you to access files stored outside of Report Builder or Reports Runtime without hardcoding directory paths into your report.

•	Values entered from the Runtime Parameter Form override those entered on the command line.  For example, if you specified RWRUN60 on the command line with COPIES equal to 1, but, in the Runtime Parameter Form, specified COPIES equal to 2, then two copies of the report would be generated.

Similarly, values entered on the command line override values specified in command files.  For example, suppose that you specify RWRUN60 from the command line with COPIES equal to 1 and CMDFILE equal to RUNONE (a command file).  In RUNONE, COPIES is set to 2 by a RWRUN60 command.  Only one copy of the report would be generated in this case.

You can specify values for DESTYPE, DESNAME, DESFORMAT, ORIENTATION, and COPIES in a number of different places.  The following list shows the order of precedence for the places where you specify these values.  The first item in the list takes precedence over all others, the second takes precedence over all but the first item, and so on:

•	Print Job dialog box

•	Runtime Parameter Form

•	Runtime Parameters/Settings tab of Tools Options or Runtime Options dialog box

•	keywords on the command line

•	values specified in the report definition

•	Choose Printer dialog


Keyword usage

The keyword= part of each argument is optional as long as the arguments are entered in the order specified by the syntax.  If you skip one of the arguments, you must use keywords after the skipped argument.

If an executable has four arguments and you want to specify only the first, second, and fourth arguments, you can specify the first two without the keywords.  The fourth would require a keyword, though, because you are not entering it in the order specified by the syntax.

Examples (Valid):

Below are examples of valid command line sequences:

rwrun60 userid=scott/tiger paramform=no destype=mail
  desname=rmiller

rwrun60 scott/tiger no destype=mail desname=rmiller

Notice that, in this example, after the keyword DESTYPE is used all subsequent arguments use keywords, too.  Once you have entered a keyword, the rest of the arguments on the command line must also use keywords.

Examples (Invalid):

Below are examples of invalid command line sequences:

rwrun60 paramform=no scott/tiger destype=mail
  desname=rmiller

The sequence above is invalid because scott/tiger has been typed out of order and without the USERID keyword.

rwrun60 scott/tiger mail rmiller no

The sequence above is invalid because the value NO has been entered out of order and without the PARAMFORM keyword.


Database logon

  Related Topics

You can connect to a database in the following ways:

•	Explicit logon

•	Automatic logon

•	Remote logon


Explicit logon

You explicitly login to the database by using the USERID keyword, or by choosing File [image] Connect.


USERID

Description  USERID is your ORACLE username and password with an optional database name, Net8 communication protocol to access a remote database, or ODBC datasource name (if accessing a non-Oracle datasource.

For more information about the optional Net8 communication protocol, see "Remote Logon".  For more information about automatic logon, see "Automatic Logon".

Values

The database connection string must be in one of the following forms and cannot exceed 512 bytes in length:

username[/password]

username[/password][@database]

[user[/password]]@ODBC:datasource[:database] or [user[/password]]@ODBC:*


Automatic logon

The ORACLE automatic logon feature allows you to connect to the database without explicitly stating a username and password.

When you connect in this way, ORACLE uses a default logon (e.g., OPS$) to associate your ORACLE username to your operating system username.  To invoke an automatic logon procedure, do one of the following:

•	Type rwconv60 / on the command line.

•	Type a slash (/ ) in the logon screen as your username.

•	Omit your username/password on the command line and press the Return or Enter key twice when the logon form appears.

Note:  When logging on in this way, you can access a remote logon by typing @database after the slash.

For more information on default logons, see the ORACLE8 Server SQL Language Reference Manual.


Remote logon

Through Net8, you can specify a remote database (i.e., one not on your computer).  When you use the remote logon feature, the remote database is transparent to you.  Refer to the Oracle Net8 documentation  for more information.

Usage Notes

•	To perform a remote connect, you must have an account on the remote computer node where the target database resides.


RWBLD60

  Command Line Arguments 	  Related Topics

Description  RWBLD60 invokes Report Builder, to create and maintain reports.

Syntax

RWBLD60 [ [keyword=]value ] ...

where keyword=value is a valid command line argument.


RWBLD60 Command Line Arguments

[MODULE|REPORT=]modulename

[USERID=]userid

[PARAMFORM=]{YES|NO}

[CMDFILE=]filename

[ARRAYSIZE=]n

[DESTYPE=]{SCREEN|FILE|PRINTER|PREVIEW|MAIL}

[DESNAME=]desname

[DESFORMAT=]desformat

[COPIES=]n

[CURRENCY=] currency_symbol

[THOUSANDS=] thousands_symbol

[DECIMAL=] decimal_symbol

[READONLY=]{YES|NO}

[BUFFERS=]n

[PAGESIZE=]width x height

[PROFILE=]profiler_file

[RUNDEBUG=]{YES|NO}

[ONSUCCESS=]{COMMIT|ROLLBACK|NOACTION}

[ONFAILURE=]{COMMIT|ROLLBACK|NOACTION}

[ERRFILE=]error_file

[LONGCHUNK=]n

[ACCESS=]{file|database}

[ORIENTATION=]{DEFAULT|LANDSCAPE|PORTRAIT}

[BACKGROUND=]{YES|NO}

[MODE=]{BITMAP|CHARACTER|DEFAULT}

[PRINTJOB]{YES|NO}

[TRACEFILE=]tracefile

[TRACEMODE=]{TRACE_APPEND|TRACE_REPLACE}

[TRACEOPTS=]{TRACE_ERR|TRACE_PRF|TRACE_BRK|TRACE_APP|
TRACE_PLS|TRACE_SQL|TRACE_TMS|TRACE_DST|TRACE_ALL|(opt1, opt2,...)}

[AUTOCOMMIT=]{YES|NO}

[NONBLOCKSQL=]{YES|NO}

[ROLE=]rolename/[rolepassword]

[BLANKPAGES=]{YES|NO}

[MAXIMIZE=]{YES|NO}

[DISABLEPRINT=]{YES|NO}

[DISABLEMAIL=]{YES|NO}

[DISABLEFILE=]{YES|NO}

[DISABLENEW=]{YES|NO}

[DISTRIBUTE=]{YES|NO}

[DESTINATION=]filename.DST

[CACHELOB=]{YES|NO}

[DELIMITER=]value

[CELLWRAPPER=]value

[NUMBERFORMATMASK=]mask

[DATEFORMATMASK=]mask

[PAGESTREAM=]{YES|NO}

[EXPRESS_SERVER=]"server=[server]/domain=[domain]/user=[userid]/password=[passwd]"

[CUSTOMIZE]=filename.xml | (filename1.xml, filename2.xml, . . .)

[SAVE_RDF]=filename.rdf

<param>=value


MODULE/REPORT
MODULE|REPORT

  RWBLD60 Overview

Description  MODULE|REPORT is a module (report, external query, or external PL/SQL library) that you want to open in Report Builder.  (REPORT is allowed for backward compatibility.)  If you do not specify a report using MODULE|REPORT, Report Builder will start up with a new report definition open.

Syntax

[MODULE|REPORT=]runfile

Values

Any valid report, XML report definition (.XML file), external query, or external PL/SQL library name.  Report Builder will look in the location specified with the ACCESS keyword for the module.  If ACCESS is not specified, Report Builder will use its file path search order.  If the module is not found, Report Builder will start up without opening the specified module.

Usage Notes

•	If you open a character mode report via bit-mapped RWBLD60, Report Builder displays a warning, then opens the report using a page size of 8.5" x 11" and a form size of 7" x 6".

•	To run the report (e.g., display it in the Live Previewer), it must be a complete report definition (i.e., contain its own data model and layout definition). You cannot run a partial report definition.

•	An XML report definition must have an .XML file extension when specified with the MODULE|REPORT keyword.


PARAMFORM

  RWBLD60 Overview

Description  PARAMFORM specifies whether to display the Runtime Parameter Form when you execute a report.

Syntax

[PARAMFORM=]{YES|NO}

Values

YES means to display the Form.

NO means to suppress the Form.

Default

YES


CMDFILE

  RWBLD60 Overview

Description  CMDFILE is a file that contains arguments for the RWBLD60 command.  This option enables you to run a report without having to specify a large number of arguments each time you invoke RWBLD60.

Syntax

[CMDFILE=]cmdfile

Values

Any valid command file.

Usage Notes

•	A command file may reference another command file.

•	Command file syntax for RWBLD60 arguments is identical to that used on the command line.

•	Values entered on the command line override values specified in command files.  For example, suppose that you specify RWBLD60 from the command line with COPIES equal to 1 and CMDFILE equal to RUNONE (a command file).  In RUNONE, COPIES is set to 2.  Only one copy of the report would be generated in this case.  For more information, see Executable Syntax Restrictions.

•	The argument(s) for this keyword may be operating system-specific.


ARRAYSIZE

  RWBLD60 Overview

Description  ARRAYSIZE is the size of the array in kilobytes for use with ORACLE array processing.

Syntax

[ARRAYSIZE=]n

Values

A number from 1 through 9,999.  This means that Report Builder can use this number of kilobytes of memory per query in your report.

Default

The default arraysize is 10.  For details on ORACLE array processing, see the Oracle8 Server Administrator's Guide.


DESTYPE

  RWBLD60 Overview

Description  DESTYPE is the type of destination device that will receive the report output.

Syntax

[DESTYPE=]{SCREEN|FILE|PRINTER|PREVIEW|MAIL}

Values

SCREEN	Routes the output to the Previewer.
FILE	Saves the output to a file named in DESNAME.
PRINTER	Routes the output to the printer named in DESNAME.
PREVIEW	Routes the output to the Previewer for interactive viewing.  However, Preview causes the output to be formatted as PostScript output.  The Previewer will use DESNAME to determine which printer's fonts to use to display the output.
MAIL	Sends the output to the mail IDs specified in DESNAME.  You can send mail to any mail system that is MAPI-compliant or has the service provider driver installed.  The report is sent as an attached file.
Default

Taken from the Initial Value property of the DESTYPE parameter.

Usage Notes

•	SYSOUT is not a valid option for DESTYPE while using RWBLD60.  SYSOUT can only be used with RWRUN60 when BATCH=YES.

•	If you set DESTYPE to PRINTER, FILE, or MAIL, the Print Job dialog box will appear after you accept the Runtime Parameter Form, unless it is suppressed.  After you accept the Print Job dialog box, the report is executed and the output is sent to the  printer (specified in File [image] Choose Printer), file, or mail ID.  (If DESTYPE is something other than PRINTER, FILE, or MAIL, then the report is executed after you accept the Runtime Parameter Form.)  The appearance of the dialog box varies between operating systems.

•	In some cases, this parameter may be overridden by your operating system.

•	Some DESTYPE values are not supported on some operating systems.


DESNAME

  RWBLD60 Overview

Description  DESNAME is the name of the file, printer, or email ID (or distribution list) to which the report output will be sent.  To send the report output via email, specify the email ID as you do in your email application (any MAPI-compliant application on Windows or your native mail application on UNIX).  You can specify multiple usernames by enclosing the names in parentheses and separating them by commas (e.g., (name, name, . . .name)).

Syntax

[DESNAME=]desname

Values

Any valid filename, printer name, or email ID not to exceed 1K in length.  For printer names, you can optionally specify a port.  For example:

DESNAME=printer,LPT1:

DESNAME=printer,FILE:

Default

Taken from the Initial Value property of the DESNAME parameter.  If DESTYPE=FILE and DESNAME is an empty string, it defaults to reportname.lis at runtime.

Usage Notes

•	This keyword is ignored if DESTYPE is SCREEN.

•	If DESTYPE is PREVIEW, Report Builder uses DESNAME to determine which printer's fonts to use to display the output.

•	The argument(s) for this keyword may be case sensitive, depending on your operating system.

•	In some cases, this parameter may be overridden by your operating system.


DESFORMAT

  Related Topics	  RWBLD60 Overview

Description  In bit-mapped environments, DESFORMAT specifies the printer driver to be used when DESTYPE is FILE.  In character-mode environments, it specifies the characteristics of the printer named in DESNAME.

Syntax

[DESFORMAT=]desformat

Values

Any valid destination format not to exceed 1K in length.  Examples of valid values for this keyword are hpl, hplwide, dec, decwide, decland, dec180, dflt, wide, etc.  Ask your System Administrator for a list of valid destination formats.

PDF	Means that the report output will be sent to a file that can be read by a PDF viewer.  PDF output is based upon the currently configured printer for your system.  The drivers for the currently selected printer is used to produce the output; you must have a printer configured for the machine on which you are running the report.
HTML	Means that the report output will be sent to a file that can be read by an HTML 3.0 compliant browser (e.g., Netscape 2.2).
HTMLCSS	Means that the report output sent to a file will include style sheet extensions that can be read by an HTML 3.0 compliant browser that supports cascading style sheets.
HTMLCSSIE	Means that the report output sent to a file will include style sheet extensions that can be read by Microsoft Internet Explorer 3.x.
RTF	Means that the report output will be sent to a file that can be read by standard word processors (such as Microsoft Word).  Note that when you open the file in MS Word, you must choose View [image] Page Layout to view all the graphics and objects in your report.
DELIMITED	Means that the report output will be sent to a file that can be read by standard spreadsheet utilities, such as Microsoft Excel.  Note that if you do not choose a delimiter, the default delimiter is a TAB.
XML	Means that the report output will be sent to a file that can be read by any XML-supporting application, including a fifth-generation or higher web browser.
Default

Taken from the Initial Value property of the DESFORMAT parameter.  For bit-mapped Report Builder, if DESFORMAT is blank or dflt, then the current printer driver (specified in File [image] Choose Printer) is used.  If nothing has been selected in Choose Printer, then Postscript is used by default.

Usage Notes

•	This keyword is ignored if DESTYPE is SCREEN.

•	The value(s) for this keyword may be case sensitive, depending on your operating system.


COPIES

  RWBLD60 Overview

Description  COPIES is the number of copies of the report output to print.

Syntax

[COPIES=]n

Values

Any valid integer from 1 through 9,999.

Default

Taken from the Initial Value property of the COPIES parameter.

Usage Notes

•	This keyword is ignored if DESTYPE is not Printer.

•	If COPIES is left blank on the Runtime Parameter Form, it defaults to one.


CACHELOB

  Related Topics 	  RWBLD60 Overview

Description  CACHELOB specifies whether to cache retrieved Oracle8 large object(s) in the temporary file directory (specified by REPORTS60_TMP).

Values

YES means to cache the LOB in the temporary file directory.

NO means to not cache the LOB in the temporary file directory.

Default

YES

Usage Notes

•	You can only set this option on the command line.

•	If the location of the temporary file directory does not have sufficient available disk space, it is preferable to set this value to NO.  Setting the value to NO, however, may decrease performance, as the LOB may need to be fetched from the server multiple times.


CURRENCY

  RWBLD60 Overview

Description  CURRENCY is the currency character to be used in number formats.

Syntax

[CURRENCY=]currency_symbol

Values

Any valid alphanumeric string not to exceed 1K in length.

Default

The default for ORACLE is determined by the ORACLE National Language Support facilities.  You can also set a default of up to four characters in the Initial Value property of the CURRENCY parameter.

Usage Notes

•	A CURRENCY value entered in Property Palette will override any CURRENCY value entered on the command line.


THOUSANDS

  RWBLD60 Overview

Description  THOUSANDS is the thousands character to be used in number formats.

Syntax

[THOUSANDS=]thousands_symbol

Values

Any valid alphanumeric character.

Default

The default for ORACLE is determined by the ORACLE National Language Support facilities.  You can also set a default of up to four characters in the Initial Value property of the THOUSANDS parameter.

Usage Notes

• 	A THOUSANDS value entered on the Parameter property sheet will override any THOUSANDS value entered on the command line.

• 	The alphanumeric character defined as the THOUSANDS value is the actual value that is returned. For example, if you define "," as the THOUSANDS value, "," is returned.


DECIMAL

  RWBLD60 Overview

Description  DECIMAL is the decimal character to be used in number formats.

Syntax

[DECIMAL=]decimal_symbol

Values

Any valid alphanumeric character.

Default

The default for ORACLE is determined by the ORACLE National Language Support facilities.  You can also set a default in the Initial Value property of the DECIMAL parameter.

Usage Notes

•	A DECIMAL value entered on the Parameter property sheet will override any DECIMAL value entered on the command line.

• 	The alphanumeric character defined as the DECIMAL value is actual value that is returned. For example,  if you define “.” as the DECIMAL value, “.” is returned.


READONLY

  Restrictions 	  RWBLD60 Overview

Description  READONLY requests read consistency across multiple queries in a report.  When accessing data from ORACLE, read consistency is accomplished by a SET TRANSACTION READ ONLY statement (refer to your Oracle8 Server SQL Language Reference Manual for more information on SET TRANSACTION READ ONLY).

Syntax

[READONLY=]{YES|NO}

Values

YES requests read consistency.

NO means do not provide read consistency.

Default

NO

Usage Notes

•	This keyword is only useful for reports using multiple queries, because ORACLE automatically provides read consistency, without locking, for single query reports.


READONLY Restrictions

•	In Report trigger order of execution, notice where the SET TRANSACTION READONLY occurs.


BUFFERS

  RWBLD60 Overview

Description  BUFFERS is the size of the virtual memory cache in kilobytes.  You should tune this setting to ensure that you have enough space to run your reports, but not so much that you are using too much of your system's resources.

Syntax

[BUFFERS=]n

Values

A number from 1 through 9,999.  For some operating systems, the upper limit may be lower.

Default

640K

Usage Notes

•	If this setting is changed in the middle of your session, the change does not take effect until the next time the report is run.


PAGESIZE

  RWBLD60 Overview

Description  PAGESIZE is the dimensions of the physical page (i.e., the size of the page that the printer outputs).  Note that the page must be large enough to contain the report.  For example, if a frame in a report expands to a size larger than the page dimensions, the report will not run.

Syntax

[PAGESIZE=]width x height

Values

Any valid page dimensions of the form:  page width x page height, where page width and page height are zero or more.  The maximum width/height depends upon the unit of measurement.  For inches, the maximum width/height is 512 inches.  For centimeters, it is 1312 centimeters.  For picas, it is 36,864 picas.

Default

For bitmap, 8.5 x 11 inches.  For character mode, 80 x 66 characters.  If the report was designed for character mode and is being run or converted on bitmap, the following formula is used to determine page size if none is specified:  (default page size * character page size)/default character page size.  For example, if the character page size is 80 x 20, the bit-mapped page size would be:  (8.5 * 80)/80 x (11 * 20)/66 = 8.5 x 3.33.

Usage Notes

•	On some printers the printable area of the physical page is restricted.  For example, the sheet of paper a printer takes may be 8.5 x 11 inches, but the printer might only be able to print on an area of 8 x 10.5 inches.  If you define a page width x page height in Report Builder that is bigger than the printable area your printer allows, clipping may occur in your report output.  To avoid clipping, you can either increase the printable area for the printer (if your operating system allows it) or you can set the page width x page height to be the size of the printable area of the page.

•	If this keyword is used, its value overrides the page dimensions of  the report definition.

•	A PAGESIZE value entered on the Runtime Parameter Form will override any PAGESIZE value entered on the command line.


PROFILE

  RWBLD60 Overview

Description  PROFILE is the name of a file in which you want to store performance statistics on report execution.  If you specify a filename, Report Builder calculates statistics on the elapsed and CPU time spent running the report.  PROFILE calculates the following statistics:

•	TOTAL ELAPSED TIME is the amount of time that passes between when you issue RWBLD60 and when you leave the designer.  TOTAL ELAPSED TIME is the sum of Report Builder Time and ORACLE Time.

•	Time is the amount of time spent in Report Builder.

•	ORACLE Time is the amount of time spent in the database and is composed of the following:

•	UPI is the amount of time spent to do such things as connect to the database, parse the SQL, and fetch the data.

•	SQL is the amount of time spent performing SRW.DO_SQL.

•	TOTAL CPU Time used by process is the CPU time spent while in the designer.

Note:  For some operating systems, the Report Builder time includes the database time because the database is included in Report Builder's process.

Syntax

[PROFILE=]profiler_file

Values

Any valid filename in the current directory.


RUNDEBUG

  RWBLD60 Overview

Description  RUNDEBUG is whether you want extra runtime checking for logical errors in reports.  RUNDEBUG checks for things that are not errors but might result in undesirable output.  RUNDEBUG checks for the following:

•	frames or repeating frames that overlap but do not enclose another object.  This can lead to objects overwriting other objects in the output.

•	layout objects with page-dependent references that do not have fixed sizing.  Report Builder will make such objects fixed in size regardless of the Vertical and Horizontal Elasticity properties.

•	bind variables referenced at the wrong frequency in PL/SQL.

Syntax

[RUNDEBUG=]{YES|NO}

Values

YES means perform extra runtime error checking.

NO means do not perform extra runtime error checking.

Default

YES


ONSUCCESS

  RWBLD60 Overview

Description  ONSUCCESS is whether you want a COMMIT or ROLLBACK performed when a report is finished executing.

Syntax

[ONSUCCESS=]{COMMIT|ROLLBACK|NOACTION}

Values

COMMIT means perform a COMMIT when a report is done.

ROLLBACK means perform a ROLLBACK when a report is done.

NOACTION means do nothing when a report is done.

Default

COMMIT, if a USERID is provided.

NOACTION, if called from an external source (e.g., Oracle Forms) with no USERID provided.

Usage Notes

•	The COMMIT or ROLLBACK for ONSUCCESS is performed after the After Report trigger fires.  Other COMMITs and ROLLBACKs can occur prior to this one.  For more information, see READONLY.


ONFAILURE

  RWBLD60 Overview

Description  ONFAILURE is whether you want a COMMIT or ROLLBACK performed if an error occurs and a report fails to complete.

Syntax

[ONFAILURE=]{COMMIT|ROLLBACK|NOACTION}

Values

COMMIT means perform a COMMIT if a report fails.

ROLLBACK means perform a ROLLBACK if a report fails.

NOACTION means do nothing if a report fails.

Default

ROLLBACK, if a USERID is provided.

NOACTION, if called from an external source (e.g., Oracle Forms) with no USERID provided.

Usage Notes

•	The COMMIT or ROLLBACK for ONFAILURE is performed after the report fails.  Other COMMITs and ROLLBACKs can occur prior to this one.  For more information, see READONLY.


ERRFILE

  RWBLD60 Overview

Description  ERRFILE is the name of a file in which you want Report Builder to store error messages.

Syntax

[ERRFILE=]error_file

Values

Any valid filename.


LONGCHUNK

  RWBLD60 Overview

Description  LONGCHUNK is the size (in kilobytes) of the increments in which Report Builder retrieves a LONG column value.  When retrieving a LONG value, you may want to retrieve it in increments rather than all at once because of memory size restrictions.  LONGCHUNK applies only to Oracle7 and Oracle8.

Syntax

[LONGCHUNK=]n

Values

A number from 1 through 9,999.  For some operating systems, the upper limit may be lower.

Default

10K


ACCESS

  RWBLD60 Overview

Description  ACCESS is the location from which modules should be opened.  Report Builder will search in this location for the module you specify with MODULE.  If ACCESS is not specified, Report Builder will use its file path search order to find the file.

Syntax

[ACCESS=]{FILE|DATABASE}

Values

FILE

DATABASE

Default

FILE


ORIENTATION

  RWBLD60 Overview

Description  ORIENTATION controls the direction in which the pages of the report will print.

Syntax

[ORIENTATION=]{DEFAULT|LANDSCAPE|PORTRAIT}

Values

DEFAULT means use the current printer setting for orientation.

LANDSCAPE means landscape orientation

PORTRAIT means portrait orientation

Default

DEFAULT

Usage Notes

•	If ORIENTATION=LANDSCAPE for a character mode report, you must ensure that your printer definition file contains a landscape clause.

•	Orientation settings are ignored when outputting reports to a PCL printer on Motif. The report is processed using the default settings.


BACKGROUND

  RWBLD60 Overview

Description  BACKGROUND specifies whether the report should be run in the background.

Syntax

[BACKGROUND=]{YES|NO}

Values

YES is not a valid option for RWBLD60.

NO

Default

NO


MODE

  RWBLD60 Overview

Description  MODE specifies whether to run the report in character mode or bitmap.  This enables you to run a character-mode report from bit-mapped Report Builder or vice versa.  For example, if you want to send a report to a Postscript printer from a terminal (e.g., a vt220), you could invoke character-mode RWRUN60 and run the report with MODE=BITMAP.  On Windows, specifying MODE=CHARACTER means that the Report Builder ASCII driver will be used to produce editable ASCII output.

Syntax

[MODE=]{BITMAP|CHARACTER|DEFAULT}

Values

BITMAP

DEFAULT means to run the report in the mode of the current executable being used.

CHARACTER

Default

DEFAULT


PRINTJOB

  RWBLD60 Overview

Description  PRINTJOB specifies whether the Print Job dialog box should be displayed before running a report.

Syntax

[PRINTJOB=]{YES|NO}

Values

YES or NO

Default

YES

Usage Notes

•	When a report is run as a spawned process (i.e., one executable, such as RWRUN60, is called from within another executable, such as RWBLD60), the Print Job dialog box will not appear, regardless of PRINTJOB.

•	When DESTYPE=MAIL, the Print Job dialog box will not appear, regardless of PRINTJOB.


TRACEFILE

  RWBLD60 Overview

Description  TRACEFILE is the name of the file in which Report Builder logs trace information.

Syntax

[TRACEFILE=]tracefile

Values

Any valid filename.

Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.

•	If you specify LOGFILE or ERRFILE as well as TRACEFILE, all of the trace information will be placed in the most recently specified file.  For example, in the following case, all of the specified trace information would be placed in err.log because it is the last file specified in the RWRUN60 command.

RWRUN60 MODULE=order_entry
USERID=scott/tiger
TRACEFILE=trace.log LOGFILE=mylog.log
ERRFILE=err.log


TRACEMODE

  RWBLD60 Overview

Description  TRACEMODE indicates whether Report Builder should add the trace information to the file or overwrite the entire file.

Syntax

[TRACEMODE=]{TRACE_APPEND|TRACE_REPLACE}

Values

TRACE_APPEND adds the new information to the end of the file.

TRACE_REPLACE overwrites the file.

Default

TRACE_APPEND

Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.


TRACEOPTS

  RWBLD60 Overview

Description  TRACEOPTS indicates the tracing information that you want to be logged in the trace file when you run the report.

Syntax

[TRACEOPTS=]{TRACE_ERR|TRACE_PRF|TRACE_APP|TRACE_PLS|
TRACE_SQL|TRACE_TMS|TRACE_DST|TRACE_ALL|(opt1, opt2, ...)}

Values

A list of options in parentheses means you want all of the enclosed options to be used.  For example, TRACE_OPTS=(TRACE_APP, TRACE_PRF) means you want TRACE_APP and TRACE_PRF applied.

TRACE_ALL means log all possible trace information in the trace file.

TRACE_APP means log trace information on all the report objects in the trace file.

TRACE_BRK means list breakpoints in the trace file.

TRACE_DST means list distribution lists in the trace file.  You can use this information to determine which section was sent to which destination.  The trace file format is very similar to the .DST file format, so you can cut and past to generate a .DST file from the trace file.

TRACE_ERR means list error messages and warnings in the trace file.

TRACE_PLS means log trace information on all the PL/SQL objects in the trace file.

TRACE_PRF means log performance statistics in the trace file.

TRACE_SQL means log trace information on all the SQL in the trace file.

TRACE_TMS means enter a timestamp for each entry in the trace file.

Default

TRACE_ALL

Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.


AUTOCOMMIT

  RWBLD60 Overview

Description  Specifies whether database changes (e.g., CREATE) should be automatically committed to the database.  Note that some non-ORACLE databases (e.g., SQL Server) require that AUTOCOMMIT=YES.

Syntax

[AUTOCOMMIT=]{YES|NO}

Values

YES or NO

Default

NO


NONBLOCKSQL

  RWBLD60 Overview

Description  Specifies whether to allow other programs to execute while Report Builder is fetching data from the database.

Syntax

[NONBLOCKSQL=]{YES|NO}

Values

YES means that other programs can execute while data is being fetched.

NO means that other programs cannot execute while data is being fetched.

Default

YES


ROLE

  Related Topics 	  RWBLD60 Overview

Description  ROLE specifies the database role to be checked for the report at runtime.  ROLE is ignored for RWBLD60.

Syntax

[ROLE=]{rolename/[rolepassword]}

Values

A valid role and (optionally) a role password.


BLANKPAGES

  RWBLD60 Overview

Description  BLANKPAGES specifies whether to suppress blank pages when you print a report.  Use this keyword when there are blank pages in your report output that you do not want to print.

Syntax

[BLANKPAGES=]{YES|NO}

Values

YES means print all blank pages

NO means do not print blank pages

Default

YES

Usage Notes  BLANKPAGES is especially useful if your logical page spans multiple physical pages (or panels), and you wish to suppress the printing of any blank physical pages.


MAXIMIZE

  RWBLD60 Overview

Description  MAXIMIZE specifies whether to maximize the Reports Runtime window.  This keyword has no affect on Report Builder, it should only be used with Reports Runtime.


DISABLEPRINT

  RWBLD60 Overview

Description  DISABLEPRINT specifies whether to disable File [image] Print, File [image] Page Setup, File [image] Choose Printer (on Motif) and the equivalent toolbar buttons in the Runtime Previewer.

Syntax

[DISABLEPRINT=]{YES|NO}

Values

YES or NO

Default

NO


DISABLEMAIL

  RWBLD60 Overview

Description  DISABLEMAIL specifies whether to disable the Mail menu and the equivalent toolbar buttons in the Runtime Previewer.

Syntax

[DISABLEMAIL=]{YES|NO}

Values

YES or NO

Default

NO


DISABLEFILE

  RWBLD60 Overview

Description  DISABLEFILE specifies whether to disable the File [image] Generate to File menu in the Runtime Previewer.

Syntax

[DISABLEFILE=]{YES|NO}

Values

YES or NO

Default

NO


DISABLENEW

  RWBLD60 Overview

Description  DISABLENEW specifies whether to disable the View [image] New Previewer menu to prevent the ability to display a new instance of the Runtime Previewer.

Syntax

[DISABLENEW=]{YES|NO}

Values

YES or NO

Default

NO


DELIMITER

  RWBLD60 Overview	  Related Topics

Description  DELIMITER specifies the character(s) to use to separate the cells in your report output.

Syntax

[DELIMITER=]value

Values

Any alphanumeric character or string of alphanumeric characters, such as:

,	means a comma separates each cell
.	means a period separates each cell
You can also use any of these four reserved values:

tab	means a tab separates each cell
space	means a space separates each cell
return	means a new line separates each cell
none	means no delimiter is used
You can also use escape sequences based on the ASCII character set, such as:

\t	means a tab separates each cell
\n	means a new line separates each cell
Default

Tab

Usage Notes

•	This argument can only be used if you’ve specified DESFORMAT=DELIMITED.


CELLWRAPPER

  RWBLD60 Overview	  Related Topics

Description  CELLWRAPPER specifies the character(s) that displays around the delimited cells in your report output.

Syntax

[CELLWRAPPER=]value

Value

Any alphanumeric character or string of alphanumeric characters.

“	means a double quotation mark displays on each side of the cell
‘	means a single quotation mark displays on each side of the cell
You can also use any of these four reserved values:

tab	means a tab displays on each side of the cell
space	means a single space displays on each side of the cell
return	means a new line displays on each side of the cell
none	means no cell wrapper is used
You can also use escape sequences based on the ASCII character set, such as:

\t	means a tab displays on each side of the cell
\n	means a new line displays on each side of the cell
Default

None

Usage Notes

•	This argument can only be used if you’ve specified DESFORMAT=DELIMITED.

•	The cell wrapper is different from the actual delimiter .


DATEFORMATMASK

  RWBLD60 Overview	  Related Topics

Description  DATEFORMATMASK specifies how date values display in your delimited report output.

Syntax

[DATEFORMATMASK=]mask

Values

Any valid date format mask.

Usage Notes

•	This argument can only be used if you’ve specified DESFORMAT=DELIMITED.


NUMBERFORMATMASK

  RWBLD60 Overview	  Related Topics

Description  NUMBERFORMATMASK specifies how number values display in your delimited report output.

Syntax

[NUMBERFORMATMASK=]mask

Values

Any valid number format mask.

Usage Notes

•	This argument can only be used if you’ve specified DESFORMAT=DELIMITED.


DESTINATION

  RWBLD60 Overview	  Related Topics

Description  The DESTINATION keyword allows you to specify the name of a .DST file that defines the distribution for the current run of the report.

Syntax

[DESTINATION=]filename.DST

Values

The name of a .DST file.

Usage Notes

•	To enable the DESTINATION keyword, you must specify DISTRIBUTE=YES on the command line.


DISTRIBUTE

  RWBLD60 Overview	  Related Topics

Description  DISTRIBUTE enables or disables distributing the report output to multiple destinations, as specified by the distribution list defined in the Distribution dialog box or a .DST file.

Syntax

[DISTRIBUTE=]{YES|NO}

Values

YES means to distribute the report to the distribution list.

NO means to ignore the distribution list and output the report as specified by the DESNAME and DESFORMAT parameters.  This is fundamentally a debug mode to allow running a report set up for distribution without actually executing the distribution.

Default

NO

Usage Notes

•	To enable the DESTINATION keyword, you must specify DISTRIBUTE=YES.


PAGESTREAM

 RWBLD60 Overview	 Related Topics

Description  PAGESTREAM enables or disables page streaming for the report when formatted as HTML or HTMLCSS output, using the navigation controls set by either of the following:

•	the Page Navigation Control Type and Page Navigation Control Value properties in the Report Property Palette.

•	PL/SQL in a Before Report trigger (SRW.SET_PAGE_NAVIGATION_HTML)

Syntax

[PAGESTREAM=]{YES|NO}

Values

YES means to stream the pages.

NO means to output the report without page streaming.

Default

NO


EXPRESS_SERVER

 Examples

Description  EXPRESS_SERVER specifies the Express Server to which you want to connect.

Syntax

EXPRESS_SERVER="server=[server]/domain=[domain]/
user=[userid]/password=[passwd]"

Syntax with RAM

EXPRESS_SERVER="server=[server]/domain=[domain]/
user=[userid]/password=[passwd]/ramuser=[ramuserid]/
rampassword=[rampasswd]/ramexpressid=[ramexpid]/
ramserverscript=[ramsscript]/rammasterdb=[ramdb]/
ramconnecttype=[ramconn]"

Values

A valid connect string enclosed in double quotes (") where

server	is the Express server string (e.g., ncacn_ip_tcp:olap2-pc/sl=x/st=x/ct=x/sv=x/).  See below for more details on the server string.
domain	is the Express Server domain.
user	is the userid to log into the Express Server.
password	is the password for the userid.
ramuser	is the userid to log into the RDBMS.
rampassword	is the password for the RDBMS.
ramexpressid	is the Oracle Sales Analyzer database userid. This is required for Oracle Sales Analyzer databases only.
ramserverscript	is the complete file name (including the full path) of the remote database configuration file (RDC) on the server. This file specifies information such as the location of code and data databases. Using UNC (Universal Naming Convention) syntax allows multiple users to use the same connection to access the data without having to map the same drive letter to that location. UNC syntax is \\ServerName\ShareName\ followed by any subfolders and/or files.
rammasterdb	is the name of the Relational Access Manager database to attach initially. You must specify only the database file name. This database must reside in a directory that is included in the path list in ServerDBPath for Express Server. You can check the ServerDBPath in the File I/O tab of the Express Configuration Manager dialog box.
ramconnecttype	is the type of Express connection. Always specify 0 for a direct connection.
Parameters

The server value contains four parameters that correspond to settings that are made in the Oracle Express Connection Editor and stored in connection (.xcf) files. All four parameters are required and can be specified in any order. The following table describes the parameters and their settings.

Parameter	Description	Setting
sl	Server Login	-2: Host (Domain Login) -1: Host (Server Login) 0: No authentication required 1: Host (Domain Login) and Connect security 2: Host (Domain Login) and Call security 3: Host (Domain Login) and Packet security 4: Host (Domain Login) and Integrity security 5: Host (Domain Login) and Privacy security Notes: Windows NT uses all the settings. Unix systems use only the settings 0, -1, and -2. See the Express Connection Editor Help system for information on these settings.
st	Server Type	1: Express Server
ct	Connection Type	0: Express connection
sv	Server Version	1: Express 6.2 or greater
Usage Notes

•	You can have spaces in the string if necessary (e.g., if the userid is John Smith) because the entire string is inside of quotes.

•	If a forward slash (/) is required in the string, you must use another forward slash as an escape character.  For example, if the domain were tools/reports, the command line should be as follows:

EXPRESS_SERVER="server=ncacn_ip_tcp:olap2-pc/sl=0/
st=1/ct=0/sv=1/ domain=tools//reports"

•	You can use single quotes within the string.  It is not treated specially because it is enclosed within double quotes.


EXPRESS_SERVER with userid, password, and domain (RWBLD60) example

  Related Topics 	  All Examples

rwbld60 userid=scott/tiger@nt805
express_server="server=ncacn_ip_tcp:olap2-pc/sl=1/st=1/ct=0/
sv=1/user=orbuild/domain=tools/password=buildme/"
report=exp.rdf destype=file desname=exp1.html
desformat=html batch=yes


EXPRESS_SERVER without userid, password, and domain (RWBLD60) example

  Related Topics 	  All Examples

rwbld60 userid=scott/tiger@nt805
express_server="server=ncacn_ip_tcp:olap2-pc/sl=0/st=1/ct=0/
sv=1/" report=exp.rdf destype=file desname=exp1.html
desformat=html batch=yes


EXPRESS_SERVER with RAM (RWBLD60) example

  Related Topics 	  All Examples

rwrun60 userid=scott/tiger@nt805
express_server="server=ncacn_ip_tcp:olap2-pc/sl=0/st=1/
ct=0/sv=1/ramuser=appqa/rampassword=appqa1/ramexpressid=appqa/
ramserverscript=\\olap3-pc\orant\olap\ram6202\ram\sqstnt.rdc/
rammasterdb=sqstnt.db/ramconnecttype=0"
report=exp.rdf destype=file desname=exp1.html
desformat=html batch=yes


CUSTOMIZE

Description  CUSTOMIZE specifies an XML file or list of files that you want to apply to the report selected in the MODULE or REPORT keyword. The XML file contains customizations (e.g., font changes or color changes) that change the report definition in some way.

For more information, refer to the Publishing Reports manual.

Syntax

[CUSTOMIZE=]filename.xml|(filename1.xml, filename2.xml, …)

Values

The names of files that contain valid XML report definitions, with path information prefixed to the filenames if necessary.

Usage Notes

•	Typically, the file extension of an XML report definition is .XML, but it does not have to be when it is used with the CUSTOMIZE keyword.


SAVE_RDF

Description  SAVE_RDF specifies a file to which you want to save the report selected in the MODULE or REPORT keyword combined with the XML customization file(s) selected in the CUSTOMIZE keyword. This argument is most useful when you have an .RDF file to which you are applying an XML file via the CUSTOMIZE keyword and want to save the combination of the two to a new .RDF file.

For more information, refer to the Publishing Reports manual.

Syntax

[SAVE_RDF=]filename.rdf

Values

Any valid filename.


<param>

  RWBLD60 Overview

Description  <param> is a parameter that is part of the report's definition.  The value you specify for the parameter is used for that parameter's value.

Syntax

<param>=value

Values

Any valid value for that parameter.

Default

Taken from the Initial Value property of the parameter.

Usage Notes

•	You can override the default value on the Runtime Parameter Form.

•	Values of arguments may be in single or double quotes.  The effect of single or double quotes is operating-system specific.

•	The PARAM value is not parsed, or validated, because the parameters may refer to those that have not yet been defined.


RWCGI60

Description  RWCGI60 is the Reports Web CGI executable that provides a connection between a Web Server and the Reports Server (RWMTS60), allowing you to run reports dynamically from your Web browser.  For more information about RWCGI60, refer to the Publishing Reports manual.


RWCLI60

  Command Line Arguments 	  Related Topics

Description  RWCLI60 parses and transfers the command line to the specified Reports Server (RWMTS60).  It uses a command line very similar to RWRUN60.

Syntax

RWCLI60 MODULE|REPORT=runfile USERID=userid
[ [keyword=]value|(value1, value2, ...) ] SERVER=tnsname

where keyword=value is a valid command line argument.

Usage Notes

•	All file names and paths specified in the client command line refer to files and directories on the server machine, except for command file.

•	If the command line contains CMDFILE=, the command file will be read and appended to the original command line before being sent to the Reports Server.  The runtime engine will not re-read the command file.


RWCLI60 Command Line Arguments

[MODULE|REPORT=]runfile

[USERID=]userid

[PARAMFORM=]NO

[CMDFILE=]cmdfile

[TERM=]termfile

[ARRAYSIZE=]n

[DESTYPE=]{CACHE|LOCALFILE|FILE|PRINTER|SYSOUT|MAIL|XML}

[DESNAME=]desname

[DESFORMAT=]desformat

[CACHELOB=]{YES|NO}

[COPIES=]n

[CURRENCY=]currency_symbol

[THOUSANDS=]thousands_symbol

[DECIMAL=]decimal_symbol

[READONLY=]{YES|NO}

[LOGFILE=]logfile

[BUFFERS=]n

[BATCH=]YES

[PAGESIZE=]width x height

[PROFILE=]profiler_file

[RUNDEBUG=]{YES|NO}

[ONSUCCESS=]{COMMIT|ROLLBACK|NOACTION}

[ONFAILURE=]{COMMIT|ROLLBACK|NOACTION}

[KEYIN=]keyin_file

[KEYOUT=]keyout_file

[ERRFILE=]error_file

[LONGCHUNK=]n

[ORIENTATION=]{DEFAULT|LANDSCAPE|PORTRATI

[BACKGROUND=]{YES|NO}

[MODE=]{BITMAP|CHARACTER|DEFAULT}

[PRINTJOB]{YES|NO}

[TRACEFILE=]tracefile

[TRACEMODE=]{TRACE_APPEND|TRACE_REPLACE}

[TRACEOPTS=]{TRACE_ERR|TRACE_PRF|TRACE_APP|TRACE_PLS|
TRACE_SQL|TRACE_TMS|TRACE_DST|TRACE_ALL|(opt1, opt2, ...)}

[AUTOCOMMIT]{YES|NO}

[NONBLOCKSQL=]{YES|NO}

[ROLE=]rolename/[rolepassword]|(rolename/[rolepassword],. . .)

[BLANKPAGES=]{YES|NO}

[DISABLEPRINT=]{YES|NO}

[DISABLEMAIL=]{YES|NO}

[DISABLEFILE=]{YES|NO}

[DISABLENEW=]{YES|NO}

[DESTINATION=]filename.DST

[DISTRIBUTE=]{YES|NO}

[DELIMITER=]value

[CELLWRAPPER=]value

[DATEFORMATMASK=]mask

[NUMBERFORMATMASK=]mask

[PAGESTREAM=]{YES|NO}

[SERVER=]tnsname

[JOBNAME=]string

[SCHEDULE=]string

[TOLERANCE=]number

[DELIMITER=]value

[CELLWRAPPER=]value

EXPRESS_SERVER="server=[server]/domain=[domain]/user=[userid]/password=[passwd]"

[AUTHID]=username/password

[CUSTOMIZE]=filename.xml | (filename1.xml, filename2.xml, . . .)

[SAVE_RDF]=filename.rdf

<param>=value


PARAMFORM

  Related Topics

Description  If PARAMFORM is specified, it must be NO.

Syntax

[PARAMFORM=]NO


DESTYPE

  Related Topics

Description  DESTYPE is the type of device that will receive the report output.

Syntax

[DESTYPE=]{CACHE|LOCALFILE|FILE|PRINTER|SYSOUT|MAIL}

Values

CACHE	Sends the output directly to the Reports Server's cache.   Note that DESTYPE=CACHE is not compatible with the DISTRIBUTE keyword.  If the server encounters DISTRIBUTE on the command line, it will ignore the DESTYPE=CACHE command line argument.
LOCALFILE	Sends the output to a file on the client machine and forces a synchronous call, regardless of the BACKGROUND value.
FILE	Sends the output to the file on the server machine named in DESNAME.
PRINTER	Sends the output to the printer on the server machine named in DESNAME.
MAIL	Sends the output to the mail users specified in DESNAME.  You can send mail to any mail system that is MAPI compliant or has the service provider driver installed.  The report is sent as an attached file.
SYSOUT	Sends the output to the client machine's default output device and forces a synchronous call.
Default

Taken from the Initial Value property of the DESTYPE parameter.

Usage Notes

•	Screen and Preview cannot be used for DESTYPE with RWCLI60.


BATCH

  Related Topics

Description  If BATCH is specified, it must be YES.

Syntax

[BATCH=]YES


BACKGROUND

  Related Topics

Description  BACKGROUND is whether the call is synchronous (BACKGROUND=NO) or asynchronous (BACKGROUND=YES).  A synchronous call means that the client waits for the report to queue, be assigned to a runtime engine, run, and finish.  An asynchronous call means that the client simply sends the call without waiting for it to complete. If the client process is killed during a synchronous call, the job is canceled.

Syntax

[BACKGROUND=]{YES|NO}

Values

YES or NO

Default

NO


SERVER

  Related Topics

Description  SERVER is the TNS address of the Reports Server.

Syntax

[SERVER=]tnsname

Values

Any valid TNSNAME.

Usage Notes

•	If you set the REPORTS60_REPORTS_SERVER environment variable on your Web server machine, you can omit the SERVER command line argument to process requests to the default server, or you include the SERVER command line argument to override the default.


JOBNAME

  Related Topics

Description  JOBNAME is the name for a job to appear in the Reports Queue Manager.  It is treated as a comment and has nothing to do with the running of the job.  If it is not specified, the queue manager will show the report name as the job name.

Syntax

[JOBNAME=]string


SCHEDULE

  Related Topics

Description  SCHEDULE is a scheduling command.  The default is now.  To eliminate the need for quoting the scheduling command, use underscore (_) instead of a space. For example:

schedule=every_first_fri_of_month_from_15:53_Oct_23,_1999_retry_3_after_1_hour

schedule=last_weekday_before_15_from_15:53_Oct_23,_1999_retry_after_1_hour

Note:  Earlier forms of the SCHEDULE syntax are supported, but only the current SCHEDULE syntax is documented here.

Syntax

[SCHEDULE=]string

where the string is:

[FREQ from] TIME [retry {n} + after LEN]

FREQ	hourly | daily | weekly | monthly | {every LEN | DAYREPEAT}} | {last  {WEEKDAYS | weekday | weekend} before {n}+}
LEN	{n}+ {minute[s] | hour[s] | day[s] | week[s] | month[s]}
DAYREPEAT	{first | second | third | fourth | fifth} WEEKDAYS of month
WEEKDAYS	mon | tue | wed | thu | fri | sat | sun
TIME	now | CLOCK [DATE]
CLOCK	h:m | h:mm | hh:m | hh:mm
DATE	today | tomorrow | {MONTHS {d | dd} [,year]}
MONTHS	jan | feb | mar | apr | may | jun | jul | aug | sep | oct | nov | dec


TOLERANCE

  Related Topics

Description  TOLERANCE is the time tolerance for duplicate job detection in minutes.

Syntax

[TOLERANCE=]number


AUTHID

  Related Topics

Description  AUTHID is the username and password used to authenticate users to a secured Reports Server. Oracle WebDB is used to perform the security check. WebDB ensures that users running the reports have the access privileges needed to run the requested report. Refer to Oracle WebDB online help for more information about security.

When users successfully log on, their browser is sent an encrypted cookie that authenticates them to the secured Reports Server. By default, the cookie expires after 30 minutes. When a cookie expires, subsequent requests (i.e., ones sent to the secured server) must be re-authenticated.

You can use the REPORTS60_COOKIE_EXPIRE environment variable to change the expiration time of the authentication cookie.

If you want users to authenticate and remain authenticated until the cookie expires, omit the AUTHID command from the report request. If you want users to authenticate every time they make a Web request, then include the Web CGI or Web Cartridge commands SHOWAUTH and AUTHYPE=S in the report URL, or include the %S argument in the key mapping entry in the owscmd.dat (Web Cartridge) or cgicmd.dat (Web CGI) file.

Syntax

[AUTHID=]username/password

Values

Any valid username and password created in Oracle WebDB. See your DBA to create new user profiles in WebDB.


USERID

  Related Topics

Description  USERID is the ORACLE username or placeholder username (i.e., $username) and password with an optional database name, Net8 communication protocol to access a remote database, or ODBC datasource name (if accessing a non-Oracle datasource.

For more information about the optional Net8 communication protocol, see "Remote Logon".  For more information about automatic logon, see "Automatic Logon".

If you want users to log on to the database, omit the USERID command from the report request. If you want users to log on every time they make a Web request, then include the Web CGI or Web Cartridge commands SHOWAUTH and AUTHTYPE=D in the report URL, or include the %D argument in the key mapping entry in the owscmd.dat (Web Cartridge) or cgicmd.dat (Web CGI) file.

Values

The database connection string must be in one of the following forms and cannot exceed 512 bytes in length:

username[/password]

username[/password][@database]

[user[/password]]@ODBC:datasource[:database] or [user[/password]]@ODBC:*

<$username>[/password]

<$username>[/password][@database]


RWCON60

  Command Line Arguments 	  Related Topics

Description  RWCON60 enables you to convert one or more report definitions or PL/SQL libraries from one storage format to another.

The following report conversions can be performed using RWCON60:

•	convert a report stored in the database into a .rep, .rex, .rdf file, or a template (.tdf file)

•	convert a report stored in a .rdf file into a .rep or .rex file, or a database report, or a template (.tdf file)

•	convert a report stored in a .rex file into a database report, .rdf file, .rep file, or a template (.tdf file)

The following PL/SQL library conversions can be performed using RWCON60:

•	convert a library stored in the database into a .pld or .pll file

•	convert a library stored in a .pld file into a database library or a .pll file

•	convert a library stored in a .pll file into a database library or a .pld file.

Syntax

rwcon60 [ [keyword=]value ] ...

where keyword=value is a valid command line argument.

Usage Notes

•	In some cases, Convert will automatically compile the report's PL/SQL as part of the conversion process.  Provided that your conversion Destination is not a .rex file, PL/SQL is automatically compiled under the following conditions.  In all other situations, you must compile the report's PL/SQL yourself (e.g., Program [image] Compile [image] All).

•	You try to create a .rep file using Convert.  If there are compile errors, an error message is displayed and the .rep file is not created.

•	You use a .rex file as the Source report.  If there are compile errors, a warning is displayed, but the conversion continues.

•	You use a report that was created on another platform as the Source report.  If there are compile errors, a warning is displayed, but the conversion continues.

•	Fonts are mapped when a report is opened by Report Builder and Reports Runtime.  Fonts are not mapped during the conversion.

•	When converting a report to a template, only objects in the report’s header and trailer pages, and the margin area are used in the template.  Objects in the body are ignored.

•	When converting reports that have attached libraries, you should convert the .pll files attached to the report before converting the .rdf file.


RWCON60 Command Line Arguments

[USERID=]userid

[STYPE=]{DATABASE|PLLDB|PLDFILE|PLLFILE|
RDFFILE|REXFILE|XML}

[SOURCE=]{sname|(sname1,sname2,...)}

[DTYPE=]{DATABASE|PLLDB|PLDFILE|PLLFILE|
RDFFILE|REPFILE|REXFILE|TDFFILE|XML}

[DEST=]{dname|(dname1,dname2,...)|pathname}

[CMDFILE=]cmdfile

[LOGFILE=]logfile

[OVERWRITE=]{YES|NO|PROMPT}

[BATCH=]{YES|NO}

[DUNIT=]{CENTIMETER|CHARACTER|INCH|POINT}

[PAGESIZE=]width x height

[FORMSIZE=]width x height

[CUSTOMIZE=]filename.xml | (filename1.xml, filename2.xml, . . .)


STYPE

Description  STYPE is the format of the report(s) or libraries to be converted.

Syntax

[STYPE=]{DATABASE|PLLDB|PLDFILE|PLLFILE|RDFFILE|REXFILE|XML}

Values

DATABASE means that the source report(s) are stored in ORACLE.

PLLDB means that the source PL/SQL libraries are stored in the database.

PLDFILE means that the source PL/SQL libraries are stored in files in ASCII format.

PLLFILE means that the source PL/SQL libaries are stored in files containing source code and P-code.

RDFFILE means that the source report(s) are stored in one or more report definition files (files with an extension of .rdf).

REXFILE means that the source report(s) are stored in one or more text files (files with an extension of .rex).

XML means that the source report(s) are stored in one or more XML files (files with an extension of .xml).

Default

DATABASE


SOURCE

Description  SOURCE is the report/library or list of reports/libraries to be converted.  RWCON60 requires that you specify a source report or library.

Syntax

[SOURCE=]{sname|(sname1,sname2,...)}

Values

Any valid report/library name or filename (e.g., qanda).

A list of valid report/library names or filenames enclosed by parentheses with a comma separating the names (e.g., (qanda,test,dmast)).

Usage Notes

•	SQL wildcard characters (% and _) may be used for reports or libraries that are stored in the database.  For example, R% would fetch all reports stored in the database that begin with R.  All reports that match will be converted.

•	A list of report/library names or filenames must be enclosed in parentheses with commas separating the names.  For example:

(qanda,test,dmast)

(qanda, test, dmast)

•	Wildcard characters are invalid for reports/libraries stored in files (i.e., with extensions of .rdf, .rep, .rex, .pld, .pll).

•	The argument(s) for this keyword may be operating system-specific.

•	If you are converting reports/libraries stored in ORACLE and are using system-owned Report Builder tables, you may list reports/libraries of other users, for example:

SOURCE=(sday.qanda,dsmith.test,dmast.sal)

•	If you are using user-owned Report Builder tables, reports/libraries from multiple users must be converted for each user individually.

•	You must have created the reports/libraries, or have been granted access to the ones you did not create, in order to convert them.  If no userid is prefixed to the report/library name, the userid is assumed to be the current user.

•	If you are converting from database to file and the database report/library name is too long to be a filename, Report Builder prompts you to provide a filename of the correct length for your operating system.


DTYPE

Description  DTYPE is the format to which to convert the reports or libraries .

Syntax

[DTYPE=]{DATABASE|PLLDB|PLDFILE|PLLFILE|RDFFILE|REPFILE|REXFILE|TDFFILE|XML}

Values

DATABASE means that the converted reports will be stored in ORACLE.

PLLDB means that the converted PL/SQL libraries will be stored in the database.

PLDFILE means that the converted PL/SQL libraries will be stored in files in ASCII format.

PLLFILE means that the converted PL/SQL libaries will be stored in files containing source code and P-code.

RDFFILE means that the converted reports will be stored in one or more report definition files (files with an extension of .rdf).

REPFILE means that the converted reports will be stored in one or more binary runfiles (files with an extension of .rep).

REXFILE means that the converted reports will be stored in one or more text files (files with an extension of .rex).

TDFFILE means that the report will be converted to a template (.tdf file).

XML means that the destination report(s) are stored in one or more XML files (files with an extension of .xml).

Default

REXFILE

Usage Notes

•	When you try to create a .rep file using RWCON60, the source report's PL/SQL is automatically compiled.  If there are compile errors, an error message is displayed and the .rep file is not created.  To avoid this problem, make sure you compile the source report's PL/SQL using File [image] Compile before you try to create a .rep file.

•	When converting a report to a template, only objects in the report’s header and trailer pages, and the margin area are used in the template.  Objects in the body are ignored.


DEST

Description  DEST is the name(s) of the converted reports or libraries, if they are stored in the database, or the names of the files.

Syntax

[DEST=]{dname|(dname1,dname2,...)|pathname}

Values

Any valid report/library name or filename (e.g., qanda).

A list of valid report/library names or filenames enclosed by parentheses with a comma separating the names (e.g., (qanda,test,dmast)).

Default

If the DEST keyword is not specified, RWCON60 uses the following default names:

•	If DTYPE is DATABASE or PLLDB, then DEST is SOURCE.

•	If DTYPE is PLDFILE, then DEST is SOURCE with the .pld extension.

•	If DTYPE is PLLFILE, then DEST is SOURCE with the .pll file extension.

•	If DTYPE is RDFFILE, then DEST is SOURCE with the .rdf extension.

•	If DTYPE is REPFILE, the DEST is SOURCE with the .rep extension.

•	If DTYPE is REXFILE, then DEST is expdat.rex.

Usage Notes

•	A list of report/library names or filenames must be enclosed in parentheses with commas separating the names.  For example:

(qanda,test,dmast)

(qanda, test, dmast)

•	If you have more destination names than there are source names, the extra destination names are ignored.  If you have fewer destination names than there are source names, default names will be used after the destination names run out.

•	The argument(s) for this keyword may be operating system-specific.


CMDFILE

Description  CMDFILE is a file that contains arguments for the RWCON60 command.  This option enables you to convert a report/library without having to specify a large number of arguments each time you invoke RWCON60.

Syntax

[CMDFILE=]cmdfile

Values

Any valid command file.

Usage Notes

•	A command file may reference another command file.

•	Command file syntax for RWCON60 arguments is identical to that used on the command line.

•	Values entered on the command line override values specified in command files.  For example, suppose that you specify RWRUN60 from the command line with COPIES equal to 1 and CMDFILE equal to RUNONE (a command file).  In RUNONE, COPIES is set to 2.  Only one copy of the report would be generated in this case.  For more information, see "Command Line Syntax Rules".

•	The argument(s) for this keyword may be operating system-specific.


LOGFILE

Description  LOGFILE is the name of the file to which status and error output is sent.

[LOGFILE=]logfile

Values

Any valid filename.

Default

dfltrep.log in the current directory.


OVERWRITE

Description  OVERWRITE specifies whether to overwrite existing files or database objects with the converted files or objects.

Syntax

[OVERWRITE=]{YES|NO|PROMPT}

Values

YES means automatically overwrite any existing files or database objects of the same name.

NO means not to convert reports if there are existing files or database objects of the same name and display a warning message.

PROMPT means to prompt you before overwriting any existing or database objects.

Default

NO


BATCH

Description  BATCH suppresses all terminal input and output, in order to convert reports/libraries without user intervention.

Syntax

[BATCH=]{YES|NO}

Values

YES suppresses all terminal input and output.

NO allows special terminal input and output.  The Convert dialog box is displayed and, when you accept the dialog box, the conversion is performed.

Default

NO


DUNIT

Description  DUNIT is the destination unit of measurement to which the report should be converted.  If specified, DUNIT must differ from the SOURCE report's unit of measurement.  If left blank, the SOURCE report's unit of measurement is used as the DEST report's unit of measurement.

Syntax

[DUNIT=]{CENTIMETER|CHARACTER|INCH|POINT}

Values

CENTIMETER means that the converted reports will initially use centimeters as the unit of measurement.

CHARACTER means that the converted reports will initially use characters as the unit of measurement.

INCH means that the converted reports will initially use inches as the unit of measurement.

POINT means that the converted reports will initially use points as the unit of measurement.

Default

Blank


PAGESIZE

Description  PAGESIZE is the size of a logical page for the converted reports in terms of destination unit of measurement (specified using the DUNIT keyword).

Syntax

[PAGESIZE=]width x height

Values

Any valid value in the unit of measurement and of the form width x height.

Default

For bitmap, 8.5 x 11 inches.  For character mode, 80 x 66 characters.  If the report was designed for character mode and is being run or converted on bitmap, the following formula is used to determine page size if none is specified:  (default page size * character page size)/default character page size.  For example, if the character page size is 80 x 20, the bit-mapped page size would be:  (8.5 * 80)/80 x (11 * 20)/66 = 8.5 x 3.33.

Usage Notes

•	For non-character DUNITs, you can use a decimal to specify fractions (e.g., 8.5 x 11).


FORMSIZE

Description  FORMSIZE is the size of the Runtime Parameter Form for the converted report in terms of destination unit of measurement (specified using the DUNIT keyword).

Syntax

[FORMSIZE=]width x height

Values

Any valid value in the unit of measurement and of the form width x height.

Usage Notes

•	For non-character DUNITs, you can use a decimal to specify fractions (e.g., 8.5 x 11).


CUSTOMIZE

Description  CUSTOMIZE specifies an XML file or list of files that you want to apply to the reports listed in the SOURCE keyword. The XML file contains customizations (e.g., font changes or color changes) that change the report definition in some way.

For more information, refer to the Publishing Reports manual.

Syntax

[CUSTOMIZE=]filename.xml | (filename1.xml, filename2.xml, . . .)

Values

A filename or list of filenames that contain a valid XML report definition, with path information prefixed to the filename(s) if necessary.


RWMTS60

  Related Topics

Description  RWMTS60 is the Reports Server executable.  To implement a multi-tiered architecture for running your reports, the Reports Server enables you to run reports on a remote application server.  To start RWMTS60 from the command line, use RWCLI60.

When used in conjunction with the Reports Web Cartridge, Reports Web CGI, or Reports Servlet, the Reports Server also enables you to run reports from a Web browser using standard URL syntax.  The server can be installed on Windows NT, Windows 95, or UNIX.  It handles client requests to run reports by entering all requests into a job queue.  When one of the server's runtime engines becomes available, the next job in the queue is dispatched to run.  As the number of jobs in the queue increases, the server can start more runtime engines until it reaches the maximum limit specified when the server process was started.  Similarly, idle engines are shut down after having been idle for longer than a specified period of time.

You can also use the server to run reports automatically.  The scheduling command enables you to specify a time and frequency for the report.  The server keeps track of a predefined maximum number of past jobs.  Information on when the jobs are queued, started, and finished is kept, as well as the final status of the report.  This information can be retrieved and reviewed on Windows from the Reports Queue Manager (RWRQM60) or via the API.  The Reports Queue Manager may reside on the same machine as the Reports Server or on a client machine.  On UNIX, you can use the Reports Queue Viewer (RWRQV60) to view the Reports Server's queue.


RWRQM60

Description  RWRQM60 is the Reports Queue Manager executable (on the Windows platform).  When you use the Reports Server executable (RWMTS60) to schedule running reports on a remote server, the Reports Queue Manager enables you to review when the jobs are queued, started, and finished, as well as the final status of the report.  You can also manipulate the jobs and the server.  The Reports Queue Manager may reside on the same machine as the Reports Server or on a client machine.

On UNIX, you can use the Reports Queue Viewer (RWRQV60) to view the Reports Server's queue.


RWRQV60

Description  RWRQV60 is the Reports Queue Viewer executable (on the UNIX platform).  When you use the Reports Server executable (RWMTS60) to schedule running reports on a remote server, the Reports Queue Viewer enables you to view the Reports Server's queue.  On the command line, type RWRQV60 "?" for keyword help.

On Windows, you can use the Reports Queue Manager (RWRQM60) to view and manipulate the Reports Server's queue.


RWOWS60

Description  RWOWS60 is the Reports Web Cartridge that provides an easy connection between the Oracle Web Application Server and the Reports Server (RWMTS60).  This connection enables a Web client to run reports on the Reports Server and see the report output on the client Web browser. Like other Web Cartridges, RWOWS60 is a dynamically-linked, or shared, library that is managed by a Web Request Broker, which is associated with a particular Oracle Web Application Server Listener.  RWOWS60 is an alternative to the Reports Web CGI (RWCGI60) and has the same functionality, but it also has native integration with the Oracle Web Application Server.


RWRBE60

  Related Topics

Description  RWRBE60 is the Reports Background Engine.  The Reports Background Engine waits for any command lines to run reports.  When it receives a command line, it places that report in its queue.  Typically, the Reports Background Engine receives command lines from a form or graphic using the RUN_PRODUCT packaged procedure, or from a report using SRW.RUN_REPORT.

Syntax:

rwrbe60

Usage Notes

•	RWRBE60 was called R25SRV in earlier versions.

•	You can also start the RWRBE60 executable by double-clicking it.

•	On Windows, you can use RWISV60 to submit a report to the Reports Background Engine for execution.  This is a more efficient method because it incurs less performance overhead than Reports Runtime.  The command line arguments for RWISV60 are the same those for RWRUN60.

•	RWRBE60 is only used to run reports locally.  Use RWCLI60 to send reports to the Reports Server (RWMTS60).

•	RWRBE60 does not close its session with the database that it is connected to until the RWRBE60 runs a report against another database. This is done to reduce the connection time to the database.


RWRUN60

 Command Line Arguments 	 Related Topics

Description  RWRUN60 runs a report (i.e., .rdf or .rep file) interactively or in batch.

Syntax:

RWRUN60 [ [keyword=]value|(value1, value2, ...) ]

where keyword=value is a valid command line argument.

Usage Notes

•	If you are running an .rep file, the PL/SQL is already compiled and will not be recompiled.  If you are running an .rdf file, the PL/SQL is automatically recompiled if necessary (i.e., you didn't compile and save the report from Report Builder, or the platform or version on which you are running the report is incompatible with the platform on which it was last compiled and saved).

•	There are two versions of RWRUN60.  It is important to note that with either executable, you can run character-mode or bit-mapped reports.  The only limiting factor is the output device (e.g., you could not run a bit-mapped report to the screen of a vt220).

•	The character-mode executable is for users who are running reports from character-mode machines (e.g., VT220).

•	The GUI executable is for users who are running reports from bit-mapped machines (e.g., a PC running Windows).


RWRUN60 Command Line Arguments

[MODULE|REPORT=]runfile

[USERID=]userid

[PARAMFORM=]{YES|NO}

[CMDFILE=]cmdfile

[TERM=]termfile

[ARRAYSIZE=]n

[DESTYPE=]{SCREEN|FILE|PRINTER|PREVIEW|SYSOUT|MAIL}]

[DESNAME=]desname

[DESFORMAT=]desformat

[CACHELOB=]{YES|NO}

[COPIES=]n

[CURRENCY=]currency_symbol

[THOUSANDS=]thousands_symbol

[DECIMAL=]decimal_symbol

[READONLY=]{YES|NO}

[LOGFILE=]logfile

[BUFFERS=]n

[BATCH=]{YES|NO}

[PAGESIZE=]width x height

[PROFILE=]profiler_file

[RUNDEBUG=]{YES|NO}

[ONSUCCESS=]{COMMIT|ROLLBACK|NOACTION}

[ONFAILURE=]{COMMIT|ROLLBACK|NOACTION}

[KEYIN=]keyin_file

[KEYOUT=]keyout_file

[ERRFILE=]error_file

[LONGCHUNK=]n

[ORIENTATION=]{DEFAULT|LANDSCAPE|PORTRAIT}

[BACKGROUND=]{YES|NO}

[MODE=]{BITMAP|CHARACTER|DEFAULT}

[PRINTJOB]{YES|NO}

[TRACEFILE=]tracefile

[TRACEMODE=]{TRACE_APPEND|TRACE_REPLACE}

[TRACEOPTS=]{TRACE_ERR|TRACE_PRF|TRACE_APP|TRACE_PLS|
TRACE_SQL|TRACE_TMS|TRACE_DST|TRACE_ALL|(opt1, opt2, ...)}

[AUTOCOMMIT=]{YES|NO}

[NONBLOCKSQL=]{YES|NO}

[ROLE=]rolename/[rolepassword]

[BLANKPAGES=]{YES|NO}

[DISABLEPRINT=]{YES|NO}

[DISABLEMAIL=]{YES|NO}

[DISABLEFILE=]{YES|NO}

[DISABLENEW=]{YES|NO}

[DELIMITER=]value

[CELLWRAPPER=]value

[DATEFORMATMASK=]mask

[NUMBERFORMATMASK=]mask

[DESTINATION=]filename.DST

[DISTRIBUTE=]{YES|NO}

[PAGESTREAM=]{YES|NO}

EXPRESS_SERVER="server=[server]/domain=[domain]/user=[userid]/password=[passwd]"

[CUSTOMIZE]=filename.xml | (filename1.xml, filename2.xml, . . .)

[SAVE_RDF]=filename.rdf

<param>=value


MODULE/REPORT
MODULE|REPORT

  Restrictions	  Related Topics

Description  MODULE|REPORT is the name of the report to run.  (REPORT is allowed for backward compatibility.)

Syntax

[MODULE|REPORT=]runfile

Values

Any valid runfile (i.e., a file with an extension of .rdf or .rep) or an XML report definition (.xml file).  If you do not enter a file extension, Reports Runtime searches first for a file with extension .rep, then extension .rdf, and then no extension.  Reports Runtime will use its file path search order to find the file.

Usage Notes

•	To run the report, it must be a complete report definition (i.e., contain its own data model and layout definition). You cannot run a partial report definition.

•	An XML report definition must have an .XML file extension when specified with the MODULE|REPORT keyword.


MODULE|REPORT Restrictions

  Related Topics

•	If you specify a runfile using MODULE|REPORT, the RWRUN60 window is not raised.  (This behavior provides seamless entry into RWRUN60 from other applications.)  If you do not specify a runfile using MODULE/REPORT and you specify BATCH=NO, the RWRUN60 window is opened, which enables you to run reports interactively.

•	If you run a character-mode report via bit-mapped RWRUN60, Reports Runtime displays a warning, then runs the report using a page size of 8.5" x 11" and a form size of 7" x 6".


PARAMFORM

  Related Topics

Description  PARAMFORM specifies whether to display the Runtime Parameter Form when you execute a report.

Syntax

[PARAMFORM=]{YES|NO}

Values

YES means to display the Form.

NO means to suppress the Form.

Default

YES

Usage Notes

PARAMFORM=YES is incompatible with BATCH=YES because it is not meaningful to have the Runtime Parameter Form appear in batch mode.


CMDFILE

  Restrictions 	  Related Topics

Description  CMDFILE is a file that contains arguments for the RWRUN60 command.  This option enables you to run a report without having to specify a large number of arguments each time you invoke RWRUN60.

Syntax

[CMDFILE=]cmdfile

Values

Any valid command file.


CMDFILE Restrictions

•	A command file may reference another command file.

•	Command file syntax for RWRUN60 arguments is identical to that used on the command line.

•	Values entered on the command line override values specified in command files.  For example, suppose that you specify RWRUN60 from the command line with COPIES equal to 1 and CMDFILE equal to RUNONE (a command file).  In RUNONE, COPIES is set to 2.  Only one copy of the report would be generated in this case.

•	The argument(s) for this keyword may be operating system-specific.


TERM

  Related Topics

Description  TERM is the type of terminal on which you are using RWRUN60.  TERM is useful for the Runtime Parameter Form and Runtime Previewer only.  This keyword is only used in character mode.

Syntax

[TERM=]termtype

Values

Any valid terminal type.

Default

Installation dependent.  (See your System Administrator for a compatible definition.)

Usage Notes

•	The argument(s) for this keyword may be case sensitive, depending on your operating system.


ARRAYSIZE

  Related Topics

Description  ARRAYSIZE is the size (in kilobytes) for use with ORACLE array processing.  Generally, the larger the array size, the faster the report will run.

Syntax

[ARRAYSIZE=]n

Values

A number from 1 through 9,999.  This means that Reports Runtime can use this number of kilobytes of memory per query in your report.

Default

The default array size is 10K.  For details about the ORACLE array processing, see the Oracle8 Server Administrator's Guide.


DESTYPE

  Related Topics

Description  DESTYPE is the type of device that will receive the report output.

Syntax

[DESTYPE=]{SCREEN|FILE|PRINTER|PREVIEW|SYSOUT|MAIL}

Values

SCREEN	Routes the output to the Previewer for interactive viewing.  This value is valid only when the BATCH=NO.  Font aliasing is not performed for Screen.
FILE	Saves the output to a file named in DESNAME (the next keyword discussed).
PRINTER	Routes the output to the printer named in DESNAME (the next keyword discussed).
PREVIEW	Routes the output to the Previewer for interactive viewing.  However, Preview causes the output to be formatted as PostScript output.  The Previewer will use DESNAME to determine which printer's fonts to use to display the output.  Font aliasing is performed for Preview.
SYSOUT	Sends the output to your operating system's default output device.  This value is valid only when BATCH=YES.
MAIL	Sends the output to the mail users specified in DESNAME.  You can send mail to any mail system that is MAPI compliant or has the service provider driver installed.  The report is sent as an attached file.
Default

Taken from the Initial Value property of the DESTYPE parameter.

Usage Notes

•	If you set DESTYPE to PRINTER, FILE, or MAIL, the Print Job dialog box will appear after you accept the Runtime Parameter Form, unless it is suppressed.  After you accept the Print Job dialog box, the report is executed and the output is sent to the  printer (specified in File [image] Choose Printer), file, or mail ID.  (If DESTYPE is something other than PRINTER, FILE, or MAIL, then the report is executed after you accept the Runtime Parameter Form.)  The appearance of the dialog box varies between operating systems.

•	In some cases, this parameter may be overridden by your operating system.

•	Some DESTYPE values are not supported on some operating systems.


DESNAME

  Related Topics

Description  DESNAME is the name of the file, printer, or email ID (or distribution list) to which the report output will be sent.  To send the report output via email, specify the email ID as you do in your email application (any MAPI-compliant application on Windows or your native mail application on UNIX).  You can specify multiple usernames by enclosing the names in parentheses and separating them by commas (e.g., (name, name, . . .name)).

Syntax

[DESNAME=]desname

Values

Any valid filename, printer name, or email ID not to exceed 1K in length.  For printer names, you can optionally specify a port.  For example:

DESNAME=printer,LPT1:

DESNAME=printer,FILE:

Default

Taken from the Initial Value property of the DESNAME parameter.  If DESTYPE=FILE and DESNAME is an empty string, it defaults to reportname.lis at runtime.

Usage Notes

•	This keyword is ignored if DESTYPE is SCREEN or SYSOUT.

•	If DESTYPE is PREVIEW, Reports Runtime uses DESNAME to determine which printer's fonts to use to display the output.

•	The argument(s) for this keyword may be case sensitive, depending on your operating system.

•	In some cases, this parameter may be overridden by your operating system.


DESFORMAT

  Related Topics

Description  In bit-mapped environments, DESFORMAT specifies the printer driver to be used when DESTYPE is FILE.  In character-mode environments, it specifies the characteristics of the printer named in DESNAME.

Syntax

[DESFORMAT=]desformat

Values

Any valid destination format not to exceed 1K in length.  Examples of valid values for this keyword are hpl, hplwide, dec, decwide, decland, dec180, dflt, wide, etc.  Ask your System Administrator for a list of valid destination formats..   In addition, Report Builder supports the following destination formats:

PDF	Means that the report output will be sent to a file that can be read by a PDF viewer.  PDF output is based upon the currently configured printer for your system.  The drivers for the currently selected printer is used to produce the output;  you must have a printer configured for the machine on which you are running the report.
HTML	Means that the report output will be sent to a file that can be read by an HTML 3.0 compliant browser (e.g., Netscape 2.2).
HTMLCSS	Means that the report output sent to a file will include style sheet extensions that can be read by an HTML 3.0 compliant browser that supports cascading style sheets.
HTMLCSSIE	Means that the report output sent to a file will include style sheet extensions that can be read by Microsoft Internet Explorer 3.x.
RTF	Means that the report output will be sent to a file that can be read by standard word processors (such as Microsoft Word).  Note that when you open the file in MS Word, you must choose View [image] Page Layout to view all the graphics and objects in your report.
XML	Means that the report output will be an XML document, saved as a separate file with the .XML extension. This report can be opened and read in an XML-supporting browser, or your choice of XML viewing application.
DELIMITED	Means that the report output will be sent to a file that can be read by standard spreadsheet utilities, such as Microsoft Excel.  Note that you must also specify a DELIMITER.
Default

Taken from the Initial Value property of the DESFORMAT parameter.  For bit-mapped Reports Runtime, if DESFORMAT is blank or dflt, then the current printer (specified in File [image] Choose Printer) is used.  If nothing has been selected in Choose Printer, then Postscript is used by default.

Usage Notes

•	This keyword is ignored if DESTYPE is SCREEN or SYSOUT.

•	The value(s) for this keyword may be case sensitive, depending on your operating system.


COPIES

  Related Topics

Description  COPIES specifies the number of copies of the report output to print.

Syntax

[COPIES=]n

Values

Any valid integer from 1 through 9,999.

Default

Taken from the Initial Value property of the COPIES parameter.

Usage Notes

•	This keyword is ignored if DESTYPE is not Printer.

•	If COPIES is left blank on the Runtime Parameter Form, it defaults to one.


CACHELOB

  Related Topics

Description  CACHELOB specifies whether to cache retrieved Oracle8 large object(s) in the temporary file directory (specified by REPORTS60_TMP).

Values

YES means to cache the LOB in the temporary file directory.

NO means to not cache the LOB in the temporary file directory.

Default

YES

Usage Notes

•	You can only set this option on the command line.

•	If the location of the temporary file directory does not have sufficient available disk space, it is preferable to set this value to NO.  Setting the value to NO, however, may decrease performance, as the LOB may need to be fetched from the server multiple times.


CURRENCY

  Related Topics

Description  CURRENCY is the currency character to be used in number formats.

Syntax

[CURRENCY=]currency_symbol

Values

Any valid alphanumeric string not to exceed 1K in length.

Default

The default for ORACLE is determined by the ORACLE National Language Support facilities.  You can also set a default of up to four characters in the Initial Value field of the Parameter property sheet for the CURRENCY parameter.

Usage Notes

•	A CURRENCY value entered on the Runtime Parameter Form will override any CURRENCY value entered on the command line.


THOUSANDS

  Related Topics

Description  THOUSANDS is the thousands character to be used in number formats.

Syntax

[THOUSANDS=]thousands_symbol

Values

Any valid alphanumeric character.

Default

The default for ORACLE is determined by the ORACLE National Language Support facilities.  You can also set a default in the Initial Value property of the THOUSANDS parameter.

Usage Notes

•	A THOUSANDS value entered on the Runtime Parameter Form will override any THOUSANDS value entered on the command line.

• 	The alphanumeric character defined as the THOUSANDS value is the actual value that is returned. For example, if you define "," as the THOUSANDS value, "," is returned.


DECIMAL

  Related Topics

Description  DECIMAL is the decimal character to be used in number formats.

Syntax

[DECIMAL=]decimal_symbol

Values

Any valid alphanumeric character.

Default

The default for ORACLE is determined by the ORACLE National Language Support facilities.  You can also set a default in the Initial Value property for the DECIMAL parameter.

Usage Notes

•	A DECIMAL value entered on the Runtime Parameter Form will override any DECIMAL value entered on the command line.

• 	The alphanumeric character defined as the DECIMAL value is actual value that is returned. For example,  if you define “.”  as the DECIMAL value, “.” is returned.


READONLY

  Related Topics

Description  READONLY requests read consistency across multiple queries in a report.  When accessing data from ORACLE, read consistency is accomplished by a SET TRANSACTION READ ONLY statement (refer to your Oracle8 Server SQL Language Reference Manual for more information on SET TRANSACTION READ ONLY).

Syntax

[READONLY=]{YES|NO}

Values

YES requests read consistency.

NO means do not provide read consistency.

Default

NO

Usage Notes

•	READONLY is only useful for reports using multiple queries, because ORACLE automatically provides read consistency, without locking, for single query reports.


LOGFILE

  Related Topics

Description  LOGFILE is the name of the file to which File [image] Print Screen output is sent.  If the specified file already exists, output will be appended to it.  This keyword is only used in character mode.

Syntax

[LOGFILE=]logfile

Values

Any valid filename.

Default

dfltrep.log in the current directory.


BUFFERS

  Related Topics

Description  BUFFERS is the size of the virtual memory cache in kilobytes.  You should tune this setting to ensure that you have enough space to run your reports, but not so much that you are using too much of your system's resources.

Syntax

[BUFFERS=]n

Values

A number from 1 through 9,999.  For some operating systems, the upper limit may be lower.

Default

640K

Usage Notes

•	If this setting is changed in the middle of your session, the change does not take effect until the next time the report is run.


BATCH

  Related Topics

Description  BATCH suppresses all terminal input and output, in order to run reports without user intervention.  BATCH=YES enables you to run the report without bringing up the RWRUN60 interface.  To run reports in the background, see BACKGROUND.

Syntax

[BATCH=]{YES|NO}

Values

YES suppresses all terminal input and output.

NO allows special terminal input and output.

Default

NO

Usage Notes

•	If BATCH=YES, error messages are sent to SYSOUT.   For more information on SYSOUT, see DESNAME.

•	If BATCH=YES, PARAMFORM=YES is invalid because it is not meaningful to have the Runtime Parameter Form appear in batch mode.

•	When BATCH=NO and you are using the character-mode RWRUN60, bit-mapped reports cannot be run.  (It is not possible to run a bit-mapped report to the screen of a character-mode device.)

•	When BATCH=YES, MODE=BITMAP, and you are using the character-mode RWRUN60, you cannot run a character-mode report.


PAGESIZE

  Related Topics

Description  PAGESIZE is the dimensions of the physical page (i.e., the size of the page that the printer outputs).  Note that the page must be large enough to contain the report.  For example, if a frame in a report expands to a size larger than the page dimensions, the report will not run.

Syntax

[PAGESIZE=]width x height

Values

Any valid page dimensions of the form:  page width x page height, where page width and page height are zero or more.  The maximum width/height depends upon the unit of measurement.  For inches, the maximum width/height is 512 inches.  For centimeters, it is 1312 centimeters.  For picas, it is 36,864 picas.

Default

For bitmap, 8.5 x 11 inches.  For character mode, 80 x 66 characters.  If the report was designed for character mode and is being run or converted on bitmap, the following formula is used to determine page size if none is specified:  (default page size * character page size)/default character page size.  For example, if the character page size is 80 x 20, the bit-mapped page size would be:  (8.5 * 80)/80 x (11 * 20)/66 = 8.5 x 3.33.

Usage Notes

•	On some printers the printable area of the physical page is restricted.  For example, the sheet of paper a printer takes may be 8.5 x 11 inches, but the printer might only be able to print on an area of 8 x 10.5 inches.  If you define a page width x page height in Reports Runtime that is bigger than the printable area your printer allows, clipping may occur in your report output.  To avoid clipping, you can either increase the printable area for the printer (if your operating system allows it) or you can set the page width x page height to be the size of the printable area of the page.

•	If this keyword is used, its value overrides the page dimensions of the report definition.

•	A PAGESIZE value entered on the Runtime Parameter Form will override any PAGESIZE value entered on the command line.


PROFILE

  Related Topics

Description  PROFILE is the name of a file in which you want to store performance statistics on report execution.  If you specify a filename, Reports Runtime calculates statistics on the elapsed and CPU time spent running the report.  PROFILE calculates the following statistics:

•	TOTAL ELAPSED TIME is the amount of time that passes between when you issue RWRUN60 and when it finishes running the report.  TOTAL ELAPSED TIME is the sum of Reports Runtime Time and ORACLE Time.

•	Time is the amount of time spent in Reports Runtime.

•	ORACLE Time is the amount of time spent in the database and is composed of the following:

•	UPI is the amount of time spent to do such things as connect to the database, parse the SQL, and fetch the data.

•	SQL is the amount of time spent performing SRW.DO_SQL.

•	TOTAL CPU Time used by process is the CPU time spent running the report.

Note: For some operating systems, the Reports Runtime time includes the database time because the database is included in Reports Runtime’s process.

Syntax

[PROFILE=]profiler_file

Values

Any valid filename in the current directory.


RUNDEBUG

  Related Topics

Description  RUNDEBUG is whether you want extra runtime checking for logical errors in the report.  RUNDEBUG checks for things that are not errors but might result in undesirable output.  RUNDEBUG checks for the following:

•	frames or repeating frames that overlap but do not enclose another object.  This can lead to objects overwriting other objects in the output.

•	layout objects with page-dependent references that do not have fixed sizing.  Reports Runtime will make such objects fixed in size regardless of the Vertical Elasticity and Horizontal Elasticity property settings.

•	bind variables referenced at the wrong frequency in PL/SQL.

•	the report is character mode or bitmap and the environment is the opposite.

Syntax

[RUNDEBUG=]{YES|NO}

Values

YES means perform extra runtime error checking.

NO means do not perform extra runtime error checking.

Default

NO


ONSUCCESS

  Related Topics

Description  ONSUCCESS is whether you want a COMMIT or ROLLBACK performed when the report is finished executing.

Syntax

[ONSUCCESS=]{COMMIT|ROLLBACK|NOACTION}

Values

COMMIT means perform a COMMIT when the report is done.

ROLLBACK means perform a ROLLBACK when the report is done.

NOACTION means do nothing when the report is done.

Default

COMMIT, if a USERID is provided.

NOACTION, if called from an external source (e.g., Oracle Forms) with no USERID provided.

Usage Notes

•	The COMMIT or ROLLBACK for ONSUCCESS is performed after the After Report trigger fires.  Other COMMITs and ROLLBACKs can occur prior to this one.  For more information, see READONLY.


ONFAILURE

  Related Topics

Description  ONFAILURE is whether you want a COMMIT or ROLLBACK performed if an error occurs and the report fails to complete.

Syntax

[ONFAILURE=]{COMMIT|ROLLBACK|NOACTION}

Values

COMMIT means perform a COMMIT if the report fails.

ROLLBACK means perform a ROLLBACK if the report fails.

NOACTION means do nothing if the report fails.

Default

ROLLBACK, if a USERID is provided.

NOACTION, if called from an external source (e.g., Form Builder) with no USERID provided.

Usage Notes

•	The COMMIT or ROLLBACK for ONFAILURE is performed after the report fails.  Other COMMITs and ROLLBACKs can occur prior to this one.  For more information, see READONLY.


KEYIN

  Related Topics

Description  KEYIN is the name of a keystroke file that you want to execute at runtime.  KEYIN is used to run the keystroke files created with KEYOUT.  Since KEYIN is used to execute a keystroke file, it is only relevant when running in a character-mode environment.

Syntax

[KEYIN=]keyin_file

Values

Any valid key filename in the current directory.


KEYOUT

  Related Topics

Description  KEYOUT is the name of a keystroke file in which you want Reports Runtime to record all of your keystrokes.  You can then use KEYIN to execute the keystroke file.  KEYOUT and KEYIN are useful when you have certain keystrokes that you want to do each time you run a report.  They are also useful for debugging purposes.  Since KEYOUT is used to create a keystroke file, it is only relevant when running reports in a character-mode environment.

Syntax

[KEYOUT=]keyout_file

Values

Any valid filename.


ERRFILE

  Related Topics

Description  ERRFILE is the name of a file in which you want Reports Runtime to store all error messages that are issued during the execution of your report.

Syntax

[ERRFILE=]error_file

Values

Any valid filename.


LONGCHUNK

  Related Topics

Description  LONGCHUNK is the size (in kilobytes) of the increments in which Reports Runtime retrieves a LONG column value.  When retrieving a LONG value, you may want to retrieve it in increments rather than all at once because of memory size restrictions.  LONGCHUNK applies only to Oracle7 and Oracle8.

Syntax

[LONGCHUNK=]n

Values

A number from 1 through 9,999.  For some operating systems, the upper limit may be lower.

Default

10K


ORIENTATION

  Related Topics

Description  ORIENTATION controls the direction in which the pages of the report will print.

Syntax

[ORIENTATION=]{DEFAULT|LANDSCAPE|PORTRAIT}

Values

DEFAULT means use the current printer setting for orientation.

LANDSCAPE

PORTRAIT

Default

DEFAULT

Usage Notes

•	If ORIENTATION=LANDSCAPE for a character-mode report, you must ensure that your printer definition file contains a landscape clause.

•	Orientation settings are ignored when outputting reports to a PCL printer on Motif. The report is processed using the default settings.


BACKGROUND

  Related Topics

Description  BACKGROUND specifies whether the report should be run in the background.  When BACKGROUND is YES, another process is spawned.  This option is useful when you want to work on something else in the foreground while the report runs.  On Windows, specifying BACKGROUND=YES means that the report will go into the Reports Background Engine’s queue.

Syntax

[BACKGROUND=]{YES|NO}

Values

YES or NO

Default

NO

Usage Notes

•	On Windows, you can use RWRBE60 to submit a report to the Reports Background Engine for execution.  This is a more efficient method because it incurs less performance overhead than Reports Runtime.  The command line arguments for RWRBE60 are the same as the ones for RWRUN60.

•	On the command line, BACKGROUND=YES is not supported for BATCH=YES, DESTYPE=SCREEN or PREVIEW, or RWBLD60.  If you are using SRW.RUN_REPORT, though, BACKGROUND=YES with BATCH=YES is supported.

•	If you run a report from Reports Runtime (i.e., not the command line or SRW.RUN_REPORT), you should commit database changes you make in the Before Form, After Form, and Validation triggers before the report runs.  When running in this way, these triggers will share the parent process' database connection.  When the report is actually executed, however, it will establish its own database connection.


MODE

  Related Topics

Description  MODE specifies whether to run the report in character mode or bitmap.  This enables you to run a character-mode report from bit-mapped Reports Runtime or vice versa.  For example, if you want to send a report to a Postscript printer from a terminal (e.g., a vt220), you could invoke character-mode RWRUN60 and run the report with MODE=BITMAP.  On Windows, specifying MODE=CHARACTER means that the Reports Runtime ASCII driver will be used to produce editable ASCII output.

Syntax

[MODE=]{BITMAP|CHARACTER|DEFAULT}

Values

BITMAP

DEFAULT means to run the report in the mode of the current executable being used.

CHARACTER

Default

DEFAULT


PRINTJOB

  Related Topics

Description  PRINTJOB specifies whether the Print Job dialog box should be displayed before running a report.

Syntax

[PRINTJOB=]{YES|NO}

Values

YES or NO

Default

YES

Usage Notes

•	When a report is run as a spawned process (i.e., one executable, such as RWRUN60, is called from within another executable, such as RWBLD60), the Print Job dialog box will not appear, regardless of PRINTJOB.

•	When DESTYPE=MAIL,  the Print Job dialog box will not appear, regardless of PRINTJOB.


TRACEFILE

  Related Topics

Description  TRACEFILE is the name of the file in which Reports Runtime logs trace information.

Syntax

[TRACEFILE=]tracefile

Values

Any valid filename.

Default

trace.dat

Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.

•	If you specify LOGFILE or ERRFILE as well as TRACEFILE, all of the trace information will be placed in the most recently specified file.  For example, in the following case, all of the specified trace information would be placed in err.log because it is the last file specified in the RWRUN60 command.

rwrun60 MODULE=order_entry USERID=scott/tiger
TRACEFILE=trace.log LOGFILE=mylog.log
ERRFILE=err.log


TRACEMODE

  Related Topics

Description  TRACEMODE indicates whether Reports Runtime should add the trace information to the file or overwrite the entire file.

Syntax

[TRACEMODE=]{TRACE_APPEND|TRACE_REPLACE}

Values

TRACE_APPEND adds the new information to the end of the file.

TRACE_REPLACE overwrites the file.

Default

TRACE_APPEND

Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.


TRACEOPTS

  Related Topics

Description  TRACEOPTS indicates the tracing information that you want to be logged in the trace file.

Syntax

[TRACEOPTS=]{TRACE_ERR|TRACE_PRF|TRACE_APP|TRACE_PLS|
TRACE_SQL|TRACE_TMS|TRACE_DST|TRACE_ALL|(opt1, opt2, ...)}

Values

A list of options in parentheses means you want all of the enclosed options to be used.  For example, TRACE_OPTS=(TRACE_APP, TRACE_PRF) means you want TRACE_APP and TRACE_PRF applied.

TRACE_ALL means log all possible trace information in the trace file.

TRACE_APP means log trace information on all the report objects in the trace file.

TRACE_DST means list distribution lists in the trace file.  You can use this information to determine which section was sent to which destination.

TRACE_ERR means list error messages and warnings in the trace file.

TRACE_PLS means log trace information on all the PL/SQL objects in the trace file.

TRACE_PRF means log performance statistics in the trace file.

TRACE_SQL means log trace information on all the SQL in the trace file.

TRACE_TMS means enter a timestamp for each entry in the trace file.

Default

TRACE_ALL

Usage Notes

•	Trace information can only be generated when running a .rdf file.  You cannot specify logging when running a .rep file.


AUTOCOMMIT

  Related Topics

Description  AUTOCOMMIT specifies whether database changes (e.g., CREATE) should be automatically committed to the database.  Note that some non-ORACLE databases (e.g., SQL Server) require that AUTOCOMMIT=YES.

Syntax

[AUTOCOMMIT=]{YES|NO}

Values

YES or NO

Default

NO


NONBLOCKSQL

  Related Topics

Description  NONBLOCKSQL specifies whether to allow other programs to execute while Reports Runtime is fetching data from the database.

Syntax

[NONBLOCKSQL=]{YES|NO}

Values

YES means that other programs can execute while data is being fetched.

NO means that other programs cannot execute while data is being fetched.

Default

YES


ROLE

  Related Topics

Description  ROLE specifies the database role to be checked for the report at runtime.  ROLE is useful for giving you the ability to run reports that query database tables to which you would not normally have access privileges.

Syntax

[ROLE=]rolename/[rolepassword]

Values

A valid role and (optionally) a role password.


BLANKPAGES

  Related Topics

Description  BLANKPAGES specifies whether to suppress blank pages when you print a report.  Use this keyword when there are blank pages in your report output that you do not want to print.

Syntax

[BLANKPAGES=]{YES|NO}

Values

YES means print all blank pages

NO means do not print blank pages

Default

YES

Usage Notes  BLANKPAGES is especially useful if your logical page spans multiple physical pages (or panels), and you wish to suppress the printing of any blank physical pages.


DISABLEPRINT

  Related Topics

Description  DISABLEPRINT specifies whether to disable File [image] Print, File [image] Page Setup, File [image] Choose Printer (on Motif) and the equivalent toolbar buttons in the Runtime Previewer.

Syntax

[DISABLEPRINT=]{YES|NO}

Values

YES or NO

Default

NO


DISABLEMAIL

  Related Topics

Description  DISABLEMAIL specifies whether to disable the Mail menu and the equivalent toolbar buttons in the Runtime Previewer.

Syntax

[DISABLEMAIL=]{YES|NO}

Values

YES or NO

Default

NO


DISABLEFILE

  Related Topics

Description  DISABLEFILE specifies whether to disable the File [image] Generate to File menu in the Runtime Previewer.

Syntax

[DISABLEFILE=]{YES|NO}

Values

YES or NO

Default

NO


DISABLENEW

  Related Topics

Description  DISABLENEW specifies whether to disable the View [image] New Previewer menu to prevent the ability to display a new instance of the Runtime Previewer.

Syntax

[DISABLENEW=]{YES|NO}

Values

YES or NO

Default

NO


DESTINATION

  Related Topics

Description  The DESTINATION keyword allows you to specify the name of a .DST file that defines the distribution for the current run of the report.

Syntax

[DESTINATION=]filename.DST

Values

The name of a .DST file that defines a report or report section distribution.

Usage Notes

•	To enable the DESTINATION keyword, you must specify DISTRIBUTE=YES on the command line.


DISTRIBUTE

  Related Topics

Description  DISTRIBUTE enables or disables distributing the report output to multiple destinations, as specified by the distribution list defined in the report distribution definition or a .DST file.

Syntax

[DISTRIBUTE=]{YES|NO}

Values

YES means to distribute the report to the distribution list.

NO means to ignore the distribution list and output the report as specified by the DESNAME and DESFORMAT parameters.  This is fundamentally a debug mode to allow running a report set up for distribution without actually executing the distribution.

Default

NO

Usage Notes

•	To enable the DESTINATION keyword, you must specify DISTRIBUTE=YES.


 DELIMITER

  Related Topics

Description  DELIMITER specifies the character(s) to use to separate the cells in your report output.

Syntax

[DELIMITER=]value

Values

Any alphanumeric character or string of alphanumeric characters, such as:

,	means a comma separates each cell
.	means a period separates each cell
You can also use any of these four reserved values:

tab	means a tab separates each cell
space	means a space separates each cell
return	means a new line separates each cell
none	means no delimiter is used
You can also use escape sequences based on the ASCII character set, such as:

\t	means a tab separates each cell
\n	means a new line separates each cell
Default

Tab

Usage Notes

This argument can only be used if you’ve specified DESFORMAT=DELIMITED.


 CELLWRAPPER

  Related Topics

Description  CELLWRAPPER specifies the character(s) that displays around the delimited cells in your report output.

Syntax

[CELLWRAPPER=]value

Values

Any alphanumeric character or string of alphanumeric characters.

"	means a double quotation mark displays on each side of the cell
‘	means a single quotation mark displays on each side of the cell
You can also use any of these four reserved values:

tab	means a tab displays on each side of the cell
space	means a single space displays on each side of the cell
return	means a new line displays on each side of the cell
none	means no cell wrapper is used
You can also use escape sequences based on the ASCII character set, such as:

\t	means a tab displays on each side of the cell
\n	means a new line displays on each side of the cell
Default

None

Usage Notes

•	This argument can only be used if you’ve specified DESFORMAT=DELIMITED.

•	The cell wrapper is different from the actual delimiter .


 DATEFORMATMASK

  Related Topics

Description  DATEFORMATMASK specifies how date values display in your delimited report output.

Syntax

[DATEFORMATMASK=]mask

Values

Any valid date format mask

Usage Notes

•	This argument can only be used if you’ve specified DESFORMAT=DELIMITED.


 NUMBERFORMATMASK

  Related Topics

Description  NUMBERFORMATMASK specifies how number values display in your delimited report output.

Syntax

[NUMBERFORMATMASK=]mask

Values

Any valid number format mask

Usage Notes

This argument can only be used if you’ve specified DESFORMAT=DELIMITED.


PAGESTREAM

  Related Topics

Description  PAGESTREAM enables or disables page streaming for the report when formatted as HTML or HTMLCSS output, using the navigation controls set by the report developer using either of the following:

•	the Page Navigation Control Type and Page Navigation Control Value properties in the Report Property Palette.

•	PL/SQL in a Before Report trigger (SRW.SET_PAGE_NAVIGATION_HTML).

Syntax

[PAGESTREAM=]{YES|NO}

Values

YES means to stream the pages.

NO means to output the report without page streaming.

Default

NO


EXPRESS_SERVER

  Related Topics

Description  EXPRESS_SERVER specifies the Express Server to which you want to connect.

Syntax

EXPRESS_SERVER="server=[server]/domain=[domain]/
user=[userid]/password=[passwd]"

Syntax with RAM

EXPRESS_SERVER="server=[server]/domain=[domain]/
user=[userid]/password=[passwd]/ramuser=[ramuserid]/
rampassword=[rampasswd]/ramexpressid=[ramexpid]/
ramserverscript=[ramsscript]/rammasterdb=[ramdb]/
ramconnecttype=[ramconn]"

Values

A valid connect string enclosed in double quotes (") where

server	is the Express server string (e.g., ncacn_ip_tcp:olap2-pc/sl=x/st=x/ct=x/sv=x/).
Domain	is the Express Server domain.
User	is the userid to log into the Express Server.
Password	is the password for the userid.
ramuser	is the userid to log into the RDBMS.
rampassword	is the password for the RDBMS.
ramexpressid	is the Oracle Sales Analyzer database userid. This is required for Oracle Sales Analyzer databases only.
ramserverscript	is the complete file name (including the full path) of the remote database configuration file (RDC) on the server. This file specifies information such as the location of code and data databases. Using UNC (Universal Naming Convention) syntax allows multiple users to use the same connection to access the data without having to map the same drive letter to that location. UNC syntax is \\ServerName\ShareName\ followed by any subfolders and/or files.
rammasterdb	is the name of the Relational Access Manager database to attach initially. You must specify only the database file name. This database must reside in a directory that is included in the path list in ServerDBPath for Express Server. You can check the ServerDBPath in the File I/O tab of the Express Configuration Manager dialog box.
ramconnecttype	is the type of Express connection. Always specify 0 for a direct connection.
The server value contains four parameters that correspond to settings that are made in the Oracle Express Connection Editor and stored in connection (.xcf) files. All four parameters are required and can be specified in any order. The following table describes the parameters and their settings.

Parameter	Description	Setting
sl	Server Login	-2: Host (Domain Login) -1: Host (Server Login) 0: No authentication required 1: Host (Domain Login) and Connect security 2: Host (Domain Login) and Call security 3: Host (Domain Login) and Packet security 4: Host (Domain Login) and Integrity security 5: Host (Domain Login) and Privacy security Notes: Windows NT uses all the settings. Unix systems use only the settings 0, -1, and -2. See the Express Connection Editor Help system for information on these settings.
st	Server Type	1: Express Server
ct	Connection Type	0: Express connection
sv	Server Version	1: Express 6.2 or greater
Usage Notes

•	You can have spaces in the string if necessary (e.g., if the userid is John Smith) because the entire string is inside of quotes.

•	If a forward slash (/) is required in the string, you must use another forward slash as an escape character.  For example, if the domain were tools/reports, the command line should be as follows:

EXPRESS_SERVER="server=ncacn_ip_tcp:olap2-pc/sl=0/st=1/
ct=0/sv=1/ domain=tools//reports"

•	You can use single quotes within the string.  It is not treated specially because it is enclosed within double quotes.


EXPRESS_SERVER with RAM (RWRUN60) example

  Related Topics 	  All Examples

rwrun60 userid=scott/tiger@nt805
express_server="server=ncacn_ip_tcp:olap2-pc/sl=0/st=1/
ct=0/sv=1/ramuser=appqa/rampassword=appqa1/ramexpressid=appqa/
ramserverscript=\\olap3-pc\orant\olap\ram6202\ram\sqstnt.rdc/
rammasterdb=sqstnt.db/ramconnecttype=0"
report=exp.rdf destype=file desname=exp1.html
desformat=html batch=yes


EXPRESS_SERVER with userid, password, and domain (RWRUN60) example

  Related Topics 	  All Examples

rwrun60 userid=scott/tiger@nt805
express_server="server=ncacn_ip_tcp:olap2-pc/sl=1/st=1/ct=0/
sv=1/ user=orbuild/domain=tools/password=buildme/"
report=exp.rdf destype=file desname=exp1.html
desformat=html batch=yes


EXPRESS_SERVER without userid, password, and domain (RWRUN60) example

  Related Topics 	  All Examples

rwrun60 userid=scott/tiger@nt805
express_server="server=ncacn_ip_tcp:olap2-pc/sl=0/st=1/ct=0/
sv=1/" report=exp.rdf destype=file desname=exp1.html
desformat=html batch=yes


CUSTOMIZE

  Related Topics

Description  CUSTOMIZE specifies an XML file or list of files that you want to apply to the report selected in the MODULE or REPORT keyword. The XML file contains customizations (e.g., font changes or color changes) that change the report definition in some way.

For more information, refer to the Publishing Reports manual.

Syntax

[CUSTOMIZE=]filename.xml|(filename1.xml, filename2.xml, ...)

Values

The names of files that contain valid XML report definitions, with path information prefixed to the filenames if necessary.

Usage Notes

•	Typically, the file extension of an XML report definition is .XML, but it does not have to be when it is used with the CUSTOMIZE keyword.


SAVE_RDF

  Related Topics

Description  SAVE_RDF specifies a file to which you want to save the report selected in the MODULE or REPORT keyword combined with the XML customization file(s) selected in the CUSTOMIZE keyword. This argument is most useful when you have an .RDF file to which you are applying an XML file via the CUSTOMIZE keyword and want to save the combination of the two to a new .RDF file.

For more information, refer to the Publishing Reports manual.

Syntax

[SAVE_RDF=]filename.rdf

Values

Any valid filename.


<param>

  Related Topics

Description  <param> is a parameter that is part of the report's definition.  The value you specify is used for that parameter's value.

Syntax

<param>=value

Values

Any valid value for that parameter.

Default

Taken from the Initial Value property of the parameter.

Usage Notes

•	You can override the default value on the Runtime Parameter Form.

•	Values of arguments may be in single or double quotes.  The effect of single or double quotes is operating-system specific.

•	If you specify runfile(s) using the REPORT keyword, the PARAM values will be validated using the settings specified for each parameter (e.g., Input Mask, Validation Trigger) in the report(s).

•	If you do not specify runfile(s) using the REPORT keyword, the PARAM value is not parsed, or validated, because the parameters may refer to those that have not yet been defined.


Attach Database Dialog Box

Use the Attach Database dialog box to specify the complete path name of the database that you want to attach to your session.

This dialog box is not translated in all languages.

Dialog Box Components

Look in boxes -- Lists available folders and files. The larger box displays the folders and files in the location that is selected in the smaller box.

Note that the folders and files are those on the Express server to which you are connected.

File name box -- Specifies the name of the database to open. You can type the name of a file in the box or select a name from the larger Look In box. If you cannot locate the appropriate file, you can specify a different location in the Look In boxes.

Files of Type box -- Specifies the kind of file to display in the File Name box. The .db extension indicates databases.

Up button -- Choose this button to move up one level in the directory structure.

Read Only box -- Specifies that you want to attach the database as read-only so that changes cannot be made to it.


Connect Dialog Box

Use the Connect dialog box to specify information about connecting to Express.

This dialog box is not translated in all languages.

Dialog Box Components

Express Server box -- Specifies the Express Server connection that you want to establish.

Authentication box -- Allows you to enter the domain, user ID, and password for the Express Server. Some or all of these boxes might be dimmed, depending on the Express Server connection that you selected.

Domain box -- Enter your domain name on the remote system. This component appears only if a domain login is required.

User ID box -- Enter your user ID on the remote system.

Password box -- Enter your password on the remote system.

RDBMS Connection box -- Allows you to enter the user ID, password, and Express ID for the RDBMS. The Express ID box might be dimmed, depending on the Express Server connection that you selected.

User ID box -- Enter your user ID for the RDBMS.

Password box -- Enter your password for the RDBMS.

Express ID box -- Enter your Express ID for the RDBMS.


Custom Measures Dialog Box

See Also

Use the Custom Measures dialog box to view, create, select, or edit a custom measure.

This dialog box is not translated in all languages.

Dialog Box Components

Database box -- Specifies the database that is currently in use. To change the database, click the arrow and select a different database from the list.

Custom Measures box -- Lists the custom measures that are available. To copy or edit a custom measure, select a measure from this list before pressing one of the buttons.

Expression box -- Displays the formula defined for the selected custom measure.

Dimensions box -- Displays the dimensions of the selected custom measure.

New button -- Displays the Custom Measures - Action dialog box for creating a new custom measure. The name of the action on the title bar is New.

Copy button -- Displays the Custom Measures - Action dialog box for copying the selected custom measure. The name of the action on the title bar is Copy.

Delete button -- Deletes the selected custom measure.

Edit button -- Displays the Custom Measures - Action dialog box for editing the selected custom measure. The name of the action on the title bar is Edit.


Custom Measures - Action Dialog Box

Use the Custom Measures - Action dialog box to create, edit, or copy a custom measure. The name of the action displayed on the title bar is determined by the function.

This dialog box is not translated in all languages.

Dialog Box Components

Name box -- Specifies the name for the custom measure. The name can have up to 16 characters.

Description box -- Specifies the description for the custom measure.

Expression box -- Defines the expression for the custom measure.

Category box -- Lists categories of functions and expressions you can use when you build a formula for the custom measure.

Choices box -- Lists items in the selected category.

Insert button -- Inserts the selected choice into the Expression box for editing.

Information box -- Displays information about the selected choice.


Database Password Dialog Box

Use the Database Password dialog box to enter the password for a database you are attaching. This dialog box appears only if the database requires a password.

This dialog box is not translated in all languages.

Dialog Box Component

Enter the password for database box -- Enter the password of the database you want to attach. For security, the password appears as asterisks as you type.


Express Query Dialog Box

Use the Express Query dialog box to create a query of Express data.

This dialog box is not translated in all languages.

Components in This Step

Choose Database box -- Lists Express databases that are currently attached. Use the Attach Database and Remove Database buttons to add a database to the list or remove a database from the list. You can attach multiple databases.

Attach Database button -- Accesses the Attach Database dialog box where you can select a database to attach.

Remove Database button -- Detaches the database that is selected in the Choose Database box. You cannot detach a database that is being used by an open query. If a query is in process, or if results are displayed on an open report, you must cancel the query or delete the results before detaching the database.

Available Measures box -- Lists all measures in the database.

Selected Measures box -- Lists current measure selections.

Report columns box -- Provides information about the dimensions that correspond to the selected measures.

Add One button ( [image]) -- Adds a measure that is selected in the Available Measures box to the Selected Measures box.

Add All button ( [image]) -- Adds all measures in the Available Measures box to the Selected Measures box.

Remove One button ( [image]) -- Deletes a selected measure from the Selected Measures box.

Remove All button ( [image]) -- Deletes all measures from the Selected Measures box.

Custom Measures button -- Accesses the Custom Measures dialog box.

Selector button -- Accesses the Selector dialog box, where you can do the following:

Select specific values for a dimension, including a previously saved selection. For example, for a Time dimension, you can select specific years, months, or quarters.

Customize the Selector for a view. You can set options to customize the appearance and behavior of the Selector dialog box for this query.


Dimension Dialog Box

Use the Dimension dialog box to choose a single value. The Dimension dialog box has on its title bar the name of the dimension from which you are selecting a value.

This dialog box is not translated in all languages.

Dialog Box Components

Select One box -- Lists the values of the dimension. Select one value from the list. If the dimension has a hierarchy, the Select one box has the following two columns:

Drilling column -- If the dimension has a hierarchy, a column appears at the left, that contains drill icons. You can click on these icons to expand or collapse the hierarchy. At the bottom of this column is a drill button that displays the Drill dialog box.

Values column -- Lists all dimension values.


Drill Dialog Box

Use the Drill dialog box to expand or collapse a list of dimension values to a particular level in the dimension hierarchy.

This dialog box is not translated in all languages.

Dialog Box Components

Starting With label -- Identifies the dimension value that is the starting point for drilling.

Drill box -- Lists levels at or below the level of the starting point in the current dimension hierarchy. Select the lowest level you want to include in your selection.


List Dialog Box

See Also

Use the List dialog box to select dimension values from a list of available values. You can add values to the list, retain values on the list, and remove values from the list. For a dimension with a hierarchy, you can also access the Drill dialog box to expand or collapse the hierarchy.

This dialog box is not translated in all languages.

Dialog Box Components

Available Dimension Values box -- Lists all the values in the current hierarchy or, if there is no hierarchy selected, all the values in the dimension. If you want to add values to the current selection or replace the current selection, highlight the values to add or to use in the replacement. Use SHIFT+CLICK or CTRL+CLICK to highlight multiple values, or drag the left mouse over the values you want to highlight.

Drilling column -- If the current dimension has a hierarchy, a column appears at the left that contain drill icons. You can click on these icons to expand or collapse the hierarchy. At the bottom of this column is a drill button that displays the Drill dialog box.

Selected Dimension Values box -- Lists the dimension values that are currently selected. If you want to keep values in or remove values from the current selection, highlight the values to keep or remove. Use SHIFT+CLICK or CTRL+CLICK to highlight multiple values, or drag the left mouse over the values you want to highlight.

Select button -- Replaces the current selection (listed in the Selected Dimension Values box) with dimension values that are highlighted in the Available Dimension Values box.

Add button -- Adds the dimension values that are highlighted in the Available Dimension Values box to the current selection in the Selected Dimension Values box.

Keep button -- Keeps the dimension values that are highlighted in the Selected Dimension Values box in the current selection and removes the others.

Remove button -- Removes the dimension values that are highlighted in the Selected Dimension Values box from the current selection and keeps the others.

Hierarchy box -- Lists the hierarchies defined for the dimension. Select the hierarchy from which you want to select dimension values. The values in the hierarchy that you select appear in the Available Dimension Values box.


Preview Dialog Box

Use the Preview dialog box to examine the results of the choices you make as you use a Selector tool.

As you modify a selection, the selection script changes. The Preview dialog box allows you to see the effect of script changes and to see which dimension values will be selected if you apply the changes.

This dialog box is not translated in all languages.

Dialog Box Components

Script box -- Displays the complete selection script, including the part that will be added if you choose OK in the dialog box from which you displayed the Preview dialog box.

Selected Values box -- Lists the values that the displayed selection script would produce.


Qualifying Dimension Values Dialog Box

When you select or sort dimension values based on measure values, you must specify a single value for each of the qualifying dimensions. Use the Qualifying Dimension Values dialog box to select a value for each qualifying dimension.

This dialog box is not translated in all languages.

Dialog Box Components

Choose a Value for Each Dimension box -- Lists each of the qualifying dimensions in the measure, with a single value for each dimension. Click on the dimension whose value you want to select.

Dimension Values box -- Lists the available values for the dimension that is selected in the Choose a Value for Each Dimension box. Select one value for the dimension.


Rename Selection Dialog Box

Use the Rename Selection dialog box to rename a saved selection.

This dialog box is not translated in all languages.

Dialog Box Components

Name box -- Identifies the new name of the saved selection. It can be 16 characters long. To avoid naming conflicts when you share the saved selection with another user, use a convention that ensures the name will be unique. For example, you might include the date or your initials in the name.

Description box -- Identifies the new description of the saved selection.


Replace Saved Selection Dialog Box

When, in the Save Selection dialog box, you save a selection as a replacement for another saved selection, the Replace Saved Selection dialog box asks you if you want to replace the previously saved selection with the new selection.

Choose Yes to replace a previously saved selection with a new selection.

This dialog box is not translated in all languages.

Dialog Box Components

Current script box -- Displays the script for the previously saved selection.

New script box -- Displays the new script that will become the saved selection script if you choose Yes.


Save Selection Dialog Box

Use the Save Selection dialog box to save a selection or to replace a previously saved selection.

This dialog box is not translated in all languages.

Dialog Box Components

Dimension label -- Identifies the dimension to which the selection belongs.

Hierarchy label -- Identifies the last selected hierarchy used in the saved selection. When the selection is used again, this hierarchy becomes the current hierarchy for the dimension.

Database label -- Identifies the database that contains the dimension.

Save Selection as box -- Select one of the following buttons:

New button -- Saves the current selection as a new saved selection. When you choose New, the following boxes appear:

Name box -- Type a name for the saved selection. It can be 16 characters long.

Description box -- Type a description for the saved selection.

Replacement button -- Replaces a selection with the current selection. When you choose Replacement, a list of the saved selections for the dimension appears. Click the saved selection that you want to replace.

Note: You cannot replace saved selections that were created in Express Administrator.

Type box -- Select one of the following types for the selection:

Dynamic -- Evaluates the selection criteria based on current status. The actual values included in the selection may change. For example, if the selection script specifies "Select last three months," a dynamic selection includes the three months prior to the month in which the user chooses the saved selection.

Static -- Selects the exact dimension values included in the selection at the time the selection was saved. For example, if the selection script specifies "Select last three months," a static selection includes the three months prior to the month in which the saved selection was created, no matter when the query is run.

Script box -- Displays the selection script for the saved selection, provided that the Show selection script box is checked in the Selector Options dialog box.


Saved Selection Dialog Box

See Also

Use the Saved Selection dialog box to retrieve a saved selection that was defined in Express Administrator for a dimension.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with the saved selection.

Add -- Adds values in the saved selection to the current selection.

Keep -- Keeps values in the current selection that are also in the saved selection and discards the other dimension values in the current selection.

Remove -- Removes the saved selection values from the current selection and keeps the others.

Dimension Values in Selection box -- Lists the selections that have been saved for the dimension.

Selection Name box -- Displays the following information about the highlighted saved selection:

Dimension label -- Identifies the dimension to which the saved selection belongs.

Hierarchy label -- Identifies the hierarchy that is specified in the saved selection. This hierarchy will become the current hierarchy when you choose the saved selection.

Database label -- Identifies the database that contains the dimension.

Type label -- Identifies whether the saved selection is dynamic or static.

Access label -- Identifies whether you can change the saved selection.

Script box -- Displays the selection script for the saved selection, provided that the Show selection script box is checked in the Selector Options dialog box.

Script box -- Displays the criteria that will be added to the selection script of the selection that you are editing if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select All Dialog Box

See Also

Use the Select All dialog box to choose all the values in the dimension or all the dimension values in the current hierarchy.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly selected values from the current selection and keeps the others.

Dimension Values in hierarchy box -- Lists the hierarchies that are defined for the selected dimension. To include all the dimension values in the selection, select (NONE); to include only those dimension values that belong to a particular hierarchy, select the hierarchy.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select by Attribute Dialog Box

See Also

Use the Select by Attribute dialog box to choose values based on their attributes. For example, you might select Product values by color. The Attribute tool is available only for a dimension that has an attribute.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

Dimension Values Where box -- Specifies the related dimension that defines the attribute.

Is box -- Lists the values for the current attribute. You can choose one or more values to use as your selection criteria.

In Hierarchy box -- Lists the hierarchies that are defined for the selected dimension. Select the hierarchy that you want to use.

At Level(s) box -- Lists the levels in the selected hierarchy, if any. Select the levels that you want to include in your new selection. Use SHIFT+CLICK or CTRL+CLICK to select multiple levels.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select by Exception Dialog Box

See Also

Use the Select by Exception dialog box to select dimension values based on the data values in a particular measure or on the way those data values compare with data values in a second measure. For example, you might want to select all cities whose total dollar sales for a particular product exceeded $5,000,000 during the previous year. Or you might want to select all cities whose sales exceeded forecast by 10 percent.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

Exception Type box -- Contains the following options for the type of exception criteria:

Numeric -- Compares a measure against a single value. After you make this choice, the following boxes appear:

Dimension Values Where box -- Identifies the measure whose values the Exception tool compares to the value you specify in the Value box. To select a different measure, click on the Ellipsis button to display a list of all measures that use the current dimension.

Is box -- Operator that identifies the way matching data values in the selected measure compare to a specified data value. You can choose from these terms: equal to, less than or equal to, greater than or equal to, not equal to, between, greater than, outside, and less than.

Value box -- Type in a number that the Exception tool will compare to values of the selected measure. When the current operator requires a range of values (between or outside), the dialog box contains two boxes in which you type the upper and lower values of the range.

Measure -- Compares one measure with another measure. After making this choice, you will see the following boxes:

Dimension Values Where box -- Identifies the measure whose values the Exception tool compares to the value you specify in the Value box. To select a different measure, click on the Ellipsis button to display a list of all measures that use the current dimension.

Is box -- Operator that identifies the way matching data values in the selected measure compare to a second measure. You can choose from Less than or Greater than.

Value box -- Type in a number that the Exception tool will compare to values of the selected measure. In the box next to it, choose Percent or Value depending on whether you want the number to be a percentage or a constant value.

Comparison box -- Indicates the type of comparison that the Exception tool will make between the two measures. You can choose Above, Below, or Above or below.

Measure box -- Identifies the second measure the Exception tool will use in the comparison. To select a different measure, click on the Ellipsis button to display a list of all measures that use the current dimension.

Exclude box -- Contains the following option for handling data values:

Zeros check box -- Check this box if you want zero values in the data to be excluded from the search.

In Hierarchy box -- Lists the hierarchies that are defined for the selected dimension. Select the hierarchy that you want to use. Select the hierarchy that you want to use or select NONE to include all dimension values.

At Level(s) box -- Lists the levels of the current dimension hierarchy. Select the levels that you want to include in your new selection or select All to include all levels. Use SHIFT+CLICK or CTRL+CLICK to highlight multiple levels.

For Dimension box -- Identifies a single value for each of the other dimensions for the two measures. To change a selection, click on the adjacent Ellipsis button to get a list of all values in the dimension.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select by Family Dialog Box

See Also

Use the Select by Family dialog box to choose values based on their family. For example, you might select Geography values for Canada and its child cities. The Family tool is available only when a hierarchy is defined for the selected dimension.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

In Hierarchy box -- Lists the hierarchies defined for the selected dimension. Select the hierarchy that you want to use.

Family Member(s) of Dimension box -- Identifies the dimension value whose family you want to choose. To select a different value, click on the Ellipsis button for a list of all values in the current dimension and hierarchy.

Levels box -- Usually consists of two columns, depending on the hierarchy. The left column lists all levels in the current hierarchy. The right column shows the relationship of the values at each level to the anchor point. One level is identified as the level that includes the anchor point. Values at other levels can be the ancestor, the parent, one of the children, or one of the descendants of the value selected in the Family Member(s) of Dimension box.

Select the level or levels that you want to include in the selection. Use SHIFT+CLICK or CTRL+CLICK to select multiple levels.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select by Level Dialog Box

See Also

Use the Select by Level dialog box to choose values based on their level in the current dimension hierarchy. For example, you might select all the Geography values at the City level. The Level tool is available only when a hierarchy is defined for the selected dimension.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

Dimension Values in Hierarchy box -- Lists the hierarchies defined for the selected dimension. Select the hierarchy that you want to use.

At Level(s) box -- Lists the levels that are defined for the selected dimension and hierarchy. Select the levels that you want to include in your new selection. Use SHIFT+CLICK or CTRL+CLICK to select multiple levels.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select by Matching Characters Dialog Box

See Also

Use the Select by Matching Characters dialog box to choose dimension values that match a specified string of characters.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

Dimension Values that box -- Specifies whether matching dimension values contain, start with, end with, or match exactly the specified string of characters.

Character(s) box -- Enter the text to be matched when choosing dimension values.

In Hierarchy box -- Lists the hierarchies that are defined for the selected dimension. Select the hierarchy that you want to use or select NONE to search all the values in the dimension. This box does not appear if the dimension does not have any hierarchies defined for it.

At Level(s) box -- Lists the levels of the current dimension. Select the levels that you want to include in your new selection or select All to search all the values in a dimension. This box does not appear if the dimension does not have any hierarchies defined for it.

Ignore Capitalization box -- When this box is selected (as it is by default), the text you entered will match any combination of upper- and lowercase letters. Clear this box if you want to match the capitalization of the text you entered.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select by Range Dialog Box

See Also

Use the Select by Range dialog box to choose a range of contiguous time periods.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

Interval box -- Contains the following options for different types of intervals:

The last -- Selects a specific number of the most recent time periods. When you pick this interval, the Time Periods box contains an At Level box for choosing a level, an Including box for choosing the number of time periods, and a text label indicating the last date currently defined at the selected level.

To date -- Selects all time periods from a particular period to the present. When you pick this interval, the Time Periods box contains an At Level box for choosing a level, a From box for choosing the beginning of the range, and a text label indicating the last date currently defined at the selected level.

A range of -- Selects all time periods between (and including) starting and ending periods. When you pick this interval, the Time Periods box contains an At Level box for choosing a level, a From box for choosing the beginning of the range, and a To box for choosing the end of the range:

Time Periods box -- Contains two or more of the following boxes for defining the range.

In Hierarchy box -- Lists the hierarchies that are defined for the selected dimension. Select the hierarchy that you want to use.

At Level box -- Displays the levels in the Time hierarchy. Select the level you want to use.

From box -- Specifies the beginning of the range when Interval is To date or A range of.

To box -- Specifies the end of the range when Interval is A range of.

Including -- Specifies the number of time periods to include in the range, when Interval is Last.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Select Top/Bottom Dialog Box

See Also

Use the Select Top/Bottom dialog box to choose dimension values based on the top and bottom data values in a particular measure. For example, you might want to choose the top five cities in sales for your company's products. You would base your selection of Geography values on data in the Sales measure.

This dialog box is not translated in all languages.

Dialog Box Components

Selection Type box -- Contains the following options for the way newly selected values will affect the current selection:

Select -- Replaces the current selection with new values.

Add -- Adds new values to the current selection.

Keep -- Keeps newly chosen values in the current selection and discards the others.

Remove -- Removes newly chosen values from the current selection and keeps the others.

The Top boxes -- Type a number in the first box to specify the exact number or percentage of values you want to find with the largest data values. In the second box, choose Dimension for the exact number or % Dimension for a percentage.

And/Or The Bottom boxes -- Type a number in the first box for the exact number or percentage of values you want to find with the smallest data values. In the second box, choose Dimension for the exact number or % Dimension for a percentage.

Based On box -- Identifies the measure whose values will be used as the selection criteria. To select a different measure, click on the Ellipsis button to display a list of all measures that use the current dimension.

Exclude box -- Contains the following options for handling data values:

NAs box -- Check this box if you want NA data values to be excluded from the search.

Zeros box -- Check this box if you want zero data values to be excluded from the search.

Sort automatically box -- Specifies whether to use the sort criteria specified in the Sort tool to sort the dimension automatically each time the selection changes. When this box is clear, the selection is sorted from top to bottom.

In Hierarchy box -- Lists the hierarchies that are defined for the selected dimension. Select the hierarchy that you want to use or select NONE to include all dimension values.

At Level(s) box -- Lists the levels of the current dimension hierarchy. Select the levels that you want to include in your new selection or select All to include all levels. Use SHIFT+CLICK or CTRL+CLICK to highlight multiple levels.

For Dimension box -- Identifies a single value for each of the other dimensions in the measure. To change a selection, click on the adjacent Ellipsis button to get a list of all values in the dimension.

Script box -- Displays the criteria that will be added to the selection script if you choose OK.

Preview button -- Displays the Preview dialog box, which allows you to examine the change you are considering and lists the dimension values that will be selected if you adopt the change.


Selection Library Dialog Box

See Also

Use the Selection Library dialog box to save selections and to rename or delete saved selections.

This dialog box is not translated in all languages.

Dialog Box Components

Selections box -- Lists saved selections for the dimension. Select <Current Selection> to save the current selection as a new saved selection. To rename or delete a saved selection, choose a saved selection from the list.

Dimension label -- Identifies the dimension to which the saved selection belongs.

Hierarchy label -- Identifies the last selected hierarchy used in the highlighted saved selection. When the selection is used again, this hierarchy becomes the current hierarchy for the dimension.

Database label -- Identifies the database that contains the dimension.

Type label -- Identifies whether the saved selection is dynamic or static.

Access label -- Identifies whether you can overwrite, rename, or delete the saved selection.

Script box -- Displays the selection script for the saved selection, provided that the Show selection script box is checked in the Selector Options dialog box.

Save button -- Displays the Save Selection dialog box where you name and save a new selection.

Rename button -- Displays the Rename Selection dialog box, where you enter a new name for the saved selection.

Delete button -- Allows you to delete the highlighted saved selection.


Selector Dialog Box

See Also

Use the Selector dialog box to choose the dimension values that you want displayed in a query. You can select specific values for a dimension, save a custom selection of dimension values, and work with custom measures. You can also customize the Selector for the query.

The Selector dialog box is the first of several interrelated dialog boxes that make up the Selector.

This dialog box is not translated in all languages.

Dialog Box Components

Toolbar -- Contains buttons that represent the Selector tools available for the selected dimension. Each tool displays a dialog box that helps you select dimension values. To display a Selector tool, click the tool's button.

If you do not see one of the Selector tools, choose Options, then select the tool from the Available tools list. This makes the tool available.

Dimensions option buttons or check box -- Lists the dimensions for the measures that were selected for the query. Depending on the number of dimensions and on a Selector option setting, each dimension may be displayed as an option button, or the list of dimensions may appear in a list box. Select the dimension whose selection you want to change.

Dimension Selection Values box -- Lists the dimension values currently selected for the dimension. This box appears only when the Show Selection Values check box is selected in the Selector Options dialog box.

Dimension Selection Script box -- Displays the complete script that describes the selections for the dimension. This box appears only when the Show Selection Script box is selected in the Selector Options dialog box.

Custom button -- Displays the Custom Measures dialog box, which allows you to create, copy, edit, and delete custom measures. This button appears only when the Allow custom measure functionality check box is selected in the Selector Options dialog box.

Library button -- Displays the Selection Library dialog box, which allows you to create, rename, and delete saved selections. This button appears when only the Allow access to saved selection library check box is selected in the Selector Options dialog box.

Options button -- Displays the Selector Options dialog box, which allows you to set preferences for the appearance of the Selector dialog box for the current query.


Selector Options Dialog Box

See Also

Use the Selector Options dialog box to set preferences for the appearance of the Selector dialog box. Options you set in this box remain in effect each time the Selector is displayed from the query.

This dialog box is not translated in all languages.

Dialog Box Components

Allow Custom Measure Functionality box -- When this box is selected, the Custom button appears on the Selector dialog box, allowing access to the Custom Measures dialog box.

Allow Access To Saved Selection Library box -- When this box is selected, the Library button appears on the Selector dialog box, allowing users access to the Selection Library dialog box.

Show Selection Values box -- When this box is selected, the dimension values in the current selection appear in a list box in the Selector dialog box.

Show Selection Script box -- When this box is selected, the selection script appears in the Selector dialog box and in related dialog boxes.

Use Listbox To Represent Dimension box -- When this box is selected, the available dimensions appear in a list box, even when there are few enough of them to allow them to be displayed as option button labels. When this box is clear, dimensions appear in a list box only when there are too many to display with option buttons.

Show Dimension Values As box -- Displays options for specifying the labels or values used when listing dimension values in the Selector. The database administrator provides these labels in the process of configuring the database. Choose one of the following options:

Long labels -- Uses long labels (for example, New York City, New York).

Short labels -- Uses short labels (for example, New York).

Values -- Uses the dimension value as it appears in the database (for example, NEWYORK).

Available Tools box -- Displays a check box for each of the Selector tools. When a box is selected, the tool appears in the Selector dialog box. When a box is clear, the tool does not appear in the dialog box.

Maximum Dimension Values In A Selection box -- Specifies the maximum number of dimension values that are allowed in a selection. The Selector prevents you from selecting more values than this maximum.


Sort Selection Dialog Box

See Also

Use the Sort Selection dialog box to sort dimension values in a selection. The methods of sorting you can use depend on the dimension's properties.

This dialog box is not translated in all languages.

Dialog Box Components

The available components vary according to the current dimension and the options you select.

Based On box -- Lists the sorting methods, as follows:

Alphabet -- Sorts values in alphabetical order, either A to Z or Z to A.

Database -- Sorts values in the order the dimension values are stored in the database, either in standard or reverse order.

Data Value -- Sorts values based on the corresponding data values in a measure, either low to high or high to low. The following additional boxes appear when you choose this method:

Using box -- Specifies the measure from which to use data values. To select a different measure that uses the current dimension, click on the Ellipsis button.

For box -- Lists the other dimensions for the measure chosen in the Using box and identifies a single dimension value for each one. To change a dimension value, choose the Ellipsis button.

Dragdrop -- Enables you to sort values manually. A dimension list box displays the values in the current selection. You can click and drag a value to a different position in the list.

Hierarchy -- Sorts values based on their order in the hierarchy, either top to bottom or bottom to top. Available only when the selected dimension has a hierarchy. When you choose this method, the In Hierarchy box appears, which allows you to select a hierarchy.

Level -- Sorts values based on their level,  either from top to bottom or from bottom to top. Available only when the selected dimension has a hierarchy. Note that the sort affects the order of levels, but does not alter the order of values within a level. When you choose this method, the In Hierarchy box appears, which allows you to select a hierarchy.

Time -- Sorts values from earliest to latest or latest to earliest. Available only if you are working with the Time dimension. When you choose this method, the In Hierarchy box appears, which allows you to select a hierarchy.

In Hierarchy box -- When you choose Data Value, Hierarchy, Level, or Time in the Based On box, the In Hierarchy box lists the hierarchies that are defined for the selected dimension. Select the hierarchy that you want to use.

In Order box -- Lists the sort-order options for the Alphabet, Database, Data Value, Hierarchy, Level, and Time methods.

Script box -- Displays the criteria that will be added to the selection script when you choose OK.

Preview button -- Displays the Preview dialog box, so that you can see the new sort order of selected values before replacing the old sort order.

Sort Automatically check box -- Specifies whether the dimension is sorted automatically each time the selection changes.


See Also -- List Dialog Box

Replacing or Refining Selections

Using the List Tool


See Also -- Custom Measures Dialog Box

Creating Custom Measures

Defining Expressions for Custom Measures

Limiting Access to Custom Measures


See Also -- Creating Custom Measures

Copying Custom Measures

Defining Expressions for Custom Measures

Limiting Access to Custom Measures


See Also -- Replacing Saved Selections

Controlling Access to the Saved Selection Library

Creating Saved Selections

Deleting Saved Selections

Renaming Saved Selections


See Also -- Saved Selection Dialog Box

Using Saved Selections


See Also -- Select All Dialog Box

Replacing or Refining Selections

Using the All Tool


See Also -- Select by Attribute Dialog Box

Replacing or Refining Selections

Using the Attribute Tool


See Also -- Select by Exception Dialog Box

Replacing or Refining Selections

Using the Exception Tool


See Also -- Select by Family Dialog Box

Replacing or Refining Selections

Using the Family Tool


See Also -- Select by Level Dialog Box

Replacing or Refining Selections

Using the Level Tool


See Also -- Select by Matching Characters Dialog Box

Replacing or Refining Selections

Using the Match Tool


See Also -- Select by Range Dialog Box

Replacing or Refining Selections

Using the Range Tool


See Also -- Select Top/Bottom Dialog Box

Replacing or Refining Selections

Using the Top/Bottom Tool


See Also -- Selection Library Dialog Box

Creating Saved Selections


See Also -- Selector Dialog Box

Creating Custom Measures

Creating Saved Selections

Customizing the Selector for a Query

Renaming Saved Selections

Replacing or Refining Selections

Selecting Data

Selector Toolbar

Using Saved Selections


See Also -- Selector Options Dialog Box

Controlling Access to the Saved Selection Library

Customizing the Selector for a Query

Displaying Dimension Names in the Selector

Displaying Dimension Values in the Selector

Hiding or Displaying Selector Tools

Limiting Access to Custom Measures


See Also -- Selector Toolbar

Hiding or Displaying Selector Tools

Using Saved Selections

Using the All Tool

Using the Attribute Tool

Using the Exception Tool

Using the Family Tool

Using the Level Tool

Using the List Tool

Using the Match Tool

Using the Range Tool

Using the Sort Tool

Using the Top/Bottom Tool


See Also -- Sort Selection Dialog Box

Using the Sort Tool


Customizing the Selector for a Query

You can set Selector options to customize the appearance and behavior of the Selector dialog box for a query. Each time the Selector is displayed from the query, the customized Selector dialog box appears.

You can customize the Selector dialog box in the following ways:

Hide or display Selector tools in the dialog box.

Display dimension names in a list box, even when there are few enough to display as option button labels.

Specify how and where the dimension values are displayed.

Control access to the saved selection library.

Control access to the Custom Measures dialog box.


Controlling Access to the Saved Selection Library

By default, the Selector dialog box includes the Library button. This button provides access to the Selection Library dialog box where you can create saved selections, modify them, rename them, or delete them. You can deny access to the saved selection library by not displaying the Library button for the current query.

Note: Denying access to the saved selection library does not keep users from using a saved selection, as long as the Saved Selection tool is available.

To control access to the selection library:

1.	In the Selector dialog box, choose Options.

2.	In the Selector Options dialog box, change the value in the Allow access to saved selection library check box:

To allow access to the library, select the check box.

or

To prevent access to the library, clear the check box.

3.	Choose OK.


Creating Saved Selections

As you use the Selector, you might find that you select certain sets of dimension values over and over again. To save time, you can save these selections and use them again in another query.

If you save a selection when its database is attached read/write, then your saved selection is available to all users who attach that database. If you save a selection when its database is attached read-only, then your saved selection is available only to you.

To save a selection:

1.	In the Selector dialog box, choose Library. The Selection Library dialog box appears.

Note: If the Selector dialog box does not have a Library button, change the Selector option to allow access to the library.

2.	In the Selections box, click <Current Selection>.

3.	In the Selection Library dialog box, choose Save.

4.	Complete the Save Selection dialog box. Be sure to review the information that is displayed, to confirm that it describes the selection you want to save.

5.	Choose OK.

6.	In the Selection Library dialog box, choose Close to return to the Selector dialog box.


Deleting Saved Selections

You can delete any saved selections that you no longer plan to use.

To delete a saved selection:

1.	In the Selector dialog box, choose Library. The Selection Library dialog box appears.

Note: If the Selector dialog box does not have a Library button, change the Selector option to allow access to the library.

2.	Select the saved selection that you want to delete and choose Delete. A message box asks you if you want to delete the selection.

3.	Choose OK.

4.	In the Selection Library dialog box, choose Close to return to the Selector dialog box.


Displaying Dimension Names in the Selector

By default, dimension names appear as option button labels in the Selector dialog box, unless there are too many dimensions to fit in the dialog box. Then the dimension names appear in a list box. You can set an option to have the dimension names always appear in a list box, no matter how many dimensions there are.

The option setting remains in effect each time the Selector dialog box is displayed from the query.

To display dimension names in a list box in the Selector:

1.	In the Selector dialog box, choose Options. The Selector Options dialog box is displayed.

2.	In the Selector Options dialog box, select Use listbox to represent dimension.

3.	Choose OK.


Displaying Dimension Values in the Selector

Selector options allow you flexibility in the display of dimension values in the Selector. You can:

Display dimension values in the Selector dialog box.

Change the way that dimension values are displayed and used throughout the Selector.

The option settings remain in effect each time the Selector dialog box is displayed from the current query.

Displaying Values in the Selector Dialog Box

By default, the Selector dialog box displays the selection script for a dimension's selection, but does not display the selected values. You can use the List tool to see the selected values, or you can set a Selector option to display the values in the Selector dialog box.

To display dimension values in the Selector dialog box:

1.	In the Selector dialog box, choose Options.

2.	In the Selector Options dialog box, select Show selection values.

3.	Choose OK.

Changing the Way Dimension Values Are Displayed in the Selector

By default, dimension values appear in the Selector as long labels, such as New York. Values also have short labels (for example, NY) and identifiers in the Express database, which are all caps with no spaces (for example, NEWYORK). Selector options allow you to choose the long labels, short labels, or the actual identifiers for display in the Selector list boxes.

Note: The Sort tool and the Match tool also use the kind of labels that you select here. For example, if you set the option to Values, then the Match tool will search for actual dimension values that match the string you specify. When the Sort tool sorts a dimension alphabetically, it will use the actual dimension value spellings to determine alphabetical order.

To change the display of dimension values in Selector lists:

1.	In the Selector dialog box, choose Options.

2.	In the Selector Options dialog box, choose an option in the Show dimension values as box:

To display dimension values in their long label forms (such as New York), choose Long labels.

To display dimension values in their short label forms (such as NY), choose Short labels.

To display dimension values exactly as they appear in the Express database, choose Values.

3.	Choose OK.


Hiding or Displaying Selector Tools

By default, all the Selector tools are displayed in the Selector dialog box. When a tool is not applicable for the selected dimension, the tool is dimmed in the dialog box. Selector options allow you to prevent an available tool from appearing in the dialog box.

The option settings remain in effect each time the Selector dialog box is displayed from the current query.

To hide Selector tools in the Selector dialog box:

1.	In the Selector dialog box, choose Options. The Selector Options dialog box appears.

2.	In the Available Tools box, select the check box for any tool that you want displayed in the Selector dialog box. Clear the check box for any tool that you do not want displayed in the dialog box. For example, if you want the All tool displayed but not the Range tool, select All tool and clear Range tool.

3.	Choose OK.


Renaming Saved Selections

After a selection has been saved, you can rename the saved selection.

To rename a saved selection:

1.	In the Selector dialog box, choose Library.

Note: If the Selector dialog box does not have a Library button, change the Selector option to allow access to the library.

2.	In the Selection Library dialog box, select the saved selection that you want to rename.

3.	Choose Rename.

4.	Complete the Rename Selection dialog box.

5.	Choose OK.

6.	In the Selection Library dialog box, choose Close to return to the Selector dialog box.


Replacing or Refining Selections

You use Selector tools to specify the dimension values that you want to include in the dimension's selection. You can use the tools either to start the selection process over by replacing the selection that is currently in effect, or to refine the current selection.

To replace the current selection with a new one:

In the Selector tool, choose Select as the selection type.

To refine the current selection:

In the Selector tool, choose one of the following selection types:

To add newly selected dimension values to the current selection, choose Add.

To keep only the newly selected dimension values in the selection, choose Keep.

To remove the newly selected values from the current selection, choose Remove.


Replacing Saved Selections

See Also

You can replace selections that have been previously saved.

To change a saved selection:

1.	Use the Saved Selection tool to select the saved selection that you want to change.

or

Start with a new selection.

2.	Use other Selector tools to modify the selection.

3.	In the Selector dialog box, choose Library. The Selection Library dialog box appears.

Note: If the Selector dialog box does not have a Library button, change the Selector option to allow access to the library.

4.	In the Selections box, click <Current Selection>.

5.	Choose Save.

6.	Complete the Save Selection dialog box. Be sure to review the information displayed, to confirm that it describes the selection you want to save and to select Replacement in the Save Selection As box.

7.	Choose OK.

8.	Complete the Replace Saved Selection dialog box.

9.	In the Selection Library dialog box, choose Close to return to the Selector dialog box.


Selecting Data

The Selector is a set of related dialog boxes that allows you to make dimension value selections for each dimension. You can use Selector features to select specific values for a dimension, sort the values, save a custom selection of dimension values, and work with custom measures and saved selections. You can also set viewing options for the Selector.

To use the Selector:

1.	In the Express Query dialog box, select a measure for the query and choose Selector.

The Selector dialog box appears. The dimensions and the number of values currently selected for the dimension are displayed.

Tip: You can choose Options to change how dimension values are displayed in the Selector. For example, you can specify that the values appear in a list rather than as a number.

2.	Use the Selector tools to select and sort the values for this dimension, including saved selections. The current selection criteria are displayed in a script. Use the tools to refine or replace the selection.

Note: Not all tools are available for all dimensions. Tools that are dimmed are not available.

Tip: To see the dimension values in the current selection, choose the List tool.

3.	When the selection includes the values that you want, choose OK in the Selector dialog box.

Tip: If you create selection criteria that you want to use again, you can save them before exiting the Selector. To save the selection, choose Library.

4.	Repeat Steps 1 through 3 for each dimension you want to change.

5.	To create a custom measure or select a saved custom measure, select the Measure dimension and choose Custom.

6.	When your work is complete, choose OK.


Selector Toolbar

See Also

The Selector toolbar provides tools to help you select or arrange dimension values that meet your criteria. The Selector toolbar is displayed at the top of the Selector dialog box.

Icon	Tool	Description
	All tool	Selects or deselects all values of a dimension or dimension hierarchy.
	List tool	Selects or deselects values from the list of values in a dimension.
	Match tool	Selects dimension values that contain a specified string of characters.
	Level tool	Selects or deselects dimension values at one or more levels of a hierarchy.
	Family tool	Selects or deselects dimension values based on a family relationship with a particular dimension value.
	Attribute tool	Selects or deselects a group of dimension values that have a common attribute, such as color or size.
	Exception tool	Selects or deselects dimension values based on comparison of measure values to another value or values.
	Top/Bottom tool	Selects or deselects the largest or smallest data values in a given measure.
	Range tool	Selects or deselects a range of time periods.
	Saved Selection tool	Selects or deselects dimension values in a saved selection.
	Sort tool	Sorts dimension values using criteria you specify.


Using Saved Selections

You can use selections that have been saved in Express Administrator.

To use a saved selection:

1.	In the Selector dialog box, choose the Saved tool from the Selector toolbar.

2.	Complete the Saved Selection dialog box.

3.	Choose OK.


Using the All Tool

Use the All tool to select all the values in a dimension or to select all the dimension values in a hierarchy.

To select all the values in a dimension or all the dimension values in a hierarchy:

1.	In the Selector dialog box, choose the All tool from the Selector toolbar.

2.	Complete the Select All dialog box.

3.	Choose OK.


Using the Attribute Tool

Use the Attribute tool to select dimension values that share a particular attribute, such as color or size.

In order to select dimension values by attribute, the dimension must have one or more attributes.

To select dimension values that share an attribute:

1.	In the Selector dialog box, choose the Attribute tool from the Selector toolbar.

2.	Complete the Select by Attribute dialog box.

3.	Choose OK.


Using the Exception Tool

Use the Exception tool to select dimension values based on the values of a measure that uses the dimension. For example, you might select cities whose Sales values are greater than $1,000,000.

You can also use the Exception tool to base a selection on the comparison of two different measures. For example, you might select the products whose Sales were more than 5 percent above Forecast.

Note: The search for exception values is restricted to one dimension value for each of the other dimensions of the specified measure.

To select values using the Exception tool:

1.	In the Selector dialog box, choose the Exception tool from the Selector toolbar.

2.	Complete the Select by Exception dialog box.

3.	Choose OK.


Using the Family Tool

When a dimension has a hierarchy defined for it, you can use the Family tool to select values that have a familial relationship with a particular dimension value. For example, if you were a regional sales manager, you might select the Cities in your region. You could use the Family tool to select your region (for example, Eastern U.S.) and its children (for example, Boston, New York, Philadelphia, and so on).

Or, as another example, you might have isolated a single store whose sales doubled in the course of a month. You could use the Family tool to select the parents and ancestors of the store, to see how that store's sales affected the sales numbers for the store's city and region.

To select values using the Family tool:

1.	In the Selector dialog box, choose the Family tool from the Selector toolbar.

2.	Complete the Select by Family dialog box.

3.	Choose OK.


Using the Level Tool

When a dimension has a hierarchy defined for it, use the Level tool to select all the values at one or more levels of the hierarchy. For example, to analyze Sales data by city, you might select all the Geography dimension values at the City level. To analyze monthly and quarterly Sales data, you might select all the Time values at the Month and Quarter levels.

To select values using the Level tool:

1.	In the Selector dialog box, choose the Level tool from the Selector toolbar.

2.	Complete the Select by Level dialog box.

3.	Choose OK.


Using the List Tool

Use the List tool to select dimension values individually from a list of all available values.

To select dimension values using the List tool:

1.	In the Selector dialog box, choose the List tool from the Selector toolbar.

2.	Complete the List dialog box. Select dimension values as follows:

IF you want to . . .	THEN highlight values in the . . .
add values to the current selection or replace the current selection,	Available Dimension Values box and then choose Add or Select.
keep values in or remove values from the current selection,	Selected Dimension Values box and then choose Keep or Remove.
3.	Choose OK.


Using the Match Tool

Use the Match tool to select dimension values by searching for particular characters. For example, you can use the Match tool to select all the values that contain the characters "Size 12."

The Match tool searches the dimension values as they are displayed in the Selector. For example, if you set the Selector option to show dimension values as short labels, the Match tool searches the short labels for the characters you specify.

Tip: You can use the Options button to change the way the names of dimension values are displayed in the Selector. For example, you can specify that the values be displayed with their short names (for example, NY) rather than with their long names (for example, New York).

To select values using the Match tool:

1.	In the Selector dialog box, choose the Match tool from the Selector toolbar.

2.	Complete the Select by Matching Characters dialog box.

3.	Choose OK.


Using the Range Tool

Use the Range tool to select a range of Time values. For example, you might select the range of months between January and June of last year. You could also select all the months from January of this year to the current date, or you could select the last three months.

To select a range of time values:

1.	In the Selector dialog box, choose the Range tool from the Selector toolbar.

2.	Complete the Select by Range dialog box.

3.	Choose OK.


Using the Sort Tool

By default, each hierarchical dimension is sorted before it is displayed in the query results and after each time you change the selection. For hierarchical dimensions, you can use the Sort tool to turn automatic sorting off or to change the rules that the tool uses for sorting the dimension values.

For nonhierarchical dimensions, you can use the Sort tool to sort the dimension values or to turn on automatic sorting for the dimension.

To sort dimension values:

1.	In the Selector dialog box, choose the Sort tool from the Selector toolbar.

2.	Complete the Sort Selection dialog box. Be sure to select the Sort Automatically box if you want to have the dimension values sorted each time the selection changes.

3.	Choose OK.


Using the Top/Bottom Tool

Use the Top/Bottom tool to select the dimension values with the greatest or least data values in a particular measure. For example, you might select the top 10 cities based on Sales of the Audio Division product line in the first quarter. Or you might select cities in the bottom 30 percent based on Sales of all products for the year.

Note: The search for top and bottom data values is restricted to one dimension value for each of the other dimensions of the specified measure.

To select the top or bottom dimension values:

1.	In the Selector dialog box, choose the Top/Bottom tool from the Selector toolbar.

2.	Complete the Select Top/Bottom dialog box.

3.	Choose OK.


Working with Express

As you read Reports documentation, you will notice references to Express. Express delivers on-line analytical processing (OLAP) with capabilities that include forecasting, what-if scenarios, and financial modeling. Based on a multidimensional data model, Express is optimized for the query and analysis of corporate data — such as sales, marketing, financial, manufacturing, or human resource data.

You can create reports that contain data from Express databases by performing the following tasks:

Creating an Express Query

Selecting Data

Attaching Databases

Removing Databases

If you did not install the Express components when you installed Report Builder, you cannot create reports with Express data. For information on installing the Express components, refer to Reports Getting Started.

In many Express applications, data is presented within hierarchies, in which levels of data are indented. You can often drill up and down in the levels. In Report Builder data is presented in indented hierarchy, but drilling is not supported.


Attaching Databases

In order to make an Express database available as a data source for a query, you must attach the database. If you want to fetch data from multiple sources, you can attach more than one database concurrently.

Important: Do not attach multiple databases that use the same object names. Doing so can produce unpredictable results.

To attach a database:

1.	In the Express Query dialog box, choose Attach Database.

2.	Locate the database file that you want to open.

3.	Choose Open to attach the database file.

4.	To attach additional databases, repeat Steps 1 through 3.


Removing Databases

When you finish working with an Express database, you can remove (detach) it.

Note: You cannot detach a database that is being used by an active query. If a query is in process, or if query results are displayed in an open report, you must cancel the query or delete the results before you can detach the database.

To detach a database:

1.	Display the Express Query dialog box.

2.	In the Choose Database box, select the database that you want to detach.

3.	Choose Remove Database.

4.	Repeat Steps 2 and 3 for each database that you want to detach.


Creating an Express Query

To create a query of Express data, use one of the following methods:

Report Wizard

Express Query Tool


Creating an Express Query: Report Wizard

You can easily use the Report Wizard to create a query with data from an Express database and display the results in Report Builder.

To create an Express query:

1.	From the Tools menu, choose Report Wizard.

2.	On the Style page, select the desired report style.

3.	Choose Next.

4.	Select Express query and choose Next.

5.	Choose Connect to display the Connect dialog box and establish a connection to Express Server.

6.	Choose Express Query to display the Express Query dialog box.

7.	In the Choose Database box, select a database.

If you do not see the database you want to use, choose Attach Database to attach a database. (Once you attach a database, it is displayed in the Choose Database box.)

8.	Select measures for the query. To do this, double-click on the measures in the Available Measures box. Or, use one of the following buttons:

Note: To remove a measure from the Selected Measures box, double-click on the measure. Or, use one of the following buttons:

9.	Choose Selector to display the Selector dialog box, where you can view the current selection script and use Selector tools to refine or replace the selection for this dimension.

Tip: To see the current values, choose the List tool.

10.	Select values for each dimension.

11.	When you complete your work in the Selector, choose OK.

12.	When you complete your work in the Express Query dialog box, choose OK.


Creating an Express Query: Express Query Tool

You can easily use the Express Query tool to create a query with data from an Express database and display the results in Report Builder.

To create an Express query:

1.	Connect to Oracle8.

2.	In the Data Model view, single-click on [image] in the tool palette.

3.	Click in the main area (canvas region) of the window.

4.	Double-click on the newly created query and complete the fields in the Connect dialog box to establish a connection to Express Server.

5.	Choose Express Query to display the Express Query dialog box.

6.	In the Choose Database box, select a database.

If you do not see the database you want to use, choose Attach Database to attach a database. (Once you attach a database, it is displayed in the Choose Database box.)

7.	Select measures for the query. To do this, double-click on the measures in the Available Measures box. Or, use one of the following buttons:

Note: To remove a measure from the Selected Measures box, double-click on the measure. Or, use one of the following buttons:

8.	Choose Selector to display the Selector dialog box, where you can view the current selection script and use Selector tools to refine or replace the selection for this dimension.

Tip: To see the current values, choose the List tool.

9.	Select values for each dimension.

10.	When you complete your work in the Selector, choose OK.

11.	When you complete your work in the Express Query dialog box, choose OK.


Copying Custom Measures

You can copy any custom measure that appears in the Custom Measure box of the Custom Measures dialog box.

To copy a custom measure:

1.	From the Express Query dialog box, choose Custom Measures.

2.	In the Custom Measures dialog box, select the database that contains the custom measure that you want to copy.

3.	In the Custom Measures box, select the measure that you want to copy.

4.	Choose Copy.

5.	Complete the Custom Measures Action dialog box.

6.	Choose OK.

7.	Choose Close.


Creating Custom Measures

See Also

As you create a query, you might find that you want to use a formula that does not exist in the database. You can use the existing measures to define formulas to meet these needs. Formulas that you create are called custom measures.

If you create a custom measure when its database is attached read/write, then your custom measure is available to all users who attach that database. If you create a custom measure when its database is attached read-only, then your custom measure is available only to you.

To create a new custom measure:

1.	From the Express Query dialog box, choose Custom Measures.

2.	In the Custom Measures dialog box, select the database that you want to use.

3.	Choose the New button. The name of the action that is displayed on the title bar is New.

4.	Complete the Custom Measures - Action dialog box.

5.	Choose OK to return to the Custom Measures dialog box.

6.	Choose Close.


Defining Expressions for Custom Measures

As you create, copy, or edit custom measures, you define the expression that the custom measure uses to calculate its values. You define the expression in the Expression box of the Custom Measures - Action dialog box.

Note: Currently, you cannot use aggregation functions, such as TOTAL or AVERAGE, in a custom measure. Using these functions causes unpredictable results.

The easiest way to define an expression is to select from the objects, functions, and operators provided in the Choices box. Aggregation functions are not presented, so you can safely use any function that appears in the Choices box.

You can also type an expression directly in the Expression box, as long as the value you type is a valid Express expression.

To define an expression by selecting from the Choices box:

1.	In the Category box, select a category of functions or operators. If you do not know which category contains a particular function, select Functions, then All.

2.	In the Choices box, select a function or operator.

Information about the selected entry appears in the Information box below the Category box and the Choices box.

For more information about each function, see the Express Reference Manual.

3.	Insert the Choices box item into the Expression box, using one of these methods:

Double-click the selection.

or

Click the selection and choose Insert.

4.	In the Expression box, select any part of the inserted expression and replace it as necessary. You can select any argument by double-clicking it.

For example, after you insert a function prototype, the first argument in the prototype is selected so you can replace it with a real argument. You can insert Express dimension names in the same way that you inserted the function.


Limiting Access to Custom Measures

The Custom Measures dialog box allows users to create their own formulas, called custom measures, for analyzing data. Users can also edit, copy, or delete other custom measures through the Custom Measures dialog box.

You can set a Selector option to prevent the display of the Custom button on the Selector dialog box. This prevents users from creating, editing, copying, or deleting custom measures from the Selector, though they will still be able to use any custom measures that you create. Users can also choose the Custom Measures option from the Express Query dialog box.

The option settings remain in effect each time the Selector dialog box is displayed from the current query.

To limit access to the Custom Measure dialog box for a query:

1.	In the Selector dialog box, choose Options.

2.	In the Selector Options dialog box, change the value of the Allow custom measure functionality check box:

To prevent the display of the Custom button, clear the check box.

or

To display the Custom button, select the check box.

3.	Choose OK.


Express Reports Query Help

  Using Express Reports Query

Attaching Databases

Creating an Express Query

Removing Databases

Using the Selector

Working with Express

  Reference

Express Reports Query Help Information


Express Reports Query Help Information

Conventions

This Help system uses a set of typographic conventions to categorize specific information and formatting conventions to create a consistent look. Familiarity with these conventions will help you use this Help system more effectively.

Typographic Conventions

The following typographic conventions are used in this Help system.

Convention	Purpose
bold text	Indicates a menu item, command button, field name, or option.
Fixed-width text	Indicates folder names, file names, and operating system commands. Also indicates examples and anything that you must type exactly as it appears. For example, if you are asked to type show eversion, you would type all the characters exactly as shown in the fixed width font.
italic text and bold italic text	Indicate variables, including variable text. Variable text is used when dialog boxes or other interface components are unlabeled or have labels that change dynamically based on their current context. The wording of variable text does not exactly match what you see on your screen. Italic type is also used for emphasis and for titles of documents. Note: When you print a Help topic that contains italic or bold italic text, the italicized items may appear in regular text, depending on your print setup.
UPPERCASE text	Indicates Express commands and objects and acronyms.
Formatting Conventions

Topics appearing in the main Help window in this Help system were formatted to fit optimally in a window adjusted to its full height and half-screen width. However, you can adjust the main Help window to be any size.


Using the Selector

Selecting Dimension Values

Replacing or Refining Selections

Selecting Data

Selector Toolbar

Using the All Tool

Using the Attribute Tool

Using the Exception Tool

Using the Family Tool

Using the Level Tool

Using the List Tool

Using the Match Tool

Using the Range Tool

Using the Sort Tool

Using the Top/Bottom Tool

Setting Selector Options

Customizing the Selector for a Query

Displaying Dimension Values in the Selector

Displaying Dimension Names in the Selector

Hiding or Displaying Selector Tools

Working With Custom Measures

Copying Custom Measures

Creating Custom Measures

Defining Expressions for Custom Measures

Limiting Access to Custom Measures

Working with Saved Selections

Creating Saved Selections

Deleting Saved Selections

Renaming Saved Selections

Replacing Saved Selections

Using Saved Selections


HTML page streaming

 Related Topics

HTML page streaming enables you to display individual pages of your HTML/HTMLCSS report output in your Web browser, without having to download the entire report.  From the first page of the report, you can navigate to any page in the rest of the report.  When you click a bookmark or hyperlink with a destination that is:

•	within the report, the frame that contains the current page will update with the destination page.

•	outside the report, the entire base frame (including the bookmark frame, the page, and the navigation frame) will reload.

Navigation Controls

To provide navigation controls between pages, you can do either of the following:

•	use the built-in JavaScript provided by Report Builder

•	provide your own JavaScript (or other script)

If you choose to provide your own script, you must include two variables in your script:

•	&TotalPages (total number of pages)

•	&file_name (the name of the output destination file; e.g., myreport)

Report Builder assigns values to these variables during formatting.

The height of the page navigation control frame is hard coded to 70 points without a scroll bar.  The width of the frame is variable.  If you want to use icons and images in this frame, keep these dimensions in mind.

You can specify the navigation controls script for a report in either of the following ways:

•	via PL/SQL (SRW.SET_PAGE_NAVIGATION_HTML in a Before Report trigger)

•	in the Report Property Palette via the Page Navigation Control Type and Page Navigation Control Value properties.

Output File Names

With HTML page streaming, each page is formatted as a separate HTML document.  If your HTML file is named myreport.htm and there are no bookmarks, the new files are named as follows:

•	myreport.htm htm (for the base frame)

•	myreport_1.htm through myreport_n.htm (for the pages)

•	myreportj.htm (for the navigation JavaScript)

If your HTML file contains bookmarks, the new files are named as follows:

•	myreport.htm (for the base frame)

•	myreportb.htm (for the bookmark file)

•	myreport_1.htm through myreport_n.htm (for the pages)

•	myreportj.htm (for the navigation JavaScript)

Scope of HTML output

To specify HTML to be displayed on only the first (header) or last (footer) pages of your report, set the Before Report or After Report properties or use the SRW.SET_BEFORE_REPORT_HTML or SRW.SET_AFTER_REPORT_HTML PL/SQL procedures.  To specify global HTML to apply to the entire report, such as background colors or images, set the Before Page properties or SRW.SET_BEFORE_PAGE_HTML PL/SQL procedure.  The Report Builder-generated HTML logo appears only on the last page of your report.

Enabling Page-Streamed Output

To enable page streaming when you format your report as HTML or HTMLCSS output, you must specify PAGESTREAM=YES on the command line.  This option can not be set via the Report Builder user interface.


Integration with other decision support tools

Along with Oracle Discoverer and Oracle Express, Reports gives you best-of-breed technology to address the full spectrum of enterprise decision support needs: from production reporting and ad hoc querying to advanced analysis.  This integrated solution offers superior ease of use and unmatched performance while reducing development and deployment costs.

Your Discoverer worksheets can be instantly transformed into dynamic Web reports and published to the whole organization.  For more information on converting worksheets to reports, refer to your Discoverer documentation.

In Report Builder, you can base a report on Express measures and dimensions.  The Report Wizard enables you to choose whether to build an Express or SQL query.  In the Express Query dialog box, you can choose the database, measures, and dimensions that you want to use in your report.  You can further refine your query using other familiar Express tools such as the Express  Selector.  Once your Express query is complete, you can quickly generate and modify the report layout just as you would for any other report.


Delimited output

  Restrictions [image]  Related Topics

Delimited output enables you to specify a delimiter (a character or string of characters) to separate the data in your report output.  Using this feature, you can create report output that is easily imported into spreadsheet utilities, such as Microsoft Excel.

You can specify the delimiter in either of the following ways:

•	on the command line via the DELIMITER parameter

•	in the Delimited Output dialog box via the Delimiter option

When you generate delimited output, you can further distinguish the cells by using a cell wrapper.  A cell wrapper can consist of any series of characters, such as a comma or parentheses.

For example, if the data in your report output include the same character as the delimiter (e.g. a comma), you can use the parentheses cell wrapper to distinguish each cell:

(1,000,000),(3,6000),(543),(2,003,500)…

Usage Notes

When you generate delimited output, the data displays according to the positions of the objects in the Layout Model view.

•	If you place A above or to the left of B (where A and B are any boilerplate or field objects, Report Builder displays each instance of A before each instance of B in every line of output.

 Click here.

•	If you create a frame that contains a boilerplate object (A) and encloses a repeating frame that contains a field object (B), each instance of A displays with each instance of B.

 Click here.

•	In the previous layout, if you add another frame that contains a boilerplate object (C) and encloses another repeating frame that contains a field object (D), A displays for every instance of B, and then C displays for every instance of D.

 Click here.

•	If you create a matrix in your report, be sure to align your objects carefully according to the grid in the Layout Model view.  If the objects are not aligned, Report Builder may interpret the extra space as an extra row or column and disrupt your report output.

•	If you create a boilerplate object outside of a matrix, each instance of the boilerplate repeats with every row (not column) of the matrix.  Note that boilerplates contained in the matrix will not be repeated will field objects outside of the matrix.

 Click here.


Chart hyperlinks

You can associate a chart value in HTML or PDF output with an instance of a repeating frame within the report output, another chart, or with another report.  In the report output, a user could click on a chart value to access more detail about that value, or drill down to another report associated with that value.

To create chart hyperlinks, you can use the Chart Hyperlinks page of the Web Wizard, or set the Chart Hyperlink property in the Property Palette.


Reports Runtime Java Bean

  Related Topics

You can use the Reports Runtime Java Bean to enable users to run and view a report from their Java-enabled Web browser or any other Java applet viewer.  The Reports Runtime Java Bean (or Reports RJB) is like any other Java bean; you can embed it into a user interface (such as a Java applet or another Java application) that you design, and reuse it.

To use the Reports RJB, you must create a user interface that requests these parameters from the runtime user:

1	the name of the report (including the extension, e.g. HTML, PDF)

2	the name of the Reports server where the report resides

3	the user ID and password for the Reports Server

4	the destination type, destination format, and destination name of the report

5	(for HTTP connections) the URL of the Reports Server where the report is located.

If you do not request these parameters from the user, you can specify the default values in your Java applet or application.

When you retrieve report output using the Reports RJB, you must specify a viewer to display the report output, such as Acrobat Reader (for PDF files).

Notes

•	You can use the Reports RJB to retrieve simple reports.  Note that you cannot retrieve more than one file at a time (e.g. the bean retrieves the HTM file of a Web report, but not the relevant GIFs).

•	For more specific information on the Reports RJB attributes, check the Javadoc for the bean in ORACLE_HOME/REPORTS60/JAVA.

•	For more information on Java beans, see any Java programming manual or go to the URL:  http://java.sun.com.


Report sectioning

  Related Topics

Report sectioning enables you to define multiple layouts in the same report, each with a different target audience, output format, page layout, page size, or orientation.  You can define up to three report sections, each with a body area and a margin area.  For compatibility with prior releases, the names of the sections are Header, Main, and Trailer.  By default, a report is defined in the Main section.  In the other sections, you can define different layouts, rather than creating multiple separate reports.  For example, a single report can include an executive summary for senior management in one section and also a detailed breakdown for  individual managers in another section.

You can use the margin and body of the Header and Trailer sections to create a Header and Trailer page as in earlier releases.  In future releases, you will be able to add and delete sections.

In the Object Navigator, the report sections are exposed in the Object Navigator under the Layout Model node as Header Section, Main Section, and Trailer Section.


Report distribution

  Related Topics

Report distribution enables you to design a report that can generate multiple output formats and be distributed to multiple destinations from a single run of the report.  You can create distributions for an entire report, and for individual sections of the report.

For example, in a single run of a report, you can generate HTML output, send a PostScript version to the printer, and also email any or all sections of the report to a distribution list.  In prior releases, you had to rerun a report for each output format or destination.

You can specify the distribution for a report in any of the following ways:

•	in the Distribution dialog box

•	on the command line via the DESTINATION keyword that specifies a .DST file

Note:  To enable the distribution specified in any of these ways, you can:

•	choose File [image] Distribute.

•	specify DISTRIBUTE=YES on the command line.

To check a report’s distribution without actually distributing the report, you can trace the report’s distribution, which states which distribution lists were used.  You can use this information to determine which section was sent to which destination.


Express dimension sorting
Dimension sorting

  Related Topics

In the data model of your Express report, the [image] icon represents the sort column. For each dimension selected in the Express query, Report Builder automatically inserts a corresponding sort column in the data model of your report. A sort column contains the Express index to the corresponding dimension value.

For example, if you create an Express query that retrieves world sales data that is grouped by months for each product division, the Express report would look similar to the following:

Notice that the time dimension is sorted by the months in the year, not alphabetically.

You can sort the dimension values in an Express report using the Sort tool in the Selector. You can view the sort column from the Data Model view and the Object Navigator. Sort columns are not visible from the Data and Report wizards, or from the Layout Model view and Live Previewer.


Parameter HTML extensions
Parameter Form HTML extensions

Parameter Form HTML extensions enable you to enhance your Runtime Parameter Forms with HTML tags and JavaScript for reports that are run via the Web. You can do the following to enhance your Parameter Forms for Web reporting:

•	Create boileplate text with HTML tags allowing you to add hyperlinks or any other HTML tagged text to your Parameter Form.

•	Insert parameter fields with JavaScript allowing you to define input or select events, such as raising errors when end users enter invalid data in a Parameter Form field.

You can access the Parameter Form editor from the Object Navigator or by choosing Tools [image] Parameter Form Builder.


XML output

Report Builder now allows you to generate an XML document from a report. XML output may be used as a vehicle for data exchange with a third-party application (EDI -- Electronic Data Exchange) and for Web publishing.

An XML file containing the report's structured data can be generated in a simple process from the .RDF file. You may either specify a destination format of XML from the command line or select File [image] Generate to File [image] XML.

Usage Notes

•	The data model drives the structure of XML output for a report. XML output is not dependent on the visual layout.

•	You may change the structure of a report's XML output by editing the XML properties available in the Property Palette for data model objects.

•	Report Builder does not currently support presentation information (color, font, physical layout, etc.) in XML output. You may provide your own presentation information using XSL, which may be specified in the prolog. See XML Prolog Type and XML Prolog Value for more information.

•	From the command line, you may use the argument DESFORMAT=XML to generate XML output. See DESFORMAT for more information

For further XML documentation, see Generating XML output and XML Properties


Runtime customization using XML

You can execute report definitions built with XML tags and merge them with other report definitions. Previously, a report had to be built in the Report Builder and saved as an .RDF file (or .REP file) in order to be run. Now you can build a report definition using XML tags. This XML report definition can be run by itself or applied to an .RDF file at runtime to customize the report’s output for a particular audience. Another way to use this feature is to perform modifications in batch to your reports with RWCON60. This can save you having to make repetitive changes manually in the Report Builder.

For more information, refer to the Publishing Reports manual.


Integration with Oracle WebDB

Oracle WebDB makes it more convenient and secure to publish reports via the Web. System administrators use wizards in WebDB to control user access to reports. Access control determines:

•	What reports, Reports Servers, and printers are accessible

•	When those reports, servers, and printers are available to process requests

•	Who has access to those reports, servers, and printers

When you establish access control to a report, you store information about the report (i.e., how to run the report) as a packaged procedure. This eliminates the need to compose the report request yourself. You simply create a link on a WebDB site as a WebDB component that points to the report’s packaged procedure. Users click the link to run the report. The Reports Server uses WebDB to determine if the requesting users have access to all the required resources. If they do, the report is delivered as requested.

With WebDB, you can run reports on demand, or schedule reports to run automatically and push the resulting report to the destination WebDB site.

Refer to the Publishing Reports manual for more information.


Reports Server clustering

As information delivery becomes more demanding, server clustering is an easy, cost effective solution that improves performance and load balancing. The processing capabilities of the Reports Server can grow as your organization grows simply by plugging in application servers as needed.

You need only designate a Reports Server as the master, then configure additional Reports Servers as the slaves. The master server receives and redirects requests to slave servers. Slave engines process requests and send them back to the master, which delivers the output as requested.

Refer to the Publishing Reports manual for more information.


Reports Server database
Reports Server database queue

You can set up your database to take snapshots of the Reports Server queue activity whenever jobs are run. To connect to the database, you set the REPOSITORYCONN parameter in the Reports Server configuration file. To create the queue activity table in the database, you run a SQL script.

When you start the Reports Server, a connection to the database is made. By default, the Reports Server calls an API to delete queue information when the server restarts and to update the queue information in the database table.

Refer to the Publishing Reports manual for more information.


About font mapping

A font (i.e., a font type, style, size, etc.) that is found on one machine might not be available on another.  Different machines may simply not have a particular font installed or they may use a different operating system.  Consequently, when you are building a report to run on another machine that may or may not have the same fonts, you can handle it in one of two ways:

•	Use a font that you know exists on the target GUI or one that maps well to the default font of the target GUI.

•	Map (or alias) the font to another font that is available on the machines where the report will be run.  You map fonts in the uifont.ali file.


uifont.ali

  Examples

The syntax for each entry in the uifont.ali file is as follows:

source_font = destination_font

For each font, you can specify the following attributes:

<face>.<size>.<style>.<weight>.<width>.<character_set>

Values

<face>	Must be the name (string/identifier) of a font face.

<size>	Must be an explicit size, in points.

<style>	May either be a numeric value or a predefined identifier/string.  For example, both plain and 0 are valid values, and refer to the same style.

<weight>	May either be a numeric value or a predefined identifier/string.  For example, both ultralight and 1 are valid values, and refer to the same weight.

<width>	May either be a numeric value or a predefined identifier/string.  For example, both ultradense and 1 are valid values, and refer to the same width.

<character_set>	May either be a numeric value or a predefined identifier/string.  For example, both US7ASCII and 1 are valid values, and refer to the same character set.

Usage Notes

•	Styles can be combined using the plus sign (+).  For example:

Arial..Italic+Overstrike = Helvetica.12.Italic.Bold

•	All strings are case-insensitive in mapping.  Font faces are likely to be case-sensitive on lookup, depending on the platform and surface, so care should be taken with names used on the right-hand side; but they will be mapped case-insensitively.

•	The backslash (\) is used as a continuation character.  Comments can be included as follows:

/* comment */

# comment

; comment

•	If you develop a report using one character set (e.g., WE8ISO8859P1) and then use another character set at runtime (EEC8EUROPA3), ensure that you make appropriate entries in your font aliasing file (uifont.ali) to map fonts between the character sets.  For example:

"Courier New".....EEC8EUROPA3 = "CourierNew".....WE8ISO8859P1

Otherwise, Report Builder will use a default mapping, which may not satisfy the requirements of your report.

•	To verify that your uifont.ali file is correct, you can use fontchk.  This program will check your file to ensure there are no errors.  Enter the following to parse your font mapping file:

fontchk filename

•	Report Builder will look for the font mapping file in the location specified via the environment variable TK2_FONTALIAS.  If TK2_FONTALIAS is not specified, Report Builder will look in the default location for your operating system.


Valid styles

Styles	Numeric Value

plain	0

italic	1

oblique	2

underline	4

outline	8

shadow	16

inverted	32

overstrike	64

blink	128


Valid weights

Weights	Numeric Value

ultralight	1

extralight	2

light	3

demilight	4

medium	5

demibold	6

bold	7

extrabold	8

ultrabold	9

ultradense	1

extradense	2

dense	3

semidense	4

normal	5

semiexpand	6

expand	7

extraexpand	8

ultraexpand	9


Valid widths

Widths	Numeric value

Ultradense	1

Extradense	2

Dense	3

Semidense	4

Normal	5

Semiexpand	6

Expand	7

Extraexpand	8

Ultraexpand	9


Font mapping file example

  Related Topics 	  All Examples

 [ Global ]  # Put mappings for all surfaces here.

# Mapping from MS Windows
Arial             = helvetica
"Courier New"     = courier
"Times New Roman" = times
Modern            = helvetica
"MS Sans Serif"   = helvetica
"MS Serif"        = times
"Small Fonts"     = helvetica

# Mapping from Macintosh
"New Century Schlbk" = "new century schoolbook"
"New York"           = "times"

[ Printer ]  # Put mappings for all printers here.

[ Printer:PostScript1 ]  /* Put mappings for PostScript
                            level 1 printers here. */

# Mapping from MS Windows
Roman             = palatino
Script            = "itc zapf chancery"
FixedSys          = courier
System            = helvetica

# Mapping from Macintosh
"Avant Garde"     = "itc avant garde gothic"

# Mapping from Motif display
fixed             = courier
clean             = times
lucidatypewriter  = courier
lucidabright      = times

# Sample Kanji font mappings
courier...Medium..JEUC   = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
courier...Bold..JEUC     = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
courier...Medium..SJIS   = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
courier...Bold..SJIS     = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
times...Medium..JEUC     = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
times...Bold..JEUC       = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
times...Medium..SJIS     = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
times...Bold..SJIS       = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
helvetica...Medium..JEUC = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
helvetica...Bold..JEUC   = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
helvetica...Medium..SJIS = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
helvetica...Bold..SJIS   = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC

[ Printer:PostScript2 ]  /* Put mappings for PostScript
                            level 2 printers here. */
# Mapping from MS Windows
Roman             = palatino
Script            = "itc zapf chancery"
FixedSys          = courier
System            = helvetica

# Mapping from Macintosh
"Avant Garde"     = "itc avant garde gothic"

# Mapping from Motif display
fixed             = courier
clean             = times
lucidatypewriter  = courier
lucidabright      = times

# Sample Kanji font mappings
courier...Medium..JEUC   = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
courier...Bold..JEUC     = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
courier...Medium..SJIS   = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
courier...Bold..SJIS     = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
times...Medium..JEUC     = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
times...Bold..JEUC       = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
times...Medium..SJIS     = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
times...Bold..SJIS       = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
helvetica...Medium..JEUC = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
helvetica...Bold..JEUC   = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
helvetica...Medium..SJIS = \
   "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
helvetica...Bold..SJIS   = \
   "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC

[ Display ]  # Put mappings for all display surfaces here.

[ Display:Motif ]  # Put mappings for Motif displays here

# Mapping from MS Windows
Courier           = courier
Roman             = lucida
Script            = lucidabright
FixedSys          = fixed
System            = lucida

# Mapping from Macintosh
"Avant Garde"     = helvetica
"Bookman"         = times

[ Display:CM ]     # Put mappings for all CM displays here.
# These are DEC-specific, and may need localization
*..Blink          = Blinking
*..Inverted+Underline.Bold = ReverseBoldUnderline
*..Inverted+Underline.     = UnderlineReverse
*..Underline.Bold = UnderlineBold
*..Inverted.Bold  = ReverseBold
*...Bold          = Bold
*..Underline      = Underline
*..Inverted       = Reverse
*                 = Plain    # The font of last resort


REP-0001:  Unable to find the Report Builder message file.  Please verify your installation.

Cause:	The file of error messages could not be opened or an internal error occurred while opening it.
Action:	Attempt to reinstall Report Builder or contact Oracle Customer Support for assistance.


REP-0002Unable to retrieve string from message file.
REP-0002:  Unable to retrieve string from message file.

Cause:	Report Builder could not retrieve the necessary error message or string.
Action:	Contact Oracle Customer Support for assistance.


REP-0003Warning: Unable to open global preference file.
REP-0003:  Warning: Unable to open global preference file.

Cause:	The global preference file could not be opened.  This is just a warning, so the product will continue to run even if this occurs.  The possible causes of this error include the following:
	Case 1:	The file was not found under the specified name in the specified location.
	Case 2:	You lacked the necessary privileges to open the file.
	Case 3:	A system error made it impossible to open the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure the file named prefs.ora is stored in the appropriate directory.  For more information, your installation instructions, or contact your DBA.
	If Case 2:	Make sure that you have the privileges necessary to access the file.  If you don't, change your privileges accordingly.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0004Warning: Unable to open user preference file.
REP-0004:  Warning: Unable to open user preference file.

Cause:	Your local (customized) preference file could not be opened.  This is just a warning, so the product will continue to run even if this occurs.  The possible causes of this error include the following:
	Case 1:	The file was not found under the specified name in the specified location.
	Case 2:	You lacked the necessary privileges to open the file.
	Case 3:	A system error made it impossible to open the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure the file prefs.ora is located in your "home" directory (if your system has such a concept as home directory).  If it is not, change the directory and/or filename as appropriate.
	If Case 2:	Make sure that you have the privileges necessary to access the file.  If you don't, change your privileges accordingly.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0005Warning: Syntax error at line <line number> in global preference file.
REP-0005:  Warning: Syntax error at line <line number> in global preference file.

Cause:	One or more of the preferences in the global preference file was specified incorrectly on the line number shown in the message.  The most likely cause of this error is that the file has been edited and one or more preferences incorrectly specified.  As a result, Report Builder will ignore the incorrectly specified preferences.
Action:	You or your DBA should edit the global preference file and ensure that all preferences are correctly specified.  If they are not, make the necessary updates.


REP-0006Warning: Syntax error at line <line number> in user preference file.
REP-0006:  Warning: Syntax error at line <line number> in user preference file.

Cause:	One or more of the preferences in the user preference file was specified incorrectly on the line number shown in the message.  The most likely cause of this error is that the file has been edited and one or more preferences incorrectly specified.  As a result, Report Builder will ignore the incorrectly specified preferences.
Action:	You should edit the global preference file and ensure that all preferences are correctly specified.  If they are not, make the necessary updates.


REP-0007Unable to write user preference file.
REP-0007:  Unable to write user preference file.

Cause:	You tried to save preferences and the user preference file could not be written.  The possible causes of this error include the following:
	Case 1:	You lacked the necessary privileges to write the file.
	Case 2:	A system error made it impossible to write the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that you have the privileges necessary to write the file.  If you don't, change your privileges accordingly.
	If Case 2:	Consult your operating system documentation or contact your system administrator.


REP-0008Unexpected memory error while initializing preferences.
REP-0008:  Unexpected memory error while initializing preferences.

Cause:	This is an abnormal condition.
Action:	For information, see Abnormal Conditions.


REP-0058:  Data passing to remote Reports Server not supported.

Cause:	You have specified passing a record group to a report that is being run remotely.
Action:	If you are passing a record group, you cannot specify a Reports Server.


REP-0059Unable to locate resources for subcomponent '<component name>'. Check the location of resource file.
REP-0059:  Unable to locate resources for subcomponent '<component name>'. Check the location of resource file.

Cause:	One of the subcomponents of Report Builder could not locate its resource file.  Possible causes of this error include:
	Case 1:	The resource file doesn't exist.
	Case 2:	The resource file is in the wrong place.
	Case 3:	The environment is not configured properly.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that the resource files are present.
	If Case 2:	Make sure that the resource files are in the proper directory.
	If Case 3:	Make sure that your environment is set correctly.  On Unix, make sure that the proper environment variable is set, and on MS Windows check the file system registry.


REP-0060Unable to run synchronous job concurrently with another report.
REP-0060:  Unable to run synchronous job concurrently with another report.

Cause:	You are trying to run a report initiated by the Form Runtime executable and requiring data passed from that tool, but one or more other reports are running or queued to run.  Reports requiring passed data must be run immediately.
Action:	Wait for all other reports currently listed in the Reports Server queue to run, then try your report again.


REP-0061Internal error - rxmobfree: reference count is zero.
REP-0061:  Internal error - rxmobfree: reference count is zero.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0062Internal error - rxmobnew: size mismatch.
REP-0062:  Internal error - rxmobnew: size mismatch.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0063Internal error - rxmobnew: memory manager mismatch.
REP-0063:  Internal error - rxmobnew: memory manager mismatch.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0064Internal error - rxmobnew: type mismatch.
REP-0064:  Internal error - rxmobnew: type mismatch.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0065Virtual Memory System error.
REP-0065:  Virtual Memory System error.

Cause:	Report Builder has encountered a memory error.
Action:	Make note of the error-specific code and contact Oracle Customer Support.  For more information, see Calling Oracle Customer Support.


REP-0066Error executing CA utility.
REP-0066:  Error executing CA utility.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0067Invalid value for keyword STYPE. Valid options are DATABASE, REXFILE, RDFFILE, PLLDB, PLLFILE, or PLDFILE.
REP-0067:  Invalid value for keyword STYPE. Valid options are DATABASE, REXFILE, RDFFILE, PLLDB, PLLFILE, or PLDFILE.

Cause:	In RWCON60, you provided an argument for the STYPE keyword that was not valid.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Reenter the command, using a valid value for the keyword(s).


REP-0068Invalid value for keyword STYPE. Valid options are DATABASE or REXFILE.
REP-0068:  Invalid value for DTYPE.

Cause:	In RWCON60, you provided an argument for the DTYPE keyword that was not valid.
Action:	Check the syntax of the keyword.   For more information, see Executables.  (You can also check the online help system.)  Reenter the command, using a valid value for the keyword(s).


REP-0069 Internal error.
REP-0069:  Internal error

Cause:	Report Builder internal code error.
Action:	Contact Oracle Customer Support for assistance.


REP-0071Unable to allocate SSL context.
REP-0071:  Unable to allocate SSL context.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0072Unable to initialize NNIT interface.
REP-0072:  Unable to initialize NNIT interface.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0073Trying to run unknown product.
REP-0073:  Trying to run unknown product.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0074Failure to run another product using SSL.
REP-0074:  Failure to run another product using SSL.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0075:  Error occurred when running the called component.

Cause:	Report Builder encountered an error after calling the Forms Runtime or Graphics Runtime.  The accompanying error message displays the error encountered by the called application.
Action:	Resolve the error encountered by the called application and retry the operation.


REP-0076Internal failure in product integration.
REP-0076:  Internal failure in product integration.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0077:  Column in query '<query name>' too long for data passing.

Cause:	You tried to pass data to a column of excessive size (likely a LONG column).  This is not supported.
Action:	Remove the column from the report definition and the calling document's definition.


REP-0078Single process integration invoked with batch=no.
REP-0078:  Single process integration invoked with batch=no.

Cause:	You used an executable in which Report Builder is linked with another product, and attempted to invoke Report Builder specifying batch=no.  This is not supported.
Action:	Use an executable by which you integrate using multiple processes.  Otherwise, Report Builder can only be called with batch=yes.


REP-0079Invalid value for keyword OVERWRITE. Valid options are YES, NO, or PROMPT.
REP-0079:  Invalid value for keyword OVERWRITE. Valid options are YES, NO, or PROMPT.

Cause:	In RWCON60, you provided an argument for the OVERWRITE keyword that was not valid.
Action:	Reenter the command, specifying a value of YES, NO, or PROMPT for the OVERWRITE keyword.


REP-0080Please enter YES, NO, or CANCEL:
REP-0080:  Please enter YES, NO, or CANCEL:

Cause:	In RWCON60, you typed OVERWRITE=PROMPT on the command line, then entered a value other than YES or NO when prompted.
Action:	Specify a value of YES or NO at the prompt, or CANCEL the operation.


REP-0081Error during file I/O operation.
REP-0081:  Error during file I/O operation.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0082Error executing SCA utility.
REP-0082:  Error executing SCA utility.

Cause:	The possible causes of this error include the following:
	Case 1:	Your initialization file is not current.
	Case 2:	An abnormal condition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Ensure that your initialization file is current.
	If Case 2:	For information, see  Abnormal Conditions.


REP-0083Invalid value for keyword DUNIT. Valid options are CENTIMETER, CHARACTER, INCH, or POINT.
REP-0083:  Invalid value for keyword DUNIT. Valid options are CENTIMETER, CHARACTER, INCH, or POINT.

Cause:	In RWCON60, you entered an invalid value for the keyword DUNIT.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Re-enter the command, using a valid value for the keyword(s).


REP-0084Invalid value for keyword PAGESIZE.  Syntax is <width>x<height>.
REP-0084:  Invalid value for keyword PAGESIZE.  Syntax is <width>x<height>.

Cause:	In RWCON60, you entered an invalid value for the keyword PAGESIZE.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Re-enter the command, using a valid value and the proper syntax for the keyword.


REP-0085Invalid value for keyword FORMSIZE.  Syntax is <width>x<height>.
REP-0085:  Invalid value for keyword FORMSIZE.  Syntax is <width>x<height>.

Cause:	In RWCON60, you entered an invalid value for the keyword FORMSIZE.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Re-enter the command, using a valid value and the proper syntax for the keyword.


REP-0086DUNIT must be different than source report's unit of measurement.
REP-0086:  DUNIT must be different than source report's unit of measurement.

Cause:	In RWCON60, you entered a value for the keyword DUNIT that was in the same unit of measurement as the report you wish to convert.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Re-enter the command, using a valid value and the proper syntax for the keyword.


REP-0087Invalid value for keyword DESTYPE. Valid options are SCREEN, FILE, PRINTER, MAIL, INTEROFFICE, SYSOUT, or PREVIEW.
REP-0087:  Invalid value for keyword DESTYPE. Valid options are SCREEN, FILE, PRINTER, MAIL, INTEROFFICE, SYSOUT, or PREVIEW.

Cause:	In RWRUN60, you entered an invalid value for the keyword DESTYPE.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Re-enter the command, using a valid value for the keyword(s).


REP-0088Invalid value for keyword ONSUCCESS. Valid options are COMMIT, ROLLBACK, or NOACTION.
REP-0088:  Invalid value for keyword ONSUCCESS. Valid options are COMMIT, ROLLBACK, or NOACTION.

Cause:	You entered an invalid value for ONSUCCESS.
Action:	Specify COMMIT, ROLLBACK, or NOACTION either in the Runtime Settings tab of the Tools Options dialog or on the command line.   (To check the command line syntax, see Executables


REP-0089Invalid value for keyword ONFAILURE. Valid options are COMMIT, ROLLBACK, or NOACTION.
REP-0089:  Invalid value for keyword ONFAILURE. Valid options are COMMIT, ROLLBACK, or NOACTION.

Cause:	You entered an invalid value for ONFAILURE.
Action:	Specify COMMIT, ROLLBACK, or NOACTION either in the Runtime Settings tab of the Tools Options dialog or on the command line.   (To check the command line syntax, see Executables.)


REP-0090Invalid value for keyword ACCESS. Valid options are FILE and DATABASE.
REP-0090:  Invalid value for keyword ACCESS. Valid options are FILE and DATABASE.

Cause:	For RWBLD60, you entered an invalid value for ACCESS.
Action:	Specify FILE or DATABASE.   (To check the command line syntax, see Executables.)


REP-0091Invalid value for parameter '<parameter name>'.
REP-0091:  Invalid value for parameter '<parameter name>'.

Cause:	You entered an invalid value for the named parameter.  For example, in the RWRUN60 command string, you entered a character value for a parameter with a datatype of Number.
Action:	Re-try the operation, specifying a valid value for the parameter.


REP-0092Warning: Version 1.1 LANGUAGE argument not supported.  Use ORACLE National Language environment variable instead.
REP-0092:  Warning: Version 1.1 LANGUAGE argument not supported.  Use ORACLE National Language environment variable instead.

Cause:	For RWBLD60 or RWRUN60, you included the LANGUAGE keyword in the command line string.
Action:	Remove the LANGUAGE argument string from the command string, and set the ORACLE National Language environment variable NLS_LANG to the appropriate value.  For more information, see National Language Support.


REP-0094FORMSIZE must be 80x24 if DUNIT is Character.
REP-0094:  FORMSIZE must be 80x24 if DUNIT is Character.

Cause:	While using RWCON60 with DUNIT=Character, you specified a parameter form size that was not equal to 80x24.
Action:	The character-mode parameter form size must be 80x24.  Either specify a FORMSIZE of 80x24 when DUNIT=Character, or do not specify a FORMSIZE.


REP-0095Invalid value for keyword ORIENTATION. Valid options are DEFAULT, LANDSCAPE, or PORTRAIT.
REP-0095:  Invalid value for keyword ORIENTATION. Valid options are DEFAULT, LANDSCAPE, or PORTRAIT.

Cause:	You entered an invalid value for ORIENTATION.
Action:	Specify DEFAULT, LANDSCAPE, or PORTRAIT either in the Runtime Settings tab of the Tools Options dialog or on the command line.  (To check the command line syntax, see Executables.)


REP-0096Invalid value for keyword MODE. Valid options are DEFAULT, BITMAP, or CHARACTER.
REP-0096:  Invalid value for keyword MODE. Valid options are DEFAULT, BITMAP, or CHARACTER.

Cause:	You entered an invalid value for MODE.
Action:	Specify DEFAULT, BITMAP, or CHARACTER either in the Runtime Settings tab of the Tools Options dialog or on the command line.  (To check the command line syntax, see Executables.)


REP-0097Invalid value for keyword TRACEMODE. Valid options are TRACE_APPEND or TRACE_REPLACE.
REP-0097:  Invalid value for keyword TRACEMODE. Valid options are TRACE_APPEND or TRACE_REPLACE.

Cause:	Either you specified an invalid value for TRACEMODE, or did not specify a value for TRACEMODE, or specified keywords out of order on the command line but did not name them.
Action:	Either specify Append or Replace for Trace Mode in the Trace Settings dialog or TRACE_APPEND or TRACE_REPLACE on the command line, or check the syntax of your command.  (To check the command line syntax, see Executables.)


REP-0098Report not run - user cancelled in the parameter form.
REP-0098:  Report not run - user cancelled in the parameter form.

Cause:	Your report was not executed because you selected Cancel instead of Run Report in the Runtime Parameter Form.
Action:	No action is necessary.


REP-0099Report is aborted upon user request.
REP-0099:  Report is aborted upon user request.

Cause:	You stopped a report while it was executing.
Action:	No action is necessary.


REP-0100Unable to position file pointer in file '<filename>'.
REP-0100:  Unable to position file pointer in file '<filename>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0101Unable to read file '<filename>'.
REP-0101:  Unable to read file '<filename>'.

Cause:	Report Builder tried to read the file shown in the message.  The file could be opened but not read.
Action:	Consult your operating system documentation or contact your system administrator.


REP-0102Unable to write file '<filename>'.
REP-0102:  Unable to write file '<filename>'.

Cause:	Report Builder tried to write the file shown in the message and couldn't.  The possible causes of this error include the following:
	Case 1:	You lacked the necessary privileges to write the file.
	Case 2:	The file system does not have enough room for the file.
	Case 3:	A system error made it impossible to open the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that you have the privileges necessary to write the file.  If you don't, change your privileges accordingly.
	If Case 2:	Make more room by deleting unnecessary files or expanding your storage.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0103Unable to close file '<filename>'.
REP-0103:  Unable to close file '<filename>'.

Cause:	Report Builder tried to close the file shown, but was unsuccessful.  The most likely reason is that a system error made it impossible to close the file.
Action:	Consult your operating system documentation or contact your system administrator.


REP-0104Unable to delete file '<filename>'.
REP-0104:  Unable to delete file '<filename>'.

Cause:	Report Builder tried to delete the file shown, but was unsuccessful.  The most likely reason is that a system error made it impossible to delete the file.
Action:	Consult your operating system documentation or contact your system administrator.


REP-0105Unable to lock file '<filename>' in exclusive mode.
REP-0105:  Unable to lock file '<filename>' in exclusive mode.

Cause:	Report Builder tried to lock the file shown, but was unsuccessful.  The most likely reason is that a system error made it impossible to lock the file.
Action:	Consult your operating system documentation or contact your system administrator.


REP-0106Unable to lock file '<filename>' in shared mode.
REP-0106:  Unable to lock file '<filename>' in shared mode.

Cause:	Report Builder tried to lock the file shown, but was unsuccessful.  The most likely reason is that a system error made it impossible to lock the file.
Action:	Consult your operating system documentation or contact your system administrator.


REP-0107Attempt to open a file with a bad name - '<filename>'.
REP-0107:  Attempt to open a file with a bad name - '<filename>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0108File '<filename>' not found.
REP-0108:  File '<filename>' not found.

Cause:	Report Builder tried to access the file shown, but could not find it.
Action:	Check that you have specified the correct filename.  Specify a directory before the filename, or modify the REPORTS30_PATH environment variable to include the directory where the file is located.


REP-0109Too many files open.
REP-0109:  Too many files open.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0110Unable to open file '<filename>'.
REP-0110:  Unable to open file '<filename>'.

Cause:	Report Builder tried to open the file shown and couldn't.  The possible causes of this error include the following:
	Case 1:	The file was not found under the specified name in the specified location.
	Case 2:	You lacked the necessary privileges to open the file.
	Case 3:	A system error made it impossible to open the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure the file is stored in the specified directory under the specified name.  If it is not, change the directory and/or filename as appropriate.
	If Case 2:	Make sure that you have the privileges necessary to open the file.  If you don't, change your privileges accordingly.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0111Directory '<directory path>' is protected.
REP-0111:  Directory '<directory path>' is protected.

Cause:	You specified that Report Builder read from or write to a directory that you don't have permission to read from or write to.
Action:	Change the permissions on the directory so that you can read from it or write to it.


REP-0112File '<filename>' is write protected.
REP-0112:  File '<filename>' is write protected.

Cause:	You specified that Report Builder write to a file that is write protected--i.e., you don't have permission to write to the file.
Action:	Change the permissions of the file so that you can write to it.


REP-0113File '<filename>' is read protected.
REP-0113:  File '<filename>' is read protected.

Cause:	You specified that Report Builder read a file that is read protected--i.e., you don't have permission to read the file.
Action:	Change the permissions of the file so that you can read it.


REP-0114File '<filename>' no longer exists.
REP-0114:  File '<filename>' no longer exists.

Cause:	You specified that Report Builder access a file that no longer exists.
Action:	Remove the call to the file, re-create the file, or specify a different file.


REP-0115Unable to read directory '<directory path>'.
REP-0115:  Unable to read directory '<directory path>'.

Cause:	You most likely specified that Report Builder read from or write to a directory that doesn't exist.
Action:	Make sure the directory you specify exists.


REP-0116Unable to connect to directory '<directory path>'.
REP-0116:  Unable to connect to directory '<directory path>'.

Cause:	Report Builder could not access the specified directory for some reason.
Action:	Consult your system administrator.


REP-0117Exit to host operating system failed.
REP-0117:  Exit to host operating system failed.

Cause:	You attempted to exit out of the program and return control to the host operating system.
Action:	No action is necessary.


REP-0118Unable to create a temporary file.
REP-0118:  Unable to create a temporary file.

Cause:	Report Builder tried to create a temporary file but couldn't do so.  The possible causes of this error include the following:
	Case 1:	The environment variable that determines in what directory to create temporary files is set to an invalid directory.
	Case 2:	There is not enough free space on the disk to create the temporary file.
	Case 3:	A temporary file that cannot be modified already exists.
Action:	You can take the following actions to correct this error:
	If Case 1:	Set your environment variable for temporary files to a valid directory.
	If Case 2:	Free up some space on your disk.
	If Case 3:	Remove the existing temporary file, if possible.


REP-0119:  Link file boilerplate <boilerplate name>'s Source Filename not found.

Cause:	Report Builder tried to find the source file specified for a piece of external boilerplate and couldn't do so.  The possible causes of this error include the following:
	Case 1:	The file was not found under the specified name in the specified location.
	Case 2:	You lacked the necessary privileges to open the file.
	Case 3:	A system error made it impossible to open the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure the file is stored in the specified directory under the specified name.  If it is not, change the directory and/or filename as appropriate.
	If Case 2:	Make sure that you have the privileges necessary to open the file.  If you don't, change your privileges accordingly.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0120:  Chart <chart name>'s associated document <filename> not found.

Cause:	Report Builder was unable to find the chart document.  The possible causes of this error include the following:
	Case 1:	The chart document was not found under the specified name in the specified location.
	Case 2:	You lacked the necessary privileges to open the chart document.
	Case 3:	A system error made it impossible to open the chart document.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure the chart document is stored in the specified directory under the specified name.  If it is not, change the directory and/or filename as appropriate.
	If Case 2:	Make sure that you have the privileges necessary to open the chart document.  If you don't, change your privileges accordingly.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0124Unable to write to the temporary file.
REP-0124:  Unable to write to the temporary file.

Cause:	Report Builder tried to write to the temporary file but couldn't do so.  The cause could be that there is not enough free space on the disk to write the temporary file.
Action:	Free up some space on your disk.


REP-0125:  Internal Error:  Unable to load NLS character set.

Cause:	The ORA_NLS is not set, or the directory where it points to doesn’t exist.
Action:	Set ORA_NLS to point to the NLS directory containing character set files.


REP-0150Too many arguments.
REP-0150:  Too many arguments.

Cause:	You have entered more than the allowable  number of arguments for the command.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command correctly.


REP-0151Duplicate argument specification for keyword <keyword>.
REP-0151:  Duplicate argument specification for keyword <keyword>.

Cause:	You have entered an argument more than once for the keyword shown.  The possible causes of this error include the following:
	Case 1:	You entered a positional argument for the keyword and then entered the keyword with another argument.
	Case 2:	You entered the same keyword twice (e.g., KEYWORD1=YES and KEYWORD1=NO).
Action:	Check the syntax of the command.  For more information, see Executables.  You can take the following actions to correct this error:
	If Case 1:	Re-enter the command with just the positional argument or just the keyword argument.
	If Case 2:	Re-enter the command specifying the keyword only once.


REP-0152Positional argument specified after keyword.
REP-0152:  Positional argument specified after keyword.

Cause:	On the command line, you entered an argument without its keyword after entering an argument with its keyword.  Once you have used a keyword on the command line, all subsequent arguments must use keywords as well.
Action:	Re-enter the command making sure that no positional arguments (arguments where the keyword is implicit) are specified after arguments with keywords.


REP-0153Multiple values not allowed for keyword <keyword>.
REP-0153:  Multiple values not allowed for keyword <keyword>.

Cause:	In your command, you have entered more than the allowable  number values for the keyword argument shown.  For example, you might have entered KEYWORD=(A, B), where KEYWORD only accepts a single value.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command without the extra value(s).


REP-0154Unable to open command file.
REP-0154:  Unable to open command file.

Cause:	You entered a command that referenced the command file shown and the file could not be opened.  The possible causes of this error include the following:
	Case 1:	The file was not found under the specified name in the specified location.
	Case 2:	You lacked the necessary privileges to open the file.
	Case 3:	A system error made it impossible to open the file.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure the file is stored in the specified directory under the specified name.  If it is not, change the directory and/or filename or move the file into the specified directory.
	If Case 2:	Make sure that you have the privileges necessary to access the file.  If you don't, change your privileges accordingly.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-0155Invalid value for keyword <keyword>.
REP-0155:  Invalid value for keyword <keyword>.

Cause:	The value you entered for the keyword shown was not a valid value.
Action:	Check the syntax of the keyword.  For more information, see Executables.  Re-enter the command with the appropriate value for the keyword(s).


REP-0156Invalid value for keyword DESTYPE. Valid options are SCREEN, FILE, PRINTER, MAIL, INTEROFFICE, or SYSOUT.
REP-0156:  Invalid value for keyword DESTYPE. Valid options are SCREEN, FILE, PRINTER, MAIL, INTEROFFICE, or SYSOUT.

Cause:	In RWRUN60, you provided an argument for the DESTYPE parameter that was not valid.
Action:	Check the syntax of the keyword.   For more information, see Executables.  Re-enter the command with the appropriate value for the keyword(s).


REP-0157The value for <keyword> must be either YES or NO.
REP-0157:  The value for <keyword> must be either YES or NO.

Cause:	You entered a value for the keyword shown that was other than YES or NO and the keyword only accepts YES or NO.
Action:	Re-enter the command and use a value of YES or NO for the keyword shown.


REP-0158Unknown command line keyword '<keyword>'.
REP-0158:  Unknown command line keyword '<keyword>'.

Cause:	You entered the referenced string as a keyword, but there is no such keyword.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command using the appropriate keywords for the task you want to perform.


REP-0159Syntax error on command line.
REP-0159:  Syntax error on command line.

Cause:	The string you entered on the command line could not be parsed.  The most likely cause of this error is that you entered quotes or parentheses without also entering matching end quotes or parentheses.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command using the appropriate syntax.


REP-0160Syntax error in command file.
REP-0160:  Syntax error in command file.

Cause:	Something you entered in your command file could not be parsed.  The most likely cause of this error is that you entered quotes or parentheses without also entering matching end quotes or parentheses.
Action:	Check the syntax of the command(s).  For more information, see Executables.  Edit the file and modify the commands as necessary to correct the command(s).


REP-0161No command line arguments specified.
REP-0161:  No command line arguments specified.

Cause:	You invoked RWCON60 without specifying any command line arguments.
Action:	Specify the appropriate command line arguments (e.g., SOURCE, DEST, etc.) for RWCON60.  For more information, see Executables.


REP-0162:  Invalid value for keyword SHOWWINDOW. Valid options are DEFAULT, WIZARD, and PREVIEWER.

Cause:	You used the keyword SHOWWINDOW, but gave an invalid value for it.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command using the appropriate syntax.


REP-0163:  Invalid value for keyword DESTYPE. Valid options are FILE, PRINTER, MAIL, INTEROFFICE, or CACHE.

Cause:	You provided an argument for the DESTYPE parameter that was not valid for the Reports Server.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command using the appropriate syntax.


REP-0164: Invalid value for keyword PARAMFORM. Valid options are YES, NO, or HTML<action>.

Cause:	You invoked Reports Runtime (standalone or as a Reports Server engine) with an invalid value for the PARAMFORM parameter.
Action:	Check the syntax of the command.  For more information, see Executables.  Re-enter the command using the appropriate syntax.


REP-0165: Missing required value for keyword SITENAME. Please specify a WEBDB site name.

Cause:	No value was found for the SITENAME keyword. A value is required for SITENAME in order to schedule a report.
Action:	Specify a WEBDB site name for the keyword SITENAME.


REP-0171Unable to retrieve output from remote server
REP-0171:  Unable to retrieve output from remote server.

Cause:	Error occurred when retrieving output from the remote server.
Action:	You may have specified a local file that you don't have access to.  Or the server is set to disallow retrieving outputs.


REP-0172No value provided for keyword SERVER
REP-0172:  No value provided for keyword SERVER.

Cause:	You did not provide a valid argument for the mandatory keyword SERVER.
Action:	Provide a valid argument for the keyword SERVER and rerun the command.


REP-0173Invalid value for keyword SHOWJOBS. Valid options are PAST, CURRENT, or FUTURE
REP-0173:  Invalid value for keyword SHOWJOBS. Valid options are PAST, CURRENT, or FUTURE.

Cause:	In the Reports Queue Viewer, an argument provided in the command line for the SHOWJOBS keyword was not valid.
Action:	Reenter the command, specifying a value of PAST, CURRENT or FUTURE for the SHOWJOBS keyword.


REP-0174Internal error occured while obtaining the Reports Server queue information
REP-0174:  Internal error occured while obtaining the Reports Server queue information.

Cause:	The Reports Server did not return valid information about its queue to the queue viewer. This could be caused by one of the following reasons:
	Case 1:	The connection to the Reports Server unexpectedly went down.
	Case 2:	The Reports Server is in an unstable state, or has been shut down.
Action:	Make sure that the Reports Server to which you are connecting is running. Contact the Reports Server Administrator and retry the command after verifying that it is running. If this problem persists, it is an abnormal condition. For information, see  Abnormal Conditions.


REP-0175Internal error occured while obtaining the Reports Server properties information
REP-0175:  Internal error occured while obtaining the Reports Server properties information.

Cause:	The Reports Server did not return valid information about its properties to the queue viewer. This could be caused by one of the following reasons:
	Case 1:	The connection to the Reports Server unexpectedly went down.
	Case 2:	The Reports Server is in an unstable state, or has been shut down.
Action:	Make sure that the Reports Server to which you are connecting is running. Contact the Reports Server Administrator and retry the command after verifying that it is running. If this problem persists, it is an abnormal condition. For information, see  Abnormal Conditions.


REP-0176Server '$0' is shutting down
REP-0176:  Server '<server>' is shutting down.

Cause:	Cannot submit a report since the specified Reports Server is shutting down.
Action:	Submit to another Reports Server or wait until the Server is back up.


REP-0177Error while running in remote server
REP-0177:  Error while running in remote server.

Cause:	Unable to run the specified command line in the remote server.
Action:	Check the command line.


REP-0178Cannot connect to Reports Server '$0'
REP-0178:  Cannot connect to report server '<server>'.

Cause:	Unable to establish proper connection to the specified Reports Server.
Action:	Check the network and check the status of the report server in question.


REP-0179Report execution terminated unexpectedly while running
REP-0179:  Report execution terminated unexpectedly while running.

Cause:	The Reports Server engine has crashed while running.
Action:	Contact your system administrator.


REP-0180Report has been cancelled from the report server
REP-0180:  Report has been cancelled from the report server.

Cause:	You have stopped the report while it was executing or you have removed it from the queue before it is started.
Action:	No action is necessary.


REP-0181Error reading/writing the configuration file for the report server
REP-0181:  Error reading/writing the configuration file for the report server.

Cause:	The configuration file cannot be opened, or its content is incomprehensible.
Action:	Check the configuration file and its access rights.  Restart the Reports Server.


REP-0182Syntax error on command line for the report server
REP-0182:  Syntax error on command line for the report server.

Cause:	The string you entered on the command line could not be parsed.  The most likely cause of this error is that you entered quotes or parentheses without also entering matching end quotes or parentheses.
Action:	Check the syntax of the command.  Reenter the command using the appropriate syntax.


REP-0183You must provide TNSNAME to start up the report server
REP-0183:  You must provide TNSNAME to start up the report server.

Cause:	You tried to start up the report server without specifying the TNSNAME to which the Server should listen.
Action:	Specify the TNSNAME as a command line argument.


REP-0184Specified MAXCONNECTS out of range
REP-0184:  Specified MAXCONNECTS out of range.

Cause:	The MAXCONNECTS value you specified is out of range for this platform.  MAXCONNECTS must be at least 2, and cannot exceed 4096, and on some platforms the limit is even lower.
Action:	Specify an appropriate value.


REP-0185Bad load arguments supplied when starting up the report server
REP-0185:  Bad load arguments supplied when starting up the report server.

Cause:	You've specified inconsistent values among maxconnects, MINLOAD, MAXLOAD, and INITLOAD.
Action:	Make sure that 0 <= MINLOAD <= INITLOAD <= MAXLOAD < MAXCONNECTS.


REP-0186Daemon failed to listen to port
REP-0186:  Daemon failed to listen to port.

Cause:	You may have another daemon running that is already listening to the port.
Action:	No action is necessary.  Since you already have a daemon running, you can now submit your report to be run.


REP-0187Daemon failed to start up engine
REP-0187:  Daemon failed to start up engine.

Cause:	Daemon can not start up the engine executable and communicate to it.  This is most likely an installation issue.
Action:	Make sure the installation is done properly.


REP-0188Reports Server only accept batch jobs
REP-0188:  Reports Server only accept batch jobs.

Cause:	You have submitted a job to the Reports Server where either batch=no, destype=screen, destype=preview, or destype=sysout.
Action:	These settings are not allowed.  Change the command line accordingly.


REP-0189:  Cannot write to Reports Server cache

Cause:	Reports Server failed to write to the cache directory.
Action:	Make sure the cache directory is specified in the configuration file and it is writable.


REP-0190Cannot run to screen in background.
REP-0190:  Cannot run to screen in background.

Cause:	You specified that the report be run in the background, but you also specified a DESTYPE of Screen.  You cannot execute a report in the background while having its output sent to the screen.
Action:	If you want the output to go to the screen, you must run it in the foreground.  If you want the report to run in the background, you must specify a different DESTYPE.


REP-0194Cannot run character report in bitmap mode using this executable.
REP-0194:  Cannot run character report in bitmap mode using this executable.

Cause:	You are attempting use the character-mode executable to run a character-mode report with MODE set to BITMAP.  This is not allowed.
Action:	Change the value of the MODE keyword to match the mode of the executable.  Or run the report using a bitmapped executable.


REP-0195Cannot run report in bitmap mode to screen using this executable.
REP-0195:  Cannot run report in bitmap mode to screen using this executable.

Cause:	You are attempting use the character-mode executable to run a bitmapped report to the screen.  This is not allowed.
Action:	Run the report using BATCH=YES or use a bitmapped executable.


REP-0196Cannot run report in background.
REP-0196:  Cannot run report in background.

Cause:	You specified YES for BACKGROUND under one of the following conditions, none of which are allowed:
	Case 1:	You are running the report from the designer.
	Case 2:	You set BATCH to YES.
	Case 3:	You are running the report using the packaged procedure srw.run_report.
	Case 4:	The platform on which you're running the report does not support spawning of another process.
Action:	Ensure that BACKGROUND is set to NO when any of the above condition are true.


REP-0197Must specify BATCH=YES or BACKGROUND=YES on command line when running bitmapped report.
REP-0197:  Must specify BATCH=YES or BACKGROUND=YES on command line when running bitmapped report.

Cause:	You tried to run a bitmapped report using the character-mode executable in the foreground or during an interactive session.  This is not supported.
Action:	If you wish to run a bitmapped report using the character-mode executable, you must choose either BATCH=YES or BACKGROUND=YES (unlike BATCH=YES, this setting gives you access to the Runtime Parameter Form).


REP-0200Cannot allocate enough memory.
REP-0200:  Cannot allocate enough memory.

Cause:	Report Builder cannot obtain enough memory from the system to complete the current task.
Action:	Make more memory available, if you can, or ask your system administrator for assistance.


REP-0201Zero or negative block size requested.
REP-0201:  Zero or negative block size requested.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0202Attempt to free a null pointer.
REP-0202:  Attempt to free a null pointer.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0203Passed a null pointer as a handle.
REP-0203:  Passed a null pointer as a handle.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0204Handle does not point into an mp block.
REP-0204:  Handle does not point into an mp block.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0205Too many simultaneous locks on one object.
REP-0205:  Too many simultaneous locks on one object.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0206Null cache pointer passed to virtual memory routine.
REP-0206:  Null cache pointer passed to virtual memory routine.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0207Requested block is larger than virtual memory space.
REP-0207:  Requested block is larger than virtual memory space.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0208rmaloc was not given a function identifier.
REP-0208:  rmaloc was not given a function identifier.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0209rmaloc was not given a structure identifier.
REP-0209:  rmaloc was not given a structure identifier.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0210Illegal operation was requested on a locked handle.
REP-0210:  Illegal operation was requested on a locked handle.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0211Attempt to use a handle after freeing it.
REP-0211:  Attempt to use a handle after freeing it.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0212No literal specified.
REP-0212:  No literal specified.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0213Attempt to lock handle failed.
REP-0213:  Attempt to lock handle failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0214Cannot allocate a virtual memory buffer of size <number> KB.  Please try a smaller size.
REP-0214:  Cannot allocate a virtual memory buffer of size <number> KB.  Please try a smaller size.

Cause:	Report Builder tried to allocate a virtual memory buffer size at or below the number specified (by you or by default) for the BUFFERS keyword.
Action:	Specify a smaller size for BUFFERS (either in the Runtime Settings tab of the Tools Options dialog or on the command line), or free up more memory.  (To check the command line syntax, see Executables.)


REP-0215Error locking, dereferencing, or freeing a memory handle.
REP-0215:  Error locking, dereferencing, or freeing a memory handle.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0230:  Error while starting a thread.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0231 Error while posting thread message.
REP-0231:  Error while posting thread message.

Cause:	This is an abnormal condition.
Action:	For information, see Abnormal Conditions.


REP-0232 Error while getting thread message
REP-0232:  Error while getting thread message

Cause:	This is an abnormal condition.
Action:	For information, see Abnormal Conditions.


REP-0235: Security Server TNSNAME not provided in config file.
REP-0235: Security Server TNSNAME not provided in config file

Cause:	The security server TNSNAME must be specified in Reports Server configuration file on security mode."
Action:	Specify the security server TNSNAME in the SECURITYTNSNAME parameter in Reports Server configuration file.


REP-0236: Unable to connect to Security Server.

Cause:	This is an abnormal condition.
Action:	For information, see Abnormal Conditions.


REP-0237: Security server authentication successful.

Cause:	Authentication was successful."
Action:	None.


REP-0238: Security server authentication failed.

Cause:	Your system userid/password is invalid or does not have necessary privileges to run the report.
Action:	Check your system userid/password to ensure that it is correct or contact your system administrator to grant you the necessary privileges.


REP-0239: Security server authentication failed: invalid user name.

Cause:	Your system user ID is incorrect.
Action:	Check your system user ID to ensure that it is correct or contact your system administrator regarding your system user ID.


REP-0240: Security server authentication failed: invalid password.

Cause:	Your system user ID password is incorrect.
Action:	Check your system userid password to ensure that it is correct or contact your system administrator regarding your system user ID password.


REP-0241: Security server authentication failed: no privilege on the Reports server.

Cause:	Your system user ID does not have the necessary privileges to access the Reports Server.
Action:	Contact your system administrator regarding your system user ID's privileges on the Reports Server.


REP-0242: Security server authentication failed: no privilege on the printer.

Cause:	Your system user ID does not have privilege to access the printer.
Action:	Contact your system administrator regarding your system user ID's privileges on the printer.


REP-0243: Security server authentication failed: no privilege on the module.

Cause:	Your system user ID does not have privileges to access the module.
Action:	Contact your system administrator regarding your system user ID's privileges on the module.


REP-0244: Security server authentication failed: no privilege of this access type.

Cause:	Your system user ID does not have privileges for this access type.
Action:	Contact your system administrator regarding your system user ID's privileges of this access type.


REP-0245: Security server authentication failed: no privilege of this output type.

Cause:	Your system user ID does not have privileges for this output type.
Action:	Contact your system administrator regarding your system user ID's privileges of this output type.


REP-0246: Security server authentication failed: no privilege for the given time.

Cause:	Your system user ID does not have necessary privileges for the given time.
Action:	Contact your system administrator regarding your system user ID's privileges for the given time.


REP-0247: Security server authentication failed: no privilege for the given date.

Cause:	Your system user ID does not have necessary privileges for the given date.
Action:	Contact your system administrator regarding system user ID's privileges for the given date.


REP-0250 Symbol table overflow.
REP-0250:  Symbol table overflow.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0251Identifier does not match a defined symbol.
REP-0251:  Identifier does not match a defined symbol.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0252Warning: The path specified by environment variable '<environment variable name>' is too long and will be ignored.
REP-0252:  Warning: The path specified by environment variable '<environment variable name>' is too long and will be ignored.

Cause:	The path designated by the environment variable is too long.
Action:	Shorten the length of the designated path.


REP-0253Warning: The total length of the search paths is too long and will be truncated.
REP-0253:  Warning: The total length of the search paths is too long and will be truncated.

Cause:	The combined length of search paths in the path environment is too long. The combined length cannot exceed 255 characters.
Action:	Shorten the length of one or more paths in the path environment.


REP-0300ORACLE error occurred.
REP-0300:  ORACLE error occurred.

Cause:	Report Builder encountered an ORACLE error.
Action:	Scroll through the error message to see where the error occurred and, if possible, fix it.  Otherwise, contact your DBA.


REP-0301The SELECT statement may not contain an 'INTO' clause.
REP-0301:  The SELECT statement may not contain an 'INTO' clause.

Cause:	You entered an INTO clause in a SELECT statement, which is not allowed in Report Builder.
Action:	Remove the INTO clause.


REP-0302Parameter '<parameter name>' not found in report.
REP-0302:  Parameter '<parameter name>' not found in report.

Cause:	You made reference to a parameter that is not defined in the report.  The most likely cause is that you deleted a parameter but did not delete all references to it.
Action:	Delete all references to the deleted parameter.


REP-0303The statement you have entered is not a SELECT statement.
REP-0303:  The statement you have entered is not a SELECT statement.

Cause:	What was entered in the SELECT Statement field is something other than a SELECT statement.  The possible causes of this error include the following:
	Case 1:	You entered something besides a SELECT statement in the SELECT Statement field.
	Case 2:	You referenced an external query that did not contain a SELECT statement.
Action:	You can take the following actions to correct this error:
	If Case 1:	Enter a valid SELECT statement.
	If Case 2:	Modify the external query or reference another external query.


REP-0304'&' in SELECT statement was not followed by a valid lexical parameter.
REP-0304:  '&' in SELECT statement was not followed by a valid lexical parameter.

Cause:	An ampersand (&) appeared in the SELECT statement by itself.  The possible causes of this error include the following:
	Case 1:	You intended to make a lexical reference but either left out the name of the column or parameter altogether or inadvertently typed a space between the ampersand and the name of the column or parameter.
	Case 2:	In typing the SELECT statement, you accidentally typed in an ampersand.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that the column or parameter name immediately follows the ampersand with no spaces in between.
	If Case 2:	Delete the ampersand.


REP-0305'<lexical reference>' cannot be used as a lexical parameter because it is not a character value.
REP-0305:  '<lexical reference>' cannot be used as a lexical parameter because it is not a character value.

Cause:	You entered an invalid lexical reference in your SELECT statement.  Lexical references can only be made to parameters or columns containing character data.  The possible causes of this error include the following:
	Case 1:	You referenced the wrong column or parameter.
	Case 2:	You meant for the reference to be a bind reference, not a lexical reference.
	Case 3:	You created the parameter or column referenced with a non-character Datatype.
Action:	You can take the following actions to correct this error:
	If Case 1:	Change the name that follows the ampersand (&) so it references a parameter or column with a Datatype of Character.
	If Case 2:	Replace the ampersand (&) with a colon (:) when referencing the parameter or column.
	If Case 3:	Change the Datatype of the parameter or column to be Character, if appropriate.


REP-0306'<name>' is not a valid parameter name.
REP-0306:  '<name>' is not a valid parameter name.

Cause:	In making reference to a parameter, you have tried to create a parameter with an invalid name.  When you use a bind reference, a parameter definition is automatically created using the name specified in the bind parameter.  In this case, Report Builder could not create the parameter because the name you supplied was not a valid name.
Action:	Check the naming conventions for data model objects and rules for parameter names.  For more information on naming conventions, see Naming Conventions.  Rename the parameter and change the name in the bind reference.


REP-0307The SELECT statement may not contain a 'FOR UPDATE' clause.
REP-0307:  The SELECT statement may not contain a 'FOR UPDATE' clause.

Cause:	You entered a FOR UPDATE clause in the SELECT statement, which is not allowed in Report Builder.
Action:	Remove the FOR UPDATE clause.


REP-0308Internal error - Unknown column type.
REP-0308:  Internal error - Unknown column type.

Cause:	The possible causes of this error include the following:
	Case 1:	You tried to display the value of a column using SRW.MESSAGE, but the column's datatype (e.g., LONG, LONG RAW, ROWID) is not supported for that operation.
	Case 2:	You tried to pass the value of a column to the form or chart runtime executable as a parameter, but the column's datatype (e.g., LONG, LONG RAW, ROWID) is not supported for that operation.
Action:	You cannot display or pass this column's value.


REP-0309Unable to connect to the specified database after three attempts.  Access denied.
REP-0309:  Unable to connect to the specified database after three attempts.  Access denied.

Cause:	Some part of the logon string you entered was incorrect.  After three failed attempts, Report Builder displays a dialog box with this message.  Your only option from this dialog box is to accept it and then Report Builder quits and returns you to the operating system.
Action:	Accept the dialog box.  Confirm your logon information with your DBA, if necessary.  Go back into Report Builder and try connecting to ORACLE again.  If the problem persists, you may have to get your DBA to create a new ORACLE logon for you.


REP-0310Error while processing Bind Variables in query.
REP-0310:  Error while processing Bind Variables in query.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0311Internal Error - Segmented memory used for lexical parameter.
REP-0311:  Internal Error - Segmented memory used for lexical parameter.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0312Internal Error - Error dealing with segmented memory.
REP-0312:  Internal Error - Error dealing with segmented memory.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0313Internal Error - Fetching data records would cause memory overflow.
REP-0313:  Internal Error - Fetching data records would cause memory overflow.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0314Column name exceeds 256 characters. Unable to describe. Use column alias for '<column name>...'.
REP-0314:  Column name exceeds 256 characters. Unable to describe. Use column alias for '<column name>...'.

Cause:	One of your SQL SELECT statements contains an expression that is longer than 256 characters, but has no alias.
Action:	Edit the SELECT statement and assign an alias to the expression.


REP-0315Each select statement must have the same number of columns in compound query.
REP-0315:  Each select statement must have the same number of columns in compound query.

Cause:	You entered a query with a UNION, INTERSECT, or MINUS set operator in which the SELECT statements in the query do not have the same number of selected columns.
Action:	Modify the SELECT statements so that they have the same number of columns.


REP-0316The types of corresponding columns must match in compound query.
REP-0316:  The types of corresponding columns must match in compound query.

Cause:	You entered a query with a UNION, INTERSECT, or MINUS set operator in which corresponding columns have different types--e.g., column 1 in the first SELECT statement has datatype CHAR, while column 1 in the second SELECT statement has datatype NUMBER.
Action:	Modify the SELECT statements so that all corresponding columns have the same datatype.


REP-0320Could not connect to the database.
REP-0320:  Could not connect to the database.

Cause:	An attempt to connect to the database failed.
Action:	Recheck the userid and password and try again.


REP-0321Internal Error - Describe of query failed.
REP-0321:  Internal Error - Describe of query failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0322Internal Error - Could not put back fetched rows.
REP-0322:  Internal Error - Could not put back fetched rows.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0330Internal Error - Location GET_REF parameters failed.
REP-0330:  Internal Error - Location GET_REF parameters failed.

Cause:	A CDE_MM.GET_REF call in a query did not specify a parameter list.
Action:	Add the parameter list to the call in your query's select statement.


REP-0331GET_REF PL/SQL function requires 3 parameters.
REP-0331:  GET_REF PL/SQL function requires 3 parameters.

Cause:	The parameter list of a CDE_MM.GET_REF call in a query was incomplete.
Action:	Add the necessary parameter to the call in your query's select statement.


REP-0332GET_REF PL/SQL function's last parameter must be of type ROWID.
REP-0332:  GET_REF PL/SQL function's last parameter must be of type ROWID.

Cause:	You did not provide a parameter of type ROWID as the last parameter for a  GET_REF function.
Action:	Check your parameter list and ensure the last parameter is of type ROWID.


REP-0340:  Cannot verify role password. Report not opened.

Cause:	You did not type in the correct role password.
Action:	Confirm that you have the correct role password.  Try opening your report again and type in the correct role password.


REP-0341: Cannot set roles specified in the report. Report not opened.

Cause:	The role specified in the report cannot be set when opening the report.
Action:	Confirm that you are granted the role and that the role password is correct.  Try opening your report again and type in the correct role password.


REP-00342:  Warning:  Cannot set roles specified in the report.
REP-0342:  Warning:  Cannot set roles specified in the report.

Cause:	The role specified on the command line cannot be set.
Action:	Confirm that you are granted the role and that the role password is correct.


REP-0343:  Warning:  Cannot set default roles of the current user.

Cause:	Report Builder is unable to set the default roles of the current user that has passwords.
Action:	Do not use default roles with passwords.


REP-344: Role password not confirmed correctly. Please make sure confirmation password matches the role password.
REP-0344: Role password not confirmed correctly. Please make sure confirmation password matches the role password.

Cause:	The password entered in the Confirm Password field is different than the Role Password.
Action:	Re-enter the Confirm Password, ensuring that the password exactly matches the Role Password.


REP-345: Cannot have empty role and non-empty password.
REP-0345: Cannot have empty role and non-empty password.

Cause:	You specified a role password, but not the role.
Action:	Specifiy a role, and then specify the password, or leave all fields empty if you do not intend to associate a role with this report.


REP-0346: Role must be no longer than <number> characters. It will be truncated.

Cause:	You specified a role name that is longer than what is allowed. It will be truncated.
Action:	Specify a shorter role name.


REP-0347: Role password must be no longer than <number> characters. It will be truncated.

Cause:	You specified a role password that is longer than what is allowed. It will be truncated.
Action:	Specify a shorter role pasword.


REP-0348: Incorrect role password.

Cause:	You entered an  incorrect role password.
Action:	Re-enter the correct role password.


REP-0450<PL/SQL error>.
REP-0450:  <PL/SQL error>.

If you edit an object that may have associated PL/SQL code such as a Formula column, Place Holder column or Parameter, this error can occur. Any changes to an object in Report Builder should also be made to associated PL/SQL code.

Cause:	Report Builder encountered this error while running a report.
Action:	Edit and recompile the PL/SQL in the report to avoid this error.
Cause:	A size has not been declared with a datatype.
Action:	Declare each datatype's size. Varchar2(10), for example.
Cause:	The value returned for a variable is too large for the datatype's specified size.
Action:	Change the size for the variable to the same size as the field being selected.
Cause:	An older version of PL/SQL was used to create the report.
Action:	Open the report in the current version of Report Builder, save it, and then close it. Open it again and run it.


REP-0451<PL/SQL error>. <additional messages>.
REP-0451:  <PL/SQL error>. <additional messages>.

Cause:	Report Builder encountered this error while running a report.
Action:	Edit and recompile the PL/SQL in the report to avoid this error.


REP-0452<PL/SQL error>. <additional message>. <additional message>.
REP-0452:  <PL/SQL error>. <additional message>. <additional message>.

Cause:	Report Builder encountered this error while running a report.
Action:	Edit and recompile the PL/SQL in the report to avoid this error.


REP-0453<PL/SQL error>. <additional message>. <additional message>. <additional message>.
REP-0453:  <PL/SQL error>. <additional message>. <additional message>. <additional message>.

Cause:	Report Builder encountered this error while running a report.
Action:	Edit and recompile the PL/SQL in the report to avoid this error.


REP-0490Internal Error - Toolkit context unavailable.
REP-0490:  Internal Error - Toolkit context unavailable.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0491Warning: Data truncation possible in column '<column name>'.
REP-0491:  Warning: Data truncation possible in column '<column name>'.

Cause:	The database column's width in the report is defined to be less than its width in the database.  This can sometimes occur when the columns in the database are updated subsequent to the report being defined.  This warning is raised only when RUNDEBUG is YES.
Action:	Force the query to be reparsed.  One method is to type a space at the end of a line in the SELECT Statement field and then accept the SQL Query Statement dialog.


REP-0492Unrecognized token: '<token name>'.
REP-0492:  Unrecognized token: '<token name>'.

Cause:	The SELECT statement that you entered contains an item that is not part of SQL syntax.
Action:	Review your SELECT statement and ensure that it follows SQL syntax.


REP-0493Internal Error - Unable to expand Lexical references.
REP-0493:  Internal Error - Unable to expand Lexical references.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0494Internal Error - Unable to process Lexical references.
REP-0494:  Internal Error - Unable to process Lexical references.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0495Internal Error - Unable to tokenize the query.
REP-0495:  Internal Error - Unable to tokenize the query.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0496Internal Error - Unable to parse the query.
REP-0496:  Internal Error - Unable to parse the query.

Cause:	The SQL statement that you have entered cannot be parsed because it contains an error.
Action:	Review the SQL statement that you entered and ensure that you are using the correct syntax.  For more information, see the ORACLE8 Server SQL Language Reference Manual.


REP-0497Internal Error - Query failed in rodslt.
REP-0497:  Internal Error - Query failed in rodslt.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0498Number of columns selected by the query is incompatible with report definition.
REP-0498:  Number of columns selected by the query is incompatible with report definition.

Cause:	The query is selecting more columns than the report definition is expecting.  This can happen when you are using an external query and the query has been changed since the report was defined.
Action:	Update the report definition so that it accepts the changed query.  For example, go to the SQL Query Statement dialog for the query that references the changed external query and modify it.  Formulas, summaries, and fields that rely on any changed columns may also need to be updated.


REP-0499Column selected by the query is incompatible with report definition.
REP-0499:  Column selected by the query is incompatible with report definition.

Cause:	The column from the database does not match the column in the report definition.  The possible causes of this error include the following:
	Case 1:	The definition of the column in the database has changed since the report was defined.
	Case 2:	The report uses an external query and the external query was changed since the report was defined.
Action:	You can take the following actions to correct this error:
	If Case 1:	Update the report definition so that it accepts the changed column.  For example, if the datatype of the column has changed, re-accept the SQL Query Statement dialog external query so the column in the report definition has its datatype updated.  Formulas, summaries, and fields that rely on the changed column may also need to be updated.
	If Case 2:	Update the report definition so that it accepts the changed query.  For example, re-accept the SQL Query Statement dialog box that references the changed external query and accept it.  Formulas, summaries, and fields that rely on any changed columns may also need to be updated.


REP-0500Number entered is out of range.
REP-0500:  Number entered is out of range.

Cause:	You have entered a number in a setting which is too large.
Action:	Check the limits of the field.  Look in the chapter where the field is described and enter a number that is within the limits.


REP-0501Unable to connect to the specified database.
REP-0501:  Unable to connect to the specified database.

Cause:	Report Builder tried to but could not connect to ORACLE.    The possible causes of this error include the following:
	Case 1:	ORACLE is temporarily unavailable.
	Case 2:	Your connect information was not valid.
Action:	You can take the following actions to correct this error:
	If Case 1:	Retry the operation.  Contact your DBA if the problem persists.  Note that after three failed attempts, you will be forced to leave Report Builder.
	If Case 2:	Check your connect information to make sure it is correct.  If it is not, re-enter it and try to connect again.  Note that after three failed attempts, you will be forced to leave Report Builder.


REP-0502Error attempting to open '<filename>' terminal file.
REP-0502:  Error attempting to open '<filename>' terminal file.

Cause:	Report Builder tried to but could not open the terminal definition file you specified.  You either specified the name of the file incorrectly after the TERM keyword or the file could not be found.
Action:	Make sure that you specified the name of the terminal definition correctly and that it resides in the correct path.  If the problem persists, contact your DBA.


REP-0503You did not specify the name of a report.
REP-0503:  You did not specify the name of a report.

Cause:	You specified an invalid name or nothing when you should have specified the name of a report.
Action:	Specify the name of a report.


REP-0504You are not connected to a specified database.
REP-0504:  You are not connected to a specified database.

Cause:	You tried to perform an operation that requires you be connected to the database and you were not connected.
Action:	Connect to the database using File [image] Connect.


REP-0450<PL/SQL error> examples.
REP-0450:  <PL/SQL error> examples.


REP-0505This is not a valid width for this column.
REP-0505:  This is not a valid width for this column.

Cause:	The value you entered in Width was invalid.  The possible causes of this error include the following:
	Case 1:	You entered zero or a negative number.  Width must be greater than zero.
	Case 2:	You entered something that was not a number.
	Case 3:	For a column of non-numeric Datatype, you entered a width of the form (x, y) where x is the precision and y is the scale.  This type of Width specification is only valid when Datatype is Number.
Action:	You can take the following actions to correct this error:
	If Case 1:	Enter a number greater than zero.
	If Case 2:	Enter a number greater than zero.
	If Case 3:	Enter a number greater than zero or, if possible, change the Datatype of the column to Number.


REP-0506Database columns cannot be moved between queries.
REP-0506:  Database columns cannot be moved between queries.

Cause:	You tried to move a column into another group belonging to another query and the column is a database column.  A database column must be selected by the query that owns its group.
Action:	Select the column, if possible, in the query that owns the group to which you want to move it.


REP-0507You must enter a file name before performing this operation.
REP-0507:  You must enter a file name before performing this operation.

Cause:	In a file selection dialog box, you tried to accept the dialog box without specifying a filename.
Action:	Enter a name and then accept or cancel the dialog box.


REP-0508You must enter an object name before performing this operation.
REP-0508:  You must enter an object name before performing this operation.

Cause:	In a database object selection dialog box, you tried to accept the dialog box without specifying an object name.
Action:	Enter a name and then accept or cancel the dialog box.


REP-0509Invalid number.
REP-0509:  Invalid number.

Cause:	In a numeric field, you entered something other than a digit or a decimal point.
Action:	Enter a number that contains only digits and, if necessary, a decimal point.


REP-0510Valid options are 'Character', 'Inch', 'Centimeter' or 'Point'.
REP-0510:  Valid options are 'Character', 'Inch', 'Centimeter' or 'Point'.

Cause:	You entered an invalid unit of measurement in the Unit of Measurement field.
Action:	Select the option you want from the list of values.


REP-0511Valid options are 'Across/Down' or 'Down/Across'.
REP-0511:  Valid options are 'Across/Down' or 'Down/Across'.

Cause:	You entered a Panel Print Order that was not one of the two valid options.
Action:	Select the option you want from the list of values.


REP-0512A decimal value is not appropriate here.
REP-0512:  A decimal value is not appropriate here.

Cause:	The number that you entered was a decimal value and Report Builder was expecting a non-decimal value.
Action:	Enter a non-decimal value.


REP-0513You must enter a Unit of Measurement.
REP-0513:  You must enter a Unit of Measurement.

Cause:	The Unit of Measurement is blank and you tried to move to another setting.
Action:	Select an option for Unit of Measurement.


REP-0514You must specify the Page Size.
REP-0514:  You must specify the Page Size.

Cause:	You left the Page Width and/or Page Height settings blank and they require a value.
Action:	Enter a number for Page Width and/or Page Height.


REP-0515You must specify the Parameter Form Size.
REP-0515:  You must specify the Parameter Form Size.

Cause:	You left the Parameter Form Width and/or Parameter Form Height settings blank and they require a value.
Action:	Enter a number for Parameter Form Width and/or Parameter Form Height.


REP-0516You must specify the Page Size in characters.
REP-0516:  You must specify the Page Size in characters.

Cause:	The value you entered for Page Size was not in character units, and Page Size requires character units.
Action:	Enter a value in characters for Page Size.


REP-0517You must specify the Form Size in characters.
REP-0517:  You must specify the Form Size in characters.

Cause:	The value you entered for Form Size was not in character units, and Form Size requires character units.
Action:	Enter a value in characters for Form Size.


REP-0518Valid options are 'Database', 'File', or 'File/Database'.
REP-0518:  Valid options are 'Database', 'File', or 'File/Database'.

Cause:	The Object Access setting you entered was not one of the three valid choices.
Action:	Select an option from the list of values.


REP-0519Valid options are 'Insert' or 'Replace'.
REP-0519:  Valid options are 'Insert' or 'Replace'.

Cause:	The Default Text Edit Mode you entered was not one of the two valid choices.
Action:	Select an option from the list of values.


REP-0520The value for group or frame indentation must be between 0 and 4.
REP-0520:  The value for group or frame indentation must be between 0 and 4.

Cause:	The value you entered for Group/Frame Indentation was outside the valid range of values.
Action:	Enter a number between 0 and 4.


REP-0521'<Name>' is not a valid name.
REP-0521:  '<Name>' is not a valid name.

Cause:	You violated naming conventions and gave an object an invalid name (shown).
Action:	Find the naming conventions for the type of object you are creating and ensure that the name follows those conventions.  For more information, see Naming Conventions.


REP-0522You cannot build a default layout because this report has no groups.
REP-0522:  You cannot build a default layout because this report has no groups.

Cause:	You selected Tools [image] Default Layout or drew a region using the Default Layout tool in the Layout Model editor before having created any groups for the report.  Groups are required in order to create a default layout.
Action:	Create one or more queries to allow Report Builder to automatically create a group, then retry the operation.


REP-0523Invalid Default Layout Style.  See the list of values.
REP-0523:  Invalid Default Layout Style.  See the list of values.

Cause:	You entered a value for Default Layout Style that is not one of the valid options.
Action:	Select a layout style from the list of values.


REP-0524Invalid Print Direction.  See the list of values.
REP-0524:  Invalid Print Direction.  See the list of values.

Cause:	You entered a Repeat value that is not one of the valid options.
Action:	Select a value for Repeat from the list of values.


REP-0525Valid options are 'Screen', 'File', 'Printer', 'Mail', or 'Sysout'.
REP-0525:  Valid options are 'Screen', 'File', 'Printer', 'Mail', or 'Sysout'.

Cause:	You entered a destination type for the system parameter DESTYPE that is not one of the valid options. Possible causes of this error include the following:
	Case 1:	You entered an invalid value for Destination Type in the Runtime Parameter Form.
	Case 2:	You entered an invalid Initial Value in the Parameter property palette for DESTYPE.
Action:	You can take the following actions to correct this error:
	If Case 1:	Enter one of the valid values, Screen, File, Printer, Mail, or Sysout.
	If Case 2:	Select a value for Initial Value from the list of the values.


REP-0526The initial value you have entered is longer than the parameter width.
REP-0526:  The initial value you have entered is longer than the parameter width.

Cause:	You entered a value that is too long for the parameter on the Parameter property palette.  The possible causes of this error include the following:
	Case 1:	You entered a value in Initial Value that is too big, given what you specified for the parameter's Width.
	Case 2:	You entered a value for Width that is too small to contain the values you want to be able to enter for the parameter.
Action:	You can take the following actions to correct this error:
	If Case 1:	Re-enter the Initial Value, making sure that it is not wider than what you specified in Width.
	If Case 2:	Delete the Initial Value you have entered.  Move to the Width setting for the parameter and increase it such that it can contain the Initial Value you had specified.  Re-enter the Initial Value.


REP-0527You cannot delete a system parameter.
REP-0527:  You cannot delete a system parameter.

Cause:	You tried to delete a packaged parameter from the Parameter property palette.
Action:	Report Builder will not allow you to delete a system parameter.  However, you can suppress the display of the parameter on the Runtime Parameter Form by using the Default Parameter Form dialog box or the Parameter Form editor.  For more information, see Parameter Form Editor.


REP-0528Valid options are 'Character', 'Number' or 'Date'.
REP-0528:  Valid options are 'Character', 'Number' or 'Date'.

Cause:	The datatype you entered in Datatype for the parameter was not one of the valid datatypes.
Action:	Select a datatype for Datatype from the list of values.


REP-0529Valid options are 'Box', 'Graphic', 'Line' or 'Text'.
REP-0529:  Valid options are 'Box', 'Graphic', 'Line' or 'Text'.

Cause:	The value you entered in Type for the boilerplate was not one of the valid types.
Action:	Select a value for Type from the list of values.


REP-0530File too long.  It will be truncated to fit.
REP-0530:  File too long.  It will be truncated to fit.

Cause:	You tried to import a file into a field that has a maximum width less than the size of the file.  Report Builder only imported as much of the file as could fit in the field.
Action:	If you wish to import the entire file, increase the size of the field.


REP-0531Invalid Object Type.  See the list of values.
REP-0531:  Invalid Object Type.  See the list of values.

Cause:	In the Navigate to Object dialog box, you entered an invalid value for Object Type.
Action:	Select a value from the list of values.


REP-0532There is no object of that type with this name.
REP-0532:  There is no object of that type with this name.

Cause:	The value you entered in the Object Name field of the Navigate to Object dialog box does not correspond to an object of the specified type in the report.
Action:	Make sure that you specified the name correctly and that the object is contained in the current report.


REP-0533You can only import to a text entry field.
REP-0533:  You can only import to a text entry field.

Cause:	You selected Edit [image] Import while in a non-text entry field (e.g., a field that accepts only a number).
Action:	If you wish to import something, move to a text entry field to do so.


REP-0534You can only export from a text entry field.
REP-0534:  You can only export from a text entry field.

Cause:	You selected Edit [image] Export while in a non-text entry field (e.g., a field that accepts only a number).
Action:	If you wish to export something, move to a text entry field to do so.


REP-0535There is no object named '<object name>' in the database.
REP-0535:  There is no object named '<object name>' in the database.

Cause:	You tried to perform an operation on a document stored in the database, but Report Builder could not find the object.
Action:	Make sure that you specified the name correctly and are connected to the database where the document resides.


REP-0536You cannot delete an object in the database that you do not own.
REP-0536:  You cannot delete an object in the database that you do not own.

Cause:	You tried to delete an object that you do not own.  To delete an object, you must be the object's owner.
Action:	Have the owner delete the object, if possible.


REP-0537You cannot rename an object in the database that you do not own.
REP-0537:  You cannot rename an object in the database that you do not own.

Cause:	You tried to rename an object that you do not own.  To rename an object, you must be the object's owner.
Action:	Have the owner rename the object, if possible.


REP-0538There is already an object named '<object name>' in the database.
REP-0538:  There is already an object named '<object name>' in the database.

Cause:	The name that you entered for the object is already used for an existing object.
Action:	Give the object a different name to avoid the conflict or delete the existing object.


REP-0539Default parameter form could not be fitted in <number> page(s).
REP-0539:  Default parameter form could not be fitted in <number> page(s).

Cause:	The default parameter form is too big to fit on the number of pages specified.
Action:	Select Tools [image] Default Parameter Form.  Increase the number of pages that the parameter form can span.


REP-0540Page size too small for default parameter form.
REP-0540:  Page size too small for default parameter form.

Cause:	The current Form Width and Form Height settings are too small for the default parameter form.
Action:	Increase the size of the parameter form pages in the Report property palette by changing Form Width and Form Height.  Alternatively, you can default the parameter form by selecting Tools [image] Default Parameter Form and reduce its size by editing it in the Parameter Form editor.


REP-0541Source must be a report.
REP-0541:  Source must be a report.

Cause:	For RWRUN60, RWCON60, or File [image] Convert, you specified something other than a report as the source.  These operations all require a report as their source.
Action:	Specify a report as the source for the operation.


REP-0542No date masks have been specified as preferences.
REP-0542:  No date masks have been specified as preferences.

Cause:	While in the Parameter or Field property palette of a parameter/field of Type Date, you chose the List button for Input Mask or Format Mask, but no masks are specified in the Date Mask list of the Preferences tab of the Tools Options dialog box.
Action:	Enter a date format mask manually or go to the Preferences tab of the Tools Options dialog box and enter some date format masks in the Date Mask list.


REP-0543No number masks have been specified as preferences.
REP-0543:  No number masks have been specified as preferences.

Cause:	While in the Parameter or Field property palette of a parameter/field of Type Number, you chose the List button for Input Mask or Format Mask, but no masks are specified in the Number Mask list of the Preferences tab of the Tools Options dialog box.
Action:	Enter a number format mask manually or go to the Preferences tab of the Tools Options dialog and enter some number format masks in the Number Mask list.


REP-0544The on-line help system is not available.
REP-0544:  The on-line help system is not available.

Cause:	You selected Help [image] Help System, but help could not be found.  This may have happened because the help files could not be found or because of a help system error.
Action:	Ensure that the help files and help system are properly installed.  If they are and the error persists, you should contact Oracle Customer Support for assistance.  For more information, see Calling Oracle Customer Support.


REP-0545The number must be greater than 0.
REP-0545:  The number must be greater than 0.

Cause:	You entered zero for Page Width, Page Height, or Logical Page Size in the Report property palette.  You must enter a number greater than zero.
Action:	Enter a number greater than zero for Page Width, Page Height, or Logical Page Size.


REP-0546Invalid parameter input.
REP-0546:  Invalid parameter input.

Cause:	In the Runtime Parameter Form, you entered an invalid value for a parameter.  For example, you entered one or more characters as the value of parameter with a datatype of Number.
Action:	Re-try the operation, entering a valid value for the parameter.


REP-0548Problem initializing Oracle Toolkit.
REP-0548:  Problem initializing Oracle Toolkit.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0549Destination type must be 'File', 'Printer', 'Mail', or 'Sysout' in batch mode.
REP-0549:  Destination type must be 'File', 'Printer', 'Mail', or 'Sysout' in batch mode.

Cause:	You tried to run a report in the background (i.e., BATCH=YES), but you specified a DESTYPE that is invalid for running in the background.
Action:	Change the DESTYPE to File, Printer, Mail, or Sysout, or do not run the report with BATCH=YES.


REP-0550Invalid Parent Group.
REP-0550:  Invalid Parent Group.

Cause:	The name you entered does not identify a valid parent group in the report you are currently defining.
Action:	Select a group from the list of values.


REP-0551Invalid Parent Column.
REP-0551:  Invalid Parent Column.

Cause:	The name you entered does not identify a valid parent column in the report you are currently defining.  The column you specified does not exist in the parent group.
Action:	Select a column from the list of values.  If the column you want does not appear, add it to the SELECT statement of the parent query of the group specified in Parent Group.


REP-0552Invalid Child Column.
REP-0552:  Invalid Child Column.

Cause:	The name you entered does not identify a valid child column in the report you are currently defining.  The column you specified does not exist in the query.
Action:	Select a column from the list of values.  If the column you want does not appear, add it to the SELECT statement of the query.


REP-0553Invalid Condition.
REP-0553:  Invalid Condition.

Cause:	The Condition you entered for the query is not among the valid choices.
Action:	Select a value from the list of values for Condition.


REP-0554Valid options are 'WHERE', 'HAVING' or 'START WITH'.
REP-0554:  Valid options are 'WHERE', 'HAVING' or 'START WITH'.

Cause:	The value you entered in SQL Clause is not one of the valid choices.
Action:	Select a value from the list of values for SQL Clause.


REP-0555Warning: 'START WITH' is ORACLE-specific SQL syntax.  Report will not run against non-ORACLE database.
REP-0555:  Warning: 'START WITH' is ORACLE-specific SQL syntax.  Report will not run against non-ORACLE database.

Cause:	The START WITH clause is only available with the ORACLE database.  If you are not connected to any database or you are connected to a non-ORACLE database, this warning is raised.
Action:	Ensure that you either run the report against an ORACLE database or remove the START WITH clause before running it against a non-ORACLE database.


REP-0556No data links were created. No foreign key in the child query '<query name>' refers to a primary key in the parent query '<query name>'.
REP-0556:  No data links were created. No foreign key in the child query '<query name>' refers to a primary key in the parent query '<query name>'.

Cause:	You attempted to create a query-to-query link but no foreign key exists in the child query.
Action:	Verify whether the tables referred to are on your local database and accessible.  If so, add the appropriate column constraints if desired.


REP-0558Note:  The query '$0' has created lexical parameter '$1'.
REP-0558:  Note:  The query '<query name>' has created the lexical parameter(s) '<parameter name>'.

Cause:	The specified query references a lexical parameter(s) that did not exist.
Action:	None.  Report Builder has already created the necessary lexical parameter(s).


REP-0559Note: The query '<query name>' has created the bind parameter '<parameter name>'.
REP-0559:  Note: The query '<query name>' has created the bind parameter(s) '<parameter name>'.

Cause:	The specified query references a bind parameter(s) that did not exist.
Action:	None.  Report Builder has already created the necessary bind parameter(s).


REP-0560Invalid Group.
REP-0560:  Invalid Group.

Cause:	The group name you entered in Group is not a valid group for the column.  The group you specified does not exist or cannot own the column.
Action:	Create or modify the group such that it can own the column.  A database column must be owned by the group associated with the query that selects it.  A summary or formula column must be owned by a group that is below the group(s) that owns the columns being summarized in the group hierarchy (i.e., the order of groups as they appear in the Data Model editor).


REP-0561Valid options are 'Formula', 'Summary' or 'Placeholder'.
REP-0561:  Valid options are 'Formula', 'Summary' or 'Placeholder'.

Cause:	The value you entered in Type for the column was not one of the valid choices.
Action:	Select a value from the list of values for the column's Type.


REP-0562Invalid Column Datatype. See the list of values.
REP-0562:  Invalid Column Datatype. See the list of values.

Cause:	The value you entered in Datatype is not one of the valid choices.
Action:	Select a value from the list of values for Datatype.


REP-0563Valid options are 'Ascending', 'Descending', or blank.
REP-0563:  Valid options are 'Ascending', 'Descending', or blank.

Cause:	The value you entered in Datatype is not one of the valid choices.
Action:	Select a value from the list of values for Datatype.


REP-0564Invalid File Type.
REP-0564:  Invalid File Type.

Cause:	The file type value you entered in Read From File was not one of the valid types.  You either misspelled the value or the value you entered does not exist.
Action:	Select a file type from the list of values for Read from File.


REP-0565Invalid Function.  See the list of values.
REP-0565:  Invalid Function.  See the list of values.

Cause:	The function you entered for Function is not one of the valid choices.
Action:	Select one of the functions from the list of values.


REP-0566You may not delete a database column.
REP-0566:  You may not delete a database column.

Cause:	You tried to delete a column with a Type of Database.
Action:	Remove the column from the SELECT list of the query that selects it and the column will be deleted automatically.


REP-0567Invalid Summary Source. See the list of values.
REP-0567:  Invalid Summary Source. See the list of values.

Cause:	The column you entered in Source for the summary is not one of the valid choices.  The possible causes of this error include the following:
	Case 1:	The column does not exist.
	Case 2:	The Datatype of the Source is Character or Date.  You cannot use numeric functions (such as Percent, Sum, or Average) unless the Datatype is Number.
Action:	You can take the following actions to correct this error:
	If Case 1:	Select a column from the list of values for the function.
	If Case 2:	Enter the name of another column in Source that is of Datatype Number.


REP-0568Value if Null is invalid.
REP-0568:  Value if Null is invalid.

Cause:	The value of Value if Null in the Column property palette is invalid for that column.  For example, if datatype of the column is Number, and you specify a character string in Value if Null, you will receive this error.
Action:	Specify a valid value for Value if Null.


REP-0580Invalid Filter Type.  See the list of values.
REP-0580:  Invalid Filter Type.  See the list of values.

Cause:	The value you entered for Type under Filter is not one of the valid choices.
Action:	Select one of the filter types from the list of values.


REP-0581This is the only group of query '<query name>', and may not be deleted.
REP-0581:  This is the only group of query '<query name>', and may not be deleted.

Cause:	The group you tried to delete is the only one of the query.  Each query must have at least one group.
Action:	If you want to delete the group, delete the group's query.


REP-0582You cannot move a group out of its query.
REP-0582:  You cannot move a group out of its query.

Cause:	You cannot move a group between queries.  Groups can only be moved within the set of groups belonging to the same query.
Action:	You can create a group similar to the one you were trying to move under the other query, if possible.


REP-0583Invalid SQL Select Statement.
REP-0583:  Invalid SQL Select Statement.

Cause:	The SQL SELECT statement that you entered is not valid.
Action:	Check the SELECT statement for errors and correct them.  For more information, see the ORACLE8 Server SQL Language Reference Manual.


REP-0584Lexical parameters are not permitted in External Queries.
REP-0584:  Lexical parameters are not permitted in External Queries.

Cause:	You made a lexical reference in your external query.  You cannot make lexical references from an external query.
Action:	Delete the reference altogether or, if possible, change it to a bind reference.


REP-0585Parent group <group name> for child query <query name> nonexistent.
REP-0585:  Parent group <group name> for child query <query name> nonexistent.

Cause:	You have deleted a query without deleting references to its groups in data links.  This usually happens when you have deleted a query without cascading the deletion to its associated objects.
Action:	Update the data link in the child query.


REP-0586Adding this data link will create a cycle.
REP-0586:  Adding this data link will create a cycle.

Cause:	The group you specified as the parent group for the data link is not eligible to be a parent because it is, directly or indirectly, a child of the query to which you are linking it.
Action:	If possible, move the group such that it is not a child of the query and therefore eligible to be its parent group.  Otherwise, there is no action you can take.


REP-0587Invalid PL/SQL Group Filter condition.
REP-0587:  Invalid PL/SQL Group Filter condition.

Cause:	You selected Condition for Filter Type, but entered no PL/SQL condition.
Action:	Enter your PL/SQL or change the Filter Type.  For more information about using PL/SQL within Report Builder, see PL/SQL Interface.  For more information about PL/SQL, see the PL/SQL User's Guide and Reference.


REP-0588Invalid PL/SQL Column Formula.
REP-0588:  Invalid PL/SQL Column Formula.

Cause:	You selected Formula as the column's Type, but entered no PL/SQL for the formula.
Action:	Create a formula or change the column's Type.  For more information about using PL/SQL within Report Builder, see PL/SQL Interface.  For more information about PL/SQL, see the PL/SQL User's Guide and Reference.


REP-0590Only <number> page(s) formatted.  Last page is shown.
REP-0590:  Only <number> page(s) formatted.  Last page is shown.

Cause:	In the Previewer, you tried to go to a page number that is larger than the total number of pages formatted, i.e., you tried to go to a page that does not exist.
Action:	None.  You cannot scroll down from the last page of the report.


REP-0591You are already on the first page.
REP-0591:  You are already on the first page.

Cause:	In the Previewer, you selected First while you were already on the first page of the report.
Action:	None.  You cannot scroll up from the first page of the report.


REP-0592You are already on the last page.
REP-0592:  You are already on the last page.

Cause:	In the Previewer, you selected Last while you were already on the last page of the report.
Action:	None.  You cannot scroll down from the last page of the report.


REP-0593Page <page number> is the current page.
REP-0593:  Page <page number> is the current page.

Cause:	In the Previewer, you entered the page number of the current page and chose Go To.
Action:	If you intended to go to another page, enter a different page number and chose Go To.


REP-0594No report output generated.
REP-0594:  No report output generated.

Cause:	The report you ran resulted in no output.
Action:	Check the accompanying messages for errors in the data model and layout.  If the problem persists, contact Oracle Customer Support for assistance.  For more information, see Calling Oracle Customer Support.


REP-0595Report definition modified.  Re-running report.
REP-0595:  Report definition modified.  Re-running report.

Cause:	You ran a report and while its output was still in the Previewer you modified the report definition.  If you return to the Previewer without re-running the report, the report output is not updated to reflect the most recent changes and, consequently, the report must be run again.
Action:	Close the Previewer and run the report again.


REP-0596Number cannot be greater than <number> or less than 1.
REP-0596:  Number cannot be greater than <number> or less than 1.

Cause:	You entered an invalid value for the Page Number setting on the Field property palette for a parameter form field.  The most likely cause is that you entered zero, a negative number, or a number that is larger than the largest allowable value.
Action:	Enter a number within the range shown in the message.


REP-0597This operation is invalid, since it moves object(s) out of boundary.
REP-0597:  This operation is invalid, since it moves object(s) out of boundary.

Cause:	You tried to move editor objects in such a way that they would be off the screen.
Action:	Re-try the operation so that it will not move objects off the screen.


REP-0598You have moved the anchor end point out the boundary of the object, please try again.
REP-0598:  You have moved the anchor end point out the boundary of the object, please try again.

Cause:	In moving an anchor, you moved the end point off of the boundary of the object it anchors.
Action:	Move the anchor such that its endpoint is still on the boundary of the object.


REP-0599This text boilerplate is not editable.
REP-0599:  This text boilerplate is not editable.

Cause:	You attempted to edit the text of a link file boilerplate object while it was displayed in the Layout Model editor.
Action:	If you wish to edit the text of a link file boilerplate object, exit the report and edit the file containing the link file boilerplate text using a text editor.


REP-0600There is no list of values available for this field.
REP-0600:  There is no list of values available for this field.

Cause:	You attempted to access a list of values for the current field when none is available.
Action:	No action necessary.


REP-0601The list of values for this field is empty.
REP-0601:  The list of values for this field is empty.

Cause:	You tried to select from a list of values and the list of values has no values.  In order for some lists of values to contain values, another part of your report must be built first.  For example, if a list of values is made up solely of column names and you have not completed your data model, you may get this error.
Action:	Building your report fully should fix this error.  If the error persists, contact Oracle Customer Support.  For more information, see Calling Oracle Customer Support.


REP-0602Unable to query accessible tables.
REP-0602:  Unable to query accessible tables.

Cause:	The dictionary view of accessible tables is not present or not available.
Action:	See your DBA.


REP-0603Unable to describe table '<table name>'.
REP-0603:  Unable to describe table '<table name>'.

Cause:	The dictionary view of accessible tables is not present or not available.
Action:	See your DBA.


REP-0604Unable to build SELECT statement - no values selected.
REP-0604:  Unable to build SELECT statement - no values selected.

Cause:	You accepted the Table and Columns Names dialog box without having selected anything with which to build the SELECT statement.  If you choose the columns or table radio button, but no columns or tables are selected when you accept the dialog box, you will get this error message.
Action:	Select a table and, if desired, column(s) or choose the SELECT columns FROM table radio button, and then accept the dialog box.  To exit the dialog box without building a SELECT statement, choose the Close button.


REP-0606Unable to read link file '<filename>'. Check link file format.
REP-0606:  Unable to read link file '<filename>'. Check link file format.

Cause:	The file you specified in the Link File field of the Boilerplate property palette cannot be found or its format does not match that specified in the Format field.
Action:	Ensure that you correctly specified the name of the file and that the value you entered in the Format field matches the format of the file.


REP-0607Run-only file '<filename>' may not be opened.
REP-0607:  Run-only file '<filename>' may not be opened.

Cause:	You attempted to open a runfile (extension .rep).  Runfiles cannot be opened, they can only be executed.
Action:	Open the report definition that is associated with the .rep file.  It should have an extension of .rdf.


REP-0608Invalid Source Type.  See the list of values.
REP-0608:  Invalid Source Type.  See the list of values.

Cause:	You selected File-->Convert... and the source type that you specified is not valid.
Action:	Select the source type from the list of values.


REP-0609Invalid Destination Type.  See the list of values.
REP-0609:  Invalid Destination Type.  See the list of values.

Cause:	You selected File-->Administration-->Convert... and the destination type is not valid.
Action:	Select the destination type from the list of values.


REP-0610Error while attempting to print screen.  Make sure log file '<filename>' is accessible.
REP-0610:  Error while attempting to print screen.  Make sure log file '<filename>' is accessible.

Cause:	Report Builder attempted to write the contents of the screen to the file printdef.dat but could not locate the file.
Action:	To determine the proper location for printdef.dat, see your installation guide.


REP-0611Valid options are 'Screen', 'File', 'Printer', or 'Mail'.
REP-0611:  Valid options are 'Screen', 'File', 'Printer', or 'Mail'.

Cause:	In the Runtime Parameter Form, you provided a value for Destination Type that was not valid.
Action:	Specify a value of Screen, File, Printer, or Mail for Destination Type.


REP-0612Invalid date mask.
REP-0612:  Invalid date mask.

Cause:	The date mask that you entered does not correspond to any of the valid date masks.
Action:	Check to make sure that you entered the mask correctly.  For more information, see Format Mask.


REP-0613Value does not match mask '<mask string>'.
REP-0613:  Value does not match mask '<mask string>'.

Cause:	The mask you entered in Format Mask is not a valid mask.   The possible causes of this error include the following:
	Case 1:	The string that you entered as a mask contained invalid characters.
	Case 2:	You entered a number format mask for a field with Datatype of Character.
Action:	You can take the following actions to correct this error:
	If Case 1:	Select a value from the list of values.  For more information, see Format Mask.
	If Case 2:	Change the Datatype of the field to be Number, if possible.  If the field is supposed to be Character Datatype and cannot be changed, you cannot have a format mask for it.


REP-0614There is no window active for your Find and Replace action.
REP-0614:  There is no window active for your Find and Replace action.

Cause:	You attempted a Find and Replace operation using the Find and Replace dialog box, but did not have the cursor positioned in an active Report Builder window.
Action:	Position your cursor in a text entry field before you perform a search/replace operation.


REP-0615You can only Find and Replace a text entry field.
REP-0615:  You can only Find and Replace a text entry field.

Cause:	You attempted a Find and Replace operation using the Find and Replace dialog box, but did not have the cursor positioned in a text entry field.  Find and Replace operations are valid only in text entry fields.
Action:	Position your cursor in a entry field before you perform a Find and Replace operation.


REP-0616You cannot replace text in an uneditable region.
REP-0616:  You cannot replace text in an uneditable region.

Cause:	Using the Find and Replace dialog box, you attempted to replace text in an inaccessible field.
Action:	You can replace text only in editable regions.


REP-0617Warning: Runtime Parameter Form is already open. To run a new one, please close the old one and run again.
REP-0617:  Warning: Runtime Parameter Form is already open. To run a new one, please close the old one and run again.

Cause:	You tried to run a report with the Runtime Parameter Form already open.
Action:	Close the currently open Runtime Parameter Form and try running again.


REP-0619You cannot run without a layout.
REP-0619:  You cannot run without a layout.

Cause:	You attempted to run your report with no layout.  The report would be empty.
Action:	Create a layout, then run your report.


REP-0621Invalid Vertical Elasticity. See the list of values.
REP-0621:  Invalid Vertical Elasticity. See the list of values.

Cause:	The value you entered for the object's Vertical Elasticity is not one of the valid values.
Action:	Select a value from the list of values.


REP-0622Invalid Horizontal Elasticity. See the list of values.
REP-0622:  Invalid Horizontal Elasticity. See the list of values.

Cause:	The value you entered for the object's Horizontal Sizing is not one of the valid values.
Action:	Select a value from the list of values.


REP-0623Invalid Print Condition Type. See the list of values.
REP-0623:  Invalid Print Condition Type. See the list of values.

Cause:	The value you entered for the Type of the Print Condition is not one of the valid values.
Action:	Select a value from the list of values.


REP-0624Invalid Print Condition Object. See the list of values.
REP-0624:  Invalid Print Condition Object. See the list of values.

Cause:	The value you entered for the Object of the Print Condition is not one of the valid values.
Action:	Select a value from the list of values.


REP-0625Invalid Text Alignment. See the list of values.
REP-0625:  Invalid Text Alignment. See the list of values.

Cause:	The value you entered for Alignment was not one of the valid values.  The value is not valid given the datatype of the object.  Flush/Left, Flush/Center, and Flush/Right are only valid for fields with Datatype of Character.
Action:	Select a value from the list of values.


REP-0626You must specify the object's position.
REP-0626:  You must specify the object's position.

Cause:	You entered an x or y coordinate that is not in the valid range for coordinates.  Coordinates cannot be negative numbers.
Action:	Enter a coordinate that is in the valid range.


REP-0627An object's height or width must be a positive integer.
REP-0627:  An object's height or width must be a positive integer.

Cause:	The Width or Height value that you entered was not a positive, whole number.
Action:	Enter a positive, whole number.


REP-0630Value must be between <number1> and <number2>.
REP-0630:  Value must be between <number1> and <number2>.

Cause:	The number that you entered is too large or too small.
Action:	Specify a number that is within the range shown in the message.


REP-0631String must be no longer than <number> character(s).
REP-0631:  String must be no longer than <number> character(s).

Cause:	The string that you entered is too large.
Action:	Enter a string that is smaller than the number of characters shown in the message.


REP-0632Value already exists in the list.
REP-0632:  Value already exists in the list.

Cause:	You attempted to add an item to a list, but the item was previously added to the list.  For example, if you attempted to add lib1 to your report's Attached PL/SQL Library list, and lib1 was already found in the Attached PL/SQL Library list, you would receive this error.
Action:	Once an item has been added to a list, it does not need to be added again.


REP-0633No value specified.
REP-0633:  No value specified.

Cause:	You attempted to perform a list operation on an item, but you did not specify an item.  For example, if you attempted to add a PL/SQL library to your report's Attached PL/SQL Library list, but you left the PL/SQL Library field in the Attached PL/SQL Libraries dialog box blank and chose the Add button, you would receive this error.
Action:	Specify the item you wish to add in the appropriate field before choosing a button.


REP-0634Destination name must be shorter than <number> characters.
REP-0634:  Destination name must be shorter than <number> characters.

Cause:	You specified a destination (probably a filename) that is too long.  Destination names must be shorter in length.
Action:	Specify the filename again and ensure that it is of valid length.


REP-0635Value does not exist in the list.
REP-0635:  Value does not exist in the list.

Cause:	You specified a value that is not in the list of valid choices.  It could be that you typed the value rather than using the list of values.
Action:	Specify one of the valid choices in the list.  If possible, use the list of values to ensure that it is a valid choice.


REP-0636$0 must be no longer than $1 character(s). It will be truncated.
REP-0636:  <property name> must be no longer than <number> character(s). It will be truncated.

Cause:	You specified a string that is longer than is allowable.  It will be truncated.
Action:	Specify a shorter string.


REP-0637$0 must be no longer than $1 character(s). Please reenter.
REP-0637:  <property name> must be no longer than <number> character(s). Please reenter.

Cause:	You specified a filename that is longer than is allowable.
Action:	Specify a shorter filename.


REP-0640Invalid Field Source. See the list of values.
REP-0640:  Invalid Field Source. See the list of values.

Cause:	You entered an invalid value in the field's Source setting.
Action:	Select a value from the list of values.


REP-0650Invalid Source Group. See the list of values.
REP-0650:  Invalid Source Group. See the list of values.

Cause:	The group name you entered in Source for the repeating frame is not valid.
Action:	Select a value from the list of values.


REP-0651Invalid Print Direction. See the list of values.
REP-0651:  Invalid Print Direction. See the list of values.

Cause:	The value you entered for Print Direction was not one of the valid values (Across, Across/Down, Down, Down/Across, and Matrix Cell).
Action:	Select a value from the list of values.


REP-0652Invalid Vertical Spacing.
REP-0652:  Invalid Vertical Spacing.

Cause:	You did not enter a number for the Vertical Spacing field and you tried to leave the field or accept the Repeating Frame property palette.
Action:	Enter zero or a positive integer for Vertical Spacing.


REP-0653Invalid Horizontal Spacing.
REP-0653:  Invalid Horizontal Spacing.

Cause:	You did not enter a number for the Horizontal Spacing field and you tried to leave the field or accept the Repeating Frame property palette.
Action:	Enter zero or a positive integer for Horizontal Spacing.


REP-0654Invalid value for maximum records per page.
REP-0654:  Invalid value for maximum records per page.

Cause:	You did not enter a number or blank for Maximum Records per Page and you tried to leave the field or accept the Repeating Frame property palette.
Action:	Enter blank or a positive integer for Maximum Records per Page.


REP-0655Invalid value for minimum widow records.
REP-0655:  Invalid value for minimum widow records.

Cause:	You did not enter a number or blank for Minimum Widow Records and you tried to leave the field or accept the Repeating Frame property palette.
Action:	Enter blank or a positive integer for Minimum Widow Records.


REP-0660Invalid button source. You must select a column.
REP-0660:  Invalid button source. You must select a column.

Cause:	You selected Multimedia Column as the source for your button action, then either did not specify a source column, or specified an invalid source column.
Action:	Check to make sure you specified a source column for your button action, and, if so, make sure it contains either sounds, video, or images.


REP-0661Invalid button source. You must specify a source file.
REP-0661:  Invalid button source. You must specify a source file.

Cause:	You selected Multimedia File as the source for your button action, then either did not specify a source file, or specified an invalid source file.
Action:	Check to make sure you specified a source file for your button action, and, if so, make sure it is either sound, video, or image.


REP-0662Invalid button icon.
REP-0662:  Invalid button icon.

Cause:	You selected Icon as the button face, but failed to name a valid icon.
Action:	Enter the name of a valid icon file in the text field provided.  Include all necessary path information.


REP-0670Valid options are 'Box', 'Graphic', 'Line' or 'Text'.
REP-0670:  Valid options are 'Box', 'Graphic', 'Line' or 'Text'.

Cause:	The value you entered in Type for the boilerplate was not one of the valid values (Box, Line, Graphic, and Text).
Action:	Select a Type from the list of values.


REP-0671Invalid link file name.
REP-0671:  Invalid link file name.

Cause:	The file to which you tried to link the boilerplate is not a valid file.
Action:	Re-enter the name, making sure that it references an existing file in the current directory.


REP-0672Invalid value for minimum widow lines.
REP-0672:  Invalid value for minimum widow lines.

Cause:	You did not enter a number or blank for Minimum Widow Lines in the property palette and you tried to leave the field or accept the property palette.
Action:	Enter blank or a positive integer for Minimum Widow Lines.


REP-0680Invalid anchoring object name. See the list of values.
REP-0680:  Invalid anchoring object name. See the list of values.

Cause:	The object name you entered in the Anchored To field of the Anchor Position dialog box is not the name of an object to which you can anchor this object.  You tried to accept the dialog box without entering a valid anchoring object name.
Action:	Select an object name for Anchored To from the list of values.


REP-0681Invalid Edge. See the list of values.
REP-0681:  Invalid Edge. See the list of values.

Cause:	The value you entered in Edge is not one of the valid values (Top, Left, Right, and Bottom).  You tried to leave the Parent Edge or Object Edge field without entering a valid edge for the anchor.
Action:	Select a value for Parent Edge or Object Edge from the list of values.


REP-0682The anchor point must be a percentage between 0 and 100.
REP-0682:  The anchor point must be a percentage between 0 and 100.

Cause:	The value you entered for % is not in the valid range (0 to 100).  You tried to accept the dialog box or move to another field without entering a valid value for %.
Action:	Enter a value in the valid range for %.


REP-0690Invalid Starting Page Number.
REP-0690:  Invalid Starting Page Number.

Cause:	You left Start At blank.  You tried to leave the Start At field or accept the Page Numbering dialog box without entering a value for Start At.
Action:	Enter zero or a positive integer for Start At.


REP-0691Invalid Page Increment.
REP-0691:  Invalid Page Increment.

Cause:	You left Increment By blank.  You tried to leave the Increment By field or accept the Page Numbering dialog box without entering a value for Increment By.
Action:	Enter zero or a positive whole number for Increment By.


REP-0692Invalid Page Number Reset.
REP-0692:  Invalid Page Number Reset.

Cause:	You left Reset At blank.  You tried to leave the Reset At field or accept the Page Numbering dialog box without entering a value for Reset At.
Action:	Select a repeating frame name or &Report from the list of values to indicate where you want to reset the page number to its Start At value.


REP-0700Invalid Color. See the list of values.
REP-0700:  Invalid Color. See the list of values.

Cause:	The color that you entered in the field is not one of the valid choices.
Action:	Select a color for the field from the list of values.


REP-0701Invalid Pattern. See the list of values.
REP-0701:  Invalid Pattern. See the list of values.

Cause:	The pattern that you entered in the field is not one of the valid choices.
Action:	Select a pattern for the field from the list of values.


REP-0702Invalid Pen Width.
REP-0702:  Invalid Pen Width.

Cause:	The value that you entered for the pen width is not one of the valid choices.
Action:	Select a pen width from the list of values.


REP-0703Invalid Font. See the list of values.
REP-0703:  Invalid Font. See the list of values.

Cause:	The font that you entered is not one of the valid choices.
Action:	Select a font from the list of values.


REP-0704Invalid Text Style. See the list of values.
REP-0704:  Invalid Text Style. See the list of values.

Cause:	The text style you entered is not one of the valid styles.
Action:	Select one of the styles from the list of values.


REP-0705Invalid Text Weight. See the list of values.
REP-0705:  Invalid Text Weight. See the list of values.

Cause:	The text weight you entered is not one of the valid weights.
Action:	Select one of the weights from the list of values.


REP-0706Invalid Text Size.
REP-0706:  Invalid Text Size.

Cause:	The point size that you entered is not one of the valid choices.
Action:	Select a valid point size from the list of values.


REP-0707Invalid Text Spacing.
REP-0707:  Invalid Text Spacing.

Cause:	You have entered number for spacing that is not in the valid range.
Action:	Enter a number in the valid range.


REP-0708Invalid Character Mode Attribute. See the list of values.
REP-0708:  Invalid Character Mode Attribute. See the list of values.

Cause:	The value you entered in this field is not valid.  The values you enter in Character Mode Attribute must be defined in your Oracle Terminal or printer definition. (To have these attributes appear in the list of values, you must also list them in VISUAL_PREFS in the preferences file.)
Action:	Select the desired values from the list of values.  If the value you want is not in the list of values, you can check your Oracle Terminal or printer definition to see if the value is a valid one.


REP-0709'Sysout' is only valid in batch mode.
REP-0709:  'Sysout' is only valid in batch mode.

Cause:	You entered Sysout as the destination type when you were not running the report in batch mode.  The possible causes of this error include the following:
	Case 1:	You entered Sysout for DESTYPE in the Runtime Parameter Form.
	Case 2:	You have Sysout as the Initial Value for DESTYPE and you accepted it when not running in batch mode.  You might have accepted it without knowing it if you have the Hide Parameter Form preference checked.
Action:	You can take the following actions to correct this error:
	If Case 1:	Run the report again, but enter a DESTYPE of something other than Sysout unless you are running in batch mode.
	If Case 2:	Change the Initial Value for DESTYPE to something else or change the DESTYPE to something other than Sysout in the Runtime Parameter Form.  If you leave the Initial Value as Sysout, you should not run in non-batch mode with Hide Parameter Form checked.


REP-0710Unable to find printer description file.
REP-0710:  Unable to find printer description file.

Cause:	Report Builder could not find the printer description file you specified for DESFORMAT.
Action:	Specify a valid printer description file for DESFORMAT (e.g., dflt).


REP-0711Destination type must be 'File', 'Printer', or 'Mail' when printing from previewer.
REP-0711:  Destination type must be 'File', 'Printer', or 'Mail' when printing from previewer.

Cause:	You pressed the Print button in the Previewer, but DESTYPE is restricted to a value other than File, Printer, or Mail.
Action:	Ensure that DESTYPE can be set to one of the above values before attempting to print from the Previewer.


REP-0712No printer specified.
REP-0712:  No printer specified.

Cause:	You attempted to print a report, but did not specify a printer name in either DESNAME or in the Printer Chooser dialog box.
Action:	Specify a valid printer name using DESNAME.  If you often print to the same printer, enter the printer name in the Printer Chooser dialog box.  Remember that entering a printer name using DESFORMAT will override the printer name set in the Printer Chooser dialog box.


REP-0713Invalid printer name '<name>' specified by parameter <parameter name>.
REP-0713:  Invalid printer name '<name>' specified by parameter <parameter name>.

Cause:	You attempted to output a report, but did not specify a valid printer name in DESFORMAT (if DESTYPE was File or Mail) or DESNAME (if DESTYPE was Printer).
Action:	Specify a valid printer name for DESFORMAT if DESTYPE was File or Mail, or a valid printer name for DESNAME if DESTYPE was Printer.


REP-0714Invalid mail destination.
REP-0714:  Invalid mail destination.

Cause:	You attempted to mail report output to another user, but did not specify a valid username for DESNAME.
Action:	Specify a valid username for DESNAME.


REP-0715Trace file must be specified when tracing.
REP-0715:  Trace file must be specified when tracing.

Cause:	You specified trace mode and/or trace options but did not specify a trace file.
Action:	Specify a trace file.


REP-0716Invalid option specified for tracing.
REP-0716:  Invalid option specified for tracing.

Cause:	You specified invalid trace options.
Action:	Re-specify your trace options.  For more information, see TRACEOPTS.


REP-0717Cannot set/unset options if not tracing.
REP-0717:  Cannot set/unset options if not tracing.

Cause:	You attempted to set or unset trace options while not tracing.
Action:	Begin tracing before you attempt to set or unset options.


REP-0718Cannot trace break information with runtime executable.
REP-0718:  Cannot trace break information with runtime executable.

Cause:	You attempted to trace breaks while running the report using the runtime executable.
Action:	Do not specify the Break option when using the runtime executable.


REP-0719Cannot write to trace file '<filename>'.
REP-0719:  Cannot write to trace file '<filename>'.

Cause:	You specified a trace file to which you cannot write.
Action:	Check the given trace file name to ensure that it is valid.


REP-0720Invalid Repeating Frame.  See the list of values.
REP-0720:  Invalid Repeating Frame.  See the list of values.

Cause:	The repeating frame that you specified as the Vertical or Horizontal Frame in the Matrix property palette is not valid.  You tried to leave the Vertical or Horizontal Frame field without entering a valid repeating frame.
Action:	Select a repeating frame name from the list of values.


REP-0721Invalid Cross Product Group.  See the list of values.
REP-0721:  Invalid Cross Product Group.  See the list of values.

Cause:	The group that you entered for Cross Product Group in the Matrix property palette is not valid.
Action:	Select a group name from the list of values.


REP-0724Cannot get the value of Column '<column name>' here.
REP-0724:  Cannot get the value of Column '<column name>' here.

Cause:	You attempted to get the value of the specified column via either issuing a command from the command line of the PL/SQL  Interpreter or by executing a stand-alone PL/SQL program unit.  You can only get a column value during report execution.
Action:	Do not attempt to use the PL/SQL Interpreter or a PL/SQL program unit to get the value of a column when the report has suspended execution (e.g., at a breakpoint).  Use an alternate method, such as one of the report-level triggers, to obtain the column value.


REP-0725Cannot set the value of Column '<column name>' here.
REP-0725:  Cannot set the value of Column '<column name>' here.

Cause:	You attempted to set the value of the specified column via either issuing a command from the command line of the PL/SQL  Interpreter or by executing a stand-alone PL/SQL program unit.  You can only set a column value during report execution.
Action:	Do not attempt to use the PL/SQL Interpreter or a PL/SQL program unit to set the value of a column when the report has suspended execution (e.g., at a breakpoint).  Use an alternate method, such as one of the report-level triggers, to set the column value.


REP-0726Cannot get the value of Parameter '<parameter name>' here.
REP-0726:  Cannot get the value of Parameter '<parameter name>' here.

Cause:	You attempted to get the value of the specified parameter via either issuing a command from the command line of the PL/SQL  Interpreter or by executing a stand-alone PL/SQL program unit.  You can only get a parameter value during parameter form execution.
Action:	Do not attempt to use the PL/SQL Interpreter or a PL/SQL program unit to get the value of a parameter when the report has suspended execution (e.g., at a breakpoint).  Use an alternate method, such as one of the report-level triggers, to obtain the parameter value.


REP-0727Cannot set the value of Parameter '<parameter name>' here.
REP-0727:  Cannot set the value of Parameter '<parameter name>' here.

Cause:	You attempted to set the value of the specified parameter via either issuing a command from the command line of the PL/SQL  Interpreter or by executing a stand-alone PL/SQL program unit.  You can only set a parameter value during parameter form execution.
Action:	Do not attempt to use the PL/SQL Interpreter or a PL/SQL program unit to set the value of a parameter when the report has suspended execution (e.g., at a breakpoint).  Use an alternate method, such as one of the report-level triggers, to set the parameter value.


REP-0728Column '<column name>' may not be referenced by parameter triggers.
REP-0728:  Column '<column name>' may not be referenced by parameter triggers.

Cause:	You attempted to reference a column in a parameter-related trigger (Before Form, After Form, Validation), which is not allowed.
Action:	Remove the reference(s) from the parameter-related trigger(s) and add them to the Before Report trigger.


REP-0729The program unit '<program unit name>' of size '<number>' bytes is too big to be loaded for the current platform at the limit of '<limit>'
REP-0729:  The program unit '<program unit name>' of size '<number>' bytes is too big to be loaded for the current platform at the limit of '<limit>'

Cause:	Your program unit was created on another operating platform and it too large to be loaded into the current operating platform.
Action:	Reduce the size of the PL/SQL program unit you are trying to load.


REP-0730The following bind variable is not defined:
REP-0730:  The following bind variable is not defined:

Cause:	You made a bind reference to a parameter or column that has not been defined yet.  You must define the parameter or column before making a bind reference to it.
Action:	Create a column or parameter definition for the object you want to reference.  You could also try using a lexical reference rather than a bind reference, if possible.


REP-0732Error destroying program unit.
REP-0732:  Error destroying program unit.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0733Name already exists. Please select another name.
REP-0733:  Name already exists. Please select another name.

Cause:	You attempted to create a PL/SQL subprogram whose name is identical to an existing subprogram stored in the report.
Action:	Rename the new subprogram so that it does not conflict with any existing subprograms.


REP-0734No argument is allowed. It must be removed.
REP-0734:  No argument is allowed. It must be removed.

Cause:	You entered a PL/SQL function or procedure requiring arguments in a PL/SQL field that does not allow PL/SQL with arguments--for example, in a Format Trigger field, a Formula field, or as a group filter.
Action:	Remove the argument(s) from the PL/SQL source.


REP-0735Unable to load DE Program Unit. Will attempt to load PL/SQL source text. Make sure you are connected to a database.
REP-0735:  Unable to load DE Program Unit. Will attempt to load PL/SQL source text. Make sure you are connected to a database.

Cause:	Report Builder could not load the entire program unit.  It could be that the program unit references one or more objects stored in the database, but these objects could not be found.
Action:	Make sure you are connected to the correct database.  Also check to ensure that your program unit is making the correct references.


REP-0736There exist uncompiled program unit(s).
REP-0736:  There exist uncompiled program unit(s).

Cause:	You have attempted to convert a report, or loaded an old report, or .PLL containing PL/SQL which needed to be recompiled.
Action:	Load the report using RWBLD60 and modify the DE program unit(s).
Action:	Recompile the .PLL file.
Action:	Convert the .RDF file to .REX format and back to .RDF format.


REP-0737Should be a function with return type '<returntype>'.
REP-0737:  Should be a function with return type '<returntype>'.

Cause:	You have entered PL/SQL that does not have the appropriate return type.
Action:	Change the return type of the function to the one specified in the message.


REP-0738Only a function is allowed here.
REP-0738:  Only a function is allowed here.

Cause:	You have entered something other than a function where a function is required.
Action:	Enter a function.


REP-0739Cannot execute compiled PL/SQL from other platform.
REP-0739:  Cannot execute compiled PL/SQL from other platform.

Cause:	You tried to run a report on a platform that is not the same as the platform on which the PL/SQL in the report was compiled.  The report does not contain the PL/SQL source and, as a result, Report Builder could not recompile the PL/SQL on the current platform.
Action:	Run the report on the original platform where the PL/SQL was compiled.  Alternatively, get a copy of the source report with the source PL/SQL and recompile it from the current platform.


REP-0740An anchor cannot be anchored with another object.
REP-0740:  An anchor cannot be anchored with another object.

Cause:	You attempted to anchor an anchor to another layout object, or anchor a layout object to an anchor.
Action:	Anchors cannot be anchored with other layout objects.


REP-0741A matrix cannot be anchored with another object.
REP-0741:  A matrix cannot be anchored with another object.

Cause:	You attempted to anchor a matrix object to another layout object, or anchor a layout object to a matrix object.
Action:	Matrix objects cannot be anchored with other layout objects.


REP-0742A margin cannot be anchored with another object.
REP-0742:  A margin cannot be anchored with another object.

Cause:	You attempted to anchor the margin to a layout object, or anchor a layout object to the margin.
Action:	The margin cannot be anchored with layout objects.


REP-0743A matrix repeating frame cannot be anchored with another object.
REP-0743:  A matrix repeating frame cannot be anchored with another object.

Cause:	You attempted to anchor a matrix repeating frame with a Print Direction of Down or Across to another layout object.
Action:	Matrix repeating frames with Print Directions of Down or Across cannot be anchored with other layout objects.


REP-0744An anchor must have different parent and child objects.
REP-0744:  An anchor must have different parent and child objects.

Cause:	You attempted to create an anchor whose parent and child objects are the same--i.e., you tried to anchor an object to itself.
Action:	You cannot anchor an object to itself.  Anchors must have different parent and child objects.


REP-0745An object cannot be anchored more than once.
REP-0745:  An object cannot be anchored more than once.

Cause:	You attempted to create two anchors between the same two layout objects.
Action:	You can create only one anchor between the same two layout objects.


REP-0746The PL/SQL references an object which does not exist.
REP-0746:  The PL/SQL references an object which does not exist.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0747Before form trigger cannot reference a report column.
REP-0747:  Before form trigger cannot reference a report column.

Cause:	The Before Form trigger for the report references a column in the report.  You cannot reference columns from the Before Form trigger.
Action:	Remove any column references from the Before Form trigger.  (If you need to set the value of a column, you should do it from the Before Report trigger.)


REP-0748A parameter trigger cannot reference a report column.
REP-0748:  A parameter trigger cannot reference a report column.

Cause:	A Validation Trigger for a parameter references one or more columns in the report.  You cannot reference columns from a Validation Trigger.
Action:	Remove any column references in the Validation Trigger of the Parameter property palette.


REP-0749After form trigger cannot reference a report column.
REP-0749:  After form trigger cannot reference a report column.

Cause:	The After Form trigger for the report references a column in the report.  You cannot reference columns from the After Form trigger.
Action:	Remove any column references in the After Form trigger.  (If you need to set the value of a column, you should do it from the Before Report trigger.)


REP-0750Error closing the PL/SQL library.
REP-0750:  Error closing the PL/SQL library.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0736:  There exist uncompiled program unit(s) examples.


REP-0751Error accessing program units from the PL/SQL library.
REP-0751:  Error accessing program units from the PL/SQL library.

Cause:	This is an abnormal condition.  If you made any changes to your PL/SQL library, consider selecting File [image] Save As... and save it under a different name.
Action:	For information, see  Abnormal Conditions.


REP-0752Unable to save the PL/SQL library.
REP-0752:  Unable to save the PL/SQL library.

Cause:	This is an abnormal condition.  If you made any changes to your PL/SQL library, consider selecting File [image] Save As... and save it under a different name.
Action:	For information, see  Abnormal Conditions.


REP-0753Error attaching PL/SQL library '<library name>'.
REP-0753:  Error attaching PL/SQL library '<library name>'.

Cause:	You tried to attach an invalid PL/SQL library.  This could happen because the PL/SQL ibrary is corrupted, or because the file or object you named does not contain a PL/SQL library.
Action:	Make sure that the file or object you named contains a valid PL/SQL library.


REP-0754Error in inserting program units into the PL/SQL library.
REP-0754:  Error in inserting program units into the PL/SQL library.

Cause:	You tried to save a program unit into a corrupted PL/SQL library, or a file or object that is not a PL/SQL library.
Action:	Ensure that the file or object you named contains a valid PL/SQL library and consider using File [image] Save As to save the current program unit.


REP-0755Error opening the PL/SQL library '<library name>'.
REP-0755:  Error opening the PL/SQL library '<library name>'.

Cause:	You tried to open a corrupted PL/SQL library, or a file or object that is not a PL/SQL library.
Action:	Make sure that the file or object that you tried to open contains a valid PL/SQL library.


REP-0756Warning: Unable to find PL/SQL library '<library name>'.
REP-0756:  Warning: Unable to find PL/SQL library '<library name>'.

Cause:	You tried to attach a PL/SQL library that doesn't exist, or to open a report with one or more attached PL/SQL libraries that could not be found.
Action:	Make sure that the file or object you want to attach exists.  If you opened a report, reattach the PL/SQL library.


REP-0757Unable to create external location spec.
REP-0757:  Unable to create external location spec.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0758PL/SQL library '<library name>' is already in use.
REP-0758:  PL/SQL library '<library name>' is already in use.

Cause:	You tried to attach a PL/SQL library that has the same name as another PL/SQL library that is already attached.  This could happen if you renamed a file that contains a PL/SQL library, but the internal name recognized by Report Builder was not changed.
Action:	Use File [image] Save As to save the PL/SQL library under a different name.


REP-0759One or more PL/SQL libraries have been modified since the report was saved. The PL/SQL will be recompiled.
REP-0759:  One or more PL/SQL libraries have been modified since the report was saved. The PL/SQL will be recompiled.

Cause:	You are trying to open or run a report that references one or more PL/SQL libraries, and part or all of the PL/SQL has been modified but not compiled since you last saved the report.
Action:	No action is necessary; Report Builder will recompile the PL/SQL for you.


REP-0760You are in the print document session.
REP-0760:  You are in the print document session.

Cause:	You already selected File [image] Administration [image] Report on Reports to produce a report on one or more reports.
Action:	Finish producing the current report on reports, then select File [image] Administration [image] Report on Reports again to run another report on reports.


REP-0761Can't open the resource for printing the report.
REP-0761:  Can't open the resource for printing the report.

Cause:	Report Builder cannot find the reports (shipped with Report Builder) that document your reports.
Action:	Make sure that the reports that document other reports (shipped with Report Builder) are located in the proper directory.


Invalid userid for Interoffice login.
REP 0762.  Invalid userid for Interoffice login.

Cause:	You attempted to save report output to Interoffice repository, but did not specify a valid connect string for Interoffice document server.
Action:	Specify a valid connect string for Interoffice document server.


REP 0763.  Launch Interoffice client $0 failed.

Cause:	You attempted to launch Interoffice client, but somehow it failed to run.
Action:	Please make sure the Interoffice client is properly installed.


REP 0764.  Error while running Interoffice client.  The error code is $0.

Cause:	You were running the Interoffice client to check in the documents into repository, but it failed on the error code above.
Action:	Please check the Interoffice error code/message for the reason of failure.


REP-769:  You cannot run to mail from the parameter form when the live previewer is open.

Cause:	The Live Previewer is open and the destination type (DESTYPE) is set to Mail.
Action:	Choose mail directly from the Live Previewer and not the Runtime Parameter Form.


REP-0770Before Form trigger failed.
REP-0770:  Before Form trigger failed.

Cause:	The Before Form trigger in your report returned false.
Action:	Make the appropriate changes (either to the PL/SQL source in the Before Form trigger or to the report) to make the trigger return true.


REP-0771After Form trigger failed.
REP-0771:  After Form trigger failed.

Cause:	The After Form trigger in your report returned false.
Action:	Make the appropriate changes (either to the PL/SQL source in the After Form trigger or to the report) to make the trigger return true.


REP-0772Parameter Form Fields '<fieldname1>' and '<filedname2>' may not have the same Source.
REP-0772:  Parameter Form Fields '<fieldname1>' and '<filedname2>' may not have the same Source.

Cause:	You specified the same Source for two parameter form fields.  Fields on the Runtime Parameter Form must have unique sources.
Action:	Change the Source of one of the fields.


REP-0773No Source specified for Parameter Form Field '<fieldname>'.
REP-0773:  No Source specified for Parameter Form Field '<fieldname>'.

Cause:	You have not specified a Source for a parameter form field or the source parameter was deleted from the data model.  Fields on the Runtime Parameter Form must have a source.
Action:	Specify a valid Source for the parameter form field.


REP-0774Warning: No selectable values for LOV parameter <parameter name>.
REP-0774:  Warning: No selectable values for LOV parameter <parameter name>.

Cause:	You have either not specified any values for the LOV parameter's select list, or specified values that cannot be selected.
Action:	Check the select statement or selectable value list of the parameter to ensure that your specified values are selectable.  For more information about LOV parameters, see Parameter Properties.


REP-0775Warning: The data type of the first column of the select statement does not match the data type of LOV parameter <parameter name>.
REP-0775:  Warning: The data type of the first column of the select statement does not match the data type of LOV parameter <parameter name>.

Cause:	The datatype of the first column you specified in your select statement does not match the datatype you specified for your LOV parameter.
Action:	Check the datatype of the LOV parameter, the select statement, and the columns in the database tables accessed by the select statement to ensure that they match.


REP-0776Warning: There are columns with values in segmented memory when populating LOV parameter <parameter name>. They will be ignored.
REP-0776:  Warning: There are columns with values in segmented memory when populating LOV parameter <parameter name>. They will be ignored.

Cause:	You have selected columns with values in segmented memory for your LOV parameter's select list.  This is not allowed.
Action:	Select different columns or move the columns' values.


REP-0777Warning: There are columns whose types can not be handled when populating LOV parameter <parameter name>. They will be ignored.
REP-0777:  Warning: There are columns whose types can not be handled when populating LOV parameter <parameter name>. They will be ignored.

Cause:	You have selected columns whose types cannot be handled (e.g., binary data).
Action:	Select different columns.


REP-0778Warning: Some columns can not be formatted correctly when populating LOV parameter <parameter name>. These columns will be ignored.
REP-0778:  Warning: Some columns can not be formatted correctly when populating LOV parameter <parameter name>. These columns will be ignored.

Cause:	The SELECT statement selecting values for your parameter's LOV retrieves columns whose values cannot be formatted according to their datatypes.
Action:	Convert the values to valid ones or check the database to see if the values of the columns are valid.


REP-0779Warning: Some items of LOV parameter <parameter name> are too long.  These items will be truncated.
REP-0779:  Warning: Some items of LOV parameter <parameter name> are too long.  These items will be truncated.

Cause:	You have either specified items or selected columns containing some values which are too long to include in your LOV parameter's select list.
Action:	Check the values of the items and reduce their length if necessary.


REP-0780The initial value you have entered is invalid against the input mask '<input mask>'.
REP-0780:  The initial value you have entered is invalid against the input mask '<input mask>'.

Cause:	The value you entered in the Initial Value field violates the mask you specified in the Input Mask field.
Action:	You must either enter a different value in Initial Value or change the mask in Input Mask.


REP-0781Bind variables are not allowed in the Select statement.
REP-0781:  Bind variables are not allowed in the Select statement.

Cause:	You have included bind variables in your SELECT statement.
Action:	Remove the bind variables from your SELECT statement.


REP-0782The datatype of the parameter doesn't match the datatype of its source column.
REP-0782:  The datatype of the parameter doesn't match the datatype of its source column.

Cause:	You have selected a column with an invalid datatype to furnish values for your LOV parameter's select list.
Action:	Change the column's datatype or specify a different column.


REP-0783The possible values list has bad syntax.
REP-0783:  The possible values list has bad syntax.

Cause:	You used incorrect syntax to create the list of possible values for your LOV parameter.
Action:	Edit the possible values list to ensure that it is a proper comma-separated list.


REP-0784A possible value has invalid width.
REP-0784:  A possible value has invalid width.

Cause:	A value you specified for your LOV parameter's list of possible values has an invalid width.
Action:	Edit the possible values list so that all possible values have valid widths, or alter the width.


REP-0785A possible value is invalid against the input mask.
REP-0785:  A possible value is invalid against the input mask.

Cause:	A value you specified for your LOV parameter's list of possible values is not formatted in accordance with the specified input mask.
Action:	Edit the possible values list to ensure that all possible values are valid against the input mask.


REP-0786The initial value is not among the possible values.
REP-0786:  The initial value is not among the possible values.

Cause:	The initial value you specified for your LOV parameter does not appear on the defined list of possible values.
Action:	Add the initial value you specified to the possible values list.


REP-0787Warning: The name of the first column of LOV parameter <parameter name>'s select statement is not the same at runtime from design time.
REP-0787:  Warning: The name of the first column of LOV parameter <parameter name>'s select statement is not the same at runtime from design time.

Cause:	There is a discrepancy between the column(s) you specified in your original SELECT statement and what the table(s) in question now contains.
Action:	Check the database to determine if the tables in question have been updated since you created the parameter list, or re-apply the LOV parameter's SELECT statement.


REP-0788Warning: The value of restricted LOV parameter <parameter name> is not among the selectable values.
REP-0788:  Warning: The value of restricted LOV parameter <parameter name> is not among the selectable values.

Cause:	You have specified a value for a LOV parameter that is not on the parameter's select list.
Action:	Choose a value from the parameter's select list.


REP-0790Page Width and Height must either both be specified or both be blank.
REP-0790:  Page Width and Height must either both be specified or both be blank.

Cause:	You specified a blank value for either Page Width or Page Height in the Runtime Settings tab of the Tools Options dialog box.  Both settings must contain a valid value, or be blank.
Action:	Specify a valid value for the blank setting, or make both settings blank.


REP-0800You can only select all in a text entry field.
REP-0800:  You can only select all in a text entry field.

Cause:	You selected Edit [image] Select All with the cursor positioned on an element in a property palette other than a text field.
Action:	While in a property palette, Edit [image] Select All is valid only in a text field.


REP-0801Layout canvas must remain large enough to fit all layout objects.
REP-0801:  Layout canvas must remain large enough to fit all layout objects.

Cause:	You reduced the size of the painting region of the Layout Model editor by changing one or more settings in the Report Properties dialog box, or by resizing the margin, but the resized painting region is not large enough to fit all of the layout objects.
Action:	Make sure all layout objects in the body, margin, header, and trailer sections of your report fit in the resized painting region.


REP-0802Parameter form canvas must remain large enough to fit all parameter form objects.
REP-0802:  Parameter form canvas must remain large enough to fit all parameter form objects.

Cause:	You reduced the size of the painting region of the Parameter Form editor by changing one or more settings in the Report Properties dialog box, but the resized painting region is not large enough to fit all of the parameter form objects.
Action:	Make sure all parameter form objects fit in the resized painting region.


REP-0803Canvas size specified is too large.
REP-0803:  Canvas size specified is too large.

Cause:	Your report contains combined settings of page/form size and either logical page, maximum body page, maximum header page, maximum footer page, or number of parameter form pages that results in a value larger than that supported by Report Builder (a dpi value greater than 2 gigabytes).
Action:	Make the page/form size smaller, or decrease the value for logical page size, maximum body pages, maximum header pages, maximum footer pages, or number of parameter form pages.


REP-0804The report definition was modified during the current run. Cannot continue running the parameter form or report.
REP-0804:  The report definition was modified during the current run. Cannot continue running the parameter form or report.

Cause:	While in the Runtime Parameter Form, you modified the report via an editor or property palette.
Action:	Cancel the Runtime Parameter Form and re-run the report.


REP-0805Could not initialize menus.
REP-0805:  Could not initialize menus.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0806Error reading window resources.
REP-0806:  Error reading window resources.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-0807You must enter the Array Size.
REP-0807:  You must enter the Array Size.

Cause:	In the Runtime Settings dialog box, you left the Array Size field blank.  You must enter a value for Array Size.
Action:	Enter an Array Size value between 1 and 9999.


REP-0808You must enter the Buffer Size.
REP-0808:  You must enter the Buffer Size.

Cause:	In the Runtime Settings tab of the Tools Options dialog box, you left the Buffer Size field blank.  You must enter a value for Buffer Size.
Action:	Enter a Buffer Size value between 1 and 9999.


REP-0809You must enter the Long Chunk Size.
REP-0809:  You must enter the Long Chunk Size.

Cause:	In the Runtime Settings tab of the Tools Options dialog box, you left the Long Chunk Size field blank.  You must enter a value for Long Chunk Size.
Action:	Enter a Long Chunk Size value between 1 and 9999.


REP-0810Valid options are 'Noaction', 'Rollback', or 'Commit'.
REP-0810:  Valid options are 'Noaction', 'Rollback', or 'Commit'.

Cause:	In the character-mode Runtime Settings dialog box, you chose an invalid value for On Success/On Failure.  Valid values are Noaction, Rollback, or Commit.
Action:	Select a valid value for On Success/On Failure.


REP-0811Valid options are '<In Report Definition>', 'Screen', 'File', 'Printer' or 'Mail'.
REP-0811:  Valid options are '<In Report Definition>', 'Screen', 'File', 'Printer' or 'Mail'.

Cause:	In the character-mode Runtime Settings dialog, you chose an invalid value for Destination Type.  Valid values are <In Report Definition>, Screen, File, Printer, or Mail.
Action:	Select a valid value for Destination Type.


REP-0812Valid options are '<In Report Definition>', 'Landscape', or 'Portrait'.
REP-0812:  Valid options are '<In Report Definition>', 'Landscape', or 'Portrait'.

Cause:	In the character-mode Runtime Settings dialog, you chose an invalid value for Orientation.  Valid values are <In Report Definition>, Landscape, or Portrait.
Action:	Select a valid value for Orientation.


REP-0813Valid options are '<In Report Definition>', 'Default', 'Bitmap' or 'Character'.
REP-0813:  Valid options are '<In Report Definition>', 'Default', 'Bitmap' or 'Character'.

Cause:	In the character-mode Runtime Settings dialog, you chose an invalid value for Mode.  Valid values are <In Report Definition>, Default, Bitmap, or Character.
Action:	Select a valid value for Mode.


REP-0814Valid options are '<In Report Definition>', 'Yes' or 'No'.
REP-0814:  Valid options are '<In Report Definition>', 'Yes' or 'No'.

Cause:	In the character-mode Runtime Settings dialog box, you chose an invalid value for Background.  Valid values are <In Report Definition>, Yes, or No.
Action:	Select a valid value for Background.


REP-0815Valid options are 'Landscape', or 'Portrait'.
REP-0815:  Valid options are 'Landscape', or 'Portrait'.

Cause:	In the character-mode Runtime Parameter Form, you chose an invalid value for Orientation.  Valid values are Landscape or Portrait.
Action:	Select a valid value for Orientation.


REP-0816Valid options are 'Bitmap' or 'Character'.
REP-0816:  Valid options are 'Bitmap' or 'Character'.

Cause:	In the character-mode Runtime Parameter Form, you chose an invalid value for Mode.  Valid values are Bitmap or Character.
Action:	Select a valid value for Mode.


REP-0817Valid options are 'Yes' or 'No'.
REP-0817:  Valid options are 'Yes' or 'No'.

Cause:	In the character-mode Runtime Parameter Form, you chose an invalid value for Background.  Valid values are Yes, or No.
Action:	Select a valid value for Background.


REP-0818Warning: Page height has changed for Parameter Form. Parameters might be crossed by page boundaries.
REP-0818:  Warning: Page height has changed for Parameter Form. Parameters might be crossed by page boundaries.

Cause:	You changed the height of the Runtime Parameter Form in the Report property palette.  Report Builder is notifying you that this might cause the page boundary to move such that it appears in the middle of an object in the parameter form.
Action:	Look at the layout of your parameter form in the Parameter Form editor and ensure that none of the objects are directly on the page boundary (the darkened line in the editor).  Alternatively, you could default (or redefault) the parameter form.


REP-0819Could not turn AUTOCOMMIT ON for SQL Server connection.
REP-0819:  Could not turn AUTOCOMMIT ON for SQL Server connection.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.  Another option is to remove all instances of SRW.DO_SQL.  If you can do so while retaining all necessary functionality in your report, it will run.


REP-0820Cannot import specified image.
REP-0820:  Cannot import specified image.

Cause:	The image you are trying to import cannot be imported.
Action:	Check the image file to ensure it is a valid image and has not been corrupted.


REP-0821Cannot export specified image.
REP-0821:  Cannot export specified image.

Cause:	The object you are trying to export as an image cannot be exported as an image.
Action:	Create or select an image to export.


REP-0822No drawing imported.
REP-0822:  No drawing imported.

Cause:	The drawing you are attempting to import cannot be imported.
Action:	Check the file to ensure it is a valid drawing and has not been corrupted.


REP-0823No drawing exported.
REP-0823:  No drawing exported.

Cause:	The object you are attempting to export as a drawing cannot be exported as a drawing.
Action:	Create or select a drawing to export.


REP-0824Data dictionary not available on the database to which you are connected. Unable to retrieve table/column information.
REP-0824:  Data dictionary not available on the database to which you are connected. Unable to retrieve table/column information.

Cause:	You are attempting to access the Table and Column Names dialog box but the Data Dictionary is not available on the database to which you are connected.
Action:	Connect to another database.


REP-0825The connected database is not ORACLE or DB2. It cannot be used to store report documents.
REP-0825:  The connected database is not ORACLE or DB2. It cannot be used to store report documents.

Cause:	You are attempting to store a document to a database that is neither ORACLE nor DB2.  This is not allowed.
Action:	Either connect to an ORACLE or DB2 database or store the document as a file.


REP-0828Report Builder database tables are not installed in the database. Cancelling Report Doc.
REP-0828:  Report Builder tables are not installed in the database. Canceling Report Doc.

Cause:	Report Doc cannot be run because there are no Report Builder tables in the database.
Action:	Inform your database administrator that Report Builder tables were not successfully installed in the database.


REP-0829Report Builder database tables appear to match the tables from an older version of Report Builder (<Version>).  Cancelling Report Doc.
REP-0829:  Report Builder database tables appear to match the tables from an older version of Report Builder (<Version>).  Canceling Report Doc.

Cause:	The Report Builder tables in the database appear to have been installed from a previous version of the product.  Report Doc cannot run against an older version of the database tables.
Action:	Inform your database administrator that Report Builder tables for this version were not successfully installed in the database.


REP-0830Report Builder database tables appear to be corrupted or incorrectly installed.  Cancelling Report Doc.
REP-0830:  Report Builder database tables appear to be corrupted or incorrectly installed.  Canceling Report Doc.

Cause:	Report Doc cannot be run because the Report Builder tables are in an unstable state.
Action:	Inform your database administrator that Report Builder tables are either corrupted or incorrectly installed in the database.


REP-0831Query could not be built.
REP-0831:  Query could not be built.

Cause:	Report Builder was asked to build a query at startup but it failed.  One cause is that the database account against which the query was being built was not correct.  Otherwise it is an abnormal condition.
Action:	If Report Builder was launched from another product check that the database connection string in the other product is correct. For information about abnormal conditions, see  Abnormal Conditions.


REP-0900Cannot close this report while PL/SQL is still executing.
REP-0900:  Cannot close this report while PL/SQL is still executing.

Cause:	You attempted to close a report while associated PL/SQL was still executing.
Action:	Finish executing the PL/SQL or abort it, then close the report.


REP-0901Tables and Columns function is not supported for this database server.
REP-0901:  Tables and Columns function is not supported for this database server.

Cause:	You are connected to a database server which does not have an accessible Data Dictionary to list tables and columns.
Action:	None.  Tables and Columns functionality is not available for these databases.


REP-0910The Cue Cards cannot be found.  Please reinstall the Cue Cards and try again.
REP-0910:  The Cue Cards cannot be found.  Please reinstall the Cue Cards and try again.

Cause:	You attempted to run the Cue Cards, but it has not been properly installed.
Action:	Reinstall the Cue Cards.


REP-0911The Quick Tour cannot be found.  Please reinstall the Quick Tour and try again.
REP-0911:  The Quick Tour cannot be found.  Please reinstall the Quick Tour and try again.

Cause:	You attempted to run the Quick Tour, but it has not been properly installed.
Action:	Reinstall the Quick Tour.


REP-0999Unimplemented Error:
REP-0999:  Unimplemented Error:

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1010This name does not conform to SQL naming standards.
REP-1010:  This name does not conform to SQL naming standards.

Cause:	The name you entered violates one or more SQL naming conventions.
Action:	Check the naming standards for the object you are naming.  For more information, see Naming Conventions.  Enter a name that conforms to the conventions.


REP-1011<Object type> must be named.
REP-1011:  <Object type> must be named.

Cause:	You left the Name field blank for the object and a name is required.
Action:	Name the object according to the appropriate naming conventions.  For more information, see Naming Conventions.


REP-1012There is another <object type> with this name.
REP-1012:  There is another <object type> with this name.

Cause:	The name that you entered duplicates the name of another object of the same type.
Action:	Change the name of at least one of the objects.


REP-1013This name may not be the same as a reserved word.
REP-1013:  This name may not be the same as a reserved word.

Cause:	You entered a name for a parameter that duplicates a reserved word.
Action:	Change the name of the parameter such that it conforms to parameter naming conventions.  For more information, see Naming Conventions.


REP-1014Name length cannot exceed 30 bytes.
REP-1014:  Name length cannot exceed 30 bytes.

Cause:	Name entered was greater than 30 bytes.  Valid SQL names cannot be longer than 30 bytes.
Action:	Reduce the size of the name to 30 bytes or less.


REP-1048Warning: Owner and Access list not overwritten.
REP-1048:  Warning: Owner and Access list not overwritten.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1049Cannot open a report saved with a newer version of Report Builder.
REP-1049:  Cannot open a report saved with a newer version of Report Builder.

Cause:	You tried opening a report with an older version of Report Builder than the one with which the report was saved.
Action:	Use the same or a more recent version of Report Builder to open the report.


REP-1050Unable to access document names in database.
REP-1050:  Unable to access document names in database.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1051Unable to save document to file '<filename>'.
REP-1051:  Unable to save document to file '<filename>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1052Unable to save document to database.
REP-1052:  Unable to save document to database.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1053Unable to obtain new document ID from database.
REP-1053:  Unable to obtain new document ID from database.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1054Unable to delete from table '<table name>'.
REP-1054:  Unable to delete from table '<table name>'.

Cause:	You tried to delete from a table and the operation failed.  You may not have the necessary privileges.
Action:	Ensure that you have the necessary privileges.  If you do not, see your DBA or have someone with the necessary privileges perform the operation.


REP-1055Unable to lock table '<table name>'.
REP-1055:  Unable to lock table '<table name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1056Unable to rename object stored in database.
REP-1056:  Unable to rename object stored in database.

Cause:	You tried to rename a database object and the operation failed.  You may not have the necessary privileges.  You must own an object in order to rename it.
Action:	If you do not own the object, you can either make your own copy of it or have the owner change the name.


REP-1057'<Filename>' is not a valid Report Builder file.
REP-1057:  '<Filename>' is not a valid Report Builder file.

Cause:	You tried to access a file that is not in the proper format for Report Builder.
Action:	Make sure you are accessing the correct file.


REP-1058Unable to read document from database.
REP-1058:  Unable to read document from database.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1059Unable to read document from file '<filename>'.
REP-1059:  Unable to read document from file '<filename>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1060The Report Builder database tables have not been installed.
REP-1060:  The Report Builder database tables have not been installed.

Cause:	Report Builder failed to access the SRW2_DOCUMENT view in the current database.
Action:	Check to see if Report Builder was properly installed on the database.  For help, contact your system administrator.


REP-1061Unable to read external file '<filename>'.
REP-1061:  Unable to read external file '<filename>'.

Cause:	You activated Read From File and specified a file name as the value of a column, but Report Builder could not successfully open or read the specified file.
Action:	Check the spelling of the specified file in the Column property palette, and check to see if the specified file exists.  If the file does exist, check the permissions on the file to ensure that you have at least read access.


REP-1062Unable to find external query '<filename>'.
REP-1062:  Unable to find external query '<filename>'.

Cause:	The possible causes of this error include the following:
	Case 1:	REPORTS60_PATH is not set.
	Case 2:	You are not connected to a database.
	Case 3:	The specified external query does not exist.
Action:	You can take the following actions to correct this error:
	If Case 1:	Set REPORTS60_PATH to a valid value.
	If Case 2:	Connect to a database.
	If Case 3:	Make sure you specify the correct name of the external query.


REP-1063The PL/SQL '<program unit name>' has exceeded the platform specific size limit.
REP-1063:  The PL/SQL '<program unit name>' has exceeded the platform specific size limit.

Cause:	The PL/SQL could not be loaded because it is too large for your operating system.  It may have been created on a different platform with a higher limit.
Action:	Reduce the size of the PL/SQL so it can be loaded on your platform.


REP-1064Unable to read document '<document name>'.
REP-1064:  Unable to read document '<document name>'.

Cause:	You attempted to open a document whose definition, stored in either the database or the file system, has been lost or corrupted.
Action:	This document cannot be used.


REP-1065Unable to read external query '<filename>'.
REP-1065:  Unable to read external query '<filename>'.

Cause:	You attempted to read an external query whose definition, stored in either the database or the file system, has been lost or corrupted.
Action:	This external query cannot be used.


REP-1066Warning: Comment is corrupted. It will be lost.
REP-1066:  Warning: Comment is corrupted. It will be lost.

Cause:	A storage error caused a comment to be corrupted.  It will be discarded.
Action:	No action is necessary.  If you want to, recreate the comment in the designer.


REP-1067Some information is missing in the report.
REP-1067:  Some information is missing in the report.

Cause:	The report cannot be opened because the report definition is incomplete.  It may have been corrupted.
Action:	If the report is stored in the database, use SQLPlus to determine whether the Report Builder tables have been corrupted.  If the report is an .rdf file, use a file system utility to check if the file is corrupted.  Take appropriate actions to recover your data.


REP-1070Error while opening or saving a document.
REP-1070:  Error while opening or saving a document.

Cause:	An error occurred while opening or saving a document.
Action:	Check to make sure that you have proper access privileges for the document.


REP-1071Reached the end of an object/record scan.
REP-1071:  Reached the end of an object/record scan.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1072Object was not found in the object store.
REP-1072:  Object was not found in the object store.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1073Object was found in the object store when not expected.
REP-1073:  Object was found in the object store when not expected.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1074Object is too big.
REP-1074:  Object is too big.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1075Object is invalid.
REP-1075:  Object is invalid.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1076Specified object store is invalid.
REP-1076:  Specified object store is invalid.

Cause:	You attempted to use an invalid file or database object.
Action:	Make sure the object you specified is a valid Oracle document, stored in a file or in the database.


REP-1077Type specified for the object is invalid.
REP-1077:  Type specified for the object is invalid.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1078Non-specific file error occurred.
REP-1078:  Non-specific file error occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1079Function is unsupported.
REP-1079:  Function is unsupported.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1080Unique key violation occurred.
REP-1080:  Unique key violation occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1081Page split occurred.
REP-1081:  Page split occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1082Close error occurred.
REP-1082:  Close error occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1083File version error occurred.
REP-1083:  File version error occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1084File header is bad or missing.
REP-1084:  File header is bad or missing.

Cause:	You performed an operation that required Report Builder to open a file.  The file either didn't have a header or it didn't have the expected header.  The header may have been changed in an editor or the file may not be compatible with this release of Report Builder.
Action:	You can attempt to fix the header in an editor, although, in general, it is not recommended that you edit Report Builder files in this way.  If the file is incompatible with this release of Report Builder, you need to migrate it.  For more information, see "Migrating Report Builder and Printer Definitions" in the Report Builder Migration Manual.


REP-1085File create error occurred.
REP-1085:  File create error occurred.

Cause:	You tried to perform an operation that required Report Builder to create a file and an error occurred.  You might not have the necessary file privileges to create the file.
Action:	Obtain the necessary privileges.


REP-1086File open read-only error occurred.
REP-1086:  File open read-only error occurred.

Cause:	You tried to perform an operation that required Report Builder to open a file to which you do not have access.  You might not have the necessary file privileges to open the file.
Action:	Obtain the necessary privileges for the file or, if possible, access a file to which you do have the necessary privileges.


REP-1087File open read-write error occurred.
REP-1087:  File open read-write error occurred.

Cause:	You tried to perform an operation that required Report Builder to open a file to which you do not have access.  You might not have the necessary file privileges to open the file.
Action:	Obtain the necessary privileges for the file or, if possible, access a file to which you do have the necessary privileges.


REP-1088File write error occurred.
REP-1088:  File write error occurred.

Cause:	You tried to perform an operation that required Report Builder to write to a file to which you do not have access.  You might not have the necessary file privileges to write the file.
Action:	Obtain the necessary privileges for the file or, if possible, access a file to which you do have write privileges.


REP-1089File read error occurred.
REP-1089:  File read error occurred.

Cause:	You tried to perform an operation that required Report Builder to read a file to which you do not have access.  You might not have the necessary file privileges to read the file.
Action:	Obtain the necessary privileges for the file or, if possible, access a file to which you do have read privileges.


REP-1090File close error occurred.
REP-1090:  File close error occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1091Disk or file system is full.
REP-1091:  Disk or file system is full.

Cause:	You tried to save an object, but there wasn't enough space in which to save it.
Action:	You need to either delete some unnecessary files or expand your storage space.


REP-1092File unique key violation occurred.
REP-1092:  File unique key violation occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1093Allocate failed.
REP-1093:  Allocate failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1094Reallocate failed.
REP-1094:  Reallocate failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1095Free failed.
REP-1095:  Free failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1096The <document type> is currently locked.
REP-1096:  The <document type> is currently locked.

Cause:	You tried to open a document that is already opened (locked) by another user.
Action:	Wait until the other user closes the document before accessing it.


REP-1097PRODUCT_USER_PROFILE or SYSTEM.PRODUCT_PROFILE does not exist.
REP-1097:  PRODUCT_USER_PROFILE or SYSTEM.PRODUCT_PROFILE does not exist.

Cause:	The possible causes of this error include the following:
	Case 1:	The table does not exist.
	Case 2:	You do not have the necessary privileges to access the table.
Action:	You can take the following actions to correct this error:
	If Case 1:	If the table is not already created, create it.
	If Case 2:	Get access to the table by creating a public synonym for the table in the PRODUCT_USER_PROFILE table, or by making the table public via the PRODUCT_USER_PROFILE table.


REP-1098Error reading PRODUCT_USER_PROFILE or SYSTEM.PRODUCT_PROFILE data.
REP-1098:  Error reading PRODUCT_USER_PROFILE or SYSTEM.PRODUCT_PROFILE data.

Cause:	The table is not created correctly.
Action:	Ensure that the table was created with the appropriate columns.  If it was not, then modify it as necessary.


REP-1099Cannot open files not created with Report Builder.
REP-1099:  Cannot open files not created with Report Builder.

Cause:	You tried to open a file that is not a Report Builder report.
Action:	Ensure that the file you are opening contains a Report Builder report.


REP-1100:  Your data model is invalid for this type of report.

Cause:	You tried to create a default layout with a layout style that does not match your data model.
Action:	You can either change your data model to match the selected layout style or select a different layout style to match your data model.


REP-1101Group '<group name>' has invalid repeat direction.
REP-1101:  Group '<group name>' has invalid repeat direction.

Cause:	You tried to create a default layout, but the selected layout style requires a different repeat direction for one of your groups.  Some layout styles place restrictions on the repeat directions you can choose for your groups.
Action:	You can either change the repeat direction to meet the layout style requirements or you can choose a different layout style.


REP-1102Unable to fit default layout onto page of size <number>.
REP-1102:  Unable to fit default layout onto page of size <number>.

Cause:	Report Builder tried to create the default layout you selected but could not fit the entire layout on the page because the page is not wide enough.
Action:	If possible, increase the Page Width on the Report property palette or rearrange objects such that the layout will fit on the page.  Otherwise, you may have to make the report multiple pages wide.


REP-1103No column is selected in group '<group name>'.
REP-1103:  No column is selected in group '<group name>'.

Cause:	While trying to create a default layout, you did not select a column for a selected group.  Consequently, Report Builder cannot build a default layout because one or more of the dimensions of your layout has no values.
Action:	In the Report Wizard, select at least one column from each selected group.


REP-1104Page level summaries are not supported in defaulting.
REP-1104:  Page level summaries are not supported in defaulting.

Cause:	You generated a default layout and it cannot fit within the given amount of space.  The possible causes of this error include the following:
	Case 1:	The layout you have generated is too large given the dimensions specified in the Report Properties dialog box.
	Case 2:	The layout is too big given the size of the marked area in the Layout Model editor.
Action:	You can take the following actions to correct this error:
	If Case 1:	Increase your report dimensions such that the layout can fit, or alter the layout so that it will fit within the current dimensions.
	If Case 2:	Increase the size of the marked area.


REP-1106Warning: no field generated for column '<column name>'.
REP-1106:  Warning: no field generated for column '<column name>'.

Cause:	When you defaulted your layout, a field was not generated for the column in the message.  The most likely cause is that a summary was not placed in the data model correctly.  For example, you may have specified the source of a summary column to be a column in a group above the summary's group.  This is not allowed.
Action:	Debug your data model and redefault your layout.


REP-1107Missing across or down group in cross product group '<group name>'.
REP-1107:  Missing across or down group in cross product group '<group name>'.

Cause:	You attempted to create a default layout by selecting a Style of Matrix in the Report Wizard, but all of the dimension groups of the cross product group were assigned repeat directions of Down or Across.  Each repeat direction should be assigned to the dimension groups in the cross product.
Action:	Redisplay the Report Wizard and reassign the repeat directions of the dimension groups, making sure that each direction is assigned among the groups.


REP-1108Cannot fit default layout even in region extending to page boundaries.
REP-1108:  Cannot fit default layout even in region extending to page boundaries.

Cause:	You are attempting to default a layout that, if created using current settings, would be too large to fit within the defined height and width of a report page.
Action:	Go back to the Report Wizard and reduce the values of default settings (e.g., shorten some field widths).  Alternatively, you can increase the size of a report page using the Report property palette.  Then redefault your layout.  Continue making adjustments as necessary.


REP-1109Multiple group selection incompatible with single group layout style.
REP-1109:  Multiple group selection incompatible with single group layout style.

Cause:	You have selected more than one group to be defaulted but you have also selected a defaulting style designed for a single group.
Action:	Change your group selection so that only a single group is selected. Alternatively change your selection of your layout style to one that supports multiple groups.


REP-1110Missing matrix across group in cross product group '<group name>'.
REP-1110:  Missing matrix across group in cross product group '<group name>'.

Cause:	You attempted to create a default layout by selecting a Style of Matrix or Matrix with Group in the Report Wizard, but all of the dimension groups of the cross product group were assigned repeat directions of Down.
Action:	Change the repeat direction of one of the cross product dimension groups so that there is at least one Across group and one Down group.


REP-1111Missing matrix down group in cross product group '<group name>'.
REP-1111:  Missing matrix down group in cross product group '<group name>'.

Cause:	You attempted to create a default layout by selecting a Style of Matrix or Matrix with Group in the Report Wizard, but all of the dimension groups of the cross product group were assigned repeat directions of Across.
Action:	Change the repeat direction of one of the cross product dimension groups so that there is at least one Down group and one Across group.


REP-1112Missing matrix cross product group in matrix report.
REP-1112:  Missing matrix cross product group in matrix report.

Cause:	You attempted to create a default layout by selecting a Style of Matrix or Matrix with Group in the Report Wizard, but have not selected a cross product group to be used as the matrix group.
Action:	Change the repeat direction of one of the cross product groups to Matrix.


REP-1113No groups or reports level columns have been selected.
REP-1113:  No groups or reports level columns have been selected.

Cause:	While trying to create a default layout, you did not select any groups or report level columns. Consequently, Report Builder cannot build a default layout because one or more of the dimensions of your layout has no values.
Action:	In the Report Wizard, select at least one report level column or a group that you wish to be defaulted.


REP-1114Single group selection incompatible with multiple group layout style.
REP-1114:  Single group selection incompatible with multiple group layout style.

Cause:	You have selected a single group to be defaulted but you have also selected a defaulting style designed for a multiple groups.
Action:	Change your group selection so that more than one group is selected. Alternatively, change your selection of your layout style to one that supports single groups.


REP-1115Unable to show full template layout because it does not fit onto the page.
REP-1115:  Unable to show full template layout because it does not fit onto the page.

Cause:	The template layout could not be shown properly because it is too large to fit within the defined height and width of the report page.  Not being able to show the layout does not mean that your template is wrong in any way.
Action:	To show the template layout you can temporarily enlarge the width and height of the report page.  To do this, select the template in the Object Navigator and open the Property Palette.  Increase the Width and Height properties under the Report node.  Do not forget to reset the width and height properties before you save your template.


REP-1200Flow compilation failed.
REP-1200:  Flow compilation failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1201Query text missing from query '<query name>'.
REP-1201:  Query text missing from query '<query name>'.

Cause:	You named a query and tried to accept it, but you either did not enter any SELECT statement for it or you entered something that did not begin with the keyword SELECT.  The SQL Query Statement dialog only accepts SQL SELECT statements.
Action:	Enter a SQL SELECT statement that begins with the word SELECT (you may use upper or lower case).  No other SQL statements are accepted in the SQL Query Statement dialog.


REP-1202ORACLE logon not specified.
REP-1202:  ORACLE logon not specified.

Cause:	You tried to run a report without having specified an ORACLE logon.
Action:	Enter a logon string in the Connect dialog box and accept the dialog box before re-running the report.


REP-1203Field '<field name>' references invalid column.
REP-1203:  Field '<field name>' references invalid column.

Cause:	The column specified as the field's Source either is invalid or does not exist.
Action:	Select a column from the list of values.


REP-1204Repeating frame '<frame name>' references invalid group.
REP-1204:  Repeating frame '<frame name>' references invalid group.

Cause:	The group name you entered in the Group field of the Repeating Frame property palette either is invalid or does not exist.
Action:	Select a group from the list of values.


REP-1205There is a loop in the positional dependency tree.
REP-1205:  There is a loop in the positional dependency tree.

Cause:	You have created explicit anchors such that an object is indirectly anchored to itself.  For example, if you anchored object A to object B, object B to object C, and object C to object A, you would get this error.
Action:	You must remove at least one of the anchors that caused the loop.


REP-1206An Object is anchored to more than one other object.
REP-1206:  An Object is anchored to more than one other object.

Cause:	In your layout, you have anchored an object to more than one other object.  An object may only be anchored to one other object.
Action:	Eliminate the anchors to other objects such that the object is anchored to only one other object.


REP-1207The PL/SQL procedure for group filter of '<group name>' is missing.
REP-1207:  The PL/SQL procedure for group filter of '<group name>' is missing.

Cause:	You entered Condition in Type on the Group property palette, but you did not enter a valid filter.
Action:	Enter a valid PL/SQL function or change the filter type.


REP-1208Repeating frame of matrix '<matrix name>' cannot be anchored.
REP-1208:  Repeating frame of matrix '<matrix name>' cannot be anchored.

Cause:	You tried to run a report with an anchor from an intersecting repeating frame of a matrix object to another object.  You cannot do this.
Action:	Delete the anchor.  You cannot anchor this object to another object.


REP-1209Matrix object '<matrix name>' cannot be anchored.
REP-1209:  Matrix object '<matrix name>' cannot be anchored.

Cause:	You tried to run a report with an anchor from a matrix object to another object.  You cannot do this.
Action:	Delete the anchor.  You cannot anchor this object to another object.


REP-1211Object '<object name1>' is larger than its enclosing object '<object name2>'.
REP-1211:  Object '<object name1>' is larger than its enclosing object '<object name2>'.

Cause:	An object is larger than its enclosing object.  The most likely cause is that you have attempted to enclose a large object within a small, fixed frame.
Action:	Identify the object and the enclosing object and adjust their relative sizes and positions until the proper enclosure is achieved.


REP-1212Object '<object name1>' is not fully enclosed by its enclosing object '<object name2>'.
REP-1212:  Object '<object name1>' is not fully enclosed by its enclosing object '<object name2>'.

Cause:	The possible causes of this error include the following:
	Case 1:	An object is not fully enclosed by the page.  That is, the object extends beyond the page boundary.
	Case 2:	A repeating frame that forms a matrix is one or more layers above a repeating frame that it contains.  In a matrix layout, repeating frames must be below repeating frames that they contain.
Action:	You can take the following actions to correct this error:
	If Case 1:	Move or resize the object so that it does not extend outside the page boundary.  Alternatively, increase the page size in the Report property palette.
	If Case 2:	Using Arrange [image] Send to Back, Arrange [image] Bring to Front, Arrange [image] Move Backward, and Arrange [image] Move Forward, arrange your repeating frames such that, in terms of layers, the following is true:  repeating frames are below repeating frames that they contain and down repeating frames are below across repeating frames.


REP-1213Field '<field name>' references column '<column name>' at a frequency below its group.
REP-1213:  Field '<field name>' references column '<column name>' at a frequency below its group.

Cause:	The source column for the field is in a group below that of the repeating frame which encloses it.
Action:	Move the field into a repeating frame whose source group is at or above the group that contains the field's source column.  Otherwise, move the field's source column into the enclosing repeating frame's group, if possible.


REP-1214Repeating frame '<frame name>' is enclosed by a child repeating frame.
REP-1214:  Repeating frame '<frame name>' is enclosed by a child repeating frame.

Cause:	The enclosed repeating frame's source group is above the enclosing repeating frame's source group.
Action:	In the editor, you can make the enclosed repeating frame the enclosing repeating frame.  Alternatively, you could, if possible, change your group hierarchy such that the enclosed object's group is below the enclosing object's group.


REP-1216'<Object name>' has an illegal print condition.
REP-1216:  '<Object name>' has an illegal print condition.

Cause:	You set an invalid Print Condition for the specified object.  For example, you might have tried to set the Print Condition of a margin object.
Action:	Change the Print Condition of the object to another, valid setting.


REP-1218'<Object name>' cannot page break before AND keep with parent.
REP-1218:  '<Object name>' cannot page break before AND keep with parent.

Cause:	You set Page Break Before for an object as well as Keep with Anchoring Object.  The anchoring object, however, precedes the object and therefore the two settings are in conflict.
Action:	Uncheck Page Break Before or Keep with Anchoring Object.


REP-1219'<Object name>' has no size -- length or width is zero.
REP-1219:  '<Object name>' has no size -- length or width is zero.

Cause:	In creating your layout, you created a layout object of zero width or height.
Action:	Enlarge the opject so that it has a non-zero height and width.


REP-1220'<Object name>' has minimum widow lines greater than max lines per page.
REP-1220:  '<Object name>' has minimum widow lines greater than max lines per page.

Cause:	You have set Maximum Records per Page to a smaller value than Minimum Widow Records.  This causes a conflict between the two settings and, in effect, indicates that no instances should be printed.
Action:	Decrease Minimum Widow Records or increase Maximum Records per Page.


REP-1222Invalid body size.
REP-1222:  Invalid body size.

Cause:	You specified a body page width or height that is negative or out of range.  You most likely received this error after setting the page size to an invalid value using the PAGESIZE executable argument.
Action:	Enter a valid value using the PAGESIZE executable argument, or adjust the body panel size by resizing the margins in the Layout Model editor.


REP-1223Invalid page size.
REP-1223:  Invalid page size.

Cause:	You specified a physical page width or height that is negative or out of range.  You most likely received this error after setting the page size to an invalid value using the PAGESIZE executable argument.
Action:	Enter a valid value using the PAGESIZE executable argument, or change the physical page size setting in the Report property palette.


REP-1225Invalid logical page size.
REP-1225:  Invalid logical page size.

Cause:	You specified a logical page height that is negative.
Action:	Redefine your logical panel height to ensure that it is not defined using a negative number.


REP-1226Body location is beyond print area.
REP-1226:  Body location is beyond print area.

Cause:	The body panel is not enclosed within the physical page.
Action:	Adjust the body panel size by resizing the margins in the Layout Model editor.


REP-1229Between record value for repeating frame '<repeating frame name>' is negative.
REP-1229:  Between record value for repeating frame '<repeating frame name>' is negative.

Cause:	The value for Vertical Spacing and/or Horizontal Spacing specified for a repeating frame is negative.
Action:	Re-specify the appropriate Spacing setting for the repeating frame identified in the error message.


REP-1230Field '<field name>' has an invalid page reset group.
REP-1230:  Field '<field name>' has an invalid page reset group.

Cause:	In the Reset At field of the Page Numbering dialog box, you specified a repeating frame that does not enclose the layout field you want to display the page number.  You may have specified an invalid repeating frame, or deleted the repeating frame after specifying it.
Action:	Specify &Report or the name of a valid repeating frame as the Reset At value for the page number field.


REP-1231'<Object name>' has an invalid text wrap style.
REP-1231:  '<Object name>' has an invalid text wrap style.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1232Matrix '<matrix name>' has an invalid source frame.
REP-1232:  Matrix '<matrix name>' has an invalid source frame.

Cause:	You specified an invalid object as the source frame of the matrix object, or the repeating frames you specified have invalid Print Directions.
Action:	Change the Print Direction of horizontal source repeating frame to Down, and the Print Direction of the vertical source repeating frame to Across.


REP-1233The frames of matrix '<matrix name>' do not fully intersect.
REP-1233:  The frames of matrix '<matrix name>' do not fully intersect.

Cause:	The repeating frames that form the matrix do not completely intersect.  For example, if you have two down repeating frames, two across repeating frames, and one of the across repeating frames only intersects completely with one of the down repeating frames, you would get this error.
Action:	Re-default the matrix layout, if possible, or move the repeating frames that make up the matrix such that they fully intersect one another.


REP-1234Matrix '<matrix name>' position is not at the intersection of its frames.
REP-1234:  Matrix '<matrix name>' position is not at the intersection of its frames.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1235Error generating index for Cross Product.
REP-1235:  Error generating index for Cross Product.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1236Invalid query '<query name>'.
REP-1236:  Invalid query '<query name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1237Invalid data link.
REP-1237:  Invalid data link.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1238Invalid group '<group name>'.
REP-1238:  Invalid group '<group name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1239Invalid column '<column name>'.
REP-1239:  Invalid column '<column name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1240Invalid anchor.
REP-1240:  Invalid anchor.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1241Circular column dependency originating with column '<column name>'.
REP-1241:  Circular column dependency originating with column '<column name>'.

Cause:	You have created a column that directly or indirectly references itself.  For example, Column A might reference Column B which in turn references Column A.
Action:	Update or delete the column(s) to eliminate the circular dependency.


REP-1242Matrices must have all down frames below all across frames.
REP-1242:  Matrices must have all down frames below all across frames.

Cause:	In a matrix layout, down repeating frames must be below across repeating frames.
Action:	Using the Arrange-->Send to Back, Arrange-->Bring to Front, Arrange-->Move Backward, and Arrange-->Move Forward, arrange your repeating frames such that, in terms of layers, the following is true:  repeating frames are below repeating frames that they contain, and down repeating frames are below across repeating frames.


REP-1243Unimplemented type of summary specified in column '<column name>'.
REP-1243:  Unimplemented type of summary specified in column '<column name>'.

Cause:	You specified a summary function that is not available.
Action:	Specify a valid summary function


REP-1245Wrong number of source columns for summary function of column '<column name>'.
REP-1245:  Wrong number of source columns for summary function of column '<column name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1246Chart document not found.
REP-1246:  Chart document not found.

Cause:	Report Builder cannot find the associated chart document for the chart.
Action:	Correct the file name and path of the chart document.


REP-1247Report contains uncompiled PL/SQL.
REP-1247:  Report contains uncompiled PL/SQL.

Cause:	You attempted to run your report before all referenced PL/SQL constructs had been compiled.
Action:	Compile  the PL/SQL, then run your report.


REP-1248All source columns of placeholder '<column name>' must be in the same group.
REP-1248:  All source columns of placeholder '<column name>' must be in the same group.

Cause:	You attempted to set the value of a placeholder column from column(s) belonging to different groups.
Action:	Change the placeholder column's group to match the group of the column(s) changing the placeholder column's value.


REP-1249Column '<column name>' has no PL/SQL formula.
REP-1249:  Column '<column name>' has no PL/SQL formula.

Cause:	You created a column of Type Formula with nothing in the Formula field.
Action:	Create a formula for the column or change the column's Type.


REP-1250Circular query dependency.
REP-1250:  Circular query dependency.

Cause:	Your report contains at least two queries, with each requiring the other to be executed first.
Action:	Edit one or more of your queries to remove the circular dependency.


REP-1251Circular query dependency originating with query '<query name>'.
REP-1251:  Circular query dependency originating with query '<query name>'.

Cause:	Your report contains at least two queries, with each requiring the other to be executed first.  The query listed in the message is one of the conflicting queries.
Action:	Edit the query listed or another conflicting query to remove the circular dependency.


REP-1252Matrix should be surrounded by a repeating frame on group '<group name>'.
REP-1252:  Matrix should be surrounded by a repeating frame on group '<group name>'.

Cause:	The data model for your report contains a matrix with a parent group, but in the layout the repeating frame for the parent group either does not exist or does not surround the matrix.
Action:	Modify the layout of your report so that the parent group has a repeating frame which surrounds the matrix.


REP-1253Matrix objects are on different regions of the layout.
REP-1253:  Matrix objects are on different regions of the layout.

Cause:	The repeating frames of a matrix are on different regions of the layout (body, margin, header, or trailer).
Action:	Move all repeating frames of the matrix to the same report region.


REP-1254Anchored objects are on different regions of the layout.
REP-1254:  Anchored objects are on different regions of the layout.

Cause:	The anchoring and anchored objects of an anchor are on different regions of the layout (body, margin, header, or trailer).
Action:	Move the above-mentioned objects to the same report region.


REP-1255Cannot anchor to a hidden object.
REP-1255:  Cannot anchor to a hidden object.

Cause:	The anchored object of an anchor is a hidden object.
Action:	Either make the anchored object not hidden, or delete the anchor.


REP-1256Link file boilerplate text is missing its link file.
REP-1256:  Link file boilerplate text is missing its source file.

Cause:	You did not specify a filename in the Link File field in a link file boilerplate object's property palette.
Action:	Specify a directory path and filename in the Link File field in the Link File Boilerplate property palette.


REP-1257Cannot pass data for child query from caller.
REP-1257:  Cannot pass data for child query from caller.

Cause:	You have invoked Report Builder from another product, and Report Builder has been instructed to fetch data for a child query from the caller.  Data passed to Report Builder can only be for a master query.
Action:	Modify the caller's instructions so that Report Builder does not request data for a child query.


REP-1258Group '<group name>' has no columns.
REP-1258:  Group '<group name>' has no columns.

Cause:	You have created a group that has no columns.
Action:	Delete the group or assign one or more columns to the group.


REP-1259Group '<group name>' has no break columns.
REP-1259:  Group '<group name>' has no break columns.

Cause:	You have created a parent group that has no break columns.
Action:	Mark the Break Order check box(es) of the break column(s) of the group.


REP-1260Groups '<group name1>' and '<group name2>' are from the same query and cannot be linked.
REP-1260:  Groups '<group name1>' and '<group name2>' are from the same query and cannot be linked.

Cause:	You have a data link between two groups from the same query.  This is not allowed.
Action:	Remove the data link or re-link to another group.


REP-1261Cannot resolve parent of group '<group name>'.
REP-1261:  Cannot resolve parent of group '<group name>'.

Cause:	One group has two queries as its parent (it can only have one).
Action:	Remove data links from the same group to different queries.


REP-1262Circular data link dependency starting from group '<group name>'.
REP-1262:  Circular data link dependency starting from group '<group name>'.

Cause:	You have created a cycle with data links (i.e., you have specified that a parent is the child of itself, either directly or indirectly).
Action:	Remove at least one of the links in the cycle.


REP-1263Cross product group '<group name>' has no or only one dimension group.
REP-1263:  Cross product group '<group name>' has no or only one dimension group.

Cause:	You have a cross product group that has no or only one group inside.  Cross product groups must have at least two dimension groups.  Multi-query cross product groups must have at least two queries within the cross product group.
Action:	Remove the cross product group or add dimension groups, or dimension queries (if multi-query).


REP-1264Data link of group '<group name>' crosses cross product boundary.
REP-1264:  Data link of group '<group name>' crosses cross product boundary.

Cause:	In your multiple-query matrix report, you have a query where some of its groups are inside the cross product and some outside.
Action:	Move all groups of the query to either outside or inside of the cross product group.


REP-1265Cross product group '<group name>' has no child groups.
REP-1265:  Cross product group '<group name>' has no child groups.

Cause:	You have a cross product group with no child group, which is required.  The child group acts as the cell of the matrix.
Action:	Create a child group for the cross product group.


REP-1266Column '<column name>': Page Level columns are not allowed in a Cross Product.
REP-1266:  Column '<column name>': Page Level columns are not allowed in a Cross Product.

Cause:	You have created a column in a cross product group that is or relies on a column that is a page-level summary (i.e., a summary with Reset At of Page).
Action:	You cannot have a column in a cross product group that is or relies on a page-level summary.  You must remove the column from the cross product group, or change the Reset At value of the column or the page-level summary upon which it relies.


REP-1267Chart '<display name>' references an invalid column as a bind parameter.
REP-1267:  Chart '<display name>' references an invalid column as a bind parameter.

Cause:	The chart references a column that does not exist.  This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1268Chart '<display name>' references a bind column '<column name>' at the wrong frequency.
REP-1268:  Chart '<display name>' references a bind column '<column name>' at the wrong frequency.

Cause:	The column specified for the chart is in a group below that of the repeating frame that encloses the chart.
Action:	Move the chart into a repeating frame whose source group is at or above the group that contains the specified column.  Otherwise, move the specified column into the enclosing repeating frame's group, if possible.


REP-1269Chart '<display name>' references invalid report group.
REP-1269:  Chart '<display name>' references an invalid report group.

Cause:	The report group specified for the chart does not exist.  This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1270Chart '<display name>' references a report group at the wrong frequency.
REP-1270:  Chart '<display name>' references a report group at the wrong frequency.

Cause:	The report group specified for the chart is above the source group of the enclosing repeating frame.
Action:	Move the chart into a repeating frame with a source group that is at or above its report group.


REP-1271Chart column name '<column name>' has been multiply specified in the chart document '<display name>'.
REP-1271:  Chart column name '<column name>' has been multiply specified in the chart document '<display name>'.

Cause:	The specified chart column or parameter has been referenced more than once in the chart document.
Action:	Check the columns and parameters that you specify for the chart and delete any duplicates.


REP-1272Column '<column name>' may not be used as a Break Column.
REP-1272:  Column '<column name>' may not be used as a Break Column.

Cause:	You specified a Break Order on a summary, function, or placeholder.  These types of columns cannot be used as break columns.
Action:	Review the rules for which columns can be break columns.  For more information, see Break Order.


REP-1273Source groups of matrix '<matrix name>' not from the same cross product.
REP-1273:  Source groups of matrix '<matrix name>' not from the same cross product.

Cause:	The source groups of the repeating frames that form the dimensions of the matrix are not contained by the same cross product group.  The dimensions of a matrix must be contained within the same cross product group.
Action:	Change the source groups of the repeating frames or choose different repeating frames to form the dimensions of the matrix.


REP-1274Invalid repeat direction combination in matrix '<matrix name>'.
REP-1274:  Invalid repeat direction combination in matrix '<matrix name>'.

Cause:	Matrix dimension repeating frames whose source groups are in the same "family" hierarchy (i.e., are descendants or ancestors of each other) within a cross product group must have the same Print Direction.  Parent-child relationships within a cross product group are used to create nesting in the matrix.  As a result, the repeating frames associated with such groups must print in the same direction on the page.
Action:	Change the Print Direction of the repeating frames as necessary, choose different source groups for the repeating frames, or choose different repeating frames to form the dimensions of the matrix.


REP-1275Page level column '<column name>' may not be referenced from format trigger '<program unit name>'.
REP-1275:  Page level column '<column name>' may not be referenced from format trigger '<program unit name>'.

Cause:	PL/SQL entered in Format Trigger cannot reference columns with a Reset At or Compute At of Page.
Action:	Remove the reference to the page-level column or change the column's Reset At or Compute At to something other than Page.


REP-1276Placeholder '<column name>' references one or more non-formula columns.
REP-1276:  Placeholder '<column name>' references one or more non-formula columns.

Cause:	A placeholder column contains SRW.REFERENCE, but the column referenced is not a formula column.  For placeholder columns, SRW.REFERENCE must refer to a formula column.
Action:	Change the column referenced via SRW.REFERENCE.


REP-1277Invalid select element.
REP-1277:  Invalid select element.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1278Invalid PL/SQL procedure in '<program unit name>'.
REP-1278:  Invalid PL/SQL procedure in '<program unit name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1279Invalid frame or repeating frame '<frame name>'.
REP-1279:  Invalid frame or repeating frame '<frame name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1280Invalid field '<field name>'.
REP-1280:  Invalid field '<field name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1281Invalid boilerplate '<boilerplate name>'.
REP-1281:  Invalid boilerplate '<boilerplate name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1282Invalid matrix '<matrix name>'.
REP-1282:  Invalid matrix '<matrix name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1283Invalid chart document '<display name>'.
REP-1283:  Invalid chart document '<display name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1284Query '<query name>' has no groups.
REP-1284:  Query '<query name>' has no groups.

Cause:	Your data model contains a query that has no groups.  Each query in your data model needs at least one group associated with it.
Action:	Create a new group for the query.


REP-1285Query '<query name>' has no select elements.
REP-1285:  Query '<query name>' has no select elements.

Cause:	Your data model contains a query that does not select anything.  Each query in your data model must select at least one element.
Action:	Enter a SELECT statement in the query, selecting at least one element.


REP-1286Group '<group name>' is a cross product as well as a dimension.
REP-1286:  Group '<group name>' is a cross product as well as a dimension.

Cause:	You specified a group to act as both a cross product group and as a dimension group for another cross product group.  This is not allowed.
Action:	Make the group either a cross product group or a dimension group, but not both.


REP-1287Cross product group '<group name>' should not have a group filter.
REP-1287:  Cross product group '<group name>' should not have a group filter.

Cause:	You specified a group filter on a cross product group.  This is not allowed.
Action:	Remove the group filter from the cross product group.  Create the group filter for another group, if necessary.


REP-1288The numeric argument for group filter of '<group name>' missing.
REP-1288:  The numeric argument for group filter of '<group name>' missing.

Cause:	You specified First or Last for a group's filter, but you did not specify a number dictating how many records the group should filter.
Action:	Specify a number for the group filter.


REP-1289Unimplemented type of group filter specified in group '<group name>'.
REP-1289:  Unimplemented type of group filter specified in group '<group name>'.

Cause:	You specified a group filter that is not available or is invalid.
Action:	Specify a valid group filter for the group.


REP-1290  Source datatype incompatible with summary function in column '<column name>'.

Cause:	Your summary column was assigned a Source whose datatype is incompatible with the specified Function.  For example, you may be trying to sum a character column.
Action:	Make sure that the datatype of your source column is compatible with the Function you specified in the Summary Column property palette.


REP-1291Column '<column name>' has invalid reset group.
REP-1291:  Column '<column name>' has invalid reset group.

Cause:	You specified an invalid Reset At value for a summary column.  Reset At can be set to the same group as the summary column, any group above the summary column's, Page, or Report.
Action:	Specify a valid Reset At value for the summary column in its property palette.


REP-1292Column '<column name>' has invalid compute group.
REP-1292:  Column '<column name>' has invalid compute group.

Cause:	You specified an invalid Compute At value for a summary column.  Compute At can be set to the same group as the summary column, any group above the summary column's, Page, or Report.
Action:	Specify a valid Compute At value for the summary column in its property palette.


REP-1293Column '<column name>' has invalid product order.
REP-1293:  Column '<column name>' has invalid product order.

Cause:	A column in a cross product group was assigned an invalid value for Product Order, or no value at all.
Action:	Specify a valid value for Product Order (consisting of only dimension groups within the cross product) in the column's property palette.


REP-1294Width of column '<column name>' is too large.
REP-1294:  Width of column '<column name>' is too large.

Cause:	The column's width exceeds the maximum allowed for your operating system.
Action:	Reduce the width of the column in the Column property palette.


REP-1295Data format of column '<column name>' is unsupported.
REP-1295:  Data format of column '<column name>' is unsupported.

Cause:	You activated Read from File for a column, but specified an invalid or unavailable data format in the Format field in the Column property palette.
Action:	Specify a valid data format in the Format field.  The list of values displays all valid data formats.  Note that for LONG, RAW, and LONG RAW database columns, only Text and Oracle Format (Image) are valid values for Format.


REP-1296Data link child cannot be in cross product group '<group name>'.
REP-1296:  Data link child cannot be in cross product group '<group name>'.

Cause:	You tried to link a column to a column in a cross product group, or to the cross product group itself.  These operations are not allowed.
Action:	Create data links between columns and groups other than cross product groups and their associated columns.


REP-1297Data link child column '<column name>' must be a database column.
REP-1297:  Data link child column '<column name>' must be a database column.

Cause:	You tried to link a column to another column that is not a database column (e.g., a summary, formula, or placeholder column), which is not allowed.
Action:	You can create data links using only database columns and groups.


REP-1298Columns '<column name>' and '<column name>' have incompatible types to be linked.
REP-1298:  Columns '<column name>' and '<column name>' have incompatible types to be linked.

Cause:	The parent and child columns in your data link have incompatible datatypes that cannot be linked.  For example, you might have tried to link a Number column to a Character column.
Action:	Make sure the parent and child columns you specify in data links have compatible datatypes.


REP-1299Groups '<group name>' and '<group name>' in different cross products cannot be linked.
REP-1299:  Groups '<group name>' and '<group name>' in different cross products cannot be linked.

Cause:	You tried to create a data link between dimension groups of two different cross product groups, or between columns of the dimension groups.  These operations are not allowed.
Action:	You cannot create data links between two different cross product groups or their columns.


REP-1300Text boilerplate '<boilerplate name>' has no contents.
REP-1300:  Text boilerplate '<boilerplate name>' has no contents.

Cause:	You created a text boilerplate object that contains no text.
Action:	Enter some text in the boilerplate object, or delete it.


REP-1301Data link creates sibling of group '<group name>' within cross product.
REP-1301:  Data link creates sibling of group '<group name>' within cross product.

Cause:	You created a data link that created a sibling of a dimension group within a cross product group.  No siblings of dimension groups are allowed within the cross product.
Action:	Dimension groups can consist only of chains of groups.  No siblings are allowed.


REP-1302Cross product has two or more child groups.
REP-1302:  Cross product has two or more child groups.

Cause:	A cross product group has more than one child group.  Only one child is allowed per cross product group.
Action:	Remove all but one of the child groups to the cross product group.


REP-1303Query must be completely in or out of cross product group '<group name>'.
REP-1303:  Query must be completely in or out of cross product group '<group name>'.

Cause:	You created a query whose groups are not all inside the cross product, above the cross product, or below the cross product, respectively.
Action:	Make sure that each query's groups are all inside of a cross product, above a cross product, or below a cross product.


REP-1304Cross product group '<group name>' contains another cross product as child.
REP-1304:  Cross product group '<group name>' contains another cross product as child.

Cause:	You created a cross product group that is a child of another cross product group.  This is not allowed.
Action:	Ensure that the child group of the cross product group is not a cross product group.


REP-1305Warning: Frame '<frame name>' intersects but does not enclose object '<object name>'.
REP-1305:  Warning: Frame '<frame name>' intersects but does not enclose object '<object name>'.

Cause:	Your report layout contains a frame that does not completely enclose the named object.  Thus, the object is not considered to be inside the frame.
Action:	If you want the frame to enclose the object, resize or move the frame.


REP-1306Summary column '<column name>' has invalid source.
REP-1306:  Summary column '<column name>' has invalid source.

Cause:	You specified an invalid source for the summary column.  A summary column's source must be from the same group as the summary column, or from a group below the summary column.
Action:	Change the source of the summary column to be from the same group as the summary column or from a group below the summary column.


REP-1307Summary column '<column name>' has invalid product order.
REP-1307:  Summary column '<column name>' has invalid product order.

Cause:	The possible causes of this error include the following:
	Case 1:	You have a summary which is not a running summary (i.e., its Reset At is not Report), but its Product Order is not a subset of the source column's product order.  The source column of the summary must be at least as frequent as the summary, which means that the summary's Product Order should be some subset of the source column's Product Order.
	Case 2:	You have a running summary (i.e., its Reset At is Report) with a Product Order that is not a prefix of the source column's Product Order.  For example, if the source column's Product Order were A,B,C, then the summary column's Product Order would have to be either A (by itself) or A,B.  The summary's Product Order could not be B,A.
Action:	You can take the following actions to correct this error:
	If Case 1:	Change the Product Order of the summary such that it is a subset of its source column's Product Order.
	If Case 2:	Change the Product Order of the summary such that it is a prefix of the Source column's Product Order.


REP-1308Placeholder column '<column name>' not supported in cross product.
REP-1308:  Placeholder column '<column name>' not supported in cross product.

Cause:	You tried to create a placeholder column inside of a cross product group.  Cross product groups cannot contain placeholder columns.
Action:	Delete the placeholder or move it outside the cross product group.


REP-1309Report level summary '<column name>' cannot be a percent of total.
REP-1309:  Report level summary '<column name>' cannot be a percent of total.

Cause:	You created a summary at the report-level (i.e., a summary outside of all the groups in the data model) with a Function of % of Total.  This Function makes no sense for a report-level summary because it will always be 100%.
Action:	Delete the summary or move it into a group where it will make sense.


REP-1310Boilerplate '<boilerplate name>' references '&<reference name>' which is not a field.
REP-1310:  Boilerplate '<boilerplate name>' references '&<reference name>' which is not a field.

Cause:	A boilerplate object has a reference to a field that does not exist.  It could be that the field being referenced was deleted or renamed and so this reference in the boilerplate object is now invalid.
Action:	Depending on circumstances, you may want to remove the reference, replace it with a reference to another field, or create the field that it references.


REP-1311Object '<object name>' with page-dependent references changed to fixed sizing.
REP-1311:  Object '<object name>' with page-dependent references changed to fixed sizing.

Cause:	A field or boilerplate object has a reference to a page calculation or a total number of pages variable.  (This is known as a forward reference.)  Such layout objects must be fixed in size both horizontally and vertically.
Action:	The layout object's Horizontal and Vertical Sizing have been set to Fixed by Report Builder.  Check the output to ensure that the values are not being truncated.  If they are, you should enlarge the layout object so that it is large enough to contain the values.


REP-1312Page Level column '<column name>' may not be referenced from chart '<display name>'.
REP-1312:  Page Level column '<column name>' may not be referenced from chart '<display name>'.

Cause:	One of the Report Builder columns that you tried to pass to a chart is or depends upon a page-level summary (i.e., a summary with a Reset At or Compute At of Page).  A column being passed to a Chart cannot be or depend upon a page-level summary.
Action:	Do not pass the column to the Chart.


REP-1313Page Level column '<column name>' may not be referenced from group filter '<group name>'.
REP-1313:  Page Level column '<column name>' may not be referenced from group filter '<group name>'.

Cause:	One of the Report Builder columns that you tried to reference in a group filter is or depends upon a page-level summary (i.e., a summary with a Reset At or Compute At of Page).  A column referenced by a group filter cannot be or depend upon a page-level summary.
Action:	Do not reference the column in the group filter.


REP-1314Format trigger '<program unit name>' references column '<column name>' at wrong frequency.
REP-1314:  Format trigger '<program unit name>' references column '<column name>' at wrong frequency.

Cause:	One of your format triggers references a column that is located at the wrong frequency.
Action:	Remove the reference to the column from the format trigger.


REP-1315Group filter '<program unit name>' references column '<column name>' at wrong frequency.
REP-1315:  Group filter '<program unit name>' references column '<column name>' at wrong frequency.

Cause:	One of your group filters attempted to reference a column that is inaccessible.
Action:	Remove the reference to the column from the group filter.


REP-1316<Object name> references column '<column name>' at wrong frequency.
REP-1316:  <Object name> references column '<column name>' at wrong frequency.

Cause:	A procedure or function attempted to reference a column that is inaccessible.
Action:	Remove the reference to the column from the PL/SQL subprogram.


REP-1317Boilerplate '<boilerplate name>' references field with source '<column name>' at wrong frequency.
REP-1317:  Boilerplate '<boilerplate name>' references field with source '<column name>' at wrong frequency.

Cause:	The boilerplate object references the field using &fieldname, but the two objects are not located at the same frequency.  For example, the boilerplate object and the field it references are located within different repeating frames.
Action:	Place the boilerplate object and field at the same frequency, or remove the reference.


REP-1318Error while setting transaction read-only.
REP-1318:  Error while setting transaction read-only.

Cause:	Having specified READONLY=YES, this error occurred at the start of report execution, while ending the current transaction (with a COMMIT) and starting the read-only transaction, or at the end of report execution, while ending the read-only transaction (with a COMMIT).
Action:	Make sure you are connected to a database, and make sure that no cursors or locks were left pending by the previous transaction.


REP-1319Warning: Implicit anchoring algorithm cannot uniquely identify the anchoring object of '<object1 name>'. Arbitrarily choosing '<object2 name>'.
REP-1319:  Warning: Implicit anchoring algorithm cannot uniquely identify the anchoring object of '<object1 name>'. Arbitrarily choosing '<object2 name>'.

Cause:	The specified object (object name 1) is in the "push path" of two objects and it is equidistant from both objects.  As a result, Report Builder cannot use its normal criteria (shortest distance) to determine the implicit anchor.  In the absence of its normal criteria, Report Builder randomly creates an implicit anchor to the specified object (object name 2).  Note that the implicit anchor may vary between runs of the report.  For more information, see Implicit Anchoring.
Action:	To avoid the random creation of an implicit anchor, explicitly anchor the specified object (object name 1) to another object.


REP-1320Program unit '<program unit name>' references column with invalid ID: <column ID>.
REP-1320:  Program unit '<program unit name>' references column with invalid ID: <column ID>.

Cause:	You ran a report with invalid PL/SQL (e.g., PL/SQL that didn't compile).  The PL/SQL source included a column reference that cannot be resolved.
Action:	Check the column references in your PL/SQL source, recompile all of the PL/SQL source in the report, and re-run the report.


REP-1322Page break after on '<object name>' has no effect.
REP-1322:  Page break after on '<object name>' has no effect.

Cause:	You activated Page Break After on an object that has no other objects anchored to it (implicitly or explicitly).  In this case, Page Break After has no effect and is invalid.  Notice that this is a warning, not an error message.
Action:	Deactivate Page Break After for the object.


REP-1323Cannot have output columns in format trigger '<program unit name>'.
REP-1323:  Cannot have output columns in format trigger '<program unit name>'.

Cause:	In the format trigger for the specified object, you attempted to set the value of a Report Builder column parameter.  For example, you can use the value of a column called COUNT1 in a condition (e.g., IF :COUNT1 = 10), but you cannot directly set its value in an assignment statement (e.g., COUNT1 = 10).
Action:	Remove the assignment statement from the format trigger.


REP-1324Cannot have output columns in group filter '<group name>'.
REP-1324:  Cannot have output columns in group filter '<group name>'.

Cause:	In the filter for the specified group, you attempted to set the value of a Report Builder column or parameter.  For example, you can use the value of a column called COUNT1 in a condition (e.g., IF :COUNT1 = 10), but you cannot directly set its value in an assignment statement (e.g., COUNT1 = 10).
Action:	Remove the assignment statement from the group filter.


REP-1325Cannot have output columns in Between Page Trigger.
REP-1325:  Cannot have output columns in Between Page Trigger.

Cause:	In the Between Page trigger, you attempted to set the value of a Report Builder column or parameter.  For example, you can use the value of a column called COUNT1 in a condition (e.g., IF :COUNT1 = 10), but you cannot directly set its value in an assignment statement (e.g., COUNT1 = 10).
Action:	Remove the assignment statement from the group filter.


REP-1326<trigger name> writes to column '<column name>' at wrong frequency.
REP-1326:  <trigger name> writes to column '<column name>' at wrong frequency.

Cause:	In a report trigger, you attempted to set the value of a Report Builder column at the wrong frequency in the report.  You can reference and set only report-level columns or parameters, and you cannot reference or set any page-dependent columns (i.e., Reset At of Page) or columns that rely on page-dependent columns.
Action:	Make sure the columns and parameters whose values you reference or set are report-level columns and parameters.


REP-1327Column '<column name>' writes to column '<column name>' at wrong frequency.
REP-1327:  Column '<column name>' writes to column '<column name>' at wrong frequency.

Cause:	In a formula column, you attempted to set the value of a Report Builder column at the wrong frequency in the report.  You can reference and set only columns that are in the same group or in a higher group in the group hierarchy.  For example, a formula for a report-level column can only reference other report-level columns.
Action:	Make sure the columns whose values you reference or set are in the same group or in a higher group in the group hierarchy.


REP-1328Cannot run report containing ROWLABEL column '<column name>' in a non-trusted OS.
REP-1328:  Cannot run report containing ROWLABEL column '<column name>' in a non-trusted OS.

Cause:	You are attempting to run a report that requires a secure database while connected to a non-secure database.
Action:	Run the report while connected to a secure database.


REP-1329Column '<column name>' cannot be linked to column '<column name>' because the child column is not a database  column.
REP-1329:  Column '<column name>' cannot be linked to column '<column name>' because the child column is not a database  column.

Cause:	You created a data link in which the child column is a summary, formula, or placeholder column.  Only database columns can be linked.
Action:	Create a data link using database columns.


REP-1330Lexical parameter '<parameter name>' in query '<query name>' must not change column dependencies.
REP-1330:  Lexical parameter '<parameter name>' in query '<query name>' must not change column dependencies.

Cause:	You created a lexical parameter that changes the number, type, or names of columns, or introduces new dependencies on computed columns or new bind references, when the report is run.
Action:	Change the lexical parameter so that it does not change columns or introduce new dependencies or bind references.


REP-1331Column '<column name>' cannot be linked to column '<column name>' because the child column is determined by a lexical parameter.
REP-1331:  Column '<column name>' cannot be linked to column '<column name>' because the child column is determined by a lexical parameter.

Cause:	You created a data link in which child column's value is determined by a lexical parameter.  This is not allowed.
Action:	Replace the child column of the data link with another column.


REP-1332Group filter for '<group name>' cannot reference column '<column name>'. It is not a valid database column or it depends on a related query.
REP-1332:  Group filter for '<group name>' cannot reference column '<column name>'. It is not a valid database column or it depends on a related query.

Cause:	You created a group filter that references a database column not in the group's query or in a query above it, or references a computed column that depends on an unrelated column.
Action:	Remove the offending reference from the group filter.


REP-1333Unsupported layout; a matrix may not be inside another matrix.
REP-1333:  Unsupported layout; a matrix may not be inside another matrix.

Cause:	You created a matrix layout nested within another matrix layout.
Action:	Matrix layouts cannot be nested within other matrix layouts.  Re-design your layout to avoid this.


REP-1335Warning: variable rotated text '<boilerplate name>' treated as fixed/contract width.
REP-1335:  Warning: variable rotated text '<boilerplate name>' treated as fixed/contract width.

Cause:	Your report contains a boilerplate text object which was rotated to an angle that is not a multiple of 90 degrees, although both Horizontal and Vertical Elasticity values were set to Variable or Expand.  In this case, the Horizontal Elasticity is treated as Fixed (if you specified Expand) or Contract (if you specified Variable), and this warning is displayed.
Action:	You may want to change the Horizontal and Vertical Elasticity values for this boilerplate object.


REP-1336The source of field '<field name>' is Page Level calculation '<column name>'. <group name>.
REP-1336:  The source of field '<field name>' is Page Level calculation '<column name>'. <group name>.

Cause:	The specified field references a page summary owned by the named group, but there is no repeating frame for that group that surrounds the field.
Action:	Create a repeating frame whose Source is the named group to surround the field.  If such a repeating frame already exists, extend it to enclose the field.


REP-1337Boilerplate '<boilerplate name>' references field '<field name>', whose source is Page Level calculation '<column name>'. <group name>.
REP-1337:  Boilerplate '<boilerplate name>' references field '<field name>', whose source is Page Level calculation '<column name>'. <group name>.

Cause:	The specified boilerplate object references the specified field, whose Source is a page-level computation.  However, there is no repeating frame (whose Source is the named group) surrounding the field.
Action:	Create a repeating frame whose Source is the named group to surround the field.  If such a repeating frame already exists, extend it to enclose the field.


REP-1338Column mode not allowed on repeating frame '<frame name>'.
REP-1338:  Column mode not allowed on repeating frame '<frame name>'.

Cause:	You activated Column Mode for a repeating frame whose setting do not satisfy either of the following conditions:
	Print Direction of Down and a Vertical Elasticity of Fixed.
	Print Direction of Across and a Horizontal Elasticity of Fixed.
Action:	Change the Print Direction or Vertical/Horizontal Elasticity of the repeating frame, or deactivate Column Mode.


REP-1339Chart '<display name>' missing data column specification.
REP-1339:  Chart '<display name>' missing data column specification.

Cause:	You specified a value for the chart Query, but no columns to be passed from the report to the chart document.
Action:	If you do not want to pass data from the report to the chart document, then specify nothing for chart Query and Source.  If you do want to pass data, then specify the columns to be passed in addition to chart Query and Source.


REP-1340Cannot match passed-in columns with report definition of '<report name>'.
REP-1340:  Cannot match passed-in columns with report definition of '<report name>'.

Cause:	This error occurs when another component (e.g., Form Builder) passes a query to Report Builder and there is a mismatch between the columns passed and the columns expected by Report Builder.  Possible causes of this error include:
	Case 1:	Report Builder is expecting more or fewer columns than the number that was actually passed by the calling application.
	Case 2:	The parameter list of the calling application describes a column differently than what Report Builder expects.  For example, if the report's query selects a character column and the calling application assigns that column a date datatype, this error will be raised.
Action:	You can take the following actions to correct this error:
	If Case 1:	Ensure that the calling application is passing the same number of columns that Report Builder is expecting.
	If Case 2:	Ensure that the datatypes and names of the columns being passed by the calling application match the datatypes and names in the report.


REP-1341Warning: Data truncation possible in column '<column name>'.
REP-1341:  Warning: Data truncation possible in column '<column name>'.

Cause:	The database column's width in the report is defined to be less than its width in the database.  This can occur when the columns in the database are updated subsequent to the creation of the report definition.
Action:	Force the query to be reparsed.  One method is to type a space at the end of a line in the SELECT Statement field and then accept the SQL Query Statement dialog box.


REP-1342Type of data link to query '<query name>' illegal for non ORACLE server.
REP-1342:  Type of data link to query '<query name>' illegal for non ORACLE server.

Cause:	If you create a data link with the START WITH clause and run it while connected to a non-ORACLE database, you will get this error.  START WITH is only supported by ORACLE.
Action:	Remove the data link that uses START WITH or connect to ORACLE.


REP-1343Invalid button '<button name>'.
REP-1343:  Invalid button '<button name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1344Button '<button name>' has no action source file.
REP-1344:  Button '<button name>' has no action source file.

Cause:	You have specified an action of Multimedia File for the named button, but have either not specified a source file, or specified a source file that does not exist.
Action:	Open the property palette for the specified button and verify that you have chosen a valid file as source for the button action.  For more information, see Button Properties.


REP-1345Button '<button name>' has invalid source column.
REP-1345:  Button '<button name>' has invalid source column.

Cause:	You have specified an action of Multimedia Column for the named button, but have either not specified a source column, or specified an invalid source column.
Action:	Open the property palette for the specified button and verify that you have chosen a valid column as source for the button action.  For more information about user-created buttons, see Button Properties.


REP-1346Button '<button name>' references source column '<column name>' at wrong frequency.
REP-1346:  Button '<button name>' references source column '<column name>' at wrong frequency.

Cause:	The column specified in the property palette for the named button is in a group below that of the repeating frame that encloses the button.
Action:	Move the button into a repeating frame whose source group is at or above the group that contains the specified column.  Otherwise, move the specified column into the enclosing repeating frame's group, if possible.


REP-1347Button '<button name>' has invalid icon file.
REP-1347:  Button '<button name>' has invalid icon file.

Cause:	You have specified either an invalid file or a nonexistent file as the icon file for the button face.
Action:	Ensure that your icon file exists and is of the proper format and uncorrupted.


REP-1348Source column of field '<field name>' is in sound or video format.
REP-1348:  Source column of field '<field name>' is in sound or video format.

Cause:	You have specified a column containing sound or video as the source for a field, but fields cannot display sound and video.
Action:	Specify another column (not sound or video) as source of the field.


REP-1349PL/SQL action missing from button '<button name>'.
REP-1349:  PL/SQL action missing from button '<button name>'.

Cause:	The PL/SQL trigger that serves as the specified button's action references a piece of PL/SQL that does not exist.
Action:	Debug your trigger and ensure that it references a valid program unit.


REP-1350Cannot have output columns in action trigger '<program unit name>'.
REP-1350:  Cannot have output columns in action trigger '<program unit name>'.

Cause:	The PL/SQL trigger that serves as a button action contains a bind variable that returns a value.  A PL/SQL action trigger cannot return a value.
Action:	Remove the bind variable from your PL/SQL.


REP-1351Warning: Icon '<icon name>' on button '<button name>' not found.
REP-1351:  Warning: Icon '<icon name>' on button '<button name>' not found.

Cause:	The icon you specified as the button face for the named button cannot be found.  The report will run, but the button will appear blank.
Action:	Open the property palette for the named button and verify that the icon you specified exists and is in the correct format, and that you have included the correct path information.


REP-1352The fonts specified for this report cannot be found for the character set specified by NLS_LANG.
REP-1352:  The fonts specified for this report cannot be found for the character set specified by NLS_LANG.

Cause:	The NLS_LANG environment variable specifies a character set for which no font is available.
Action:	You may choose a font that exists in the character set specified by NLS_LANG.  Alternatively, you may use the Font Alias file to force an available font to be used instead of the one specified in the report.


REP-1353Web property of layout object '<layout object name>' references field or column '<field or column name>' at wrong frequency.
REP-1353:  Web property of layout object '<layout object name>' references field or column '<field or column name>' at wrong frequency.

Cause:	One of the layout object properties: Bookmark, Action, Hyperlink, or Linktag references the field or column &columnname, but the two objects are not located at the same frequency.  For example, the layout object is located within a repeating frame whose source is a different group to that the column is in.
Action:	Place the layout object in a repeating frame at the same frequency as the column object, or remove the reference.


REP-1354Web property of layout object '<layout object name>' references page-dependent field or column '<field or column name>'.
REP-1354:  Web property of layout object '<layout object name>' references page-dependent field or column '<field or column name>'.

Cause:	One of the layout object properties: Bookmark, Action,, Hyperlink or Linktag references a field boilerplate object that has a reference to a page calculation or a total number of pages variable. Web properties may only reference columns and fields that are not based on page calculations.
Action:	Remove the web property reference to the page-dependent field or column.


REP-1355.  PL/SQL missing from query.
REP-1355.  PL/SQL missing from PL/SQL based query ‘$0’.

Cause:	You created a PL/SQL based query, but you did not enter PL/SQL for it.
Action:	Enter PL/SQL for the query.


REP 1356.  Column link not allowed for linking to PL/SQL based query '$0'."
REP-1356.  Column link not allowed for linking to PL/SQL based query '$0'."

Cause:	You tried to link a column to another column that is in PL/SQL based query as bind variables to set up intended column link conditions.
Action:	You can create group links and use the columns in PL/SQL based query as bind variables to set up intended column link conditions.


REP 1357.  Auto foreign key column link creation is only for SQL queries.
REP-1357.  Auto foreign key column link creation is only for SQL queries.

Cause:	You dragged a link between two queries to automatically create column links based on foreign key relationships.  However, this can only be done between two SQL data queries.
Action:	Do this on two SQL data queries, or change the PL/SQL based queries to SQL.


REP-1365. Column link not allowed for linking to Express based query <query name>.
REP 1365. Column link not allowed for linking to Express based query <query name>.

Cause:	You tried to link a column to another column that is in Express based query, which is not allowed.
Action:	You can create group links and use the columns in Express based query as bind variables to set up the intended column link conditions.


REP-1366. The XML Settings of object <layout object name> reference page-dependent field or column <field or column name>.
REP 1366. The XML Settings of object <object name> reference page-dependent column <column name>.

Cause:	One of the object's XML properties references a column that contains a page calculation or a total number of pages variable. XML Settings cannot reference columns that are based on page calculations.
Action:	Remove the XML Settings references to the page-dependent column.


REP-1367. The XML Settings of object <object name> reference field or column <field or column name> at wrong frequency.
REP-1367. The XML Settings of object <object name> reference column <column name> at wrong frequency.

Cause:	One of the object's XML properties references the column, but the column &columnname has a higher frequency than the object (e.g., the column may be in a different group than the object referencing it).
Action:	Move the object such that it has the same frequency as the field or column (e.g., place them in the same or lower group) it references or remove the reference.


REP-1400Couldn't initialize coxr.
REP-1400:  Couldn't initialize coxr.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1401'<program unit name>': Fatal PL/SQL error occurred.
REP-1401:  '<program unit name>': Fatal PL/SQL error occurred.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1402'<program unit name>': Unhandled PL/SQL exception.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1403'<program unit name>': Illegal to suspend PL/SQL procedure.
REP-1403:  '<program unit name>': Illegal to suspend PL/SQL procedure.

Cause:	A PL/SQL construct was suspended during execution or generation.
Action:	Debug and re-compile your PL/SQL constructs.


REP-1404Compile failed for some reason.
REP-1404:  Compile failed for some reason.

Cause:	In generating your report, PL/SQL compilation failed.
Action:	Debug your PL/SQL constructs.


REP-1405Code is not executable.
REP-1405:  Code is not executable.

Cause:	A PL/SQL construct did not compile properly or for some other reason could not be executed.
Action:	Debug your PL/SQL constructs.


REP-1406Cannot run parameterized code directly.
REP-1406:  Cannot run parameterized code directly.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1408Cannot initialize PL/SQL.
REP-1408:  Cannot initialize PL/SQL.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1412PL/SQL function '<program unit name>' returned invalid value or no value.
REP-1412:  L/SQL function '<program unit name>' returned invalid value or no value.

Cause:	Your report contains a PL/SQL function that does not specify a return value (e.g., a format trigger that does not return TRUE or FALSE).
Action:	Verify that the function includes a return statement for every code path.


REP-1414'<program unit name>': Couldn't find lib unit to run.
REP-1414:  '<program unit name>': Couldn't find lib unit to run.

Cause:	This is most likely an abnormal condition.
Action:	Check your PL/SQL code and recompile it.  If this error recurs, see Abnormal Conditions.


REP-1415'<program unit name>': Unknown user exit '<user exit name>'.
REP-1415:  '<program unit name>': Unknown user exit '<user exit name>'.

Cause:	A user exit was called, but it could not be found.
Action:	Ensure that you are using the correct name for the user exit and that it has been compiled and linked.


REP-1416'<program unit name>': User exit '<user exit name>'. <submessage>.
REP-1416:  '<program unit name>': User exit '<user exit name>'. <submessage>.

Cause:	An error occurred in a user exit.  Possible errors:  a reference to an unknown column, a  truncated column value, unretrievable PL/SQL source, or the user exit could not be found.
Action:	Based on the submessage, debug your user exit.  Ensure that you are referencing valid columns and the PL/SQL code and user exit are accessible. Link appropriate libraries/user exits to allow the report to run standalone.


REP-1417'<program unit name>': Invalid integer argument passed to <procedure name>.
REP-1417:  '<program unit name>': Invalid integer argument passed to <procedure name>.

Cause:	The packaged procedure that you referenced expected an integer for an argument, but you did not specify one.
Action:	Verify that the PL/SQL that references the packaged procedure correctly passes it an integer.  For more information about PL/SQL packaged procedures, see Report Builder PL/SQL Package: SRW.


REP-1418'<program unit name>': Passed null arguments to <procedure name>.
REP-1418:  '<program unit name>': Passed null arguments to <procedure name>.

Cause:	The exception SRW.NULL_ARGUMENTS was raised, either by a user-defined PL/SQL subprogram, or because a packaged subprogram was passed one or more null arguments.
Action:	Check any PL/SQL code that might raise this exception.  Also, check the argument list that is passed to the specified packaged subprogram.


REP-1419'<program unit name>': PL/SQL program aborted.
REP-1419:  '<program unit name>': PL/SQL program aborted.

Cause:	A PL/SQL construct had a fatal error and was aborted.
Action:	Check your PL/SQL constructs for errors.
Cause:	REP-1419 'beforerep' errors may be caused by corrupted .RDF files.
Action:	Rebuild .RDF file.
Cause:	One or more fields in a report is accessing data that is not available to that report, i.e. invalid PL/SQL references.
Action:	Make sure that all tables/columns queried in the report are a) available and b) populated with data which matches parameters set in the report.


REP-1420'<program unit name>': PL/SQL program raised a program error.
REP-1420:  '<program unit name>': PL/SQL program raised a program error.

Cause:	The exception SRW.PROGRAM_ERROR was raised, either by a user-defined PL/SQL subprogram, or because of an abnormal condition.
Action:	Check any PL/SQL code that might raise this exception.  If no PL/SQL raised the exception, see  Abnormal Conditions.


REP-1421'<program unit name>': Trying to manipulate column of wrong type in <procedure name>.
REP-1421:  '<program unit name>': Trying to manipulate column of wrong type in <procedure name>.

Cause:	The datatype of the column whose name you passed to a packaged procedure is not the correct datatype for the packaged procedure (e.g., the packaged procedure was expecting a column of Character datatype and you passed it a column of another datatype).
Action:	Debug the PL/SQL that references packaged procedures and ensure that you are passing the packaged procedure the name of a column of the correct datatype.  Also check the syntax of the packaged procedure to ensure that you are referencing it properly.  For more information about PL/SQL packaged procedures, see Report Builder PL/SQL Package: SRW.


REP-1422Procedure by this name already exists.
REP-1422:  Procedure by this name already exists.

Cause:	You tried to create a new PL/SQL procedure with the same name as an existing PL/SQL procedure.
Action:	Change the name of the new procedure or change the name of the existing procedure.


REP-1423'<program unit name>': Cannot set maximum rows of the query after it started executing.
REP-1423:  '<program unit name>': Cannot set maximum rows of the query after it started executing.

Cause:	You used the SRW.SET_MAX_ROW packaged procedure to reduce the number of rows fetched by a query.  However, you called SRW.SET_MAX_ROW after the query was already fetched.
Action:	Move your SRW.SET_MAX_ROW to the Before Report trigger.


REP-1424'<program unit name>': Internal error while executing <procedure name>.
REP-1424:  '<program unit name>': Internal error while executing <procedure name>.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1425'<program unit name>': Error running DO_SQL package - '<embedded message>' .
REP-1425:  '<program unit name>': Error running DO_SQL package - '<embedded message>' .

Cause:	An error occurred while Report Builder was executing an SRW.DO_SQL call.  Embedded in this message, you will find a Report Builder message and, possibly, an ORACLE error message describing the exact error that occurred.
Action:	Errors in SRW.DO_SQL are most often the result of a SQL error.  Refer to your .ORACLE8 Server SQL Language Reference Manual and verify that the SQL statement in your SRW.DO_SQL call is correct.


REP-1426'<program unit name>': Running <procedure name> from incorrect context.
REP-1426:  '<program unit name>': Running <procedure name> from incorrect context.

Cause:	You attempted to call the named packaged procedure from an invalid area.  For example, SRW.SET_ATTR cannot be called from a formula.
Action:	Modify your PL/SQL code so that it does not call the packaged procedure from that context.


REP-1427'<program unit name>': Nonexistent query name referenced in <procedure name>.
REP-1427:  '<program unit name>': Nonexistent query name referenced in <procedure name>.

Cause:	You included a call to the SRW.SET_MAXROW procedure in a Before Report trigger, but the query referenced in the procedure call does not exist.
Action:	Change the call to the SRW.SET_MAXROW procedure so that it references an existing query in the report.


REP-1428'<program unit name>': Error while running <procedure name>.
REP-1428:  '<program unit name>': Error while running <procedure name>.

Cause:	The exception SRW.RUN_REPORT_FAILURE was raised, either by a user-defined PL/SQL subprogram, or because of an abnormal condition after SRW.RUN_REPORT was called.
Action:	Check any PL/SQL code that might raise this exception.  If no PL/SQL raised the exception, check the command line string passed to SRW.RUN_REPORT.  Verify that the specified report exists and that all parameter values are correct.  Also note that BATCH=NO is not allowed if the report that owns the PL/SQL code is called by a command line string containing BATCH=YES.  For more information, see SRW.RUN_REPORT.


REP-1429'<program unit name>': <procedure name> cannot be invoked with batch=no.
REP-1429:  '<program unit name>': <procedure name> cannot be invoked with batch=no.

Cause:	You included a call to the SRW.RUN_REPORT procedure with a command line string containing BATCH=NO, which is not allowed.
Action:	Remove BATCH=NO from the SRW.RUN_REPORT command string.


REP-1430Cannot create REP File for report '<filename>'.  Compilation errors found.
REP-1430:  Cannot create REP File for report '<filename>'.  Compilation errors found.

Cause:	There is an error in the PL/SQL in the report you are attempting to convert.
Action:	Open the report and debug your PL/SQL.


REP-1433'<program unit name>': Error running user exit '<user exit name>'.
REP-1433:  '<program unit name>': Error running user exit '<user exit name>'.

Cause:	While running the user exit named in the message, an error occurred.
Action:	Debug your user exit and ensure that it is linked.


REP-1434'<program unit name>': <procedure name> cannot be invoked with a userid.
REP-1434:  '<program unit name>': <procedure name> cannot be invoked with a user ID.

Cause:	You included a call to the SRW.RUN_REPORT procedure with a command line string containing a user ID/password, which is not allowed.
Action:	Remove the user ID/password from the SRW.RUN_REPORT command string.


REP-1435'<program unit name>': Value of column '<column name>' was truncated.
REP-1435:  '<program unit name>': Value of column '<column name>' was truncated.

Cause:	A column (e.g., a placeholder) was assigned a value larger than its width could contain, raising the SRW.TRUNCATED_VALUE exception.  The exception was not handled, raising this error.
Action:	Make the column wide enough to contain the assigned value, or handle the exception in your PL/SQL source.


REP-1436'<program unit name>': The PL/SQL references an object which is not in the scope.
REP-1436:  '<program unit name>': The PL/SQL references an object which is not in the scope.

Cause:	In a parameter's Validation Trigger field, you entered PL/SQL source that referenced a report column.  This is not allowed.
Action:	Remove the reference to the report column from the parameter's Validation Trigger.


REP-1437Run time error in the PL/SQL development environment (DE).
REP-1437:  Run time error in the PL/SQL development environment (DE).

Cause:	This is most likely an abnormal condition.
Action:	Refer to the accompanying development environment error message for details on the problem.  If you cannot correct the problem yourself, see Abnormal Conditions.


REP-1438GETREF function parameter '<parameter name>' must be of type LONG, LONG RAW or RAW.
REP-1438:  GETREF function parameter '<parameter name>' must be of type LONG, LONG RAW or RAW.

Cause:	The second parameter in a CDE_MM.GET_REF call specifies a column that is not of type LONG, LONG RAW, or RAW.
Action:	Change the second parameter to specify a column of the correct type.


REP-1439Cannot compile program units since this is a runtime only report.
REP-1439:  Cannot compile program units since this is a runtime only report.

Cause:	The program units are from a foreign platform or an older version of PL/SQL.
Action:	Use the .rdf file instead of the .rep file, or regenerate the .rep file.


REP-1508Cross Product: value of calculation not found.
REP-1508:  Cross Product: value of calculation not found.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1510Group Manager: unable to compute column '<column name>'.
REP-1510:  Group Manager: unable to compute column '<column name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1517Column '<column1 name>' references column '<column2 name>', which has incompatible frequency.
REP-1517:  Column '<column1 name>' references column '<column2 name>', which has incompatible frequency.

Cause:	A column in your data model references another column (e.g., in the Formula field) in your data model, but the two columns are assigned to incompatible groups.  For example, if a formula column with a Group of Report referenced a column with a Group of G_Emp, this error would be raised.
Action:	Remove the column reference, or assign the referencing column to a group that is compatible with the group of the referenced column.


REP-1518Group Manager: internal error <<Oracle message>> while processing group '<group name>'.
REP-1518:  Group Manager: internal error <<Oracle message>> while processing group '<group name>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1607Record Manager: report level column '<column name>' not available in rdcagt().
REP-1607:  Record Manager: report level column '<column name>' not available in rdcagt().

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1610Record Manager: a query with internal joins has 'Maximum Number of Rows' set.
REP-1610:  Record Manager: a query with internal joins has 'Maximum Number of Rows' set.

Cause:	You most likely used SRW.SET_MAXROW to set Maximum Number of Rows on the cell query of a multi-query cross product.
Action:	Remove the call to SRW.SET_MAXROW for the cell query.


REP-1760Error Utility: internal error #1.
REP-1760:  Error Utility: internal error #1.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1761Internal error <<context info>> while processing <object name> '<object type>'.
REP-1761:  Internal error <<context info>> while processing <object name> '<object type>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1762Internal error <<context info>>.
REP-1762:  Internal error <<context info>>.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1780Stack utility: error during allocation.
REP-1780:  Stack utility: error during allocation.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1781Stack utility: error during 'push'.
REP-1781:  Stack utility: error during 'push'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1782Stack utility: error during 'pop'.
REP-1782:  Stack utility: error during 'pop'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1783Stack utility: attempt to pop empty stack.
REP-1783:  Stack utility: attempt to pop empty stack.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1800Formatter error.
REP-1800:  Formatter error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1801Unknown file type for a 'Read from File' field.
REP-1801:  Unknown file type for a 'Read from File' field.

Cause:	You attempted to create a file column, but the file type you entered is invalid.
Action:	Display the list of values and pick a valid file type.


REP-1802Unable to read contents of a field from a text file.
REP-1802:  Unable to read contents of a field from a text file.

Cause:	You have checked Read from File for a column, but Report Builder could not find the files pointed to by the column. The possible causes of this error include the following:
	Case 1:	The files do not exist.
	Case 2:	You do not have the necessary privileges to access the files.
	Case 3:	A system error made it impossible to find the files.
Action:	You can take the following actions to correct this error:
	If Case 1:	Clear Read from File or create the necessary files.
	If Case 2:	Update your privileges, if possible.
	If Case 3:	Consult your operating system documentation or contact your system administrator.


REP-1803Unable to open destination file '<filename>'.
REP-1803:  Unable to open destination file '<filename>'.

Cause:	The destination file that you specified for the report could not be opened.
Action:	Consult your operating system documentation or contact your system administrator.


REP-1804Unable to open printer definition file '<filename>'.
REP-1804:  Unable to open printer definition file '<filename>'.

Cause:	The printer definition file for the printer that you specified could not be opened.
Action:	Consult your operating system documentation or contact your system administrator.


REP-1805Unable to open mail text file '<filename>'.
REP-1805:  Unable to open mail text file '<filename>'.

Cause:	You tried to send the report output to a mail message, but the file for the message could not be opened.
Action:	Consult your Oracle*Mail documentation or contact Oracle Customer Support.  For more information, see Calling Oracle Customer Support.


REP-1806Unable to open mail command file '<filename>'.
REP-1806:  Unable to open mail command file '<filename>'.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1807Mail report command failed.
REP-1807:  Mail report command failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1808Unable to open print command file.
REP-1808:  Unable to open print command file.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1809Print report command failed.
REP-1809:  Print report command failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1810Switching to use Report Builder ASCII Driver to run character report.
REP-1810:  Switching to use Report Builder ASCII Driver to run character report.

Cause:	You are attempting to print a character-mode report to a printer or a file using either a Postscript driver or the Microsoft Windows Generic Text driver.
Action:	No action necessary.


REP-1811Error while generating a chart.
REP-1811:  Error while generating a chart.

Cause:	Report Builder called the chart runtime executable to generate a chart, but no chart was created.
Action:	Ensure that the named chart document exists and will run.


REP-1812Too many pages formatted.  There is either too much data or an error in the report's definition.
REP-1812:  Too many pages formatted.  There is either too much data or an error in the report's definition.

Cause:	The possible causes of this error include the following:
	Case 1:	You have reached a user-defined limit set to catch too much data.
	Case 2:	You have reached an error in the report definition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Abort running of the program.  Check the value of PAGE_LIMIT in the PRODUCT_PROFILE table.  Ensure that it is either '0', which means the user is allowed to format an unlimited number of pages, or some value sufficiently large to enable the user to format the report.
	If Case 2:	Debug the report in the designer.


REP-1813Object '<object name>' too large to fit in matrix cell.
REP-1813:  Object '<object name>' too large to fit in matrix cell.

Cause:	The data fetched into a matrix cell exceeds the capacity of the cell--e.g., the cell may contain a variable field, and the data may be longer than expected.
Action:	Either enlarge your matrix cells until they are able to contain the data fetched into them, or redefine your data.


REP-1814Report cannot be formatted. Object '<object name>' can never fit within '<location>'.
REP-1814:  Report cannot be formatted. Object '<object name>' can never fit within '<location>'.

Cause:	The referenced object is causing the most recently formatted page to start with exactly the same state as the page previous .  Formatting will therefore cycle until abnormally terminated.  Possible causes of this error include:
	Case 1:	An object whose Print Condition type is All overflows to the next page;
	Case 2:	An object whose sizing is Variable or Expand does not appear to extend beyond page boundaries in the Layout Model editor but does when the report is formatted;
	Case 3:	A repeating frame does not appear to extend beyond page boundaries in the Layout Model editor but does when the report is formatted.
Action 1:	Using the referenced object as a guide, examine your report layout for objects that may extend beyond page boundaries.  Note:  The object referenced in the message is the object that extends beyond the boundary.  This object may be pushed beyond the boundary by another object, and this second object may need modification.
Action 2:	This error can also be caused by a Page Protect or Anchoring Object in the Report that is forcing the report to print groups of data on the same page.  Remove the Page Protect or the Anchoring Object if possible  or create a Group Frame around the all the objects that are supposed to print on the first logical page, and make the frame Vertical Sizing Variable.


REP-1815Bad Oracle Number encountered.
REP-1815:  Bad Oracle Number encountered.

Cause:	A formula providing the value of a column failed to specify any value.
Action:	Debug any formulas in your report columns and ensure that each formula specifies a value where necessary.


REP-1816No value specified for COPIES.  No output created.
REP-1816:  No value specified for COPIES.  No output created.

Cause:	In the Runtime Parameter Form or the Print Job dialog box, you specified zero copies.
Action:	Specify a value of one or more copies.


REP-1817Start page after end page.  No pages output.
REP-1817:  Start page after end page.  No pages output.

Cause:	In the Print Job dialog box, you specified a starting page number that is greater than the ending page number.
Action:	Change either the starting page number or the ending page number such that the starting number is less than the ending number.


REP-1818Unable to read data in image format.
REP-1818:  Unable to read data in image format.

Cause:	Possible causes of this error include:
	Case 1:	You attempted to read a file or database column as containing an image, but the file or column's contents are of the wrong format.
	Case 2:	The width of the Report Builder column you specified may be truncating the image because it's too small.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure you specify a file or column containing an image in a valid format.
	If Case 2:	Change the width of the Report Builder column so that it's large enough to display the image.


REP-1819Filename '<filename>' longer than platform maximum of <number> characters.
REP-1819:  Filename '<filename>' longer than platform maximum of <number> characters.

Cause:	You have specified a name for your file that is longer than the platform-allowed maximum.  This is most likely to occur when accessing a file using Read from File, and the filename in the database is too long.
Action:	Ensure that your database is not corrupted, and/or run the report on a platform that accepts filenames of the specified length.


REP-1820Cannot use Report Builder ASCII Driver to run bitmap report.
REP-1820:  Cannot use Report Builder ASCII Driver to run bitmap report.

Cause:	You are attempting to print a bitmapped report when the Report Builder ASCII Driver is your default printer.  This is not allowed.
Action:	Choose a different printer, then print your report.


REP-1825Before Report trigger returned FALSE.
REP-1825:  Before Report trigger returned FALSE.

Cause:	Your report includes a Before Report trigger that returned a value of FALSE rather than TRUE.  When a trigger returns a value of FALSE, report formatting stops.
Action:	Make sure that your report trigger is meant to return a value of FALSE.


REP-1826Between Page trigger returned FALSE.
REP-1826:  Between Page trigger returned FALSE.

Cause:	Your report includes a Between Page trigger that returned a value of FALSE rather than TRUE.  When a trigger returns a value of FALSE, report formatting stops.
Action:	Make sure that your report trigger is meant to return a value of FALSE.


REP-1827Parentheses in format mask do not balance.
REP-1827:  Parentheses in format mask do not balance.

Cause:	You have an unmatched parenthesis in your format mask.
Action:	Edit your format mask and insert the necessary parenthesis.


REP-1828Format mask may contain at most one set of parentheses.
REP-1828:  Format mask may contain at most one set of parentheses.

Cause:	You used more than one set of parentheses in your format mask.
Action:	Use only one set of parentheses in your format mask.


REP-1829Left parenthesis must precede right parenthesis in format mask.
REP-1829:  Left parenthesis must precede right parenthesis in format mask.

Cause:	You reversed the order of the parentheses in your format mask--i.e., used the right, or close, parenthesis before the left, or open parenthesis.
Action:	Edit your format mask and reverse the order of the parentheses.


REP-1830The Exponent field in a format mask must contain exactly 4 E's.
REP-1830:  The Exponent field in a format mask must contain exactly 4 E's.

Cause:	In specifying that you want to use scientific notation for the field, you have entered too many or too few E's.  Enter four E's.
Action:	Enter the format mask with four E's.  If you want extra E's to appear in the output, put them in quotation marks (").


REP-1831Missing closing quotation mark in format mask.
REP-1831:  Missing closing quotation mark in format mask.

Cause:	You entered an opening quotation mark (") before the string in the format mask but not a closing one.  The possible causes of this error include the following:
	Case 1:	You failed to enter the closing quotation mark after the string.
	Case 2:	You entered one quotation mark within the quotation marks that begin and end the string.
Action:	You can take the following actions to correct this error:
	If Case 1:	Add an ending quotation mark after the string.
	If Case 2:	Enter another quotation mark next to the quotation mark inside the string.


REP-1832Illegal character '<character>' in format mask.
REP-1832:  Illegal character '<character>' in format mask.

Cause:	You have entered a character in a format mask which is not valid for format masks.
Action:	Delete the illegal character.  For more information, see Format Mask.


REP-1833A format mask must contain at least one digit.
REP-1833:  A format mask must contain at least one digit.

Cause:	The format mask you entered contains no digits.  You must have at least one token in your mask that represents a digit.
Action:	Enter a token in your format mask that represents a digit.  The tokens that represent digits are 0, 9, *, and S.  For more information, see Format Mask.


REP-1834A format mask may contain at most one '<' character.
REP-1834:  A format mask may contain at most one '<' character.

Cause:	You entered two left angle brackets (<<) in your format mask.  You either accidentally typed extra left angle brackets or you wanted some of the extra angle brackets be part of a string.  Note:  The angle brackets need not be entered sequentially to cause the error.
Action:	Delete the extra left angle brackets or place them inside quotation marks (") as part of a string if you want them to appear in the output.


REP-1835A format mask may contain at most one '>' character.
REP-1835:  A format mask may contain at most one '>' character.

Cause:	You entered two right angle brackets (>>) in your format mask.  You either accidentally typed extra right angle brackets or you wanted some of the extra angle brackets to be part of a string.  Note:  The angle brackets need not be entered sequentially to cause the error.
Action:	Delete the extra right angle brackets or place them inside quotation marks (") as part of a string if you want them to appear in the output.


REP-1836'<' must come before '>' in a format mask.
REP-1836:  '<' must come before '>' in a format mask.

Cause:	The left angle bracket (<) must come before the right angle bracket (>) in a format mask.
Action:	Ensure that all angle brackets that are to appear in the output are placed inside quotation marks (").  For the angle brackets that delineate the beginning and ending of the decimal aligned region, ensure that the left angle bracket precedes the right angle bracket in the format mask.


REP-1837A format mask may contain at most one decimal point.
REP-1837:  A format mask may contain at most one decimal point.

Cause:	You entered a format mask with multiple decimal points.
Action:	Place any extra decimal points that you want to appear in the output in quotation marks (").  Remove any extra decimal points outside of quotation marks.


REP-1838A format mask may contain at most one scale point.
REP-1838:  A format mask may contain at most one scale point.

Cause:	You entered the token V more than once within your format mask.
Action:	If you want the extra V's to appear in the output, put them in quotation marks (").  Otherwise, delete the V's until there is only one in the format mask.


REP-1839',' is not allowed before the first digit in a format mask.
REP-1839:  ',' is not allowed before the first digit in a format mask.

Cause:	You placed a comma before the first digit in the format mask, which is illegal.
Action:	If you want a comma to appear before the digits in the output, place it in quotation marks (") as a string.  Otherwise, delete the comma.


REP-1840',' is not allowed after the last digit in a format mask.
REP-1840:  ',' is not allowed after the last digit in a format mask.

Cause:	You placed a comma after the last digit in the format mask, which is illegal.
Action:	If you want a comma to appear after the digits in the output, place it in quotation marks (") as a string.  Otherwise, delete the comma.


REP-1841',' is not allowed after the decimal point in a format mask.
REP-1841:  ',' is not allowed after the decimal point in a format mask.

Cause:	You placed a comma after the decimal point in the format mask.
Action:	If you want a comma to appear after the decimal point in the output, place it in quotation marks (") as a string.  Otherwise, delete the comma.


REP-1842A format mask may contain at most one exponent field.
REP-1842:  A format mask may contain at most one exponent field.

Cause:	You entered the token EEEE more than once within your format mask.  You are only allowed to enter this token once per format mask.
Action:	If you want the extra E's to appear in the output, put them in quotation marks (").  Otherwise, delete the extra EEEE tokens until there is only one in the format mask.


REP-1843Format masks with exponent fields must have exactly one digit before the decimal point.
REP-1843:  Format masks with exponent fields must have exactly one digit before the decimal point.

Cause:	You entered a scientific notation format mask, but had no digits or more than one digit to the left of the decimal point.
Action:	If you had more than one digit to the left of the decimal point, delete digits until there is only one to the left of the decimal point.  If you had no digits to the left of the decimal point, add one digit.


REP-1844Internal error: Bad index in a Flexible Array.
REP-1844:  Internal error: Bad index in a Flexible Array.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1845The decimal point must come between '<' and '>' in a format mask.
REP-1845:  The decimal point must come between '<' and '>' in a format mask.

Cause:	You have placed a decimal point outside the left and right angle brackets (< and >) of your format mask.
Action:	Edit your format mask to either remove the decimal point or place it between the brackets.


REP-1846If Roman numeral format mask, must be simply "RN" or "rn".
REP-1846:  If Roman numeral format mask, must be simply "RN" or "rn".

Cause:	When you specify the Roman numeral format mask token (RN or rn), you cannot specify any other format mask tokens.
Action:	If you want the values to be formatted as Roman numerals, eliminate all format mask tokens except RN or rn from Format Mask.  Otherwise, do not use the RN or rn token.


REP-1847Failed while trying to set up for printing.
REP-1847:  Failed while trying to set up for printing.

Cause:	You attempted to print a report.  The possible causes of this error include the following:
	Case 1:	In the Runtime Parameter Form or on the command line, you specified Printer for DESTYPE, but specified an invalid printer name for DESNAME.
	Case 2:	You are executing a report that executes a second report using SRW.RUN_REPORT.  DESTYPE for both reports is set to either File or Printer, but the first report must be run to the screen.
Action:	You can take the following actions to correct this error:
	If Case 1:	Re-try the operation, specifying a valid printer name for DESNAME.
	If Case 2:	Change the DESTYPE for the first report to Screen or Previewer and run it again.


REP-1848Failed while trying to begin printing.
REP-1848:  Failed while trying to begin printing.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1849Failed while printing.
REP-1849:  Failed while printing.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1850Error in column <number> of line <number> of printer definition file <filename>: End of file reached inside quoted string.
REP-1850:  Error in column <number> of line <number> of printer definition file <filename>: End of file reached inside quoted string.

Cause:	Your printer definition file contains a quoted string that was not ended with a quote before the end of the file.
Action:	Use the location specified in the error message to locate the error and add the end quote to the quoted string in your printer definition file.


REP-1851Error in column <number> of line <number> of printer definition file <filename>: String is longer than <number> characters.
REP-1851:  Error in column <number> of line <number> of printer definition file <filename>: String is longer than <number> characters.

Cause:	A string in your printer definition file is longer than maximum number of allowable characters.
Action:	Reduce length of string.


REP-1852Error in column <number> of line <number> of printer definition file <filename>: Unknown keyword "<keyword>...".
REP-1852:  Error in column <number> of line <number> of printer definition file <filename>: Unknown keyword "<keyword>...".

Cause:	An incorrect keyword is included in your printer definition file.
Action:	For information on valid keywords, see Printer Definition File Syntax.


REP-1853Error in column <number> of line <number> of printer definition file <filename>: Unknown keyword "<keyword>".
REP-1853:  Error in column <number> of line <number> of printer definition file <filename>: Unknown keyword "<keyword>".

Cause:	An incorrect keyword is included in your printer definition file.
Action:	For more information on valid keywords, see Printer Definition File Syntax.


REP-1854Error in column <number> of line <number> of printer definition file <filename>: Invalid control character "<character>".
REP-1854:  Error in column <number> of line <number> of printer definition file <filename>: Invalid control character "<character>".

Cause:	An invalid control character is included in your printer definition file.
Action:	Replace or remove the invalid control character in your printer definition file.


REP-1855Error in column <number> of line <number> of printer definition file <filename>: Unknown character "<character>".
REP-1855:  Error in column <number> of line <number> of printer definition file <filename>: Unknown character "<character>".

Cause:	An unknown character is included in your printer definition file.
Action:	Replace or remove the unknown character in your printer definition file.


REP-1856Error in column <number> of line <number> of printer definition file <filename>: <character> is not a valid ASCII character.
REP-1856:  Error in column <number> of line <number> of printer definition file <filename>: <character> is not a valid ASCII character.

Cause:	An invalid ASCII character appears in your printer definition file.
Action:	Replace or remove the invalid ASCII character in your printer definition file.


REP-1857Error in column <number> of line <number> of printer definition file <filename>: Expected ")" to follow <character>.
REP-1857:  Error in column <number> of line <number> of printer definition file <filename>: Expected ")" to follow <character>.

Cause:	You have an unmatched parenthesis in your printer definition file.
Action:	Edit your printer definition file and insert the necessary parenthesis.


REP-1858Error in column <number> of line <number> of printer definition file <filename>: octal(<octal number>) is not a valid ASCII character.
REP-1858:  Error in column <number> of line <number> of printer definition file <filename>: octal(<octal number>) is not a valid ASCII character.

Cause:	The octal code for an ASCII character in your printer definition file is incorrect.
Action:	Edit your printer definition file and correct the code for the ASCII character.


REP-1859Error in column <number> of line <number> of printer definition file <filename>: hex(<character>) is not a valid ASCII character.
REP-1859:  Error in column <number> of line <number> of printer definition file <filename>: hex(<character>) is not a valid ASCII character.

Cause:	The hex code for an ASCII character in your printer definition file in incorrect.
Action:	Edit your printer definition file and correct the code for the ASCII character.


REP-1860Column <number> of line <number> of printer definition file <filename>: Expected "left", "center", or "right" to follow "<character>".
REP-1860:  Column <number> of line <number> of printer definition file <filename>: Expected "left", "center", or "right" to follow "<character>".

Cause:	Your printer definition file contains an incomplete code string.
Action:	Edit your printer definition file and complete the code string with the appropriate word.


REP-1861Column <number> line <number> of file <filename>: Expected "horizontal","vertical","top","center",or "bottom" to follow "box".
REP-1861:  Column <number> line <number> of file <filename>: Expected "horizontal","vertical","top","center",or "bottom" to follow "box".

Cause:	Your printer definition file contains an incomplete "box" code string.
Action:	Edit your printer definition file and complete the "box" code string with the appropriate word.


REP-1862Error in column <number> of line <number> of printer definition file <filename>: Expected keyword "printer".
REP-1862:  Error in column <number> of line <number> of printer definition file <filename>: Expected keyword "printer".

Cause:	Your printer definition file does not include the required code "printer".
Action:	Edit your printer definition file and add the required code "printer" followed by the name of the printer in a quoted string, preferably on the first line of the printer definition file.


REP-1863Error in column <number> of line <number> of printer definition file <filename>: Expected name of printer in quotation marks.
REP-1863:  Error in column <number> of line <number> of printer definition file <filename>: Expected name of printer in quotation marks.

Cause:	Your printer definition file contains the name of the printer after the "printer" code, but the name does not appear in a quoted string.
Action:	Edit your printer definition file and place quotation marks (") around the name of the printer after the "printer" code.


REP-1864Col <number> line <number> of file <filename>: Expected "width, height, return, linefeed, before report, after page, after report, or code".
REP-1864:  Col <number> line <number> of file <filename>: Expected "width, height, return, linefeed, before report, after page, after report, or code".

Cause:	Your printer definition file does not contain any of the code words expected in a printer definition file.
Action:	Edit your printer definition file and add the code words that are missing.


REP-1865Error in column <number> of line <number> of printer definition file <filename>: Expected number after "width".
REP-1865:  Error in column <number> of line <number> of printer definition file <filename>: Expected number after "width".

Cause:	Your printer definition file contains the "width" code, but no number specifying the width of the report appears after it.
Action:	Edit your printer definition file and insert a number specifying the width of the report after the "width" code.


REP-1866Error in column <number> of line <number> of printer definition file <filename>: Expected number after "height".
REP-1866:  Error in column <number> of line <number> of printer definition file <filename>: Expected number after "height".

Cause:	Your printer definition file contains the "height" code, but no number specifying the height of the report appears after it.
Action:	Edit your printer definition file and insert a number specifying the height of the report after the "height" code.


REP-1867Error in column <number> of line <number> of printer definition file <filename>: Expected "report" to follow "before".
REP-1867:  Error in column <number> of line <number> of printer definition file <filename>: Expected "report" to follow "before".

Cause:	Your printer definition file contains the word "before" but not the accompanying word "report".
Action:	Edit the printer definition file to include a complete "before report" entry.


REP-1868Error in column <number> of line <number> of printer definition file <filename>: Expected "pages" to follow "between".
REP-1868:  Error in column <number> of line <number> of printer definition file <filename>: Expected "pages" to follow "between".

Cause:	Your printer definition file contains the word "between" but not the accompanying word "pages".
Action:	Edit the printer definition file to include a complete "between pages" entry.


REP-1869Error in column <number> of line <number> of printer definition file <filename>: Expected "report" or "page" to follow "after".
REP-1869:  Error in column <number> of line <number> of printer definition file <filename>: Expected "report" or "page" to follow "after".

Cause:	Your printer definition file (for a multi-page report) contains the code word "after" but not the accompanying word "report".
Action:	Edit the printer definition file to include a complete "after report" entry.


REP-1870Error in column <number> of line <number> of printer definition file <filename>: Expected name of code in quotation marks.
REP-1870:  Error in column <number> of line <number> of printer definition file <filename>: Expected name of code in quotation marks.

Cause:	Your printer definition file contains the "code" code with a user-defined string, but the string is not enclosed within quotation marks.
Action:	Edit your printer definition file and enclose the "code" user-defined string with quotation marks.


REP-1871Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "dec".
REP-1871:  Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "dec".

Cause:	Your printer definition file contains a generalized string using "dec", but "dec" is not followed with a left parenthesis.
Action:	Edit your printer definition file and add parentheses around the value following "dec".


REP-1872Error in column <number> of line <number> of printer definition file <filename>: Expected number to follow "(".
REP-1872:  Error in column <number> of line <number> of printer definition file <filename>: Expected number to follow "(".

Cause:	Your printer definition file contains a generalized string (e.g., dec, octal), but no value follows the right parenthesis.
Action:	Edit your printer definition file and add a value between the parentheses in the generalized string.


REP-1873Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "octal".
REP-1873:  Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "octal".

Cause:	Your printer definition file contains a generalized string using "octal", but "octal" is not followed with a left parenthesis.
Action:	Edit your printer definition file and add parentheses around the value following "octal".


REP-1874Error in column <number> of line <number> of printer definition file <filename>: Expected number to follow "(".
REP-1874:  Error in column <number> of line <number> of printer definition file <filename>: Expected number to follow "(".

Cause:	Your printer definition file contains a generalized string (e.g., dec, octal), but no value follows the left parenthesis.
Action:	Edit your printer definition file and add a value between the parentheses in the generalized string.


REP-1875Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "hex".
REP-1875:  Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "hex".

Cause:	Your printer definition file contains a generalized string using "hex", but "hex" is not followed with a left parenthesis.
Action:	Edit your printer definition file and add parentheses around the value following "hex".


REP-1876Error in column <number> of line <number> of printer definition file <filename>: Expected number to follow "(".
REP-1876:  Error in column <number> of line <number> of printer definition file <filename>: Expected number to follow "(".

Cause:	Your printer definition file contains a generalized string (e.g., dec, octal), but no value follows the left parenthesis.
Action:	Edit your printer definition file and add a value between the parentheses in the generalized string.


REP-1877Error in column <number> of line <number> of printer definition file <filename>: Expected control character to follow "^".
REP-1877:  Error in column <number> of line <number> of printer definition file <filename>: Expected control character to follow "^".

Cause:	Your printer definition file contains a generalized string using "^", but no control character follows the "^".
Action:	Edit your printer definition file and add a control character after "^".


REP-1878Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "control".
REP-1878:  Error in column <number> of line <number> of printer definition file <filename>: Expected "(" to follow "control".

Cause:	Your printer definition file contains a keyword and generalized string (e.g., after report, before report), but no left parenthesis follows the word "control".
Action:	Edit your printer definition file and add a left parenthesis following the word "control".


REP-1879Error in column <number> of line <number> of printer definition file <filename>: Expected control character to follow "(".
REP-1879:  Error in column <number> of line <number> of printer definition file <filename>: Expected control character to follow "(".

Cause:	Your printer definition file contains a keyword and generalized string (e.g., after report, before report), but no control character follows the left parenthesis.
Action:	Edit your printer definition file and add a control character between the parentheses after the word "control".


REP-1880Error in column <number> of line <number> of printer definition file <filename>: Box drawing string must be exactly 1 character long.
REP-1880:  Error in column <number> of line <number> of printer definition file <filename>: Box drawing string must be exactly 1 character long.

Cause:	Your printer definition file contains the "box" code string, but the drawing string specified between quotes is more than one character long.
Action:	Edit your printer definition file, making sure that one and only one character is specified as a drawing string.


REP-1881Error in column <number> of line <number> of printer definition file <filename>: Expected string containing box drawing character.
REP-1881:  Error in column <number> of line <number> of printer definition file <filename>: Expected string containing box drawing character.

Cause:	Your printer definition file contains the "box" code string, but no drawing string is specified.
Action:	Edit your printer definition file and specify a drawing string.


REP-1882Column <number> line <number> of file <filename>: Expected "horizontal","vertical","top","center",or "bottom" to follow "box".
REP-1882:  Column <number> line <number> of file <filename>: Expected "horizontal","vertical","top","center",or "bottom" to follow "box".

Cause:	Your printer definition file contains the "box" code string, but the following required word (one of "horizontal", "vertical", "top", "center", or "bottom") is not specified.
Action:	Edit your printer definition file and add the appropriate required word.


REP-1883Unexpected end of printer definition file.
REP-1883:  Unexpected end of printer definition file.

Cause:	Report Builder was able to open your printer definition file, but an error occurred while reading it.
Action:	Make sure you specified the correct printer definition file.  Also, check the contents of the printer definition file.  Edit the file if necessary.


REP-1884 Hang while sending output
REP-1884:  Hang while sending output

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1885Can't send output to printer.
REP-1885:  Can't send output to printer.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-1886Expected "I" after "M".
REP-1886:  Expected "I" after "M".

Cause:	The M you entered in a format mask was not followed by I.  The only token that begins with M is the MI token.
Action:	If you want to use the MI token, enter an I after the M.  If you want the character M to appear in your output, place it inside double quotes (").  Otherwise, delete the M from Format Mask.


REP-1887Expected "R" after "P".
REP-1887:  Expected "R" after "P".

Cause:	The P you entered in a format mask was not followed by R.  The only token that begins with P is the PR token.
Action:	If you meant to use the PR token, enter an R after the P.  If you want the character P to appear in your output, you need to place it inside double quotes (").  Otherwise, delete the P from Format Mask.


REP-1888Only one sign token allowed.
REP-1888:  Only one sign token allowed.

Cause:	You entered more than one sign token in a format mask.
Action:	Delete all sign tokens but one from the format mask.


REP-1889Trailing sign token must be at end.
REP-1889:  Trailing sign token must be at end.

Cause:	You did not place a sign token at the end of the format mask.
Action:	Place the sign token (e.g., MI, PR, DB, and CR) at the end of the format mask.


REP-1890"S" token must be at beginning or end.
REP-1890:  "S" token must be at beginning or end.

Cause:	You did not place the S token at the beginning or the end of the format mask.
Action:	Place the S token at the beginning or the end of the format mask or delete it.


REP-1891Parentheses tokens must surround other tokens.
REP-1891:  Parentheses tokens must surround other tokens.

Cause:	The parentheses tokens must surround all the other tokens in the format mask.  The parentheses do not surround all other tokens.
Action:	Place the parentheses around all of the other tokens in the format mask.


REP-1892The destype you specified is not supported for pdf or html.
REP-1892:  The destype you specified is not supported for pdf or html.

Cause:	You entered an Destination Type that is invalid for PDF or HTML output.
Action:	Retry the operation, entering one of the valid Destination Types.


REP-1893The destype you specified is not supported on this platform.
REP-1893:  The destype you specified is not supported on this platform.

Cause:	You entered a Destination Type that is invalid for your operating system (e.g., Sysout, while running on Microsoft Windows).
Action:	Retry the operation, entering one of the valid Destination Types.


REP-1894The report definition was modified during the current run. No new pages will be generated.
REP-1894:  The report definition was modified during the current run. No new pages will be generated.

Cause:	While previewing a report (using RWBLD60), you modified the report's definition (e.g., modified a query, added or deleted objects, etc.), and then returned to the Previewer and attempted to view additional pages.
Action:	This is not allowed.  Report Builder cannot guarantee that all of the information used at runtime is still present, so formatting is halted.


REP-1895Date formatting error while processing <field name>.
REP-1895:  Date formatting error while processing <field name>.

Cause:	Report Builder could not format the specified date field.
Action:	Check the format mask of the specified date field.


REP-1896Error in column <number> of line <number> of printer definition file <filename>: Expected 'backspace' or 'overstrike' to follow 'hilight'.
REP-1896:  Error in column <number> of line <number> of printer definition file <filename>: Expected 'backspace' or 'overstrike' to follow 'hilight'.

Cause:	The specified printer definition file contains the 'hilight' setting, but the setting was not completed properly.
Action:	Add either 'overstrike' or 'backspace <sequence>' after 'hilight'.


REP-1897Error in column <number> of line <number> of printer definition file <filename>: Non-numeric user-defined printer codes are not supported.
REP-1897:  Error in column <number> of line <number> of printer definition file <filename>: Non-numeric user-defined printer codes are not supported.

Cause:	The specified printer definition file contains a user defined printer code that is not a number.
Action:	Change the user defined printer code to a number.


REP-1898Error in column <number> of line <number> of printer definition file <filename>: Hilight setting can only be defined once.
REP-1898:  Error in column <number> of line <number> of printer definition file <filename>: Hilight setting can only be defined once.

Cause:	The specified printer definition file contains more than one hilight setting.
Action:	Remove all but one of the hilight settings from the printer definition file.


REP-1899Unable to convert Graphics Display or Icon to .gif format - image skipped.
REP-1899:  Unable to convert Graphics Display or Icon to .gif format - image skipped.

Cause:	Report Builder was unable to convert an embedded chart display or icon to a GIF format for displaying within an HTML document. This only occurs when Report Builder cannot access a window system in order to draw the image.
Action:	Run the report using the bitmap executable under a windowing system to allow Report Builder access to a display.


REP-1920Character mode runtime incompatible with DESFORMAT of PDF, HTML, HTMLCSS, or RTF.
REP-1920:  Character mode runtime incompatible with DESFORMAT of PDF, HTML, HTMLCSS, or RTF.

Cause:	You are attempting to run a report with a destination format of PDF, HTML, HTMLCSS, or RTF.  These formats are only available when running in a bitmap environment and producing a bitmap output.
Action:	Rerun the report with a bitmap executable or set MODE=BITMAP if already running with a bitmap executable.


REP-1940:  Column <number> line <number> of <filename>: Expected visualorder, logicalorder, contextualshaping. . .

Cause:	Your printer definition file contains the nls code string, but the required word is not specified.
Action:	Edit you printer definition file and add the required word (visualorder, logicalorder, contextualshaping, contextuallayout, multibyte, or pcharset).


REP-1941:  Column <number> line <number> of <filename>: Expected yes or no.

Cause:	Your printer definition file contains one of the following: visualorder, logicalorder, contextualshaping, contextuallayout, multibyte, or pcharset.  However it is missing the yes or no specification.
Action:	Edit your printer definition file and specify yes or no.


REP-1942:  Column <number> line <number> of <filename>: Expected name of character set to follow pcharset.

Cause:	Your printer definition file contains pcharset, but the name of the character set is not specified.
Action:	Edit your printer definition file and specify the character set name.


REP-1943:  Column <number> line <number> of <filename>: Defined printer character set is unsupported.

Cause:	Your printer definition file references an unsupported character set.
Action:	Edit your printer definition file and ensure that the character set name is correct.


REP-1950Invalid Source specified.
REP-1950:  Invalid Source specified.

Cause:	The source you specified for RWCON60 is not a valid source.
Action:	Ensure that you are specifying the correct object or file and that the STYPE is correct for that file or object.


REP-1951Invalid Destination specified.
REP-1951:  Invalid Destination specified.

Cause:	The Destination you specified for RWCON60 is not a valid source.
Action:	Ensure that you are specifying the correct object or file and that the DTYPE is correct for that file or object.


REP-1952Number of Destination items must be zero or match number of Source items.
REP-1952:  Number of Destination items must be zero or match number of Source items.

Cause:	In the Convert dialog box, or while using RWCON60, you specified a list of Destination items, but the number of items specified is greater than zero and does not match the number of Source items specified.
Action:	To have Report Builder derive the Destination names from the specified Source names, leave Destination blank.  Otherwise, make sure the number of Destination names specified matches the number of Source names specified.    Note:  If you use wildcards in the Source specification, make sure the number of Destination names matches the number of Source items in the expanded wildcard list.


REP-2000User Exit error.
REP-2000:  User Exit error.

Cause:	An error occurred in the user exit.
Action:	If you created the user exit, debug the code.  Otherwise, contact your DBA.


REP-2001IAF GET: unknown column '<column name>'
REP-2001:  IAF GET: unknown column '<column name>'

Cause:	You specified an unknown column name in your user exit's IAF GET statement.
Action:	Make sure you specify the name of a valid column in the IAF GET statement.


REP-2002IAF PUT: unknown column '<column name>'
REP-2002:  IAF PUT: unknown column '<column name>'

Cause:	You specified an unknown column name in your user exit's IAF PUT statement.
Action:	Make sure you specify the name of a valid column in the IAF PUT statement.


REP-2003Unable to find user exit.
REP-2003:  Unable to find user exit.

Cause:	Report Builder could not find the user exit that it was supposed to run at this point.  The most likely cause is that the name and/or location of the user exit code was not specified correctly.
Action:	If you created the user exit, check to make sure you specified the name and location of the code correctly when installing it.  Otherwise, contact your DBA.


REP-2004Warning: Unable to retrieve PL/SQL source code of '<object name>'.
REP-2004:  Warning: Unable to retrieve PL/SQL source code of '<object name>'.

Cause:	You selected File [image] Administration [image] Report Doc to document one or more reports, but the RWEPLS user exit failed to retrieve the PL/SQL source code of an object.  This is most likely an abnormal condition.
Action:	Check the PL/SQL source code in the named object.  For information, see  Abnormal Conditions.


REP-2005IAF PUT: value of column '<column name>' was truncated
REP-2005:  IAF PUT: value of column '<column name>' was truncated

Cause:	Your IAF PUT statement assigned a value to the named column, but the column was not wide enough to hold the entire value, causing it to truncate.
Action:	Widen the column so that it is can hold the entire value.


REP-2100Calculation Manager error.
REP-2100:  Calculation Manager error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-2101Calculation Manager : source column cannot use segmented memory.
REP-2101:  Calculation Manager : source column cannot use segmented memory.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-2102Calculation Manager : computed column cannot use segmented memory.
REP-2102:  Calculation Manager : computed column cannot use segmented memory.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-2103Column '<column name>' : PL/SQL formula returned invalid value or no value.
REP-2103:  Column '<column name>' : PL/SQL formula returned invalid value or no value.

Cause:	You entered an SRW.DO_SQL statement that caused the ORACLE message.
Action:	Edit the SRW.DO_SQL statement.  For more information on the ORACLE message, see the ORACLE8 Server Messages and Codes Manual.


REP-2300<Oracle message>
REP-2300:  <Oracle message>

Cause:	You entered an SRW.DO_SQL statement that caused the ORACLE message.
Action:	Edit the SRW.DO_SQL statement.  For more information on the ORACLE message, see the ORACLE8 Server Messages and Codes Manual.


REP-2301Error allocating SQLDA descriptor. <Oracle message>
REP-2301:  Error allocating SQLDA descriptor. <Oracle message>

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-2302Error parsing the SQL statement. <Oracle message>
REP-2302:  Error parsing the SQL statement. <Oracle message>

Cause:	Report Builder encountered an error while parsing the SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the SQL statement could not be parsed.


REP-2303Error describing bind variables. <Oracle message>
REP-2303:  Error describing bind variables. <Oracle message>

Cause:	Report Builder encountered an error while describing bind variables in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the bind variables could not be described.


REP-2304Error opening SQL cursor. <Oracle message>
REP-2304:  Error opening SQL cursor. <Oracle message>

Cause:	Report Builder encountered an error while opening a cursor in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the cursor could not be opened.


REP-2305Error describing select list. <Oracle message>
REP-2305:  Error describing select list. <Oracle message>

Cause:	Report Builder encountered an error while describing the select list in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the bind variables could not be described.


REP-2306Error fetching bind variables. <Oracle message>
REP-2306:  Error fetching bind variables. <Oracle message>

Cause:	Report Builder encountered an error while fetching bind variables in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the bind variables could not be fetched.


REP-2307Error fetching data record. <Oracle message>
REP-2307:  Error fetching data record. <Oracle message>

Cause:	Report Builder encountered an error while fetching a data record in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the data record could not be fetched.


REP-2308Error processing select list. <Oracle message>
REP-2308:  Error processing select list. <Oracle message>

Cause:	Report Builder encountered an error while processing the select list in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the select list is invalid.


REP-2309Error formatting date field. <Oracle message>
REP-2309:  Error formatting date field. <Oracle message>

Cause:	Report Builder encountered an error while formatting a date field in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the date field could not format.


REP-2310Error putting value into column. <Oracle message>
REP-2310:  Error putting value into column. <Oracle message>

Cause:	Report Builder encountered an error while trying to insert a value into a column in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the value could not be assigned.


REP-2311Error during Commit. <Oracle message>
REP-2311:  Error during Commit. <Oracle message>

Cause:	Report Builder encountered an error while trying to do a commit in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the commit failed.


REP-2312Error allocating data record. <Oracle message>
REP-2312:  Error allocating data record. <Oracle message>

Cause:	Report Builder encountered an error while allocating a data record in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the record could not be allocated.


REP-2313Error parsing select list. <Oracle message>
REP-2313:  Error parsing select list. <Oracle message>

Cause:	Report Builder encountered an error while parsing the select list in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the select list could not be parsed.


REP-2314Error closing SQL cursor. <Oracle message>
REP-2314:  Error closing SQL cursor. <Oracle message>

Cause:	Report Builder encountered an error while trying to close a SQL cursor in an SRW.DO_SQL statement.
Action:	Refer to the ORACLE message to see why the close cursor operation failed.


REP-2315Error freeing data record. <Oracle message>
REP-2315:  Error freeing data record. <Oracle message>

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-2316Unknown column '<column name>'
REP-2316:  Unknown column '<column name>'

Cause:	A column referred to in an SRW.DO_SQL statement cannot be found.
Action:	Debug your PL/SQL and make sure your SRW.DO_SQL statement contains the correct column name.


REP-2317Value of column '<column name>' was truncated.
REP-2317:  Value of column '<column name>' was truncated.

Cause:	A column value obtained via an SRW.DO_SQL statement was truncated.
Action:	Go to the column's property palette and increase its Width.  Or, restrict the size of the value that your SRW.DO_SQL statement is putting into the column.


REP-2400DEBUG : internal error 0
REP-2400:  DEBUG : internal error 0

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-2500  Error $0 occurred.  See the release notes file (relnotes) for further information about this error.
REP-2500  Error <error number> occurred.  See the release notes file (relnotes.txt) for further information about this error.

Cause:	When the Report Wizard attempted to default the layout, an error was raised.
Action:	Fix the problem identified by the error number referenced in the error message text.


REP-3000Internal error starting Oracle Toolkit.
REP-3000:  Internal error starting Oracle Toolkit.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3001Internal error initializing File Dialog.
REP-3001:  Internal error initializing File Dialog.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3002Error initializing printer.  Please make sure a printer is installed.
REP-3002:  Error initializing printer.  Please make sure a printer is installed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3020Internal error starting Oracle Resource Manager.
REP-3020:  Internal error starting Oracle Resource Manager.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3021Internal error processing menu resource.
REP-3021:  Internal error processing menu resource.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3022Internal error processing window resource.
REP-3022:  Internal error processing window resource.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3023Resource File not found.
REP-3023:  Resource File not found.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3040Internal error starting Oracle Observer Model.
REP-3040:  Internal error starting Oracle Observer Model.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3060Internal error initializing color table.  Checking VGS resources is recommended.
REP-3060:  Internal error initializing color table.  Checking VGS resources is recommended.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3080Internal error initializing Oracle Image.
REP-3080:  Internal error initializing Oracle Image.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3081Error running image viewer.
REP-3081:  Error running image viewer.

Cause:	You selected a Previewer button with a defined action of displaying an image, but the image viewer is unavailable.  Possible causes of this error include:
	Case 1:	The image specified as the source is in an incorrect format.
	Case 2:	You are out of memory.
	Case 3:	This is an abnormal condition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Ensure that the image file specified as the source of the button action is in a displayable format.
	If Case 2:	Make more memory available, if you can, or ask your system administrator for assistance.
	If Case 3:	For information, see  Abnormal Conditions.


REP-3082Error running sound dialog.
REP-3082:  Error running sound dialog.

Cause:	You selected a Previewer button with a defined action of playing a sound, but the sound dialog is unavailable.  Possible causes of this error include:
	Case 1:	The sound file specified as the source is in an incorrect format.
	Case 2:	You are out of memory.
	Case 3:	This is an abnormal condition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Ensure that the sound file specified as the source of the button action is in a playable format.
	If Case 2:	Make more memory available, if you can, or ask your system administrator for assistance.
	If Case 3:	For information, see  Abnormal Conditions.


REP-3083Error running video player.
REP-3083:  Error running video player.

Cause:	You selected a Previewer button with a defined action of playing a video, but the video player is unavailable.  Possible causes of this error include:
	Case 1:	The video file specified as the source is in an incorrect format.
	Case 2:	You are out of memory.
	Case 3:	This is an abnormal condition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Ensure that the video file specified as the source of the button action is in a playable format.
	If Case 2:	Make more memory available, if you can, or ask your system administrator for assistance.
	If Case 3:	For information, see  Abnormal Conditions.


REP-3085Multimedia source file '<filename>' not found.
REP-3085:  Multimedia source file '<filename>' not found.

Cause:	You activated the button in the Previewer, but the source for the button's intended action (whether sound, image, or video) cannot be found or has been corrupted.
Action:	Open the property palette for the button in question and verify the existence, format, and path information for the specified source file.


REP-3086Bad multimedia source file.
REP-3086:  Bad multimedia source file.

Cause:	You activated the button in the Previewer, but the source for the button's intended action (whether sound, image, or video) has been corrupted.
Action:	Open the property palette for the button in question and verify the existence, format, and path information for the specified source file.  If it is correct, check the file itself.


REP-3087ImageViewer not supported on this configuration.
REP-3087:  ImageViewer not supported on this configuration.

Cause:	Your platform and/or configuration will not support displaying images via the ImageViewer.
Action:	No action is necessary.


REP-3088Sound not supported on this configuration.
REP-3088:  Sound not supported on this configuration.

Cause:	Your platform and/or configuration will not support playback of sound files.
Action:	No action is necessary.


REP-3089Video not supported on this configuration.
REP-3089:  Video not supported on this configuration.

Cause:	Your platform and/or configuration will not support playback of video files.
Action:	No action is necessary.


REP-3100Matrix must include at least 1 Down and 1 Across repeating frame.
REP-3100:  Matrix must include at least 1 Down and 1 Across repeating frame.

Cause:	You tried to create a matrix (using Tools [image] Create Matrix) without the proper objects selected in the Layout Model editor.  A matrix layout requires that at least one group have a repeat direction of Down and one have a repeat direction of Across.
Action:	Select two repeating frames--one Down, one Across--that overlap, then choose Arrange [image] Create Matrix.


REP-3101All selected Down and Across repeating frames must be nested.
REP-3101:  All selected Down and Across repeating frames must be nested.

Cause:	You tried to create a matrix (using Arrange [image] Create Matrix) and the Down and Across repeating frames were not properly overlapping and nested.
Action:	Make sure the selected Down and Across repeating frames are properly overlapping and nested before creating the matrix.


REP-3102Anchors, matrices, and margins cannot be grouped.
REP-3102:  Anchors, matrices, and margins cannot be grouped.

Cause:	You chose Arrange [image] Group and at least one of the objects selected was an anchor, matrix, or margin.
Action:	Deselect all anchors, matrices, and margins before grouping objects.


REP-3103Only text and graphical boilerplates can be rotated.
REP-3103:  Only text and graphical boilerplates can be rotated.

Cause:	You attempted to rotate either a frame, a field, a margin, an anchor, a matrix object, a piece of link file boilerplate, a chart, an OLE2 object, or a button.  None of these can be rotated.
Action:	You can rotate any boilerplate objects except images and link file boilerplate.  Depending on your operating system, you may or may not be able to see the text of boilerplate text that is rotated.


REP-3104Anchors and matrices cannot be scaled separately from their associated objects.
REP-3104:  Anchors and matrices cannot be scaled separately from their associated objects.

Cause:	You attempted to scale one of the layout objects listed above without also scaling its associated object.  This is not allowed.
Action:	Select at least one associated object (anchoring object for anchors, repeating frames for matrices), then re-try the scaling operation.


REP-3105Chart Column must be selected for the chart Query.
REP-3105:  Chart Column must be selected for the chart Query.

Cause:	You entered a name for chart Query, but you did not select any chart Columns.  If you specify chart Query, you must also specify chart Columns.
Action:	Specify chart Columns or remove the value from chart Query.


REP-3106Warning: Chart Column selected without chart Query name. The selected chart Column will be ignored.
REP-3106:  Warning: Chart Column selected without chart Query name. The selected chart Column will be ignored.

Cause:	You selected a Source or chart Column but did not enter the name of a chart Query.
Action:	Enter the name of the chart query to which you intend to pass data.


REP-3107Object <object name> cannot be moved in front of its child <object name>. Operation disallowed.
REP-3107:  Object <object name> cannot be moved in front of its child <object name>. Operation disallowed.

Cause:	You tried to move a layout object in front of one or more of its own child objects.
Action:	If you still want to move the layout object, toggle Confine mode off, then move it.  Otherwise, no action necessary.


REP-3108Object <object name> cannot be moved behind its container <object name>. Operation disallowed.
REP-3108:  Object <object name> cannot be moved behind its container <object name>. Operation disallowed.

Cause:	You tried to move a layout object behind one or more of its own parent objects.
Action:	If you still want to move the layout object, toggle Confine mode off, then move it.  Otherwise, no action necessary.


REP-3109Warning: Alignment operation failed because of container constraints. Undo changes to revert to the original state.
REP-3109:  Warning: Alignment operation failed because of container constraints. Undo changes to revert to the original state.

Cause:	You tried to align multiple layout objects but the result of such an operation would have violated container constraints (i.e., moved a field outside of its enclosing frame).
Action:	Select Edit [image] Undo to ensure your layout is the same as before the attempted operation.  Then you can either resize or reposition the container in question to enable you to perform the operation, or do nothing.


REP-3110Warning: Same size operation failed because of container constraints. Undo changes to revert to the original state.
REP-3110:  Warning: Same size operation failed because of container constraints. Undo changes to revert to the original state.

Cause:	You tried to change one or more layout objects to the same size, but the result of such an operation would have violated container constraints (i.e., enlarged a field beyond its enclosing frame).
Action:	Select Edit [image] Undo to ensure your layout is the same as before the attempted operation.  Then, you can either resize or reposition the container in question to enable you to perform the operation, or do nothing.


REP-3111Changing the border width of <object name> violates the constraints of confined mode. Operation disallowed.
REP-3111:  Changing the border width of <object name> violates the constraints of confined mode. Operation disallowed.

Cause:	You tried to change the border width of an object such that the result would have violated container constraints (i.e., widening the border of a boilerplate object so that it extended beyond its enclosing frame).
Action:	No action necessary.


REP 3112.  Objects cannot be created in the template layout body layer.

Cause:	You tried to create an object in the layout body layer of a template.  You may only create objects in the margin, header pages, or trailer pages of a template.
Action:	No action necessary.


REP-3130Parameter form fields and images cannot be rotated.
REP-3130:  Parameter form fields and images cannot be rotated.

Cause:	You tried to rotate one of the parameter form objects listed above.  This is not allowed.
Action:	You can rotate any boilerplate objects, except images, in the Parameter Form editor.  Depending on your operating system, you may or may not be able to see the text of boilerplate text that is rotated.


REP-3131Parameter form boilerplate text cannot fit on the page.
REP-3131:  Parameter form boilerplate text cannot fit on the page.

Cause:	You entered text in the Title, Hint, Status, or Label field in the Parameter Form Builder that is too long to fit on the page.
Action:	Reduce the length of the appropriate text field.


REP-3140Program unit editor internal error. Could not get document handle.
REP-3140:  Program unit editor internal error. Could not get document handle.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3150One painter must remain open for each report.
REP-3150:  One painter must remain open for each report.

Cause:	You attempted to close all three of the editors (Data Model, Layout Model, and Parameter Form) for a report.  You must leave at least one editor open.
Action:	Leave one editor open for each report.


REP-3151Invalid width for column '<column name>' cannot be highlighted, since group '<group name>' is not selected.
REP-3151:  Invalid width for column '<column name>' cannot be highlighted, since group '<group name>' is not selected.

Cause:	An invalid value was entered for the Width of a column in the Report Wizard.  Since the group that owns the column is not selected, the column is not listed.
Action:	Select the group that owns the column.  Scroll down to the column and enter a valid value for Width.


REP-3152Link, anchor, or polygon creation must be completed in the painter before this action.
REP-3152:  Link, anchor, or polygon creation must be completed in the painter before this action.

Cause:	You tried to perform some action (e.g., close the report) before finishing the creation of a data link in the Data Model editor, an anchor in the Layout Model editor, or a polygon in the Layout Model editor or Parameter Form editor.
Action:	Complete the unfinished object before continuing.


REP-3153Insufficient resources to create window.
REP-3153:  Insufficient resources to create window.

Cause:	There were insufficient resources available to create the requested window.
Action:	Make more resources available by closing windows or other applications.


REP-3154Insufficient resources to create document.
REP-3154:  Insufficient resources to create document.

Cause:	There were insufficient resources available to create the requested module (report, external query, PL/SQL library.  You probably selected File [image] New, File [image] Open, or File [image] Revert.
Action:	Make more resources available by closing windows or other applications.


REP-3200Concurrent previewer actions not allowed.
REP-3200:  Concurrent previewer actions not allowed.

Cause:	You are attempting to activate more than one button at one time, in either the same or multiple Previewers.  For example, you may be trying to both play a sound and display a video at the same time.  This is not allowed.
Action:	Only activate one button at a time.


REP-3300:  Fatal error<additional messages>.

This is an abnormal condition. For information, see  Abnormal Conditions.

Tip 1: Make sure that your ORACLE_HOME\REPORTS60\ TMP directory has enough space to create the file and that you have write permissions for that directory.

Tip 2: Determine which printer driver your system is using. Try a different driver to see if this eliminates the problem.

Cause:	You have done a server migration and tried to run old reports through the new server.
Action:	Using the Installer, install all old Oracle Server .DLLs to your oracle_home/bin directory where Reports, Oracle Server, and Oracle Database are in the same oracle_home directory.
Cause:	You have tried to run a report requiring fonts that are not installed.
Action:	Download and install required fonts.


REP-3301Error occurred<additional messages>.
REP-3301:  Error occurred<additional messages>.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3302:  Fatal error occurred during Quit.  Exiting Report Builder.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3335Unhandled Internal CA Error.
REP-3335:  Unhandled Internal CA Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3350Unhandled Internal UI Error.
REP-3350:  Unhandled Internal UI Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3351Undefined failure in UI.
REP-3351:  Undefined failure in UI.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3352Unexpected error in UI.
REP-3352:  Unexpected error in UI.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3353Attempt to create with an attribute that is not creatable.
REP-3353:  Attempt to create with an attribute that is not creatable.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3354Attempt to set with an attribute which is not settable.
REP-3354:  Attempt to set with an attribute which is not settable.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3355Attempt to set with an attribute which is not gettable.
REP-3355:  Attempt to set with an attribute which is not gettable.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3356Attempt to set/get an unknown attributes.
REP-3356:  Attempt to set/get an unknown attributes.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3357Attempt to set attributes value which are conflicting.
REP-3357:  Attempt to set attributes value which are conflicting.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3358Attempt to set an attribute to an out of range value.
REP-3358:  Attempt to set an attribute to an out of range value.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3359This function call is out of context.
REP-3359:  This function call is out of context.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3360The view class does not support being a scrollee.
REP-3360:  The view class does not support being a scrollee.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3361This function call provokes an illegal recursion.
REP-3361:  This function call provokes an illegal recursion.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3362The internal api memory allocator failed.
REP-3362:  The internal api memory allocator failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3363The client supplied memory allocation functions failed.
REP-3363:  The client supplied memory allocation functions failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3364Attempt to use an unsupported function.
REP-3364:  Attempt to use an unsupported function.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3365An attempt to set attributes out of context.
REP-3365:  An attempt to set attributes out of context.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3366An attempt to perform an illegal operation on a root view.
REP-3366:  An attempt to perform an illegal operation on a root view.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3367One of the parameters to the functions is out of range.
REP-3367:  One of the parameters to the functions is out of range.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3368The connection to the windowing system failed.
REP-3368:  The connection to the windowing system failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3369The connection to the windowing system has been broken.
REP-3369:  The connection to the windowing system has been broken.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3370The windowing system failed.
REP-3370:  The windowing system failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3371uiER_CL_FORMAT_UNAVAILABLE
REP-3371:  uiER_CL_FORMAT_UNAVAILABLE

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3372uiER_CL_FORMAT_UNREGISTERED
REP-3372:  uiER_CL_FORMAT_UNREGISTERED

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3373Operation was timed out.
REP-3373:  Operation was timed out.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3374uiER_NOT_FOUND
REP-3374:  uiER_NOT_FOUND

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3375uiER_ILLEGAL_TOPITEM
REP-3375:  uiER_ILLEGAL_TOPITEM

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3376uiER_SE_BAD_FORMAT
REP-3376:  uiER_SE_BAD_FORMAT

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3377The view class does not support the scroller interface.
REP-3377:  The view class does not support the scroller interface.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3378Attempt to remove a readshare color from a palette.
REP-3378:  Attempt to remove a readshare color from a palette.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3379Unable to create window.
REP-3379:  Unable to create window.

Cause:	Report Builder was unable to create a window.  It could be that you have too many reports or windows open, and lack of memory resources.
Action:	Close some reports and windows.


REP-3380Unable to create view.
REP-3380:  Unable to create view.

Cause:	Report Builder was unable to create a view.  It could be that you have too many reports or windows open, and lack of memory resources.
Action:	Close some reports and windows.


REP-3381Unable to create color palette.
REP-3381:  Unable to create color palette.

Cause:	Report Builder was unable to create a color palette.  It could be that you have too many reports or windows open, and lack of memory resources.
Action:	Close some reports and windows.


REP-3400Error initializing DE.  Checking DE resources is recommended.
REP-3400:  Error initializing DE.  Checking DE resources is recommended.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3420Internal error in Report Builder.
REP-3420:  Internal error in Report Builder.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3430Unhandled Internal HH Error.
REP-3430:  Unhandled Internal HH Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3431Invalid attribute value.
REP-3431:  Invalid attribute value.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3432Invalid context.
REP-3432:  Invalid context.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3433Specified word not found.
REP-3433:  Specified word not found.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3434Link to external document.
REP-3434:  Link to external document.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3435Help session is null.
REP-3435:  Help session is null.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3436Document is not a help document.
REP-3436:  Document is not a help document.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3437Document revision is newer than help.
REP-3437:  Document revision is newer than help.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3438Specified attribute is not settable.
REP-3438:  Specified attribute is not settable.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3439Specified attribute is not gettable.
REP-3439:  Specified attribute is not gettable.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3440Invalid link.
REP-3440:  Invalid link.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3441Logical attributes missing or bad.
REP-3441:  Logical attributes missing or bad.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3442NLS language string missing or bad.
REP-3442:  NLS language string missing or bad.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3443No search string specified.
REP-3443:  No search string specified.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3444String begins with percent sign.
REP-3444:  String begins with percent sign.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3445Unknown toolkit error.
REP-3445:  Unknown toolkit error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3446Unknown object store error.
REP-3446:  Unknown object store error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3447Out of memory.
REP-3447:  Out of memory.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3448Unknown Resource manager error.
REP-3448:  Unknown Resource manager error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3480Unhandled Internal REM Error.
REP-3480:  Unhandled Internal REM Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3485Unhandled Internal VGS Error.
REP-3485:  Unhandled Internal VGS Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3500Unhandled Internal UT Error.
REP-3500:  Unhandled Internal UT Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3510Unhandled Internal ZOM Error.
REP-3510:  Unhandled Internal ZOM Error.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3600Both document nodes and non-document nodes selected. Please select only nodes from one of these types of nodes.
REP-3600:  Both document nodes and non-document nodes selected. Please select only nodes from one of these types of nodes.

Cause:	You have chosen Navigator [image] Delete but both object nodes and document nodes are selected.  You cannot close documents and delete objects in the same action.
Action:	If you wish to delete objects, deselect all document nodes.  If you wish to close documents, deselect all object nodes.  Then select Navigator [image] Delete again.


REP-3601This report style can only have one section.
REP-3601:  This report style can only have one section.

Cause:	Tabular, Form Letter and Mailing Label report styles can only have one Section each.
Action:	You must specify all overrides in the existing Section.


REP 3602.  Can not delete the minimum number of levels.

Cause:	Tabular, Form Letter, and Mailing Label report styles have one Section each.  Group above and Group left have two sections each.  Matrix and Matrix group have one section under each normal, across, down, cell.
Action:	For information, see  Abnormal Conditions.


REP-3700 Selection Observer initialization failed.
REP-3700:  Selection Observer initialization failed.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-3701 Selection Observer failed while shutting down.
REP-3701:  Selection Observer failed while shutting down.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-4001Error occurred in the OLE subsystem.
REP-4001:  Error occurred in the OLE subsystem.

Cause:	An unspecified OLE2 error occurred during initialization.  Refer to the accompanying OLE error message for more information.  Other possible causes of this error include the following:
	Case 1:	Your OLE2 server is not functioning correctly.
	Case 2:	An error occurred during installation of Report Builder and the OLE2 functionality did not install correctly.
	Case 3:	This is an abnormal condition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Refer to the OLE2 server documentation for more information.
	If Case 2:	Reinstall Report Builder.
	If Case 3:	For information, see  Abnormal Conditions.


REP-4002Error occurred while initializing OLE subsystem.
REP-4002:  Error occurred while initializing OLE subsystem.

Cause:	An error occurred during initialization of OLE2 libraries.  Refer to the accompanying OLE error message for more information.  Other possible causes of this error include the following:
	Case 1:	Your OLE2 server is not functioning correctly.
	Case 2:	An error occurred during installation of Report Builder and the OLE2 functionality did not install correctly.
	Case 3:	This is an abnormal condition.
Action:	You can take the following actions to correct this error:
	If Case 1:	Refer to the OLE2 server documentation for more information.
	If Case 2:	Reinstall Report Builder.
	If Case 3:	For information, see  Abnormal Conditions.


REP-4003Error occurred while creating OLE object.
REP-4003:  Error occurred while creating OLE object.

Cause:	You were attempting to create an OLE2 object when an OLE error occurred.
Action:	Refer to the accompanying OLE2 error message for more information.


REP-4004Error occurred while restoring OLE object.
REP-4004:  Error occurred while restoring OLE object.

Cause:	You were attempting to restore an OLE2 object when an OLE error occurred.
Action:	Refer to the accompanying OLE2 error message for more information.


REP-4005Error occurred while saving OLE object.
REP-4005:  Error occurred while saving OLE object.

Cause:	You were attempting to save an OLE2 object when an OLE error occurred.
Action:	Refer to the accompanying OLE2 error message for more information.


REP-4006Error occurred while performing Cut/Copy operation. OLE object is not placed in the clipboard.
REP-4006:  Error occurred while performing Cut/Copy operation. OLE object is not placed in the clipboard.

Cause:	You were trying to cut or copy an OLE2 object when an OLE error occurred.
Action:	Refer to the accompanying OLE2 error message for more information.


REP-4007Error occurred while pasting OLE object from clipboard.
REP-4007:  Error occurred while pasting OLE object from clipboard.

Cause:	You were trying to paste an OLE2 object from the clipboard when an OLE error occurred.
Action:	Refer to the accompanying OLE2 error message for more information.


REP-4008Error occurred while trying to perform operation defined by OLE object.
REP-4008:  Error occurred while trying to perform operation defined by OLE object.

Cause:	You were trying to perform an action normally supported by the OLE2 server when an OLE error occurred.
Action:	Refer to the accompanying OLE error message for more information.


REP-4009Error occurred while trying to activate OLE object.
REP-4009:  Error occurred while trying to activate OLE object.

Cause:	You were trying to activate an OLE2 object (e.g., double-click on it in the Previewer) when an OLE error occurred.
Action:	Refer to the accompanying OLE2 error message for more information.


REP-4020Conversion of OLE object to a different type failed.
REP-4020:  Conversion of OLE object to a different type failed.

Cause:	You were trying to convert an OLE2 object contained in a piece of boilerplate to an OLE2 object of a different type when an OLE error occurred.  This indicates a problem with the OLE2 server.
Action:	Check that the object is correctly installed and reinstall, if necessary.


REP-4021Microsoft Object Linking and Embedding is not supported on this platform.
REP-4021:  Microsoft Object Linking and Embedding is not supported on this platform.

Cause:	You are running a report that was created on a platform supporting OLE2, and created with OLE2 objects, but you are now running it on a platform that does not support OLE2.   You are trying to access the visual representation of what was once an OLE2 object.
Action:	No action is necessary.  Remove the object if desired.


REP-4022Wrong version of OLE libraries. OLE functionality will be disabled.
REP-4022:  Wrong version of OLE libraries. OLE functionality will be disabled.

Cause:	The OLE2 libraries installed on your machine are incompatible with those supported by your version of Report Builder.  As Report Builder cannot guarantee that your OLE2 support will function, it is disabling OLE2 functionality.
Action:	Install the correct libraries.


REP-4023There is insufficient memory available to complete operation.
REP-4023:  There is insufficient memory available to complete operation.

Cause:	There is not sufficient memory remaining on your system to perform the desired action.
Action:	Exit any unnecessary applications that are running.  If that does not work, see your Microsoft documentation for suggested procedures to enhance memory usage.


REP-4024DOS SHARE services required for successful operation. SHARE is not running.
REP-4024:  DOS SHARE services required for successful operation. SHARE is not running.

Cause:	The DOS SHARE utility is required, but SHARE is not running.
Action:	Make sure SHARE is running


REP-4025Read failure.
REP-4025:  Read failure.

Cause:	Data cannot be read from the specified device.
Action:	Check the device to determine if it is malfunctioning, and, if so, consult the device documentation to determine the proper error recovery procedures.


REP-4026Write failure.
REP-4026:  Write failure.

Cause:	Data cannot be written to the specified device.
Action:	Check the device to determine if it is read-only.  If not, consult the device documentation to determine the proper error recovery procedures.


REP-4027Too many files opened. There are insufficient resources to open another file.
REP-4027:  Too many files opened. There are insufficient resources to open another file.

Cause:	You are attempting to open more files than are supported by Windows.
Action:	Close some applications.  Also, check your config.sys file and ensure that FILES is not set below 20.  Note:  Remember that OLE2 boilerplate objects reserve either two or three file handles per object and so you may have more files open than you are aware.


REP-4028No space left on device.
REP-4028:  No space left on device.

Cause:	The specified device is full.
Action:	Delete unnecessary data or write to a different device.


REP-4029Failed to obtain presentation of the OLE object. Cannot render OLE object.
REP-4029:  Failed to obtain presentation of the OLE object. Cannot render OLE object.

Cause:	You tried to display an OLE2 object in a report but the display aspects defined by the OLE2 server were unavailable.
Action:	Verify that the OLE2 object has not been corrupted and that the server is correctly installed.  Reinstall if necessary.


REP-4030Failed to restore original display aspects of the OLE object. Object content will be used.
REP-4030:  Failed to restore original display aspects of the OLE object. Object content will be used.

Cause:	You tried to display an OLE2 object in a report but the display aspects defined by the OLE2 server were corrupted or stored in the database and could not be restored.  Report Builder will display the object using the default aspect.
Action:	Verify that the OLE2 server is correctly installed.  Reinstall if necessary.


REP-4031The server application cannot be found. Make sure the application is properly installed and registered correctly.
REP-4031:  The server application cannot be found. Make sure the application is properly installed and registered correctly.

Cause:	You are attempting to access an OLE2 server via an OLE2 object, but the server is currently inaccessible.  The server may have been deleted, renamed, or manually reinstalled in a different location.
Action:	Check the installation of the server and reinstall if necessary.


REP-4032Cannot connect to the linked OLE object source. Make sure that link source has not been moved, renamed, or deleted.
REP-4032:  Cannot connect to the linked OLE object source. Make sure that link source has not been moved, renamed, or deleted.

Cause:	Report Builder is trying to connect to the specified source of the OLE2 object boilerplate but cannot.
Action:	Verify that the OLE2 object source has not been moved or deleted, and that its filename has not been changed


REP-4033Cannot connect to the linked object source, because it is across a network that is not connected to this machine.
REP-4033:  Cannot connect to the linked object source, because it is across a network that is not connected to this machine.

Cause:	You are trying to link to an OLE2 object that is stored on a device to which you do not currently have an established network connection.
Action:	Establish a connection to the proper device.


REP-4034File not found or invalid filename is used by OLE object.
REP-4034:  File not found or invalid filename is used by OLE object.

Cause:	An OLE2 object is trying to access a file that it cannot find.
Action:	Verify that the file has not been corrupted, moved, or renamed.


REP-4035A share violation has occurred while performing operation on OLE object.
REP-4035:  A share violation has occurred while performing operation on OLE object.

Cause:	Possible causes:  you are trying to link to the same file via multiple OLE2 objects, or trying to access the same temporary file via different applications.
Action:	Make sure that you do not have multiple OLE2 objects attempting to access the same file at the same time.  Also, check the installation of your OLE2 server.


REP-4036Access denied while performing operation on OLE object.
REP-4036:  Access denied while performing operation on OLE object.

Cause:	You are trying to update an OLE2 object to which you do not have write access.
Action:	Obtain the proper permissions to the file before trying to update it.


REP-4037File operation on OLE object failed because disk is write-protected.
REP-4037:  File operation on OLE object failed because disk is write-protected.

Cause:	You tried to save to file an OLE2 object but could not because the disk is write-protected.
Action:	Save the object to a disk for which you have write privileges, if possible.  If not, no action is necessary.


REP-4038Unexpected error occurred in the file system while performing operation on OLE object.
REP-4038:  Unexpected error occurred in the file system while performing operation on OLE object.

Cause:	A non-specific file error such as a corruption of the hard disk occurred.
Action:	Refer to your operating system documentation more information.


REP-4039Unexpected error returned by OLE.
REP-4039:  Unexpected error returned by OLE.

Cause:	A non-specific OLE error occurred.
Action:	Refer to your Microsoft documentation for more information.


REP-4040Incorrect or corrupted OLE object persistent data. OLE object cannot be restored from this data.
REP-4040:  Incorrect or corrupted OLE object persistent data. OLE object cannot be restored from this data.

Cause:	The information used by the OLE server to restore the OLE2 object in your report is incorrect or has been corrupted.  Possible causes for this error include:
	Case 1:	If boilerplate, the file has become corrupted.
	Case 2:	If field, either the database has been corrupted, or the LONG RAW column referenced does not contain OLE2 objects.
Action:	You can take the following actions to correct this error:
	If Case 1:	Verify that the object is viable by embedding it in a container using another application.
	If Case 2:	Use SQLPlus to check the table in the database and verify the contents of the column.


REP-4041No operations defined on this object or object is static.
REP-4041:  No operations defined on this object or object is static.

Cause:	You tried to take some action on an OLE2 object but no actions have been defined as applying to the object.  Possibly the object was converted to a static bitmap.
Action:	No action necessary.


REP-4042Requested action on OLE object is valid, but cannot be performed at this moment. Object server may be busy.
REP-4042:  Requested action on OLE object is valid, but cannot be performed at this moment. Object server may be busy.

Cause:	You tried to take a valid action on an OLE2 object but cannot, due to lack of server resources.  A possible cause is that you are trying to open a second instance of a single-instance application.
Action:	Check system resources (memory, etc.) and increase where possible, or try the operation later.


REP-4043Operation requested on object is invalid and cannot be performed. Make sure the application is properly installed.
REP-4043:  Operation requested on object is invalid and cannot be performed. Make sure the application is properly installed.

Cause:	The action you tried to take on an OLE2 object is not recognized as valid.
Action:	Make sure the proper version of the OLE server is correctly installed.  Re-install if necessary.


REP-4044Cannot access system registry. Make sure you have enough free system resources and registry is not corrupted.
REP-4044:  Cannot access system registry. Make sure you have enough free system resources and registry is not corrupted.

Cause:	A read or write operation in the system registry failed.
Action:	Consult your Microsoft documentation.


REP-4045Problem occurred in the system registry. Make sure the object server is properly installed.
REP-4045:  Problem occurred in the system registry. Make sure the object server is properly installed.

Cause:	Some information about the server is missing from the registry.
Action:	Make sure the OLE server is installed correctly.  Re-install if necessary.


REP-4200Error occurred in the Mail subsystem.
REP-4200:  Error occurred in the Mail subsystem.

Cause:	An unspecified error occurred during one of the mail operations.  Refer to the accompanying error message for more information.  Other possible causes of this error include the following:
	Case 1:	MAPI is not properly installed.
	Case 2:	Your Windows mail service provider is not properly installed.
Action:	You can take the following actions to correct this error:
	If Case 1:	If you have other applications using MAPI, check to see if they are functioning properly.  If not, try reinstalling MAPI.
	If Case 2:	Make sure that your Windows mail service provider is installed, and you have an account on the system.  If you need assistance, ask your Mail administrator.


REP-4201Error occurred while initializing the Mail subsystem.
REP-4201:  Error occurred while initializing the Mail subsystem.

Cause:	Report Builder tried to initialize MAPI, and could not. Refer to the accompanying error message for more information. Other possible causes of this error include the following:
	Case 1:	MAPI is not installed, the MAPI DLL is out of date, or the Mail entry in your WIN.INI file or system registry points to the wrong location.
	Case 2:	There is not enough memory available to perform the operation.
	Case 3:	While logging on, you entered an invalid service profile name, username, or password.
Action:	You can take the following actions to correct this error:
	If Case 1:	Reinstall MAPI, or correct the Mail entry in your WIN.INI file or system registry.
	If Case 2:	Exit any unnecessary applications that are running.  If that does not work, see your Microsoft documentation for suggested procedures to enhance memory usage.
	If Case 3:	Make sure your logon information is correct, and try again.  If that does not work, confirm your account information with your Mail administrator.


REP-4202Error occurred while logging on to the Mail subsystem.
REP-4202:  Error occurred while logging on to the Mail subsystem.

Cause:	You attempted to log on to the Mail subsystem and an error occurred. Refer to the accompanying error message for more information. Other possible causes of this error include the following:
	Case 1:	You entered an invalid service profile name, username, or password.
	Case 2:	There is not enough memory available.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure your logon information is correct, and try again.  If that does not work, confirm your account information with your Mail administrator.
	If Case 2:	Exit any unnecessary applications that are running.  If that does not work, see your Microsoft documentation for suggested procedures to enhance memory usage.


REP-4203Error occurred while sending a mail message.
REP-4203:  Error occurred while sending a mail message.

Cause:	An error occurred while you were composing or sending a mail message. Refer to the accompanying error message for more information. Other possible causes of this error include the following:
	Case 1:	There is not enough free space on your disk.
	Case 2:	There is not enough memory available.
Action:	You can take the following actions to correct this error:
	If Case 1:	Free up some space on your disk.
	If Case 2:	Exit any unnecessary applications that are running.  If that does not work, see your Microsoft documentation for suggested procedures to enhance memory usage.


REP-4204Error occurred while trying to validate recipient's name/address.
REP-4204:  Error occurred while trying to validate recipient’s name/address.

Cause:	Report Builder tried to validate the destination mail address, and an error occurred.
Action:	Confirm that the recipient has a valid mail account, or  ask your Mail administrator for assistance.  Refer to the accompanying error message for more information.


REP-4220There is a problem with the Mail subsystem.
REP-4220:  There is a problem with the Mail subsystem.

Cause:	An unspecified error occurred during one of the mail operations.
Action:	Try to free up some disk space or exit any unnecessary applications that are running.  If you have other applications using MAPI, check to see if they are functioning properly.  If not, try reinstalling MAPI.


REP-4221Cannot access attachment file.
REP-4221:  Cannot access attachment file.

Cause:	An error occurred while trying to access the attachment file.  Possible causes of this error include the following:
	Case 1:	The attachment file was not found.
	Case 2:	The attachment file could not be opened, or there was an error reading or writing it.
Action:	You can take the following actions to correct this error:
	If Case 1:	Exit any unnecessary applications that are running.  If that does not work, see your Microsoft documentation for suggested procedures to enhance memory usage.
	If Case 2:	Free up some space on your disk.


REP-4222There is insufficient memory to complete the operation.
REP-4222:  There is insufficient memory to complete the operation.

Cause:	The mail operation cannot be completed, because there is not enough memory available.
Action:	Exit any unnecessary applications that are running.  If that does not work, see your Microsoft documentation for suggested procedures to enhance memory usage.


REP-4223No space left on device,
REP-4223:  No space left on device.

Cause:	The mail operation cannot be completed because there is not enough free space available on your disk.
Action:	Free up some space on your disk.


REP-4224Incorrect user name, password, or service profile name.
REP-4224:  Incorrect user name, password, or service profile name.

Cause:	The logon information you entered is invalid.
Action:	Make sure your logon information is correct, and try again.  If that does not work, confirm your account information with your Mail administrator.


REP-4225The operation cannot be completed because user is not logged on.
REP-4225:  The operation cannot be completed because user is not logged on.

Cause:	The mail operation could not be completed.
Action:	Log on to the Mail subsystem, and try again.


REP-4226Password is required.
REP-4226:  Password is required.

Cause:	You attempted to log on to the Mail subsystem without specifying a password.
Action:	Specify a valid password, and try again.  If that does not work, contact your Mail administrator.


REP-4227Invalid service configuration.
REP-4227:  Invalid service configuration.

Cause:	The Mail subsystem is incorrectly configured.
Action:	Contact your Mail administrator.


REP-4228:  MAPI does not support the service requested by Report Builder.

Cause:	The given implementation of MAPI has limited functionality.
Action:	You may need to upgrade your Windows mail service provider.  Contact your Mail administrator.


REP-4229The character set requested is not supported.
REP-4229:  The character set requested is not supported.

Cause:	Your default character set is not supported by MAPI.
Action:	Contact your Mail administrator.


REP-4230The size of the text string passed is too large.
REP-4230:  The size of the text string passed is too large.

Cause:	You passed a text string that is too large for the given implementation of MAPI.
Action:	Shorten the string, and try again.


REP-4232Too many files opened.
REP-4232:  Too many files opened.

Cause:	The given implementation of MAPI does not support the number of files open.
Action:	Close all unnecessary documents.


REP-05000:  The notification template file is not set for successful jobs.

Cause:	There is no SUCCNOTEFILE parameter in the Reports Server configuration file for the notification template file for successful job notification.
Action:	Add the SUCCNOTEFILE parameter to the Reports Server configuration file pointing it to the notification template file for successful jobs. See your system administrator for more information.


REP-05001:  The notification template file is not set for failed jobs.

Cause:	There is no FAILNOTEFILE parameter in the Reports Server configuration file for the notification template file for failed job notification.
Action:	Add the FAILNOTEFILE parameter to the Reports Server configuration file pointing it to the notification template file for failed jobs.  See your system administrator for more information.


REP-05002:  Cannot find notification template file.

Cause:	The file specified by SUCCNOTEFILE or FAILNOTEFILE in the Reports Server configuration file does not exist.
Action:	Ensure that the SUCCNOTEFILE or FAILNOTEFILE points to a valid notification template file name.  See your system administrator for more information.  See your system administrator for more information.


REP-05003: Cannot open notification template file.

Cause:	The notification template file specified by SUCCNOTEFILE or FAILNOTEFILE in the Reports Server configuration file cannot be opened.
Action:	Ensure that the SUCCNOTEFILE or FAILNOTEFILE points to a valid notification template file name.  Ensure that the notification template file is readable.  See your system administrator for more information.


REP-05004:  Cannot read notification template file.

Cause:	The notification template file specified by SUCCNOTEFILE or FAILNOTEFILE in the Reports Server configuration file cannot be read.
Action:	Ensure that the SUCCNOTEFILE or FAILNOTEFILE points to a valid notification template file name.  Ensure that the notification template file is readable.  See your system administrator for more information.


REP-06000:  Could not create a query for the Express Query dialog.

Cause:	The query is so large that it is requiring too much memory.
Action:	Simplify the query.


REP-06001:  Failed to invoke the Express Query Dialog.

Cause:	The query is so large that it is requiring too much memory.
Action:	Simplify the query.


REP-06002:  Insufficient memory to complete the operation.

Cause:	The machine has run out of memory.
Action:	Increase the amount of memory by closing applications. A longer term solution is to increase the size of the swap file or to install more memory in the machine.


REP-06003:  Failed to start an Express server session.

Cause:	Express Server is not running or SNAPI is not installed.
Action:	Start Express Server if it is not running and ensure that SNAPI is installed. Contact the Express Server database administrator for assistance.


REP-06004:  Failed to connect to the Express server.

Cause:	Express Server is not running, the system is out of memory, or SNAPI is not installed or is working incorrectly.
Action:	Start Express Server if it is not running. Increase the amount of memory by closing applications. A longer term solution is to increase the size of the swap file or to install more memory in the machine. Ensure that SNAPI is installed. Contact the Express Server database administrator for assistance.


REP-06005:  The Express Query Dialog failed to initialize based on the supplied SNAPI handle.

Cause:	An internal error occurred.
Action:	Restart the product and resubmit the query.


REP-06006:  Express initialization file XPDATA.INI does not exist.

Cause:	XPDATA.INI could not be found.
Action:	Ensure that the XPDATA.INI exists and that the path is correct.


REP-06007:  Express connection file (XCF) entry not found in [Install] section of Express initialization file XPDATA.INI.

Cause:	An entry is missing from XPDATA.INI
Action:	Add an XCF entry to the XPDATA.INI file, or replace the .INI file with a valid XPDATA.INI.


REP-06008:  ORACLE_HOME not found.

Cause:	The ORACLE_HOME directory could not be found.
Action:	Ensure that your ORACLE_HOME setting is correct. See your Express Server installation instructions for information


REP-06009:  Oracle SNAPI (OSN) entry not found in [Install] section of Express initialization file XPDATA.INI.

Cause:	An entry is missing from XPDATA.INI.
Action:	Add an OSN entry to XPDATA.INI, or replace the .INI file with a valid XPDATA.INI.


REP-06010:  The Express server description can not be found in any Express connection files (XCFs).

Cause:	The XCF files are missing some information.
Action:	Check or recreate the e XCF files.


REP-06011:  The size of generated SQL select statement is greater than 64K.

Cause:	The SQL statement is too large.
Action:	Modify your query to reduce the size of the SQL statement.


REP-06012:  Failed to remove the temporary Express query.

Cause:	A temporary query cannot be removed.
Action:	Disconnect from Express, reconnect, and resubmit or re-create the query


REP-06013:  Failed to run a query. The Express Query Dialog was invoked with a set of measures/dimensions from a previous query.

Cause:	The measures or dimensions are not valid or the query is corrupted.
Action:	Verify that the database is available and re-examine the measures and dimensions in the query.


REP-06014:  Backend XPFetch[N]() called with an undefined report id.

Cause:	An internal error occurred.
Action:	Restart the product and resubmit the query.


REP-06015:  Backend XPPrepare() invoked with a duplicate report id.

Cause:	An internal error occurred.
Action:	Restart the product and resubmit the query.


REP-06016:  Error trying to get the next data cell from SNAPI.

Cause:	An internal error occurred.
Action:	Restart the product and resubmit the query.


REP-06017:  The saved query contains incorrect or missing information.

Cause:	The query is not valid.
Action:	Respecify the query.


REP-06018:  Failed to attach the internal Express system databases.

Cause:	The Express system databases cannot be attached.
Action:	Verify that Express Server is running, that the system databases are in place, and that the ExpressServerDBPath setting is correct.


REP-06019:  Failed to attach the Express database specified in the saved query.

Cause:	The Express system databases cannot be attached.
Action:	Verify that Express Server is running, that the database is in place, and that the ExpressServerDBPath setting is correct.


REP-06020:  Failed to parse the Express Query.

Cause:	The Select statement is damaged.
Action:	Respecify the query.


REP-06021:  Oracle Express support not installed.

Cause:	The support files for running with Express are not installed.
Action:	Install the Express support files. See your installation documentation for information.


REP-06022:  Failed to start the Express Server.

Cause:	Express Server is not running.
Action:	Start Express Server if it is not running. Contact the Express Server database administrator for assistance.


REP-06023:  Unexpected end of line while parsing the Express query.

Cause:	An Express error has occurred.
Action:	Check the Express query for a missing backslash at the end of the line.


REP-06024:  Express execute failed.

Cause:	An Express error has occurred.
Action:	Start Express Server if it is not running. Contact the Express Server database administrator for assistance.


REP-06025:  Express fetch failed.

Cause:	An Express error has occurred.
Action:	Start Express Server if it is not running. Contact the Express Server database administrator for assistance.


REP-06026:  Duplicate Report ID detected.

Cause:	An internal error occurred.
Action:	Restart the product and resubmit the query.


REP-06027:  Undefined Report ID detected.

Cause:	An internal error occurred.
Action:	Restart the product and resubmit the query.


REP-06028:  Unknown Express support back-end error.

Cause:	An Express error has occurred.
Action:	Start Express Server if it is not running. Contact the Express Server database administrator for assistance.


REP-6029:  Express error

Cause:	An Express error has occurred.
Action:	See your Express documentation for more information.


REP-6030: Missing or invalid xconnect.ini.

Cause:	This is probably due to missing xconnect.ini.  If the xconnect.ini has an invalid [General] section, this error will also be raised.
Action:	Check in Oracle_Home/olap/ecf620 for xconnect.ini. Make sure xconnect.ini has a [General] section.


REP-6101: Failed to start the Java Virtual Machine. Please check the Java Runtime Environment setup.

Cause:	This is usually caused by incorrect value of REPORTS60_CLASSPATH environment variable or invalid setup of Java Runtime Environment.
Action:	Please verify the installation of Java Runtime Environment. Please make sure that REPORTS60_CLASSPATH environment variable contains valid specification of either classes.zip or rt.jar depending on your platform. If necessary, reinstall Reports Runtime or Report Builder to refresh the Java Runtime Environment and REPORTS60_CLASSPATH environment variable setup.


REP-6102: Failed to start the XML parser.

Cause:	Could not start Oracle XML parser due to incorrect setup. This is usually caused by incorrect value of REPORTS60_CLASSPATH
Action:	Please make sure REPORTS60_CLASSPATH contains a valid specification of the Oracle XML parser and the product's .jar files. If necessary, reinstall Reports Runtime or Report Builder to refresh the REPORTS60_CLASSPATH environment variable setup.


REP-6103: Error with the Java Runtime Environment setup.

Cause:	Incorrect or missing setup of Java Runtime Environment.
Action:	Please reinstall Reports Runtime or Report Builder.


REP-6104: Invalid XML report definition.

Cause:	Invalid or missing XML report definition.
Action:	Please specify a valid XML report definition or correct the problem indicated in the report definition.


REP-6106: Error in the XML report definition at line <line number> in <url>

Cause:	There is a problem with the specified XML report definition at the line number.
Action:	lease correct the reported error for the XML report definition at the specified line number.


REP 16500.  This program can only be invoked as a CGI executable.
REP-16500.  This program can only be invoked as a CGI executable.

Cause:	Web CGI executable was invoked outside Web Server context.
Action:	CGI executable must be invoked by a web server to work properly.


REP 16501.  Reports Web Agent key map file not set up properly.
REP-16501.  Reports Web Agent key map file not set up properly.

Cause:	Key map file cannot be found at location specified.
Action:	Check file location.


REP 16504:  Cannot initialize message subsytem.  Make sure message file installed properly.

Cause:	Message file cannot be found/opened..
Action:	Check your installation.


REP 16505.  General error during initialization.  Check your installation.
REP-16505.  General error during initialization.  Check your installation.

Cause:	General error.
Action:	Check your installation and availability of system resources.


REP 16506.  Your URL contains badly-formed escapes.
REP-16506.  Your URL contains badly-formed escapes.

Cause:	Submitted URL is badly formed.
Action:	See URL rules in Web Agent documentation.


REP 16507.  Key is unrecognized.
REP-16507.  Key is unrecognized.

Cause:	Key map configuration is active, but specified key in the URL is unrecognized - cannot build command line.
Action:	Check your key value and keymap file setup/contents.


REP 16508.  Key \"%s\" is unrecognized.  Possible causes:  bad URL syntax; key in URL was not found in the key map file.
REP-16508.  Key \"%s\" is unrecognized.  Possible causes:  bad URL syntax; key in URL was not found in the key map file.

Cause:	Key map configuration is active, but specified key in the URL is unrecognized - cannot build command line.
Action:	Check your key value and keymap file setup/contents.


REP 16509.  Syntax errors in key map file.  Please check a definition of submitted key.
REP-16509.  Syntax errors in key map file.  Please check a definition of submitted key.

Cause:	Syntax errors in the key map file.
Action:	Check key map file contents (see Web Agent documentation for rules).


REP 16510.  Incorrect usage.
REP-16510.  Incorrect usage.

Cause:	Generic error for non-verbose run.
Action:	Enable verbocity and check the real message.


REP 16511.  Your URL contains too many parameters.
REP-16511.  Your URL contains too many parameters.

Cause:	URL contains too many parameters (too long).
Action:	Use shorter URL and/or key map file to shorten URL.


REP 16512.  Out of memory.
REP-16512.  Out of memory.

Cause:	Not enough memory.
Action:	Make sure enough system resources are available.


REP 16513.  Unable to communicate with the Reports Server.
REP-16513.  Unable to communicate with the Reports Server.

Cause:	Reports Server is not answering.
Action:	Make sure Reports Server is up and TNSNAMES.ORA network setup has a correct entry for it.


REP 16514.  Unable to run the report.
REP-16514.  Unable to run the report.

Cause:	Generic error for report run failure.
Action:	See detailed error message from Reports Server, along with this error message.


REP 16515.  Cannot access the report output.
REP-16515.  Cannot access the report output.

Cause:	Web Agent cannot access Report Server run output.
Action:	Check your Web AGent setup (especially WEBLOC variable).


REP 16516.  The Reports Server is being shut down.
REP-16516.  The Reports Server is being shut down.

Cause:	Warning - Reports Server is going down.
Action:	Try again later.


REP 16517.  ReportJob was cancelled upon user request.
REP-16517.  ReportJob was canceled upon user request.

Cause:	Job was canceled by you or the Reports Server administrator.
Action:	Try again if necessary.


REP 16518.  The Reports Server Engine terminated abnormally.
REP-16518.  The Reports Server Engine terminated abnormally.

Cause:	Reports Server Engine had a problem with your report.
Action:	Contact Reports Server Administrator.


REP 16519.  Report Job has terminated with error.
REP-16519.  Report Job has terminated with error.

Cause:	Generic error message for report run error.
Action:	See the associated detailed message.


REP 16520.  Error occurred while queuing job to the Reports Server.
REP-16520.  Error occurred while queuing job to the Reports Server.

Cause:	Error occurred while queuing job to the Reports Server.
Action:	Try again later.


REP 16521.  Error occurred while parsing the Reports Server command line.
REP-16521.  Error occurred while parsing the Reports Server command line.

Cause:	Error occurred while attempting to run report and process command line.
Action:	Contact the Reports Server Administrator.


REP 16522.  Reports Server name is not specified.
REP-16522.  Reports Server name is not specified.

Cause:	Error occurred while attempting to run report and process command line
Action:	Contact the Reports Server Administrator.


REP 16523.  Report name is not specified.
REP-16523.  Report name is not specified.

Cause:	Error occurred while attempting to run report and process command line.
Action:	Contact the Reports Server Administrator.  Check cmdline for report name.


REP 16524.  Database logon is not specified.
REP-16524.  Database logon is not specified.

Cause:	Error occurred while attempting to run report and process command line.
Action:	Contact the Reports Server Administrator.  Check cmdline for database logon.


REP 16525.  Unable to interpret scheduling command.
REP-16525.  Unable to interpret scheduling command.

Cause:	Error occurred while attempting to run report and process command line.
Action:	Contact the Reports Server Administrator.  Check SCHEDULE parameter.


REP 16526.  Unable to interpret time tolerance.
REP-16526.  Unable to interpret time tolerance.

Cause:	Error occurred while attempting to run report and process command line.
Action:	Contact the Reports Server Administrator. Check TOLERANCE parameter.


REP 16527.  Parameter form type is invalid.
REP-16527.  Parameter form type is invalid.

Cause:	Error occurred while attempting to run report and process command line.
Action:	Contact the Reports Server Administrator. Check PARAMFORM parameter.


REP 16528.  Error occurred while communicating with the Reports Server.
REP-16528.  Error occurred while communicating with the Reports Server.

Cause:	Communication problem.
Action:	Try again later.


REP 16529.  Cannot Kill the Job :
REP-16529.  Cannot Kill the Job :

Cause:	Generic message for kill job.
Action:	Examine the reason why.


REP 16530.  Invalid Job ID.
REP-16530.  Invalid Job ID.

Cause:	Invalid ID of Reports Server job to perform action on.
Action:	Make sure ID is valid.


REP 16531.  Job is already finished.
REP-16531.  Job is already finished.

Cause:	Invalid ID of Reports Server job to perform action on
Action:	Make sure ID is valid.


REP 16532.  Job is not done yet.  Try again later.
REP-16532.  Job is not done yet.  Try again later.

Cause:	Invalid ID of Reports Server job to perform action on.
Action:	Make sure ID is valid.


REP 16533Not enough privileges to perform requested action.
REP-16533.  Not enough privileges to perform requested action.

Cause:	Invalid ID of Reports Server job to perform action on.
Action:	Make sure ID is in proper and you have enough privileges.


REP 16534.  Cannot access the report output.  Check your setup (REPORTS 60_WEBLOC)
REP-16534.  Cannot access the report output.  Check your setup (REPORTS 60_WEBLOC)

Cause:	Output directory is not accessible.
Action:	Check directory specifications.


REP 16535.  or Reports60_WEBLOC_TRANSLATED environment is probably invalid.)
REP-16535:  or REPORTS60_WEBLOC_TRANSLATED environment is probably invalid.)

Cause:	Output directory is not accessible.
Action:	Check directory specifications.


REP 16537.  (REPORTS60_WEBLOC_TRANSLATED environment probably points to the same location as Reports Server cache.)
REP-16537:  (REPORTS60_WEBLOC_TRANSLATED environment probably points to the same location as Reports Server cache.)

Cause:	Output of returned name already exists in the web directory.
Action:	Check your Web Agent setup.


REP 16538.  Report output was successfully printed out.
REP-16538:  Report output was successfully printed out.

Cause:	Successful run of report to printer.
Action:	None.


REP 16539 Report output was successfully mailed.
REP-16539:  Report output was successfully mailed.

Cause:	Successful run of report to mail.
Action:	None.


REP 16540 Report output was successfully written to requested destination.
REP-16540:  Report output was successfully written to requested destination.

Cause:	Successful run of report to requested destype..
Action:	None.


REP-16541 Need to Logon before running the report.
REP-16541:  "Need to Logon before running the report."

Cause:	You did not log in before running the report.
Action:	Log in before running the report.


REP-16542 Report output was successfully written to InterOffice repository.
REP-16542:  Report output was successfully written to InterOffice repository."

Cause:	The report ran successfully to the InterOffice repository.
Action:	None.


REP-16543 REPORTS60_PHYSICAL_MAP and REPORTS60_SHARED_CACHE environment is probably invalid.
REP-16543:  REPORTS60_PHYSICAL_MAP and REPORTS60_SHARED_CACHE environment is probably invalid."

Cause:	The output directory is not accessible.
Action:	Check the directory specification.


REP-20091 Do you wish to save the current module before disconnecting from the database?
REP-20091:  Do you wish to save the current module before disconnecting from the database?

Cause:	You have an open module that is stored in the database.  If you disconnect from the database, you will not be able to save your changes to the database.
Action:	Select Yes to save the module before disconnecting from the database; the module remains open so you can reconnect if desired and save it to the database again.  Select No to disconnect from the database without saving the module; the module remains open.  Select Cancel to remain connected to the database without saving; once again, the module remains open.


REP-20099 Printer changed while previewing. Printer font remapping could cause truncation. Continue with printing?
REP-20099:  Printer changed while previewing. Printer font remapping could cause truncation. Continue with printing?

Cause:	In the time between running the report and selecting Print from the Previewer  your default printer has changed.
Action:	Select Yes to print anyway.  Select No to halt printing, then close your report and either reset your printer and run your report again, or simply run it again to format it for the current printer.


REP-20128Warning:  Report was not run with DESTYPE=PREVIEW. Screen font remapping could cause truncation. Continue with printing?
REP-20128:  Warning:  Report was not run with DESTYPE=PREVIEW. Screen font remapping could cause truncation. Continue with printing?

Cause:	You selected Print from the Previewer, but specified Screen instead of Preview, which formats your report as though using printer fonts and provides a more accurate view of your report's printed output.
Action:	Select Yes to print anyway.  Select No to halt printing.  Then close your report and run it again while specifying Preview to format it for the printer.


REP-20129Warning:  Opening a report saved with a newer version of Report Builder. Functionality may be lost. Continue?

Cause:	You tried to open a report with a version of Report Builder older than the version used to create the report.  If the report uses functionality unavailable in the older version, that functionality will be eliminated from the report.
Action:	If you are concerned about losing functionality, do not open the report until you have upgraded to the most recent version of Report Builder.


REP-20135You cannot run without a layout.  Would you like to create a default layout?
REP-20135:  You cannot run without a layout.  Would you like to create a default layout?

Cause:	You attempted to run your report after creating a data model but before creating a layout.
Action:	Create a layout, then run your report.


REP-20136The region you have chosen for your default layout is too small.  Extend region to page boundaries?
REP-20136:  The region you have chosen for your default layout is too small.  Extend region to page boundaries?

Cause:	You used the Additional Default Layout tool from the Tool palette to draw a region for a layout that was not large enough to accommodate the settings specified in the Report Wizard.
Action:	Either select Yes to have Report Builder extend the possible range of the layout to the boundaries of a report page, or select No and change the settings in the Report Wizard to shrink the size of the layout.


REP-20138Report Builder tables may not be installed in the database.
REP-20138:  Report Builder tables may not be installed in the database.

Cause:	Report Builder was not able to access its tables in the database.
Action:	Inform your database administrator that Report Builder tables were not successfully installed in the database.


REP-20139New parameter form layout will not fit its current size. Increase the number of pages to fit?
REP-20139:  New parameter form layout will not fit its current size. Increase the number of pages to fit?

Cause:	The new parameter form is too big to fit on the number of pages specified for the parameter form in the Report Properties dialog.
Action:	Either select Yes to have Report Builder increase the number of pages in the parameter form, or select No and change the settings in the Report Properties dialog to enlarge the parameter form.


REP-20140Warning: This will delete the frame and all the objects it encloses.  Continue?.
REP-20140:  Warning: This will delete the frame and all the objects it encloses.  Continue?


REP-20141Warning: This will destroy the entire matrix.  Continue?
REP-20141:  Warning: This will destroy the entire matrix.  Continue?


REP-20142Warning: The mode of the report has changed to CHARACTER. The report will run in a separate window.
REP-20142:  Warning: The mode of the report has changed to CHARACTER. The report will run in a separate window.


REP-20143Warning:  some objects may be moved off the page, potentially leading to a report that cannot be formatted.
REP-20143:  Warning: some objects may be moved off the page, potentially leading to a report that cannot be formatted.


REP-20144:  Opening a report saved with a newer version of Report Builder.  Functionality may be lost.

Cause:	You tried to open a report with a version of Report Builder older than the version used to create the report.  If the report uses functionality unavailable in the older version, that functionality will be eliminated from the report.
Action:	If you are concerned about losing functionality, do not open the report until you have upgraded to the most recent version of Report Builder.


REP-20146:  This action may invalidate references to columns in the referenced object.

Cause:	Collapsing a Database Ref, Database Nested Table, or Database Varray column invalidates any external use of the referenced columns (e.g. in PL/SQL Program Units or in Summary Columns).
Action:	To use the referenced columns, do not collapse the Database Ref, Database Nested Table, or Database Varray columns referencing them.


REP-20147:  Cannot implement column link for this detailed SQL query.  Converting to group link.
REP-20147:  Cannot implement column link for this detail SQL query.  Converting to group link.

Cause:	Data links between any query and an object detail query are not supported .
Action:	If you click Yes, you will create a link between the parent groups of the two queries.  If you click Cancel, you will not create a link, but you can then manually create the link using SQL.in the detail query.


REP-20148:  Warning: Report will run to multiple destinations. Continue?
REP-20148:  Warning: Report will run to multiple desinations. Continue?

Cause:	The report you are running has a Distribution property defined that will send the output to more than one destination.
Action:	If you click Continue, the report will run and the output will be sent to all of the defined destinations.  If you click Cancel, the report will not run.


REP-20150Warning: Page width of report '<report name>' changed to fit the font for a character cell. Might be a consequence of font-mapping in the font aliases file.
REP-20150:  Warning: Page width of report '<report name>' changed to fit the font for a character cell. Might be a consequence of font-mapping in the font aliases file.

Cause:	A character font has been substituted for a bitmapped font in the report you opened, and the page width has been adjusted accordingly.  A possible cause: a bitmapped report is being opened in the character-mode runtime engine.
Action:	If you want the font mapped to a specific font, edit the font alias file (uifont.ali or Oracle Font Aliases, depending on your platform) to map the fonts to the desired ones.  Otherwise, no action is necessary.


REP-20151Warning: some fonts have been changed according to the mapping in the font aliases file.
REP-20151:  Warning: some fonts have been changed according to the mapping in the font aliases file.

Cause:	One or more fonts saved with the report have been mapped to different ones, due to a change in platform, display, report destination, or mode.
Action:	If you want the font mapped to a specific font, edit the font alias file (uifont.ali or Oracle Font Aliases, depending on your platform) to map the fonts to the desired ones.  Otherwise, no action is necessary.


REP-20190Quit will terminate the current report, as well as any other pending reports.
REP-20190:  Quit will terminate the current report, as well as any other pending reports.

Cause:	You have specified that you want to exit Reports Server or Reports Background Engine while one or more reports are still executing or awaiting execution.
Action:	If you want your reports to finish executing, cancel the operation.  Otherwise, accept the warning dialog.


REP-20191Cannot exit Windows when this program is running. Close the report server and exit Windows.
REP-20191:  Cannot exit Windows when this program is running. Close the Reports Background Engine and exit Windows.

Cause:	The Reports Background Engine requires Windows, but you have specified that you want to exit Windows while the Reports Background Engine is still running.
Action:	Exit the Reports Background Engine before exiting Windows.


REP-25204Conversion successful
REP-25204:  Conversion successful

Cause:	The requested conversion ran successfully.
Action:	none.


REP-25206Converting '<source name>' to '<destination name>' failed.
REP-25206:  Converting '<source name>' to '<destination name>' failed.

Cause:	The most likely cause of this error is that the source type you specified was incorrect.
Action:	Ensure that the source file is of the specified source type.


REP-25207Invalid conversion: stype and dtype are not of the same document type.
REP-25207:  Invalid conversion: stype and dtype are not of the same document type.

Cause:	You attempted to convert a document of one type to another type--i.e., you attempted to convert one of the possible report files to a PL/SQL file, or vice versa.
Action:	Ensure that the source and destination of your conversion are the same type of document.


REP-25401Cannot locate '<user exit .DLL file>'.
REP-25401:  Cannot locate '<user exit .DLL file>'.

Cause:	Your report attempted to execute a user exit, but the user exit .DLL file could not be located.  This file typically resides in:
	•	the current directory
	•	the Windows directory (typically \WINDOWS)
	•	the Windows system directory (typically \WINDOWS\SYSTEM)
	•	the directory containing the executable file for the current task
	•	the directories listed in the PATH environment variable
	•	the list of directories mapped in a network
Action:	Locate the specified .DLL file and place it in one of the directories listed above.


REP-25402Internal Error - Cannot locate '<user exit .DLL file>' within '<filename>'.
REP-25402:  Internal Error - Cannot locate '<user exit .DLL file>' within '<filename>'.

Cause:	Your report attempted to execute a user exit, but certain functions used to locate and execute user exits cannot be located in the user exit .DLL file.  This means that the user exit .DLL was built incorrectly, because these functions are located in a .OBJ file shipped with Report Builder, which should always be linked into the user exit .DLL.
Action:	Rebuild the specified user exit .DLL correctly.


REP 31681.  Warning:  Connecting to a different database may invalidate existing data model.
REP-31681:  Warning:  Connecting to a different database may invalidate existing data model.

Cause:	You can only have one connection to a database at a time.  If you proceed to connect to a different database, existing data model may not be valid afterward.
Action:	In order to keep the existing data model valid, do not reconnect to a different database unless you are sure that the queries are compatible with the new database connection.


REP-31700The report definition is incomplete, or the query does not have break groups.  Cannot run the Web Wizard.
REP-31700:  The report definition is incomplete, or the query does not have break groups.  Cannot run the Web Wizard.

Cause:	You must complete the report definition before running the Web Wizard.  To run the Web Wizard, the report definition must contain a Data Model with multiple groups and a valid Layout Model.
Action:	Create at least one query with multiple groups and default the layout using the Report Wizard.


REP-31800Image file <filename> not found.
REP-31800:  Image file <filename> not found.

Cause:	Report Builder could not locate one of its image files.  Possible causes of this error include:
	Case 1:	The image file does not exist.
	Case 2:	The image file is in the wrong place.
	Case 3:	The environment is not configured properly.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that the image file is present.
	If Case 2:	Make sure that the image file is in the proper directory.
	If Case 3:	Make sure that your environment is set correctly.  On Unix, make sure that the proper environment variable is set, and on MS Windows check the file system registry.


REP-31801Cannot find image <filename> specified in template.
REP-31801:  Cannot find image <filename> specified in template.

Cause:	Report Builder could not locate the image corresponding to the chosen template.  Possible causes of this error include:
	Case 1:	The image file does not exist.
	Case 2:	The image file is in the wrong place.
	Case 3:	The environment is not configured properly.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that the image file is present.
	If Case 2:	Make sure that the image file is in the proper directory.
	If Case 3:	Make sure that your environment is set correctly.  On Unix, make sure that the proper environment variable is set, and on MS Windows check the file system registry.


REP-31802You should enter a SQL statement on this page.
REP-31802:  You should enter a SQL statement on this page.

Cause:	In order for the Report Wizard to create your report, a valid SQL text must exist.
Action:	Enter a SQL statement.


REP-31803You need to be connected to a database in order for your SQL text to be checked.
REP-31803:  You need to be connected to a database in order for your SQL text to be checked.

Cause:	The Report Wizard requires a connection to a database in order to check your SQL text.
Action:	You can connect to a database by typing in your login string whenever the Connect dialog is shown.  You will only be prompted to connect to a database when it is required.  If you are having trouble connecting to a database confirm your logon information with your Database Administrator (DBA).


REP-31804Your SQL is OK.
REP-31804:  Your SQL is OK.

Cause:	The Report Wizard has checked your SQL text against the database and has confirmed that it will work.
Action:	No changes are needed to your SQL text.


REP-31805Break level <break level number> has no valid break columns.
REP-31805:  Break level <break level number> has no valid break columns.

Cause:	Each break level must contain at least one valid break column.  A break column cannot be a summary or placeholder column.  Nor can it have a datatype of Raw, Longraw or Long.
Action:	Provide at least one valid break column for the break level or move all columns that are currently in this break level to another level which contains a valid break column.


REP-31806You cannot designate all fields to be break fields.
REP-31806:  You cannot designate all fields to be break fields.

Cause:	You have chosen all your fields to be break fields.  Each break field you have designated groups the data of the fields that are not break fields.  Since you have no non-break fields this situation is invalid.
Action:	Designate at least one field to be a non-break field.  We suggest that you remove all break fields from your highest numbered break level (i.e., from the bottom of your list of break fields).


REP-31807Cannot find template file '<filename>'.
REP-31807:  Cannot find template file '<filename>'.

Cause:	Report Builder could not locate the template file with the given name.  Possible causes of this error include:
	Case 1:	The image file does not exist.
	Case 2:	The image file is in the wrong place.
	Case 3:	The environment is not configured properly.
Action:	You can take the following actions to correct this error:
	If Case 1:	Make sure that the image file is present.
	If Case 2:	Make sure that the image file is in the proper directory.
	If Case 3:	Make sure that your environment is set correctly.  On Unix, make sure that the proper environment variable is set, and on MS Windows check the system registry.


REP-31808You should enter a SQL statement.
REP-31808:  You should enter a SQL statement.

Cause:	You should enter a SQL statement for the Report Wizard to generate a report.
Action:	Use the Report Wizard to enter a SQL statement.


REP-31809You must choose at least one field to display.
REP-31809:  You must choose at least one field to display.

Cause:	No field has been selected to display.
Action:	Select some fields to display.


REP-31810You must choose at least one break group.
REP-31810:  You must choose at least one break group.

Cause:	The current report style needs break groups.
Action:	Create some break groups.


REP-31811You must choose at least one matrix row.
REP-31811:  You must choose at least one matrix row.

Cause:	Nothing has been selected as matrix rows.
Action:	Select some columns as matrix rows.


REP-31812You must choose at least one matrix column.
REP-31812:  You must choose at least one matrix column.

Cause:	Nothing has been selected as matrix columns.
Action:	Select one or more columns as matrix columns.


REP-31813You must choose at least one matrix cell.
REP-31813:  You must choose at least one matrix cell.

Cause:	Nothing has been selected as matrix cells.
Action:	Select one or more columns as matrix cells.


REP-31814You must choose at least one matrix break.
REP-31814:  You must choose at least one matrix break.

Cause:	Nothing has been selected as matrix breaks.
Action:	Select some columns as matrix break groups.


REP-31815You should have one field displayed per group.
REP-31815:  You should have one field displayed per group.

Cause:	Nothing has been selected as matrix breaks.  This problem is due to:
	1) You have chosen this field as a group field.
	2) You have chosen to default the group of this field, and this field is the only one which has been marked as "to be defaulted" in its group
Action:	1) If you have chosen this field as a group field, you can go to the group page to deselect this field.
	2) If you have chosen to default the group of this column, you can go to the group page to deselect that group


REP-31816You should select groups to be defaulted.
REP-31816:  You should select groups to be defaulted.

Cause:	No group has been selected to be defaulted.
Action:	Select groups to be defaulted.


REP-31817At the top of the group. Cannot move up.
REP-31817:  At the top of the group. Cannot move up.

Cause:	This column is at the top of its group.
Action:	Don't try to move this column up.


REP-31818At the bottom of the group. Cannot move down.
REP-31818:  At the bottom of the group. Cannot move down.

Cause:	This column is at the bottom of its group.
Action:	Don't try to move this column up.


REP-31819Cannot reorder report level columns here.
REP-31819:  Cannot reorder report level columns here.

Cause:	Report level columns don't have the POS attribute.
Action:	Set where to display the report level columns in the Layout Model editor.


REP-31820Selected groups have no columns in them.
REP-31820:  Selected groups have no columns in them.

Cause:	Selected groups have no columns in them. Then no report can be generated.
Action:	Select a group containing columns.


REP-31821There is no text specifiedin the text editor.
REP-31821:  There is no text specified in the text editor.

Cause:	The text for a mailing label or form letter report is empty.
Action:	Type some text in the text editor.


REP-31822You should select one group first.
REP-31822:  You should select one group first.

Cause:	No group has been selected.
Action:	Go to the group page and select one group.


REP-31823You should select one and only one group.
REP-31823:  You should select one and only one group.

Cause:	There is more than one group selected.
Action:	Select one and only one group.


REP-31824Select another group since no columns in the selected group.
REP-31824:  Select another group since no columns in the selected group.

Cause:	There are no columns in the selected group.
Action:	Select a group containing columns.


REP-31825Cancel the wizard and fix the problem in report editors.
REP-31825:  Cancel the wizard and fix the problem in report editors.

Cause:	The data model is invalid or the default region is too small.
Action:	Fix the problem in the Data Model editor or the Layout Model editor.


REP 31827.  Invalid print direction or illegal defaulting of page level summary column.
REP-31827:  Invalid print direction or illegal defaulting of page level summary column.

Cause:	The print direction against one or more groups is invalid for the requested default style, or page level summary column was selected to be defaulted (page level summaries are not supported within defaulting).
Action:	Request the user to alter the print direction against the group or the default style, or deselect all page level summaries.


REP-31950Error occurred in the Report Builder charting support.
REP-31950:  Error occurred in the Report Builder charting support.

Cause:	Error occurred initializing the Chart Wizard.
Action:	Make sure all components are installed properly.  Restart the product.


REP-31951Cannot initialize Chart Wizard.  Make sure it is properly installed.
REP-31951:  Cannot initialize Chart Wizard.  Make sure it is properly installed.

Cause:	The Chart Builder library could not be initialized.
Action:	Make sure that the Chart Builder Wizard and runtime executable are properly installed and that there are enough system resources available.


REP-31952Cannot initialize Chart Wizard.  Incorrect version of libraries.
REP-31952:  Cannot initialize Chart Wizard.  Incorrect version of libraries.

Cause:	The Chart Builder library could not be initialized.
Action:	Make sure that the Chart Builder Wizard libraries are properly installed and that there are enough system resources available.


REP-31953Error occurred in the Report Builder Chart Wizard.
REP-31953:  Error occurred in the Report Builder Chart Wizard.

Cause:	The Chart Builder library could not be initialized.
Action:	Make sure that the Chart Builder Wizard libraries are properly installed and that there are enough system resources available.


REP-31954Error occurred in the Report Builder Chart Wizard user interface.
REP-31954:  Error occurred in the Report Builder Chart Wizard user interface.

Cause:	The Chart Wizard failed to load properly.
Action:	Make sure that the Chart Builder Wizard libraries are properly installed and that there are enough system resources available.


REP-31955Error in the chart runtime executable while attempting to create a chart.
REP-31955:  Error in the chart runtime executable while attempting to create a chart.

Cause:	The Chart Builder failed to build the chart.
Action:	Make sure that the Chart Builder Wizard libraries are properly installed and that there are enough system resources available.


REP-31980Incorrect field mapping specified.  The chart will not be generated.
REP-31980:  Incorrect field mapping specified.  The chart will not be generated.

Cause:	You did not specify fields for both category and value axes in the Chart Wizard.
Action:	Reenter the Chart Wizard and specify fields for both Category and Value axes.


REP-31981Report Data Model is empty or invalid - nothing to chart. Create a data model and try again.
REP-31981:  Report Data Model is empty or invalid - nothing to chart. Create a data model and try again.

Cause:	User tried to invoke the Chart Wizard on empty report.
Action:	Create report (at least a data model) and try again.


REP-32600Unexpected error. Aborting.
REP-32600:  Unexpected error. Aborting.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32601Report already exists in NX file.
REP-32601:  Report already exists in NX file.

Cause:	You tried to overwrite an existing translation file.
Action:	Choose a different name for the translation file.


REP-32602:  Cannot initialize Report Builder system.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32603Cannot initialize VGS system.
REP-32603:  Cannot initialize VGS system.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32604Fatal error loading report '<report name>'. Check version.
REP-32604:  Fatal error loading report '<report name>'. Check version.

Cause:	The specified report cannot be loaded.
Action:	Make sure you're opening the correct version of the report.


REP-32605Cannot open report file for reading.
REP-32605:  Cannot open report file for reading.

Cause:	Report file is unreadable.
Action:	Check the read permission of the report file.


REP-32606Cannot open '<translation file>' file for reading.
REP-32606:  Cannot open '<translation file>' file for reading.

Cause:	The specified file cannot be opened.
Action:	Make sure the file exists and is readable.


REP-32607NX Tree does not exist.
REP-32607:  NX Tree does not exist.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32608Translations for that language do not exist.
REP-32608:  Translations for that language do not exist.

Cause:	The Translation Manager cannot translate into the given target language.
Action:	Make sure the target language is supported.


REP-32609: This is not a Report Builder tree.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32610Source data file ('<file name>') does not match.
REP-32610:  Source data file ('<file name>') does not match.

Cause:	The translation file you're merging into the report was not created from the selected report.
Action:	Merge the translation file into the original report.


REP-32612Cannot merge for Base language.
REP-32612:  Cannot merge for Base language.

Cause:	You are trying to merge the untranslated strings back into the original report.
Action:	Translate the strings in the translation file and try again.


REP-32613Cannot find matching VGS string in NX file.
REP-32613:  Cannot find matching VGS string in NX file.

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32614Successfully merged strings for language '<language name>'.
REP-32614:  Successfully merged strings for language '<language name>'.

Cause:	Operation was completed with no errors.
Action:	No action is necessary.


REP-32615Merge failed.
REP-32615:  Merge failed.

Cause:	The merge operation encountered errors.
Action:	Check the log file for more information.


REP-32616Cannot find translations in NX file.
REP-32616:  Cannot find translations in NX file.

Cause:	The translation file does not contain translated strings.
Action:	Make sure you're using the correct translation file for the given report.


REP-32617NX file is corrupt!
REP-32617:  NX file is corrupt!

Cause:	This is an abnormal condition.
Action:	For information, see  Abnormal Conditions.


REP-32618Cannot open NX file for reading.
REP-32618:  Cannot open NX file for reading.

Cause:	Translation file cannot be opened.
Action:	Make sure the file exists and is readable.


REP-32750Unable to unpack the data of image '<image name>'.  The image has been removed.
REP-32750:  Unable to unpack the data of image '<image name>'.  The image has been removed.

Cause:	The image data is corrupted.
Action:	Import the image again.


REP-32751Warning: Some text segments are missing.
REP-32751:  Warning: Some text segments are missing.

Cause:	Text segments cannot be found for some boilerplate text.  The report may be corrupted.
Action:	Check the boilerplate text objects in the report.  Remove suspicious ones and create replacements for them.


REP-34300No distribution list available
REP-34300:  No distribution list available

Cause:	There is no distribution target.
Action:	Assign a distribution target.


REP-34300Invalid value for the field.
REP-34301:  Invalid value for the field.

Cause:	No value has been entered.
Action:	Enter a value.


REP-34302Destination format is uncompatiable with the runtime mode.
REP-34302:  Destination format is incompatible with the runtime mode.

Cause:	The format is incompatible with the mode (e.g., the report is a bitmap and the distribution destination is set to character mode.
Action:	Check the format in your destination.


REP-34303Distribution Successful!
REP-34303:  Distribution Successful!

Cause:	The distribution ran successfully.
Action:	none.


REP-34304Distribution failed! Check your distribution list!
REP-34304:  Distribution failed! Check your distribution list!

Cause:	The distribution failed
Action:	Check your distribution list.


REP-34305Wrong keyword setting for the destid= '$0'
REP-34305:  Wrong keyword setting for the destid= '<value>’.

Cause:	The keyword settings (e.g., DESNAME) are incorrect in the distribution file.
Action:	Check the keyword settings and make the necessary changes.


REP-34306No distribute ID specified for the destination!
REP-34306:  No distribute ID specified for the destination!

Cause:	In the distribution file, the ID for the destination is missing.
Action:	Add a unique distribution ID to the destination line..


REP-34307Not a unique distribute ID specified for the destination!
REP-34307:  Not a unique distribute ID specified for the destination!

Cause:	In the distribution file, the ID for the destination is not unique.
Action:	Add a unique distribution ID to the destination line..


Sorry, Topic Not Available

The help topic you selected is not available in this Help system.  If you have the Report Builder installed on your system, you can also find the topic by searching the Index of the Report Builder Help system.


Messages

  Related Topics

Click a message range, then page using the browse buttons to find the message you are looking for.

REP-0001 through REP-0089

REP-0090 through REP-0159

REP-0160 through REP-0249

REP-0250 through REP-0499

REP-0500 through REP-0539

REP-0540 through REP-0589

REP-0590 through REP-0659

REP-0660 through REP-0719

REP-0720 through REP-0779

REP-0780 through REP-0899

REP-0900 through REP-1059

REP-1060 through REP-1209

REP-1210 through REP-1259

REP-1260 through REP-1299

REP-1300 through REP-1339

REP-1340 through REP-1429

REP-1430 through REP-1819

REP-1820 through REP-1869

REP-1870 through REP-1999

REP-2000 through REP-3079

REP-3080 through REP-3349

REP-3350 through REP-3439

REP-3440 through REP-4039

REP-4040 through REP-16519

REP-16520 through REP-25339

REP-25400 through REP-32599

REP-32600 through REP-32307


Document naming conventions

When working with documents, you must follow certain naming conventions.  The conventions you follow depend upon whether the document is stored in the database or an operating system file.

Database Objects

The naming conventions for Report Builder documents stored in the database are similar to the SQL naming standards.  Specifically, document names:

•	can be up to 30 bytes long

•	must begin with a letter

•	are not case-sensitive

•	can contain letters, numbers, and the special characters $, #, @, and _

•	cannot duplicate the name of another object of the same type (e.g., two reports cannot have the same name)

Files

When naming objects that are stored in operating system files, you must follow the naming conventions for database objects (see previous section) plus the file naming conventions of your operating system.  If you are saving an object as an operating system file, it is stored in ASCII format with an extension of:

•	.rex (for a report)

•	.sql (for an external query)

•	.pls (for an external PL/SQL library)


Data model object naming conventions

The naming conventions for data model objects are the same as the SQL naming standards.  Specifically, data model object names:

•	can be up to 30 bytes long

•	must begin with a letter

•	are not case-sensitive

•	can contain letters, numbers, and the special characters $, #, @, and _

•	cannot duplicate the name of another data model object of the same type in the same report

Usage Notes

•	In addition to the above data model object naming conventions, parameter names must not be the same as any Report Builder object name or RWRUN60 command line keywords.


Layout object naming conventions

The naming conventions for layout objects are the same as the SQL naming standards.  Specifically, layout object names:

•	can be up to 30 bytes long

•	must begin with a letter

•	are not case-sensitive

•	can contain letters, numbers, and the special characters $, #, @, and _

•	cannot duplicate the name of another layout object of the same type in the same report


Parameter form object naming conventions

When working with parameter form objects, you must follow certain naming conventions.  The naming conventions are the same as the SQL naming standards.  Specifically, parameter form object names:

•	can be up to 30 bytes long

•	must begin with a letter

•	are not case-sensitive

•	can contain letters, numbers, and the special characters $, #, @, and _

•	cannot duplicate the name of another parameter form object of the same type in the same report


Chart Wizard:  Welcome page

About the Chart Wizard

The Chart Wizard leads you step-by-step through the process of creating a chart from within a report.  It allows you to:

•	Specify a chart type and subtype.

•	Specify the query or data group that contains the data you want to assign to chart columns.

•	Specify the data that will appear on the Category (X) axis of the chart.

•	Specify the data that will appear on the Value (Y) axis of the chart.

•	Specify the chart’s location and frequency in the report.

Follow the prompts on each page of the wizard to specify the settings for the chart you want to create.

The Chart Wizard is Re-entrant

A powerful quality of the Chart Wizard is its ability to operate in re-entrant mode.  This means you can use the Chart Wizard to modify charts that were created with the wizard.

To invoke the Chart Wizard in re-entrant mode, select the chart object in the Object Navigator, then choose Tools [image] Chart Wizard from the menu.

Navigating in the Chart Wizard

The Chart Wizard provides five buttons to help you navigate your way through its pages:

•	Cancel—cancel all changes you have made (if any), and exit the wizard

•	Help—display online help text for the current page of the wizard

•	Back—navigate to the previous page in the wizard

•	Next—navigate to the next page in the wizard

•	Finish—save changes you have made with the wizard (if any), and exit the wizard

Note:  If you click Next or Back before you have entered all necessary information for a particular wizard page, the wizard prevents you from navigating to the next (or previous) page.  Similarly, if you have not entered all necessary information into the wizard when you click Finish, the wizard automatically displays the page on which you can enter the required data.


Chart Wizard:  Type page

  About the Wizard

To use the Chart Wizard to specify a chart type:

1	(Optional) In the Title field, type the title that will appear above the chart.

2	In the Chart Type list, select the chart type. The chart type specifies the basic format of the display, such as a pie chart, or  bar chart. The display window displays an example of the chart type you select.

3	In the Chart Subtype list, select a chart subtype.  The chart subtype is a specific style or template for the display, such as Shadows.  The Chart Subtype list displays the possible subtypes for the chart type you selected.


Chart Wizard:  Data group page

  About the Wizard

To use the Chart Wizard to select a data group (query) for your chart:

Note:  This page appears only if your report contains multiple queries or branching groups. It allows you to specify the query or data group you will use to create your chart.

  In the Data Groups list, select the query or data group that contains the data you want to map to your chart columns.  The group you select determines the fields that are available for assignment to the Category and Value axes of the chart.


Chart Wizard:  Category page

  About the Wizard

To use the Chart Wizard to map data to your chart’s Category (X) axis:

1	In the Available Fields list, select the field that you want to map to the Category (X) axis of the chart.  You must select at least one field before navigating to the next page.

2	Click [image] to transfer the selected field from the Available Fields list to the Category Axis list.  Tip

Note:  You must transfer at least one field from the Available Fields list to the Category list before navigating to the next page.


Chart Wizard:  Value page

  About the Wizard

To use the Chart Wizard to map data to your chart’s Value (Y) axis:

1	In the Available Fields list, select the field that you want to map to the Value (Y) axis of the chart.

2	Click [image] to transfer the selected field from the Available Fields list to the Value Axis list.  Tip

Note:  You must transfer at least one field from the Available Fields list to the Value list before navigating to the next page.


Chart Wizard:  Break page

  About the Wizard

To use the Chart Wizard to specify where the chart will appear in a report:

  In the Chart list, select the chart grouping specification that indicates where, and with what frequency, the chart will appear with respect to the fields of the report.  You can display the chart:

•	At the beginning of the report

•	At the end of the report

•	Once per repeating frame.  If the report contains multiple repeating frames, each repeating frame appears as a selection option in the Chart list.

If you place the chart within a repeating frame, it appears to the left of the fields contained in the frame, unless it is too large to display within the page boundary.  Larger charts appear below the fields of the repeating frame.

Once a chart has been created, you can reposition it by selecting it and dragging to a new location.


Chart Wizard:  File Name page

  About the Wizard

To save your chart to the default file name:

  Click Finish.  The chart is saved to the automatically-generated default name that is displayed in the File name field.  The completed chart appears on the layout or in the Live Previewer, depending on which view you were in when you created the chart.

To save your chart to a file name other than the default:

1	Click Save As.

2	In the Save As dialog box, navigate to the directory where you want to save the chart, and type the new file name.  Click Save.

3	Click Finish.  The chart appears in the layout or in the Live Previewer, depending on which view you were in when you created the chart.

What’s Next?

When you click Finish, Report Builder displays your finished chart.  To re-enter the wizard, you can select the completed chart object and choose Tools [image] Chart Wizard from the menu.

To learn more about building charts, refer to the online help:

1	Review the Quick Tour for a brief overview:

•	Choose Help [image] Quick Tour.

2	Step through the Cue Cards to learn how to perform the most common tasks:

•	Choose Help [image] Cue Cards.

3	Access the online/hardcopy manuals:

•	Choose Help [image] Manuals.

4	Locate help topics:

•	For the table of contents and index, choose Help [image] Help Topics.

•	For context-sensitive help, press [Help] (this is usually the F1 key on most platforms).


Tip

Click [image] to transfer a selected field from the Category Axis list back to the Available Fields list.


Tip

Click [image] to transfer a selected field from the Value Axis list back to the Available Fields list.


Oracle8 usage notes
Oracle8 usage notes for Report Builder

Column objects and Ref columns

•	To reference the attribute columns or methods of a column object, you must qualify the name with a table alias or correlation variable.  For example:

select e.empno, e.address.street, e.address.city from emp e

•	You can move column objects or Ref columns as a whole or move their individual attribute columns.  When you move an attribute column outside of its associated column object, it is detached from the column object and is treated like any other column.  Only the name is updated to indicate the association with the column object (e.g., ADDRESS_ZIP).

•	Column objects cannot be the source for a layout object, but their attribute columns can be used as the source for a layout object.  For example, suppose you have a column object named ADDRESS that is composed of STREET, CITY, STATE, and ZIP.  ADDRESS cannot be the source for a field, but STREET, CITY, STATE or ZIP can be the source for a field.

•	A column object or Ref column must reside in the lowest group in which one of its attribute columns resides.  The reason for this is that the frequency of the column object or Ref column must be the same as the attribute column with the highest frequency.  If the column object or Ref column is in a group above one of its attribute columns, then its frequency will be too low and an error is raised.  For example, suppose the column object ADDRESS is in a group named G_MASTER and one of its attribute columns is ZIP.  If you drag ZIP into a child of G_MASTER called G_DETAIL, then ADDRESS must also be moved into G_DETAIL.

•	Column objects cannot be used as bind variables (i.e., :column_name), but their attribute columns can be used as bind variables.

•	You cannot break on a column object or a Ref column.  As a result, a column object or Ref column cannot be the only column in a break group.  You can, however, break on the attribute columns of a column object.  For example, you could drag the column object and all of its attribute columns into the break group and assign a break order to as many of the attribute columns as you like.

•	You cannot use column objects or Ref columns in data model links.  You can only use their individual attribute columns in links.  For example, suppose you have a column object named ADDRESS composed of STREET, CITY, STATE, and ZIP.  You can create a link using any one of the attribute columns of ADDRESS (e.g., CITY).

Summaries, formulas, and placeholders

•	The datatype of a formula or placeholder column must be one of the Oracle7 built-in datatypes (e.g., CHAR or VARCHAR).  The datatypes that are new with Oracle8 are not yet supported.

•	Summary columns that have a column object or Ref column as their source can only use the First, Last, and Count functions.

Varying arrays and nested tables

•	Varying array and nested table types are not supported yet.  If you select a column object of these types in a query, a special icon will appear next to it in the Data Model view indicating that it is not supported.

Large objects (LOBs)

•	LOBs are not supported yet.  If you select a LOB in a query, a special icon will appear next to it in the Data Model view indicating that it is not supported.


About the Property Palette

The Property Palette has an outline-style interface that enables you to view, locate, and set object properties.  The Property Palette features:

•	expandable and collapsible nodes

•	in-place property editing

•	search features

•	multi-selection

•	complex property dialogs

•	the ability to invoke multiple instances of the Property Palette

When you select an object in an editor or in the navigator, the Property Palette is updated to show the properties of that object.  By default, the list of properties in the palette is synchronized whenever you select a different object.  You can turn synchronization On or Off for a specific palette by clicking the Freeze/Unfreeze tool) on the Property Palette toolbar.

When you need to compare the properties of objects, you can pin the current Property Palette and invoke additional Property Palettes as needed.

The Property Palette has the following features:

Property List

The property list is a 2-column list of property names and property values.  When no objects are selected, no properties are displayed in the list.  Properties are grouped under functional or object headings, such as General Info properties and Field properties.  You can select properties in the list by clicking and by navigating with the Up/Down arrow keys.  You can set properties in the property list pane by selecting the property and then typing or double-clicking as required.

Name

The name field displays the name of the object currently selected in the navigator or an editor.  The Name field is not displayed when no objects are selected.  When multiple objects are selected at the same time, a list of names is displayed at the top of the Property Palette.

Set Property Controls

When a property is selected in the properties list, a text field, pop-list, combo box, or More button is displayed beside the property, as follows:

A text field is displayed when the current property can be set by entering a text value.  For properties that require longer text values, there is an iconic button next to the text field that invokes a modal editor.

A poplist is displayed when the current property is either True/False, or has a fixed set of valid values.  You can cycle through the values by double-clicking repeatedly.

A combo box is displayed when the current property can be set by typing a value or selecting from a poplist.

A More... button is displayed when the current property requires more complex values.  Selecting the button invokes a dialog where you enter the required information.

The Property Palette is where you set the properties of objects you create in documents.


About making multiple selections in the Property Palette

  Related Topics

You can select multiple objects at the same time by using Shift+Click or Ctrl+Click in the navigators or the editors.  When two or more objects are selected, a list of object names is displayed at the top of the Property Palette.

The Intersection/Union command on the property palette toolbar determines which properties are displayed in the property list when more than one object is selected.  Toggling between Intersection and Union changes the list of properties displayed in the property palette, but does not affect the setting of any property.

Intersection  The default.  Only properties common to all selected objects are displayed.

Union  All properties of every object selected are displayed.

Properties that are common to two or more objects in a multiple selection are listed only once, and the property setting is displayed as follows:

•	If the property has the same setting for all of the selected objects that have it in common, the common setting is displayed.

•	If the property is set differently for the objects that have it in common, the string ***** is displayed.


About toolbar commands in the Property Palette

  Related Topics

The toolbar provides quick access to commands.  Click once on the icon for the command you want to execute.

Inherit	Applies only to Sections, Headings, Body, and Summaries in templates.  Sets the current property to its default setting.  You can select multiple properties and click Inherit.
Localize	Applies only to Sections, Headings, Body, and Summaries in templates.  Makes the current property local (i.e., not inherited).  You can select multiple properties and click Localize.
Find field	Is a string that you want to search for in the Property Palette.
Find forward	Searches forward for the string in the Find field.
Find backward	Searches backward for the string in the Find field.
Intersection/ Union	Toggles the Property Palette between union and intersection display modes.  This option determines which properties appear when more than one object is selected at a time (a multiple selection).  In intersection mode (the default), only properties that the selected objects have in common are displayed.  In union mode, the properties of all objects in the current selection are displayed.
Freeze/Unfreeze	Toggles Property Palette synchronization On and Off.  When Freeze is Off (the default), the property list is updated to display the properties of objects you select in the navigators and other windows. When Freeze is On, the property list is pinned and does not get updated, allowing you to compare it to other property lists.


Displaying the Property Palette

To display the Property Palette for an object, do one of the following:

•	Double-click the object.  To invoke a second Property Palette, you must pin the current one and double-click an object icon.

•	Click the object, then choose Tools [image] Property Palette.

•	From the pop-up menu (right-click in Windows), choose Property Palette.

•	Double-click the properties icon for the object in the Object Navigator.


Closing the Property Palette

To close the Property Palette:

  Double-click the Close box in the upper left corner.


Setting properties using the Property Palette

To set properties using the Property Palette:

1	Display the Property Palette for the object whose properties you want to set.

2	Select the property you want to set.

You can select properties by clicking or by navigating with the Up/Down arrow keys.  When a property is selected, a text field, poplist, combo box, or More... button is displayed next to the property.

3	Set the property to the desired setting.


Setting properties of multiple selections

  Examples 	  Related Topics

To set the properties of multiple selections:

1	In the Object Navigator or the editors, select the objects whose properties you want to set. The objects can be of different types and can even be in different documents.

2	Choose Tools [image] Property Palette.

3	In the Property Palette, click [image] (the Union tool) to see all properties of all objects or leave the tool as [image] (the Intersection tool) to see only the properties the objects have in common.

4	Set the properties as desired.

Any change you make to a property setting is applied to all of the objects in the current selection to which that property applies.


Setting properties of multiple selections example

  Related Topics 	  All Examples

A report includes several fields, each of which displays the date.  The Datatype property of each field is DATE, which causes dates to be displayed in the default ORACLE format DD-MON-YY.

To use a different date format throughout the application, you need to set the Format Mask property for each field that displays dates.  Rather than setting each field’s Format Mask property individually, select all of the items, then set the Format Mask property once to change the format mask for each item selected.


Comparing the properties of one object to another

To compare the properties of one object to another:

1	In the Object Navigators or the editors, double-click the first object so that its properties are displayed in the Property Palette.

2	In the Property Palette, click [image] to turn synchronization Off and "freeze" the Property Palette.

3	In the Object Navigator, click the second object, then choose Property Palette from the pop-up menu.

A second Property Palette is displayed.  If the second window is on top of the first, drag it to move it alongside the first window.


Anchor properties

  Restrictions 	  Examples

Child Edge Percent

Child Edge Type

Child Object Name

Collapse Horizontally

Collapse Vertically

Comments

Name

Parent Edge Percent

Parent Edge Type

Parent Object Name


Anchor restrictions

•	An object may be anchored to only one other object.

•	Matrix objects, anchors, and the margin cannot be anchored to anything (i.e., they may not be the parent or child object for an anchor).

•	A repeating frame that is the vertical or horizontal repeating frame for a matrix cannot be anchored to another object, but other objects may be anchored to it (i.e., it can be the parent but not the child object for an anchor).

•	Nothing can be anchored to a hidden object (an object with Visible set to No).

•	Moving an anchor also causes the two objects it anchors together to move.

•	Objects cannot be anchored together in such a way that they have a circular dependency.  For example:

•	Assume that object A and object B are anchored together and object A is the parent.  Object B cannot be the parent for another anchor between object A and object B.  In addition, object B cannot be the parent for an anchor to object C, if object C is the parent for an anchor to object A.

 Click here.

•	Assume that frame A contains field B and field B is above frame A in the Layout Model.  Furthermore, frame A is anchored to field C, which is not inside of frame A, and field C is the parent.  Field C cannot be the parent for an anchor to field B.  Because it is inside of frame A, field B cannot be anchored to field C, if field C is the parent.

 Click here.

•	To copy an anchor, you must select the anchor and the two objects it anchors together.  If you select the anchor by itself, nothing will be copied to the paste buffer.  If you select the anchor and one of the objects, only the object is placed in the clipboard.

•	An anchor cannot be resized.

•	An anchor must always be on top of the objects it anchors together (i.e., it must be one or more layers above the parent and child objects).  Report Builder prevents you from moving the anchor to a layer below its parent and child objects.

•	You cannot use Align, Align Objects, or Size Objects from the Arrange menu on anchors.


Child Edge Percent property
Child Edge Percent

Description  The Child Edge Percent property is the percentage down or across (from top to bottom or left to right) the child object's edge where the anchor is located.  This setting is the position of the anchor on the edge when the object is populated.

Values  An integer from 0 through 100.

Applies to  anchors


Child Edge Type property
Child Edge Type

Description  The Child Edge Type property is the edge of the child object on which the anchor is located.

Values  Top, Bottom, Left, and Right

Applies to  anchors


Child Object Name property
Child Object Name

Description  The Child Object Name property is the name of the child object.  This field is read-only.

Applies to  anchors


Collapse Horizontally property
Collapse Horizontally

  Examples

Description  The Collapse Horizontally property indicates whether the anchor should have zero width if the parent object does not print for some reason (e.g., because of its Print Object On, Base Printing On, or Format Trigger properties).  If the parent object does not print, the child object moves horizontally into the space vacated by the parent.

Applies to  anchors


Collapse Vertically property
Collapse Vertically

  Examples

Description  The Collapse Vertically property indicates whether the anchor should have zero height if the parent object does not print for some reason (e.g., because of its Print Object On, Base Printing On, or Format Trigger properties).  If the parent object does not print, the child object moves vertically into the space vacated by the parent.

Applies to  anchors


Centering fields horizontally example

  Related Topics 	  All Examples

Suppose you want to horizontally center a field within a repeating frame that has its Horizontal Elasticity set to Variable.  You also want the field to be a fixed distance from the top edge of the repeating frame.  Since you don't know how large or small the formatted repeating frame will be, you need to use anchors to center the field.

To center the field horizontally within the repeating frame do the following:

•	Place the field inside the repeating frame such that the x coordinate of the center of the top of the field is the same as the x coordinate of the center of the top of the repeating frame.  See the figure below.

•	Draw an anchor from the center of the top of the field to the center of the top of the repeating frame. Tip

The field will now be centered horizontally within the repeating frame.

 Click here.


Centering fields vertically example

  Related Topics 	  All Examples

Suppose you want to vertically center a field within a repeating frame that has its Vertical Elasticity set to Variable.  You also want the field to be a fixed distance from the top edge of the repeating frame.  Since you don't know how large or small the formatted repeating frame will be, you need to use anchors to center the field.

To center the field vertically within the repeating frame, draw an anchor from the center of the left edge of the field to the center of the left edge of the repeating frame. Tip

The field will now be centered vertically within the repeating frame.

 Click here.


Collapse Vertically example (field)

  Related Topics 	  All Examples

Suppose that you have anchored Field B to Field A and Collapse Vertically is set to Yes.

 Click here.

Assume that on the first logical page of the report, Field A prints and takes up so much room that Field B cannot fit on the logical page.  Therefore, Field B prints on the second logical page, where Field A does not appear.  Since Collapse Vertically is set to Yes, the anchor collapses in the y direction.  Field B maintains its relative positioning to Field A in the x direction even though Field A does not actually appear on the logical page.

 Click here.


Collapse Vertically and Horizontally example (field)

  Related Topics 	  All Examples

Suppose that you have anchored Field B to Field A, and you want Field B to move both vertically and horizontally into the space where Field A would have printed on the logical page.  Do the following:

•	Draw an anchor from the top of Field B to the bottom of Field A.

•	Set both Collapse Horizontally and Collapse Vertically to Yes.

 Click here.

On the first logical page of the report, Field A prints and takes up so much room that Field B cannot fit on the logical page.  Therefore, Field B prints on the second logical page, where Field A does not appear.  The anchor collapses and Field B moves into the position that Field A would have appeared in had it appeared on the logical page as painted.

 Click here.

When Fields A and B do print on the same logical page, the anchor does not collapse and the fields maintain their relative position to one another.


In positioning an anchor on an object's edge, you can shift-click to move along the edge in increments of 25%.


Parent Edge Percent property
Parent Edge Percent

Description  The Parent Edge Percent property is the percentage down or across (from top to bottom or left to right) the parent object's Edge where the anchor is located.  This setting is the position of the anchor on the Edge when the object is populated.

Values  An integer from 0 through 100.

Applies to  anchors


Parent Edge Type property
Parent Edge Type

Description  The Parent Edge Type property is the edge of the parent object on which the anchor is located.

Values  Top, Bottom, Left, and Right

Applies to  anchors


Parent Object Name property
Parent Object Name

Description  The Parent Object Name property is the name of the parent object.  This field is read-only.

Applies to  anchors


Boilerplate properties

  Restrictions

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Comments

Contains HTML Tags

Display Name

Format Trigger

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Line Stretch with Frame

Minimum Widow Lines

Name

Page Break After

Page Break Before

Page Protect

Print Object On

Printer Code After

Printer Code Before

Source File Format

Source Filename

Type

Vertical Elasticity


Boilerplate restrictions

•	The maximum size of boilerplate text is 64K of text per paragraph and 64K paragraphs.  This limit may vary according to your operating system.

•	Boilerplate must be in front of the repeating frame that contains it.

Caution: When you resize boilerplate text, ensure the text fits in the object.  If font descends (the space left for the lower parts of letters like g and q) do not fit, the text line will appear in the Report Editor, but, when the report is run, the line may not appear in the output, depending upon the Horizontal and Vertical Elasticity settings.


Contains HTML Tags property
Contains HTML Tags

  Restrictions 	  Examples 	  Related Topics

Description  The Contains HTML Tags property indicates that the boilerplate or field object includes HTML tags.  Report Builder fixes the object both vertically and horizontally, and formats the object as a normal text object (i.e., any field references are resolved).  If you need to pass the object width and height as parameters, you can use the ObjectWidth and ObjectHeight variables, as shown in the example.

Applies to  boilerplate and fields

Required/Optional  optional

Default  No


ObjectWidth and ObjectHeight output to HTML example

  Related Topics 	  All Examples

In a boilerplate text object, you can type the following Java Applet, called NervousText.class, which takes the object width and height as parameters:

<base href=http://cagney.uk.oracle.com/java/NervousText/>
<applet code="NervousText.class" width=&ObjectWidth height=&<ObjectHeight>>
<param name=text value="&deptno">
</applet>

This is output to HTML as:

<base href=http://cagney.uk.oracle.com/java/NervousText/>
<applet code="NervousText.class" width=84 height=72>
<param name=text value="10">
</applet>


Boilerplate text object example (hyperlink)

  Related Topics 	  All Examples

This example shows a boilerplate text object tagged as a hyperlink.

Create the following as a boilerplate text object:

<a href=http://your_webserver/reports/my_report.html><img src=oracle.gif> </a>

With the boilerplate object selected, open the Property Palette. Under Web settings, set the Contains HTML tags property to Yes.


Contains HTML Tags restrictions

•	Contains HTML Tags can only be used on text boilerplate, link file boilerplate with a source file format of text, and fields with a source datatype of character.


Minimum Widow Lines property
Minimum Widow Lines

  Restrictions 	  Examples

Description  The Minimum Widow Lines property is the minimum number of lines of the boilerplate or field text that should appear on the logical page where the object starts to print.  If the number of lines specified for this property cannot fit on the logical page, then all lines of text are moved to the next page.

Note: This property applies only to the initial lines of text in the boilerplate or field object.  It does not provide widow protection for individual paragraphs.

Values  Any whole, positive number from 0 through 32K.

Applies to  boilerplate and fields

Required/Optional  optional

Default  0 (the text that can fit on the logical page should be printed before continuing on the next page)


Minimum Widow Lines restrictions

•	Minimum Widow Lines can only be used on text boilerplate, link file boilerplate with a source file format of text, and fields with a source datatype of character.


Minimum Widow Lines example (set to 1 vs. 2)

  Related Topics 	  All Examples

With Minimum Widow Lines set to 1, you might get a situation like the one shown in the figure, where the first line of the field is printed at the bottom of a logical page and the rest is printed on the next logical page.  With Minimum Widow Lines set to 2 (or more), you can avoid having one line of a field at the bottom of the logical page by itself, as shown in the second figure.

 Click here.


Source File Format property
Source File Format

Description  The Source File Format property is the format of the external file to which the boilerplate is linked.

Values

Text	Is text in ASCII format
Image	Is a bitmapped image
CGM	Is a line drawing in CGM format
Oracle Drawing Format	Is a line drawing in Oracle format
Image URL	Is a URL link to an image
Note:  All the other image formats are provided in case you want to open the report in Release 2.0.  If you are planning to open/run the report in Release 2.0, select the specific image format of the boilerplate.  If not, you can choose from the above choices.

Applies to  external boilerplate

Required/Optional  required


Source Filename property
Source Filename

  Restrictions

Description  The Source Filename property is the name of the external file or image URL to which the boilerplate is linked.  Linking to a file is useful for including the contents of files that are likely to change.  The boilerplate is automatically updated to reflect the latest contents of the file when you do any of the following:

•	accept the property sheet

•	paste the object

•	import the object (if it's in Oracle Format)

•	open the report

•	run the report

The contents of a file linked to a boilerplate object will appear in the Report Editor, but cannot be edited within the Report Editor.

Values  Enter a valid filename or image URL not to exceed 1K in length.  You can prefix a path to the filename.  If a path is not prefixed to the filename, Report Builder uses its file path search order to find the file.

Applies to  external boilerplate

Required/Optional  optional

Default  blank

Usage Notes

•	To ensure the portability of your reports, you can take advantage of the Report Builder-specific environment variable called REPORTS60_PATH.  You can use this variable to specify the default directory or directories where you want Report Builder to search for external files you use in your reports (e.g., external queries, boilerplate, and PL/SQL).  This prevents the need to hardcode directory paths in your report.

•	You can also include files in your report using Read from File.


Source Filename restrictions

•	The maximum size of the file you specify depends upon your operating system.

•	The source filename may be operating-system dependent.  If you move the report to another operating system, you may need to update the filename.

•	This field appears only for objects created with the Link File tool.

•	If you specify a file that contains a layout object and its properties (i.e., a file that contains an exported layout object), the file is treated as an anonymous graphical object (i.e., the properties of the object will be ignored).  If you want the object's properties to be used, then you should import it instead of linking the file.


Type property
Type

Description  The Type property is the format (e.g., text) of the boilerplate object.  This field is read-only.

Applies to  boilerplate


Line Stretch with Frame property
Line Stretch with Frame

  Restrictions	  Examples

Description  The Line Stretch with Frame property is the name of the frame or repeating frame to which the boilerplate line is associated.  When set, this property anchors the line at both endpoints to the associated frame.  Thus, the line stretches the same amount as the associated frame stretches when the report is formatted.

If the line is vertical, the top endpoint is anchored to the top of the frame and the bottom endpoint is anchored to the bottom of the frame.  If the line is horizontal, the left endpoint is anchored to the left side of the frame and the right endpoint is anchored to the right side of the frame.

Values   Select a frame or repeating frame from the list of those currently in the report.  Null means the  property is not set, and the boilerplate line will remain fixed in size when the report is formatted.

Applies to  boilerplate lines

Required/Optional  optional

Default  Null

Usage Notes

•	Line Stretch with Frame can be set for any boilerplate line, regardless of its position in the layout.

•	 If you use this property to associate a line with a repeating frame, the line must be enclosed completely within the repeating frame.


Line Stretch with Frame example (grid)

  Related Topics 	  All Examples

Suppose you want to separate the rows and columns of a group left report with a grid.

 Click here.

Using anchors, boilerplate lines, and Line Stretch with Frame, you would edit the layout as follows:

•	Expand the innermost group frame (GF2) and detail repeating frame (RF2) to enclose the two group fields, so that all the fields are enclosed in the detail repeating frame.

•	Anchor each of the group fields to the master repeating frame (RF1).

•	Create boilerplate line L1 under the fields in the detail repeating frame (RF2).

•	Create boilerplate lines L2 through L5 and associate them with the surrounding group frame (GF1) using Line Stretch with Frame.

 Click here.

When the report is formatted, the explicit anchors cause the group fields to appear at the same frequency as the master repeating frame.  Line  L1 repeats for each record in the detail repeating frame, and lines L2 through L5 stretch to cover the whole length of the outermost group frame.


Line Stretch with Frame restrictions

•	Line Stretch with Frame supports only vertical and horizontal lines.  If set for a diagonal line, it becomes a vertical or horizontal line when formatted.

•	When this property is set, the implicit anchoring algorithm does not apply.


Button properties

  Restrictions 	  Related Topics

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Comments

Format Trigger

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Icon Name

Keep With Anchoring Object

Label Type

Multimedia Column

Multimedia Column Type

Multimedia File

Multimedia File Type

Name

Page Break After

Page Break Before

Page Protect

PL/SQL Trigger

Print Object On

Printer Code After

Printer Code Before

Text

Type

Vertical Elasticity


Button restrictions

•	Buttons do not appear in printed output.  They also do not appear when reports containing them are run in character mode.

•	Buttons appear in the Live Previewer view with the characteristics of native buttons on your platform.  Therefore, changes made in the Layout Model view that affect the appearance of the button (e.g., changing borders to dashed lines) may not appear in your output.  Changing the border to a dashed line appears in the Layout Model view but not the Live Previewer view.

•	The ability to assign different colors and patterns to user-defined buttons is platform-specific.

•	You cannot rotate a button.

•	A button is always be displayed on the uppermost layer of objects in the Live Previewer view.  However, it may not truly be on the top layer of the Layout Model view; for example, if it is covered by a repeating frame in the Layout Model view, it will appear above the objects within the repeating frame in the Live Previewer view, but will not repeat with the repeating frame.


Label Type property
Label Type

  Restrictions

Description  The Label Type property is the type of identifier you want to appear on the button.

Values

Text	Means that you want to use a text string as the button label.  Use the Text property to enter the text string for the label.
Icon	Means that you want to use an icon as the button label.  Use the Icon Name property to specify the name of the file containing the icon for the label (the file must reside in the directory specified by the UI_ICON environment variable).
Applies to  buttons

Required/Optional  required

Default  Text


Label Type restrictions

•	An icon used as a label should be in the standard icon format of your platform, with an extension of .ico.  Icons are not portable.


Text property
Text

  Restrictions

Description  The Text property is the text label that will appear on the button if you selected Text for the Label Type.  The specified text string is center-justified both horizontally and vertically on the button.

Values  Any text string up to 2K in length; however, practical length is governed by the size of the button.

Applies to  buttons

Required/Optional  optional

Default  blank

Usage Notes

•	You can change the font, size, weight, and style of the label text using some of the choices on the Format menu. However, certain menu choices do not affect button text, such as Spacing and Justification.


Text restrictions

•	If the text does not fit on the button, it will not wrap to a second line, but will be clipped on both the left and the right.


Icon Name property
Icon Name

Description  The Icon Name property is the name of the file containing the icon that will appear on the button if you selected Icon for the Label Type.

Values  Any valid icon file in the standard icon format of your platform, with an extension of .ico.  The file must reside in the directory specified by the UI_ICON environment variable.

Applies to  buttons

Required/Optional  optional

Default  blank


Type property
Type

  Restrictions

Description  The Type property is the action to be performed when the button is pressed.

Values

Multimedia File	Means that the action is contained in a file in your operating system, specified by the Multimedia File property.
Multimedia Column	Means that the action is contained in a database column, specified by the Multimedia Column property.
PL/SQL	Means that the action is governed by a PL/SQL program unit associated with the button, specified by the PL/SQL Trigger property.
Applies to  buttons

Required/Optional  required

Default  Multimedia File


Type restrictions

•	If you specify PL/SQL Trigger and your PL/SQL uses SRW.RUN_REPORT, the Runtime Parameter Form will not appear by default when the button is selected.  If you want the Runtime Parameter Form to appear, you must specify PARAMFORM=YES in the call to SRW.RUN_REPORT.

•	If you specify PL/SQL Trigger and you raise SRW.PROGRAM_ABORT in the button's action trigger, it will close any Previewer window that was raised by the button.


Multimedia File property
Multimedia File

  Restrictions%!Alink(r30rpbumfr,JUMP , , )

Description  The Multimedia File property is the name of the multimedia (sound, video, or image) file.

Values  Any valid sound, video, or image file.

Applies to  buttons

Required/Optional  Required, if Type is Multimedia File.

Default  blank

Usage Notes

•	To ensure the portability of your reports, you can take advantage of the Report Builder-specific environment variable called REPORTS60_PATH.  You can use this variable to specify the default directory or directories where you want Report Builder to search for external files you use in your reports (e.g., external queries, boilerplate, and PL/SQL).  This prevents the need to hardcode directory paths in your report.


Multimedia File restrictions

•	If you select Multimedia File, you must indicate the filename in the text field provided.  If you do not give a path for a file, Report Builder uses its file path search order to find the file.


Multimedia File Type property
Multimedia File Type

Description  The Multimedia File Type property is the format of the file specified by the Multimedia File property.

Values  Image, Video, and Sound

Applies to  buttons

Required/Optional  required

Default  Image


Multimedia Column property
Multimedia Column

  Restrictions

Description  The Multimedia Column property is the name of a database column in the report that contains a multimedia (sound, video, or image) object.

Values  Any valid database column in the report containing a multimedia object.

Applies to  buttons

Required/Optional  Required, if Type is Multimedia Column.

Default  blank


Multimedia Column restrictions

•	If you specify a Multimedia Column for the action of a button and later delete that column from your report (i.e., select an image column, specify it as the Multimedia Column for a button, and later delete that column or change its format to a non-multimedia format), your button no longer has access to data to display, and Multimedia Column becomes undefined.

If the button's property sheet is open at the time the Multimedia Column becomes undefined, you must choose another column before you can accept the property sheet.  If the property sheet is closed at the time the Multimedia Column becomes undefined, you will not be alerted until you run the report and try to activate the button.  An error will result.


Multimedia Column Type property
Multimedia Column Type

Description  The Multimedia Column Type property is the format of the multimedia object stored in the database column specified by the Multimedia Column property.

Values  Image, Video, and Sound

Applies to  buttons

Required/Optional  required

Default  When Multimedia Column is specified, the proper multimedia column type is automatically selected.  Otherwise, the default is Image.


PL/SQL Trigger property
PL/SQL Trigger

  Related Topics

Description  The PL/SQL Trigger property is a PL/SQL procedure that is executed when a button is selected in the Live Previewer view.  The trigger can be used to dynamically call another report (drill down) or execute any other PL/SQL.

Applies to  buttons

Required/Optional  Required, if the button Type is PL/SQL

Default  blank


Chart properties

  Restrictions 	  Examples

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Chart Filename

Chart Hyperlink

Comments

Format Trigger

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Name

Page Break After

Page Break Before

Page Protect

Parameters and Columns

Print Object On

Printer Code After

Printer Code Before

Vertical Elasticity


Chart in a group report example

  Related Topics 	  All Examples

Suppose that you have a group report with the following data model:

 Click here.

In Graphics Builder, you have created a Graphics Builder display (empsal.ogd) that shows a bar chart of salaries for each employee and you would like to include it in your report.  Using the Chart tool in the Layout Model view, you first draw a chart object inside the repeating frame for the master repeating frame (R_Dept).  This means that the bar chart will appear once for each department.

You then go to the Property Palette for the chart object and set the Display Name property to empsal.ogd.  Display Name can optionally contain a path, but in this case, no path was specified because we want Report Builder to use the path specified for the REPORTS60_PATH environment variable.

You then set properties in the Property Palette as follows:

Source	G_Emp
Display Query	Q_OG_Emp
Report Column/Display Column	ENAME/OG_NAME SAL/OG_SALARY
Source is the group (G_Emp) that is summarized by the display.

Display Query is the name of a query in the display.  Q_OG_Emp contains the following SELECT statement:

SELECT ENAME OG_NAME, SAL OG_SALARY FROM EMP

Since you specified Q_OG_Emp for Display Query, this query will retrieve the values of ENAME and SAL from Report Builder instead of the database.

Report Column and Display Column map the report's columns to the display's columns.  You select ENAME and SAL from the list under Report Column.  You must enter the names of the display columns that correspond to ENAME and SAL in Display Column.  (Display Column cannot be blank if Report Column is specified.)


Chart restrictions

•	A Graphics Builder display/chart that passes data can be placed anywhere in the Layout Model view unless its source group is a dimension of a matrix.  If a Graphics Builder display/chart source group is a dimension group (i.e., a group within a cross-product group), then it must appear inside the repeating frame(s) of it's source group's ancestors (if any).

•	A Graphics Builder display/chart that passes parameters must be placed inside of a repeating frame whose source group is the group (or a descendant of the group) that contains the columns or parameters it is passing.  If a column being passed is a summary owned by a cross-product group, then the Graphics Builder display/chart must be placed inside of the set of repeating frames whose sources are the groups in the summary column's Product Order.


Chart Filename property
Chart Filename

  Restrictions

Description  The Chart Filename property is the name of the file in which the Graphics Builder display/chart is located.

Values  Enter any valid filename (not to exceed 512 bytes in length) of a Graphics Builder display/chart (the .ogd extension is optional).

Applies to  chart objects

Required/Optional  required

Default  blank

Usage Notes

•	You can optionally prefix a path to the filename.  If a path is not prefixed to the filename, Report Builder uses its file path search order to find the file.

•	To ensure the portability of your reports, you can take advantage of the Report Builder-specific environment variable called REPORTS60_PATH.  You can use this variable to specify the default directory or directories where you want Report Builder to search for external files you use in your reports (e.g., external queries, boilerplate, and PL/SQL).  This prevents the need to hardcode directory paths in your report.


Chart Filename restrictions

•	You can only reference displays/charts stored in files; those stored in the database cannot be referenced in Chart Filename.


Chart Hyperlink property
Chart Hyperlink

  Restrictions 	  Related Topics

Description  The Chart Hyperlink property is a hyperlink that you can specify to be different for each chart section.  Note

Values

Any object in your report output, another report, or any valid hyperlink destination

Applies to

chart objects

Required/Optional  optional

Default  blank

Usage notes

•	You must specify the Hyperlink Destination property if you want to set a Chart Hyperlink property for a chart that specifies another object as its destination.

•	You cannot use the Additional hyperlink attributes property to apply additional HTML attributes to a link defined by the Chart Hyperlink property.

•	You can set another report as the Chart Hyperlink property by running the second report from your report output.  See d2kcfg.htm in your ORACLE_HOME for more information.

•	You cannot set this property using PL/SQL since the format trigger is executed only once for the chart.  Instead, you can specify &<column_name> as the Chart Hyperlink property.


The Chart Hyperlink property differs in behavior from the Hyperlink property in that Report Builder evaluates the property for every row of retrieved data.


Chart Parameters and Columns properties

Chart Column

Chart Parameter

Chart Query

Report Column (for Chart Column)

Report Column (for Chart Parameter)

Report Group


Chart Parameter property
Chart Parameter

  Related Topics

Description  The Chart Parameter property is a parameter in the Graphics Builder display/chart that corresponds to the column or parameter specified in Report Column.

Note:  One report column or parameter can correspond to multiple chart parameters, but each chart parameter can only correspond to one report column or parameter.

Values  Enter the name (not to exceed 1K in length) of a valid parameter in your Graphics Builder display/chart.  You can also enter a list of valid parameter names in your Graphics Builder display/chart, separating each one with a comma (e.g. parm1,parm2,parm3).

Applies to  chart objects

Required/Optional  optional

Default  Report Builder parameter name


Report Column (for Chart Parameter) property
Report Column (for Chart Parameter)

  Restrictions	  Related Topics

Description  The Report Column (for Chart Parameter) property is a list of the columns and parameters in your report that could be used to supply the value of a parameter in a Graphics Builder display/chart.  Selecting a column or parameter means that there is a corresponding parameter in the display/chart and that the display/chart parameter will get its value from the selected report column or parameter.  If the parameter in the display/chart has a different name than the column or parameter in the report, you must specify its name in the corresponding Chart Parameter field.

Values   Select one or more valid columns or parameters in your report.

Applies to  chart objects

Required/Optional  optional

Default  deselected


Report Column (for Chart Parameter) restrictions

•	A page-level summary column (i.e., a summary with a Reset At or Compute At of Page) cannot be passed to a Graphics Builder display/chart.  Similarly, any summary or formula column that depends upon a page-level summary cannot be passed to a display/chart.


Chart Query property
Chart Query

  Related Topics

Description  The Chart Query property is the name of the query in the Graphics Builder display/chart that should get its records from Report Builder.  If you specify a query name, that query will retrieve its records through Report Builder instead of the database.  This enables your display/chart to reflect any filtering or summarizing that your report performs on the data.  Chart Query ensures that the data used in the display/chart is the same as the data in the report.

Note:  If you specify a query name here, you must also specify which report columns or parameters should have their values used by the display/chart query.

Values  Enter any valid query name (not to exceed 512 bytes in length) of the Graphics Builder display/chart specified in Chart Filename.

Applies to  chart objects

Required/Optional  optional


Report Group property
Report Group

  Restrictions	  Related Topics

Description  The Report Group property is the group in the report that is summarized by the Graphics Builder display/chart.

Values  Select any group name from the list of values.

Applies to  chart objects

Required/Optional  Required, if value entered for Chart Query.


Report Group restrictions

•	You cannot specify a cross-product group for Report Group.

•	Any columns that you pass to the Graphics Builder display/chart via Report Column (for Chart Column) must be in the report group or its ancestor.

•	If you select a Report Group but not a Chart Query, the Report Group is deselected when you accept the property sheet.


Chart Column property
Chart Column

  Related Topics

Description  The Chart Column property is a column or list of columns in the Graphics Builder display/chart that corresponds to the column or parameter specified in Report Column.

Note:  One report column or parameter can correspond to multiple chart columns, but each chart column can only correspond to one report column or parameter.

Values  Enter the name (not to exceed 1K in length) of a valid column in your Graphics Builder display/chart.  You can also enter a list of valid column names in your Graphics Builder display/chart, separating each one with a comma (e.g. col1,col2,col3).

Applies to  chart objects

Required/Optional  optional

Default  Report Builder column name


Report Column (for Chart Column) property
Report Column (for Chart Column)

  Restrictions	  Related Topics

Description  The Report Column (for Chart Column) property is a list of the columns and parameters in your report that could be used by the query specified in Chart Query.  Selecting a column or parameter means that there is a corresponding column(s) in the Graphics Builder display/chart and that the display/chart column(s) will get its value from the selected report column or parameter.  If the column(s) in the display/chart has a different name than the column or parameter in the report, you must specify its name in the corresponding Chart Column field.

Values  Select one or more valid columns or parameters in your report.

Applies to  chart objects

Required/Optional  Required, if value entered for Chart Query.


Report Column (for Chart Column) restrictions

•	Any columns that you pass to the Graphics Builder display/chart via Report Column (for Chart Column) must be in the Report Group or its ancestor.

•	A page-level summary column (i.e., a summary with a Reset At or Compute At of Page) cannot be passed to a Graphics Builder display/chart.  Similarly, any summary or formula column that depends upon a page-level summary cannot be passed to a Graphics Builder display/chart.


Common column properties

Break Order

Comment

Column Type

Datatype

File Format

Name

Read from File

Set Break Order

Value If Null

Width


Break Order property
Break Order

  Restrictions 	  Examples

Description  The Break Order property is the order in which to display the column's values.  This property applies only to columns that identify distinct values of user-created groups (i.e., break groups).  The order of column values in a default group is determined by the ORDER BY clause of the query for SQL queries and by the sort column for Express queries.  For column values in user-created groups, however, you must use Break Order to specify how to order the break column's values.

Values

None

Ascending

Descending

Applies to  columns

Required/Optional  Required, if Set Break Order is set to Yes.

Default  Ascending for database and sort columns. None for database columns representing dimensions in Oracle Express queries with break groups.


Break Order example (descending)

  Related Topics 	  All Examples

Suppose that you create a report with the following query:

SELECT DEPTNO, JOB, ENAME, SAL FROM EMP
ORDER BY SAL

You then create two groups, G_DEPT and G_JOB.  G_DEPT contains the DEPTNO column and G_JOB contains the JOB column.  If you specify a Break Order of Descending for the DEPTNO column and Ascending for the JOB column, your output would appear similar to that below (assuming you use a Tabular style):

Deptno   Job         Ename                Sal

------   ----------  ----------     ---------

    30   CLERK       JAMES             950.00

         MANAGER     BLAKE            2850.00

         SALESMAN    WARD             1250.00

                     MARTIN           1250.00

                     TURNER           1500.00

                     ALLEN            1600.00

    20   ANALYST     SCOTT            3000.00

                     FORD             3000.00

         CLERK       SMITH             800.00

                     ADAMS            1100.00

         MANAGER     JONES            2975.00

    10   CLERK       MILLER           1300.00

         MANAGER     CLARK            2450.00

         PRESIDENT   KING             5000.00


Break Order example (ORDER BY)

  Related Topics 	  All Examples

Suppose that you created a Group Left report with DEPTNO and ENAME.  In the query, you have ORDER BY DEPTNO.  You have also specified a Break Order of Descending for the DEPTNO column.  The output would appear similar to that below:

Deptno   Ename

------   ----------

    30   JAMES

         WARD

         MARTIN

         TURNER

         ALLEN

         BLAKE

    20   SMITH

         ADAMS

         JONES

         SCOTT

         FORD

    10   MILLER

         CLARK

         KING

Notice that the Break Order property takes precedence over the ORDER BY clause (i.e., the department numbers are in descending order).


Break Order restrictions

•	Break Order has no effect on columns that belong to the lowest group of a particular query.  Break Order only effects columns in groups that are above the lowest child group of a query.

•	Every group above the lowest child group of a query must have at least one column with Break Order set.

•	Break Order cannot be specified for columns of Datatype Long or Long Raw.

•	Break Order only affects the ordering of the column on which you are breaking.  It does not affect the ordering of the columns within the break group.  For example, suppose that you break on DEPTNO and for each department you list ENAME.  If the Break Order is Ascending, then department numbers are printed in ascending order, but the names within each department print in the order specified by the query.  (You would need to use an ORDER BY clause in your SELECT statement to change their order in SQL queries and the Sort tool in the Selector to change their order in Express queries.)

•	A summary column cannot be a break column and cannot have Break Order set.

•	A formula column that depends upon a summary column cannot be a break column and cannot have Break Order set.


Column Type property
Column Type

Description  The Column Type property is the category into which the column falls.

Values

Database - Object

Database - Ref

Database - Scalar

Database - Unknown indicates that the column is of an unsupported type.

Formula

Placeholder

Sort (for Oracle Express only)

Summary


Comment property
Comment

Description  The Comment property is a text field in which you can document the column.

Values  Enter any text not to exceed 64K.

Applies to  columns

Required/Optional  optional

Default  blank


Database Column Name property
Database Column Name

Description  The Database Column Name property is the full name of the column used by the Oracle server to identify the column.  For example, suppose that you have a column object named ADDRESS that contains a column object named COUNTRY that contains a column named CITY.  The Database Column Name for CITY would be ADDRESS.COUNTRY.CITY.

Applies to  columns

Required/Optional  required


Datatype property
Datatype

  Restrictions

Description  The Datatype property is the type of the column's contents.

Values

Character

Date

Long

Long Raw

Number

Raw

Varchar

Varchar2

Trusted Oracle datatypes (MLSLABEL and ROWLABEL) are supported by Report Builder.  When running on an operating system with Trusted Oracle, Report Builder treats these columns as Trusted Oracle datatypes.  This means that the columns can be properly sorted.  When running on an operating system without Trusted Oracle (e.g., Windows), Report Builder treats these columns as character datatypes.

Applies to  columns

Required/Optional  required

Default  For database columns, the default Datatype is derived from the database.  For summary columns with a Function of Count, the default Datatype is Number.  For other summary columns, the default is derived from Source.  For formula, placeholder, and sort columns, the default Datatype is Number.


Datatype restrictions

•	You can only edit the Datatype of a formula or placeholder column.  For formula and placeholder columns, you can set the Datatype to Character, Date, and Number.

•	A column of Datatype Long, Long Raw, or Raw is treated as text unless you specify otherwise in the File Format field.

•	If a column has an alias and you change your query, causing the datatype of the column to change, the change in datatype will be automatically reflected in Datatype when you accept the query.


File Format property
File Format

  Restrictions

Description  The File Format property is the format of the object being retrieved from the database or identified by the filename stored in the column.

Value

Text	Is text in ASCII format
Image	Is a bitmapped image
CGM	Is a line drawing in CGM format
Oracle Format (Drawing)	Is a line drawing in Oracle format
Sound	Is a sound object in longraw format
Video	Is a video object in longraw format
OLE2	Is a linked object to be embedded in your report
Image URL	Is a URL link to an image
Applies to  columns


Format restrictions

Sound and Video sources can only be accessed from user-created buttons.


Read from File property
Read from File

  Restrictions 	  Examples	  Related Topics

Description  The Read from File property indicates that the column contains the names of files or a URL for an image.  When you set Read from File to Yes, you must specify the format of the files in the File Format property.

Read from File is useful if you have image, graphic, or text files that are referenced by a column.  If you set Read from File to Yes, the contents of the files will be imported and used as the values of the column.  If Read from File is set to No, the column will get its values from the database.  As a result, if a column contains filenames and Read from File is set to No, the filenames will be printed instead of the file contents.

You can use Read from File with database, summary, formula, or placeholder columns (assuming that the column's values are filenames).  You can also include files in your report as boilerplate.

Applies to  columns

Required/Optional  optional

Usage Notes

•	You can prefix paths to the filenames in the column.  If a path is not prefixed to the filename, Report Builder uses its file path search order to find the file.

•	To ensure the portability of your reports, you can take advantage of the Report Builder-specific environment variable called REPORTS60_PATH.  You can use this variable to specify the default directory or directories where you want Report Builder to search for external files you use in your reports (e.g., external queries, boilerplate, and PL/SQL).  This prevents the need to hardcode directory paths in your report.


Read from File example (image)

  Related Topics 	  All Examples

Suppose that for each of your employees you have a .bmp file that contains a picture of the employee.  In your employee table, you have a column named PICTURE that contains the name of the .bmp file with the employee's picture.

To generate a report that displays the employees' pictures, you select the PICTURE column in your query.  On the Column property sheet for the PICTURE column, you set Read from File to Yes and specify Image as the File Format.  Report Builder will display the files pointed to by the PICTURE column wherever you have referenced the PICTURE column in your layout.

Note:  If Read from File is set to No, the filenames will be printed instead of the pictures.


Read from File example (formula column)

  Related Topics 	  All Examples

Suppose that you want to create an employee listing with some text from a file next to each employee's information.  If the employee's salary is greater than $2000 you want text from a file called salary1.txt to appear next to the employee.  If the employee's salary is less than $2000 you want the text from a file called salary2.txt to appear next to the employee.

You create a formula column with a Datatype of Character and Read from File set to Yes (with a File Format of Text).  In the Formula field for the column, you enter the following PL/SQL:

if :sal > 2000 then
  return('/home/jsmith/txt/salary1.txt');
else
  return('/home/jsmith/txt/salary2.txt');
end if;


Read from File restrictions

•	The size of each file may be at most 4 gigabytes.  (On some operating systems the file may be at most 64K.)

•	Read from File may only be set to Yes if the Datatype of the column is character-compatible (i.e., Character, VARCHAR, or VARCHAR2).

•	If you set Read from File to Yes on a summary or formula column, the summary or formula is calculated before the file is read.  Similarly, for placeholder columns with Read from File set to Yes, the column's value is calculated first.


Value If Null property
Value If Null

  Restrictions

Description  The Value if Null property is a value to be substituted for any null values of the column.  For example, if you enter X in this field for a character type column, then an X will be displayed for null values fetched for the column.  If left blank, no substitution will be done for null values.

Values  Enter any valid value that conforms to the column's Datatype.  Value if Null cannot exceed 1K in length.

Applies to  columns

Required/Optional  optional

Default  blank

Usage Notes

•	Entering a string for Value if Null on a break column causes Report Builder to prefetch all of the rows in the break column's group.  This could degrade performance when you run the report.  To avoid prefetching, use the NVL function in your query rather than entering a string for Value if Null.


Value If Null restrictions

•	For columns with a character datatype (e.g., VARCHAR), if the width of the string you enter for Value if Null exceeds the Width of the column, the string is truncated.

•	If a column is referenced via a lexical reference in a query, that column's Value if Null is used to validate the query.

•	The value entered for Value If Null must be the same datatype as the column.  For example, if the column's Datatype is Number, you cannot specify "XX" in Value If Null, you must specify a number.

•	If you enter a date value in Value If Null, it is validated against Report Builder' internal mask for dates (i.e., DD-MON-YY).  (Number and character values are not validated.)


Width property
Width

  Restrictions

Description  The Width property is the maximum number of characters that the values of the column can occupy.  This Width refers to the width that Report Builder uses internally for the column.  It effects such things as the calculation of summaries and formulas.  The size used to display the column's data, however, is determined by the size of the associated field in the Layout Model view and its Vertical and Horizontal Elasticity properties.

Values

Enter any number from 1 through 64K.

Enter two numbers in the form a,b where a indicates the number of digits to the left of the decimal point and b indicates the number of digits to the right of the decimal point.  (This form can only be used for defining the width of numbers.)

Applies to  columns

Required/Optional  required

Default  For database columns, the default Width is derived from the database.  For sort columns, the default Width is 38.  For summary and formula columns, the default for Width is 10, 0.  If a column has a Type of Summary, Report Builder updates the Width based upon what you enter as the column's Source and Function.

Usage Notes

•	If the Column Type is Database Scalar and the Datatype is Character, Date, Number, or Raw, Width is uneditable.  However, this does not mean you cannot control the width of the column's values in the report output.  You can change the width of the values in the output by modifying the field's width in the Default Layout dialog box or the Field property sheet.

•	If the Column Type is Database Scalar or Placeholder and the Datatype is Long or Long Raw, you can enter a value in Width.  Note that if you do not specify a width for a Long or Long Raw column, Report Builder allocates the maximum width for the column.  You can also enter a Width for a column of Type Formula.

•	If the Column Type is Database Ref, Width is uneditable.

•	If the Column Type is Sort, you can edit the Width.


Width restrictions

Caution:  If the value of a column of Type Database and Datatype Long or Long Raw exceeds the Width of the column, the value is truncated.

•	If the value of a column of Type Placeholder or Formula exceeds the Width of the column, an exception is raised.

•	If a column has an alias and you change your query, causing the width of the column to change, the change in width will be automatically reflected in Width when you accept the query.


Set Break Order property
Set Break Order

Description  The Set Break Order property is whether to set the order in which to display the column's values, using the Break Order property.

Applies to  columns

Required/Optional  optional

Default  Yes


Common Layout Object properties

  Restrictions

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Comments

Conditional Formatting

Display Name

Format Trigger

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Name

Page Break After

Page Break Before

Page Protect

Print Object On

Printer Code Before

Printer Code After

Vertical Elasticity


Common Layout Object restrictions

•	You must ensure that properties on the same or different objects do not conflict with each other.  Because of the power of the layout properties, it is possible to specify properties such that they conflict with other properties.  You should avoid the following combinations of layout properties on the same object.  If you try to use these combinations on the same object, you will get an error:

•	Base Printing On of Enclosing and Print Object On of Last Page

•	Base Printing On of Enclosing and Print Object On of All But Last Page

•	Print Object On of All Pages and Page Break Before set to Yes

•	Print Object On of All But First Page and Page Break Before set to Yes

•	Print Object On of All But Last Page and Page Break Before set to Yes

•	Keep With Anchoring Object and Page Break Before set to Yes (for an object that is located after its anchoring object) or Page Break After set to Yes (for an object that is located before its anchoring object)

•	Similarly, combinations of properties on different objects can cause unpredictable results or an infinite report.  For example, suppose you have two boilerplate objects anchored together inside of a frame.  The parent object has a Print Object On of All Pages and a Base Printing On of Enclosing.  The child object has a Print Object On of First Page, a Base Printing On of Anchoring, and Page Break Before set to Yes.  The figure below illustrates this layout.  When you run the report, the child object does not appear in the output.  Because it has Page Break Before set to Yes, the child can never satisfy its Print Object On (First Page) and it's Base Printing On (Anchoring).  Note, however, that the object underneath the child object (B_Plate3) does appear.

 Click here.


Comments property
Comments

Description  The Comments property contains a text field in which you can document the object.  Enter any text not to exceed 64K.

Applies to objects

Required/Optional  optional

Default  blank


Horizontal Elasticity property
Horizontal Elasticity

  Examples

Description  The Horizontal Elasticity property is how the horizontal size of the object will change at runtime to accommodate the objects or data within it:

•	For frames and repeating frames, elasticity defines whether the size of the frame or repeating frame should vary with the objects inside of it.

•	For objects containing text, elasticity defines whether the field or boilerplate should vary with the size of the text.  Fixed size text will wrap within the defined size of the object and may be truncated if there is not enough room.  Number or date data will appear as asterisks if the data cannot fit within the defined size.

•	For images, drawings, and chart objects, Report Builder uses proportional scaling.  The elasticity options for images, drawings, and chart objects determine the scaling factor.

 Click here.

Values

Contract	Means the horizontal size of the object decreases, if the formatted objects or data within it are wide enough, but it cannot increase to a width greater than that shown in the Report Editor. Truncation of data may occur; look at the examples.  (You can think of this option as meaning "only contract, do not expand.")
Expand	Means the horizontal size of the object increases, if the formatted objects or data within it are wide enough, but it cannot decrease to a width less than that shown in the Report Editor.  (You can think of this option as meaning "only expand, do not contract.")
Fixed	Means the width of the object is the same on each logical page, regardless of the size of the objects or data within it. Truncation of data may occur; look at the examples.  The width of the object is defined to be its width in the Report Editor.
Variable	Means the object may expand or contract horizontally to accommodate the objects or data within it (with no extra space), which means the width shown in the Report Editor has no effect on the object's width at runtime.
Applies to  layout objects

Required/Optional  required

Default  varies according to the object

Usage Notes

•	If you create a Graphics object in your report with a Vertical and Horizontal Elasticity of Fixed, Report Builder scales the display to fit within the dimensions you defined for the object.


Horizontal Elasticity example (field)

  Related Topics	  All Examples

Suppose that you have a field with the following characteristics:

Characteristic	Value
width	1 inch
Horizontal Elasticity	Contract
height	1 inch
Vertical Elasticity	Fixed
 Click here.

Note that when the data is less than one inch wide the size of the field decreases to the minimum size necessary to hold the data.  It is also important to note here that if the data was more than one inch long, it would be truncated because the field cannot expand vertically or horizontally.


Horizontal Elasticity example (frame)

  Related Topics 	  All Examples

Suppose that you have a frame named M_1 with the following characteristics:

Characteristic	Value
Horizontal Elasticity	Variable
height	7 inches
Vertical Elasticity	Fixed
Assume further that the Page Width you defined in the report property sheet is eight inches.  M_1 contains a repeating frame with one field, F_Ename.  The first value of F_Ename is four inches wide, the next value is 3 inches, the next is four inches, and the last is four inches.  The following diagram shows how the frame might be formatted:

 Click here.

Note that the first two instances of field F_Ename print on the first logical page, but, the second two instances, because there is not enough room on the first logical page, print on the second logical page.  It is also important to note that if the Horizontal Elasticity was Contract or Fixed, instead of Variable, the frame would not print unless it could fit entirely on one logical page.


Keep With Anchoring Object property
Keep With Anchoring Object

  Restrictions	  Examples

Description  The Keep with Anchoring Object property indicates whether to keep an object and the object to which it is anchored on the same logical page.  Setting Keep with Anchoring Object to Yes means that if the object, its anchoring object, or both cannot fit on the logical page, they will be moved to the next logical page.

If you set Keep with Anchoring Object to Yes for a repeating frame, it means the first instance of the repeating frame must be able to fit on the same page as its anchoring object.  Otherwise, the Keep With Anchoring Object condition is not satisfied.  If you set Keep With Anchoring Object to Yes for any layout object other than a repeating frame, it means the object must be able to format entirely on the same page as its anchoring object.

The anchor between the two objects may be explicit or implicit.  Consequently, Keep With Anchoring Object may have an effect even if you have not explicitly created an anchor between two objects.

Applies to  layout objects

Required/Optional  optional

Default  No


Keep With Anchoring Object example

  Related Topics	  All Examples

Suppose that you have created three boilerplate objects:

 Click here.

B_2 and B_3 each has Keep With Anchoring Object set to Yes.  On the logical page where Report Builder first tries to print these objects, there is enough room for B_1 and B_2 but not for B_3.  Since B_3 has Keep With Anchoring Object set to Yes and its anchoring object is B_2, B_2 and B_3 would be moved to the next logical page.  Since B_2 also has Keep With Anchoring Object set to Yes and its anchoring object is B_1, B_1 would also be moved to the next logical page.


Keep With Anchoring Object restrictions

•	Keep With Anchoring Object applies only to the first logical page on which the object is triggered to be formatted.  Keep With Anchoring Object is ignored on subsequent pages.

•	If moving the object and its anchoring object to the next logical page would leave the current logical page blank or only containing repeated objects (e.g., a page heading), Keep With Anchoring Object will not be applied.  This prevents unnecessary blank pages in your report.

•	If the anchoring object is a repeating frame and the current object is outside of the repeating frame, then anchoring object refers to the repeating frame as a whole (all the instances of the repeating frame).

•	If two objects are anchored to their enclosing frame and the frame has Vertical and/or Horizontal Elasticity of Contract or Variable, then all three objects must be able to complete formatting on the same page to satisfy the Keep With Anchoring Object condition.  If the two objects are enclosed by a repeating frame instead of a frame, then this rule applies to each instance of the repeating frame. In the figure, B_1, B_2, and M_1 would all have to be able to complete formatting on the same page in order to satisfy the Keep With Anchoring Object condition.

 Click here.


Name property
Name

  Restrictions

Description  The Name property is the name that Report Builder uses to identify the current object. Enter any valid name not to exceed 30 bytes.

Applies to  objects

Required/Optional  required

Default

boilerplate	B_n, where n is a number that is unique among boilerplate object names for the report.
button objects	U_n, where n is a number that is unique among field names for the report.
chart objects	D_n, where n is a number that is unique among Graphics object names for the report.
database columns	the column name as referenced in the SELECT statement of the SQL query (display only).
fields	F_n, where n is a number that is unique among field names for the report.
formula columns	CF_n, where n is a number that is unique among formula names for the report.
frames	M_n, where n is a number that is unique among frame names for the report.
queries	Q_n, where n is a number that is unique among query names for the report.
groups	G_queryname, where queryname is the query's name and a number that is unique among groups.  If the query has a default name (e.g., Q_1), the default group name is of the form:  G_n, where n is a number that is unique among group names for the report.  If the group is not associated with a query (i.e., a cross product group), the default group name is also G_n.
matrix objects	X_n, where n is a number that is unique among matrix names for the report.
OLE2 objects	B_n, where n is a number that is unique among OLE2 object names for the report.
parameters	P_n, where n is a number that is unique among column names for the report.  If you create a parameter by making a bind reference in your query, the name that you used in the query is the default.
placeholder columns	CP_n, where n is a number that is unique among placeholder names for the report.
repeating frames	R_n, where n is a number that is unique among repeating frame names for the report.
sort columns	(Oracle Express only) S_dimension, where dimension is the name of the database column that the sort column is referencing
summary columns	CS_n, where n is a number that is unique among summary names for the report.


Name restrictions

•	Name is not editable for database columns.

•	Report Builder uses the column name, alias, or text of the expression from the query as the default name for a database column.

•	You cannot rename system parameters.


Page Break After property
Page Break After

  Restrictions 	  Examples

Description  The Page Break After property indicates that you want all children of the object to be moved to the next page.  In other words, any object that is a child object of an anchor (implicit or explicit) to this object will be treated as if it has Page Break Before set to Yes.  Note that this does not necessarily mean that all the objects below the object with Page Break After will move to the next page.

Applies to layout objects

Required/Optional  optional

Default  No


Page Break After restrictions

•	Page Break After delays only the formatting of an object's child objects.  The formatting of sibling objects is not delayed because there is no hierarchy (i.e., parent-child relationship) by which Report Builder can determine the order of formatting for siblings.  As a result, an object must be anchored (implicitly or explicitly) to another object as the parent for Page Break After to have an effect.

 Click here.

 Click here.

•	For repeating frames, Page Break After sets a logical page break after the repeating frame as a whole.  To have a page break after each instance of the repeating frame you should also set Maximum Records per Page to 1 on the repeating frame's property sheet.

•	Objects below an object with Page Break After set to Yes may not move to the next page.  If an object is not a child of the object with Page Break After set to Yes, then that object, if it can fit, may print on the same page as the object with Page Break After set to Yes.

 Click here.

•	If an object has no external objects anchored to it (implicitly or explicitly), then Page Break After has no effect.


Page Break Before property
Page Break Before

  Restrictions 	  Examples

Description  The Page Break Before property indicates that you want the object to be formatted on the page after the page on which it is initially triggered to print.  Note that this does not necessarily mean that all the objects below the object with Page Break Before will move to the next page.

Applies to layout objects

Required/Optional  optional

Default  No


Page Break Before restrictions

•	For repeating frames, Page Break Before sets a logical page break before the repeating frame as a whole.  To have a page break before each instance of the repeating frame, you should also set Maximum Records per Page to 1 on the repeating frame's property sheet.

•	Objects below an object with Page Break Before set to Yes may not move to the next page.  If an object is set to print on a page but is moved to the next page because of Page Break Before, other objects may be placed in the space where the object was originally set to print, if there is sufficient room.

 Click here.


Page Protect property
Page Protect

  Restrictions 	  Examples

Description  The Page Protect property indicates whether to try to keep the entire object and its contents on the same logical page.  Setting Page Protect to Yes means that if the contents of the object cannot fit on the current logical page, the object and all of its contents will be moved to the next logical page.

Note: Using Page Protect may cause objects below the page protected object(s) to appear above the page protected object(s).

Applies to  layout objects

Required/Optional  optional

Default  No


Page Protect example (small object)

  Related Topics	  All Examples

Suppose that you have created a frame named M_1 with a number of fields that display various columns and summaries.  For ease of reading, you want to keep all of the fields in M_1 on the same logical page so that readers can see the columns and their summaries together.

Specify Page Protect for M_1.  If M_1 and all its fields cannot fit on the first logical page that Report Builder attempts to print them, Report Builder will try to print M_1 and all its objects on the next logical page.

 Click here.

 Click here.


Page Protect example (large object)

  Related Topics 	  All Examples

Suppose that you have created a frame named M_1 with a number of fields that display various columns and summaries.  For ease of reading, you want to keep all of the fields in M_1 on the same logical page so that readers can see the columns and their summaries together.

Specify Page Protect for M_1.  If M_1 and all its fields cannot fit on the first logical page that Report Builder attempts to print them, Report Builder will try to print M_1 and all its objects on the next logical page.

Suppose further, though, that M_1 and all its fields cannot fit on the second logical page on which Report Builder tries to print it.  Report Builder will print as much of M_1 as it can on the logical page and print the rest of it on the following logical page.


Page Protect example (group report)

  Related Topics 	 All Examples

Suppose that you have a group report.  If at all possible, you would like to have all of the details and the master appearing on the same page.  To do this, you specify Page Protect for the master repeating frame (the outermost repeating frame).  If the details and the master cannot fit on the first page on which they are triggered to print, they will be triggered to print on the next page instead.


Page Protect restrictions

•	Page Protect applies only to the first logical page on which the object is triggered to be formatted.  Page Protect is ignored on subsequent pages.

•	For repeating frames, Page Protect refers to each instance of the repeating frame.  Each instance of the repeating frame and its enclosed objects will be kept together by Page Protect.  The only exception is that page protection is not applied to the first instance on a page other than the first page of the repeating frame.  For example, in the diagram below, page protection is applied to instances 1, 2, and 4, but not to instance 3.  Instance 3 is the first instance to format on the second page of the repeating frame.  Notice that, in this case, if page protection had been applied to instance 3, it would have started on page 3 instead of page 2.  This would have left page 2 almost completely blank.

 Click here.

•	Page Protect is not supported for repeating frames that are part of a matrix.  When repeating frames are related via matrix object, setting Page Protect will not effect them.

•	If moving the object and its contents to the next logical page would leave the current logical page blank or only containing repeated objects (e.g., a page heading), Page Protect will not be applied.  This prevents unnecessary blank pages in your report.

•	If Page Protect causes an object to be moved to the next logical page when formatting, an object alongside the page protected object may or may not be moved as well.  If the object alongside the page protected object is not anchored (implicitly or explicitly) to the page protected object, and that object can fit in the space where the page protected object could not fit, the object will print on that logical page.  Otherwise, the object will be moved along with the page protected object to the next logical page.


Base Printing On property
Base Printing On

  Related Topics

Description  The Base Printing On property is the object on which to base the Print Object On property of the current object.  For example, if you specify a Print Object On of All Pages and a Base Printing On of Anchoring Object, the current object will be triggered to print on every logical page on which its anchoring object (parent object) appears.

Values

Anchoring Object	Is the parent object to which the current object is implicitly or explicitly anchored.

Enclosing Object	Is the object that encloses the current object.

Applies to  layout objects

Required/Optional  required

Default  Anchoring Object


Print Object On property
Print Object On

  Restrictions	  Examples	  Related Topics

Description  The Print Object On property is the frequency with which you want the object to appear in the report.  The Print Object On options indicate the logical page(s) on which the object should be triggered to print with regard to the Base Printing On object.

Note: Just because the object is triggered to print on a logical page does not mean it will print on that logical page.  Other settings (e.g., Page Break Before) or the amount of space available on the page may cause Report Builder to print an object on a page other than the one on which it was initially triggered to print.

In applying these options, Report Builder considers the first page of an object to be the first logical page on which some part of the object is printed.  Likewise, the last page is considered to be the last logical page on which some part of the object is printed.  For example, if you specify a Print Object On of First Page and a Base Printing On of Enclosing Object, the object will be triggered to print on the first logical page on which its enclosing object appears.

Values

All Pages	Means the object and all of its contents will be printed on all logical pages of the Base Printing On object. The object will be repeated on any overflow pages of the Base Printing On object and will be truncated at the logical page boundary, if necessary.
All but First Page	Means the object and all of its contents will be printed on all logical pages of the Base Printing On object except the first logical page. The object will be formatted only on overflow pages of the Base Printing On object and will be truncated at the logical page boundary, if necessary.
All but Last Page	Means the object and all of its contents will be printed on all logical pages of the Base Printing On object except the last logical page.  The object will be repeated on any overflow pages of the Base Printing On object except the last one and will be truncated at the logical page boundary, if necessary.
*Default	Means that Report Builder will use object positioning to set the Print Object On to either *First Page or *Last Page for you. (The asterisk indicates that Report Builder specified the setting for you.)
First Page	Means that the object and all of its contents will only be printed on the first logical page of the Base Printing On object.  The object will be formatted and will overflow to subsequent pages, if necessary.
Last Page	Means that the object and all of its contents will only be printed on the last logical page of the Base Printing On object.  The object will be formatted after the Base Printing On object and will overflow to subsequent pages, if necessary.
Applies to  layout objects

Required/Optional  required

Default  varies according to object


Print Object On example (all)

  Related Topics 	  All Examples

Suppose that you have created a summary column named Col_Sum that sums the values of a column in a group named Group_1.  Col_Sum is the source of a field (F_1) that is enclosed in a repeating frame (R_1), which contains the values from Group_1.  If you specify a Print Object On of All Pages and a Base Printing On of Enclosing Object for F_1, it prints in every instance of R_1 on every logical page.


Print Object On example (overflow)

  Related Topics 	  All Examples

 Click here.

Because it is outside of repeating frame C, boilerplate object D's Base Printing On setting refers to the repeating frame as a whole.  Since they are inside the repeating frame, boilerplate objects A and B's Base Printing On setting refer to each instance of repeating frame C.

Object D appears on all logical pages on which repeating frame C appears.  Object A, however, only prints when an instance of repeating frame C overflows.  The Print Object On of All But First Page in this case means to trigger the object to print on every logical page of each  instance of the repeating frame, except for the very first page on which an instance prints.

Since repeating frame C only contains two objects (boilerplate objects A and B), it only overflows to a second page when boilerplate object B overflows.  Looking at the Print Object On setting of objects A and B (All But First Page and First Page), you would think that these two objects could never appear on the same page.  In this scenario, however, they can only appear on the same page.


Print Object On restrictions

Caution:  If its contents cannot fit within the logical page on which it starts to print, an object with a Print Object On of All Pages, All But First Page, or All But Last Page cannot overflow onto subsequent pages.  In this case, the contents of the object will be truncated and the object will print with the same, truncated contents on every logical page it is triggered to print.

•	If its contents cannot fit within the logical page on which it starts to print, an object with a Print Object On of First Page or Last Page can overflow onto subsequent pages.  As a result, even though it is triggered to print only on the first or last page, it may overflow beyond the first or last page.  As a result of overflow, a Print Object On of First Page and a Print Object On of All But First Page are not necessarily mutually exclusive. For example, if one object has a Print Object On of First Page and another has All But First Page and they both have the same Base Printing On setting, you might think that the two objects could never appear on the same page.  However, if the object with First Page overflows onto the second page, the two objects could appear on the same page.

•	An object that is implicitly or explicitly anchored to its enclosing frame or repeating frame cannot have a Print Object On of Last Page or All But Last Page.  An object that is anchored to another object within its frame or repeating frame cannot have a Print Object On of Last Page or All But Last Page with a Base Printing On of Enclosing Object.

 Click here.

•	If the Base Printing On setting of an object is a repeating frame that encloses the object, then it refers to each instance of the repeating frame to which the object is anchored.

•	If the Base Printing On setting of an object is a repeating frame and the object is outside of the repeating frame, then it refers to the repeating frame as a whole.  For example, a Print Object On of First Page means the first logical page on which the repeating frame is triggered to print.

•	Whether the Base Printing On setting refers to a repeating frame as a whole or the instances of a repeating frame, the Print Object On setting always refers to logical pages.  For example, suppose the Base Printing On of an object is a repeating frame and the object is outside of the repeating frame.  In this case, the Base Printing On would refer to the instances of the repeating frame.  A Print Object On of First Page, however, does not mean the first instance of the repeating frame.  It means the first logical page on which each instance of the repeating frame is triggered to print.

•	Objects in the margin region are restarted on every physical page.  As a result not all Print Object On settings make sense for margin objects.  Because objects are restarted on every page, it is as if you are always on the first page of the object.  First Page is the same as All Pages.  Last Page and All But Last Page are invalid because "last" is never reached.  All But First Page causes the object to never appear because the object never goes beyond "first."


Printer Code Before property
Printer Code Before

  Restrictions 	  Examples

Description  Printer Codes are references to printer escape sequences that define special printing instructions (e.g., special font sizes or highlighting) for the object.  The Printer Code Before property references the printer escape sequence to be executed before each line of the object.  The printer escape sequences are inserted after the object is triggered to print but before it has actually printed.

Values  Enter a valid printer code reference not to exceed 256 bytes in length.  Entries may be of the form &number, where number is a number assigned to a packaged Report Builder printer code or a printer code you've created.

Applies to  layout objects

Usage Notes

•	In most cases, you should be able to accomplish any special formatting by writing PL/SQL for the layout objects.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE PRINTING CODE procedure.


Printer Code After property
Printer Code After

  Restrictions 	  Examples

Description  Printer codes are references to printer escape sequences that define special printing instructions (e.g., special font sizes or highlighting) for the object.  The Printer Code After property references the printer escape sequence to be executed after each line of the object. The printer escape sequences are inserted after the object is triggered to print but before it has actually printed.

Values  Enter a valid printer code reference not to exceed 256 bytes in length.  Entries may be of the form &number, where number is a number assigned to a packaged Report Builder printer code or a printer code you've created.

Applies to  layout objects

Usage Notes

•	In most cases, you should be able to accomplish any special formatting by writing PL/SQL for the layout objects.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET AFTER PRINTING CODE procedure.


Printer Code Special Font example

  Related Topics 	  All Examples

Suppose that in your printer definition file you created two printer codes named &123 and &456.  Code &123 causes the printer to print a special font and code &456 causes the printer to print the normal font.  Assume that you want all fields in a repeating frame (R_1) to be printed using the special font.  You could either use the printer code for each individual field or use it for the entire repeating frame.  The latter case is easier to create and maintain.

On the property sheet for the R_1 repeating frame, you enter &123 for Printer Code Before, and &456 for Printer Code After.  When R_1 is printed, the printer code will be executed before and after each line of R_1 is printed.

 Click here.


Printer Code restrictions

•	Printer codes are only used when running your report in character-mode.  They are not used when running it in bitmap.


Vertical Elasticity property
Vertical Elasticity

  Restrictions 	  Examples

Description  The Vertical Elasticity property is how the vertical size of the object may change at runtime to accommodate the objects or data within it:

•	For frames and repeating frames, elasticity defines whether the size of the frame or repeating frame should vary with the objects inside of it.

•	For objects containing text, elasticity defines whether the field or boilerplate should vary with the size of the text.  Fixed size text will wrap within the defined size of the object and may be truncated if there is not enough room.  Number or date data will appear as asterisks if the data cannot fit within the defined size.

•	For images, drawings, and chart objects, Report Builder uses proportional scaling.  The elasticity options for images, drawings, and chart objects determine the scaling factor.

 Click here.

Values

Contract	Means the vertical size of the object decreases, if the formatted objects or data within it are short enough, but it cannot increase to a height greater than that shown in the Report Editor. Truncation of data may occur; look at the examples.  (You can think of this option as meaning "only contract, do not expand.")
Expand	Means the vertical size of the object increases, if the formatted objects or data within it are tall enough, but it cannot decrease to a height less than that shown in the Report Editor.  (You can think of this option as meaning "only expand, do not contract.")
Fixed	Means the height of the object is the same on each logical page, regardless of the size of the objects or data within it. Truncation of data may occur; look at the examples.  The height of the object is defined to be its height in the .
Variable	Means the object may expand or contract vertically to accommodate the objects or data within it (with no extra space), which means the height shown in the Report Editor has no effect on the object's height at runtime.
Applies to  layout objects

Required/Optional  required

Default  varies according to the object

Usage Notes

•	If you create a chart object in your report with a Vertical and Horizontal Elasticity of Fixed, Report Builder scales the Graphics Builder display to fit within the dimensions you defined for the object.


Vertical Elasticity example (expand)

  Related Topics 	  All Examples

Suppose that you have a field with the following characteristics:

Characteristic	Value
width	1 inch
Horizontal Elasticity	Fixed
height	2 inches
Vertical Elasticity	Expand
 Click here.


Vertical Elasticity example (variable)

  Related Topics 	  All Examples

Suppose that you have a frame named M_2 with the following characteristics:

Characteristic	Value
width	5 inches
Horizontal Elasticity	Fixed
Vertical Elasticity	Variable
Assume further that the Page Height for the report is twelve inches.  Because of the size of the objects within it, M_2 requires eight inches vertically to format.  Another frame, called M_1, precedes M_2 on the logical page and takes up six inches.

The following diagram shows how the frame might be formatted.

 Click here.

Note that all of M_2 cannot fit on the first logical page.  Because the Vertical Elasticity is Variable, the first five inches of M_2 are printed on the first logical page and the last two inches are printed on the second logical page.  Had the Vertical Elasticity been Fixed, all of M_2 would have printed on the second logical page.


Vertical Elasticity restrictions

Caution: If the contents of an object exceed its defined height, its Vertical and Horizontal Elasticity determine whether the contents overflow onto the next page or are truncated.  Images, drawings, and chart objects cannot overflow.  See the rules below for details about images, drawings, and Graphics Builder displays.

 Click here.

Additional Information:  If you want your data truncated, you should use the SQL SUBSTR function in your query.  For example, if you want only the first four characters of a column, then use SUBSTR in your SELECT statement to retrieve only those characters from the database.

•	When formatting an object, if Vertical Elasticity is Fixed, Report Builder will only format it on a logical page if the page has enough space to contain the entire object.

•	If Vertical Elasticity is Expand, Report Builder will only format the object on a logical page if the page has enough space to contain the defined height of the object (i.e., its minimum size).  If formatting is not complete, the object overflows to the next page.

•	If Vertical Elasticity is Variable or Contract, Report Builder will format as much of the object as possible on the first logical page and, if necessary, complete the object on the following logical page(s).

•	If a number cannot fit in its field, then asterisks will appear in the field instead of the value.  To get the value to appear, you either need to resize the object or change its elasticity to Expand or Variable.

•	The following elasticity rules apply to objects (e.g., fields or boilerplate) that contain an image, drawing, or Graphics Builder display:

•	If the elasticity of the layout object is variable (i.e., both Vertical and Horizontal Elasticity are Variable), then the contents will appear the same size as they do in their source (e.g., the source file).

•	If the elasticity of the layout object is fixed (i.e., both Vertical and Horizontal Elasticity are Fixed), then proportional scaling is performed on the contents.  In some cases, this may lead to empty space or "gaps" between the contents and the border of the object.  For example, if an object is fixed both horizontally and vertically and the image is too large for the object, then the image will only fill the object in one direction.  In the other direction, the image will be shorter than the object.  To avoid these gaps, you can either change the elasticity (e.g., make it variable horizontally, vertically, or both) or you can manually resize the object.

•	If an object containing an image, drawing, or a Graphics Builder display is Fixed in only one direction, Report Builder will always attempt to have the contents fill up the Fixed dimension.

•	If the elasticity of the object is Contract in one direction and Fixed in the other, the contents may be clipped.  To avoid clipping of the contents, you can either change the elasticity (e.g., make it Variable both horizontally and vertically) or you can manually resize the object.

•	If the elasticity of the object is variable (i.e., Vertical or Horizontal Elasticity is Variable) and the object cannot fit in its enclosing object (e.g., a frame or the logical page), the report will infinitely loop (because the object can never format).

•	If a value to be displayed in the report output relies on the formatting of the report, then the field or boilerplate object that displays the value must have a Vertical and Horizontal Elasticity of Fixed.  (This is sometimes referred to as page-dependent referencing.)  If the elasticity is not fixed, Report Builder will change it to be fixed at runtime.

A typical case of page-dependent referencing is a field that has a Source of &Total Logical Pages.  The total number of logical pages cannot be determined until the entire report has been formatted.  But Report Builder must format the field before the end of the report and cannot wait until the report is completely formatted to determine how big to make the field.  Consequently, the field's elasticity must be fixed, so that Report Builder knows how much space to reserve for it before its source value is determined.

Following are cases of page-dependent referencing, where a field or boilerplate object's elasticity must be fixed because its source value depends on the formatting of the report:

•	If a summary column has a Reset At or Compute At of Page, then the field or boilerplate object that displays its value must have fixed elasticity.

•	If a formula or summary column relies on a summary column that has a Reset At or Compute At of Page, then the field or boilerplate object that displays its value must have fixed elasticity.

•	If the Source of a field is &Logical Page Number, &Panel Number, &Physical Page Number, &Total Logical Pages, &Total Panels, or &Total Physical Pages, then any object that displays the field (either the field itself or a boilerplate object) must have fixed elasticity.

•	If a field has a page number as its Source and, in the Page Numbering dialog box, Reset At is a repeating frame, then any layout object that displays its value must have fixed elasticity.

Note:  If a field containing a page-dependent reference has Visible set to No, then the field may have Horizontal Elasticity of Variable, Expand, or Contract.  Any boilerplate object that references the field, though, must be fixed in elasticity.


Hyperlink property
Hyperlink

  Restrictions 	  Related Topics	  Examples

Description  The Hyperlink property is a URL link specification that displays a document or destination within a document when the object is clicked in the Web browser or PDF viewer.

Values  Any valid link to a:

•	destination within the current document (e.g., #my_dest_name)

•	destination within a local document (e.g., file:/private/somedoc.pdf#a_dest_name)

•	document on the local machine (e.g., file:/private/mynewdoc.pdf or file:///C|/temp/mynewdoc.pdf)

•	document on a remote machine (e.g., http://www.newmach.com/newdoc.pdf, http://www.newmach.com/newdoc.html, ftp://www.reposit.com/filetoget.example, http://www.somemch.com/cgi-bin/webmenu?choice1)

•	destination within a remote document (e.g., http://www.newmach.com/newdoc.pdf#some_dest_name)

Applies to  layout objects

Default  blank

Usage Notes

•	If a Hyperlink property is specified for a frame, the property will be transferred to all the child (interior) objects that do not have a Hyperlink property specified.  If the property cannot be transferred to the child objects, the frame's Hyperlink value is lost.

•	A report output in PDF format can include both hyperlinks and application command line links.  If the Application Command Line property is set for an object, it will be applied to the object.  Otherwise, the Hyperlink property is applied.

•	If a Hyperlink property is specified for an object in a frame, clicking the object will by default replace the frame with an entire window displaying the destination of the hyperlink.  To replace only the frame, include the following HTML in the Additional Hyperlink Attributes property setting:  target=filename, where filename is the name of frame to replace.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET HYPERLINK procedure.


Hyperlink restrictions

•	To follow Web links from a PDF viewer to a remote server or HTML document, the PDF viewer must be configured to work with a Web browser (e.g., configured as a helper application or installed as a plug-in to your Web browser).


Hyperlink Destination

  Examples

Description  The Hyperlink Destination property is a unique identifier for an object, which can be used as the destination of a Web link.

Values  A valid, unique name that only makes use of the 26 upper or lower case US ASCII letters, numbers, or underscore characters.  Other special characters will automatically be converted to underscore characters.

Applies to  layout objects

Required/Optional  Required, if you want to set a Hyperlink property for an object that specifies this object as its destination.

Default  blank

Usage Notes

•	If a Hyperlink Destination property is specified for a frame, the property is transferred to the visible object nearest to the upper left corner of the frame.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET LINKTAG procedure.


Bookmark property
Bookmark

  Restrictions 	  Examples

Description  The Bookmark property is a Web link that will appear in a bookmark frame of the master HTML document or in the bookmark area of the PDF viewer.  Clicking on the bookmark displays the associated object at the top of the window.

Values

A text string with no indentation/ordering information.  The bookmark will appear in the bookmark list according to when the object is rendered by the report.

A text string with explicit ordering/indentation of the form x#book_mark_name, where x is an outline number.  The pound sign (#) and outline number do not appear in the bookmark window but are used to determine order and indentation.

Applies to  layout objects

Default  blank

Usage Notes

•	If a Bookmark property is specified for a frame, the property is transferred to the visible object nearest to the upper left corner of the frame.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET_BOOKMARK procedure.


Bookmark example (indentation/ordering)
Bookmark example (with indentation/ordering)

  Related Topics 	  All Examples

1#Expense Summary Section
2#Expense Detail Section
2.1#Expenses for the Administration Department
2.2#Expenses for the Engineering Department
2.3#Expenses for the Sales Department
2.3.1#Expenses for the Eastern Sales Region
2.3.2#Expenses for the Northern Sales Region
2.3.3#Expenses for the Southern Sales Region
2.3.4#Expenses for the Western Sales Region


Bookmark restrictions

•	If the same outline number is used multiple times, all entries appear but the order is defined by when the objects are rendered by the report.

•	If there are gaps in the numbers, one of two things will happen.  If the gap is between peer level numbers, there will be no visible effect (e.g., 1.3.1 and 1.3.3, given there is no 1.3.2, will appear next to each other and at the same indentation level).  If the gap is between a higher level number and a lower level number, intermediate levels will be generated as required (e.g., 1.0 followed by 2.1.1 will cause dummy 2 and 2.1 entries to be defined, whose titles will be the same as the subsequent real entry).


Application Command Line (PDF) property
Application Command Line (PDF)

  Restrictions	  Examples

Description  The Application Command Line (PDF) property is a command line that will be executed on the local machine when the object (in a PDF document) is clicked in the PDF viewer.

Values  Any valid command line on the local machine (e.g., c:\orawin\bin\rwrun60 userid=scott/tiger report=example.rdf or /usr/local/bin/phone smith)

Applies to  layout objects

Default  blank

•	A report output in PDF format can include both hyperlinks and application command line links.  If the Application Command Line property is set for an object, it will be applied to the object.  Otherwise, the Hyperlink property is applied.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET_PDF ACTION procedure.


Application Command Line (PDF) restrictions

•	The Application Command Line property is only available for PDF output.


Conditional Formatting property
Conditional Formatting

  Related Topics

Description  The Conditional Formatting property uses the values specified in the Conditional Formatting dialog box to set output formatting for the selected layout object when the specified condition(s) evaluate to TRUE.

Applies to  layout objects

Required/Optional  Optional


Display Name property
Display Name

  Examples

Description  The Display Name property is text that displays in a popup as the cursor moves over an image object in reports output in HTML or HTMLCSS format.

Values  A text string not to exceed 256 characters.

Applies to  image objects in HTML reports.

Default  blank

Usage Notes

•	When you output your report in HTML or HTMLCSS format, the Display Name property value is inserted into the IMG tag using the HTML ALT tag.

•	If there is a hyperlink defined against the image object, you can also use the Additional Hyperlink Attributes property to generate a status line of information.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET DISPLAY NAME procedure.


Additional Hyperlink Attributes property
Additional Hyperlink Attributes

  Examples	  Related Topics

Description  The Additional Hyperlink Attributes property specifies additional HTML attributes to be applied to the link defined by the Hyperlink property.

Values  Any valid HTML tags for the link defined by the Hyperlink property.

Applies to  layout objects with a link defined by the Hyperlink property.  If no link is defined, this property has no effect.

Default  blank

Usage Notes

•	If a Hyperlink property is specified for an object in a frame, clicking the object will by default replace the frame with an entire window displaying the destination of the hyperlink.  To replace only the frame, include the following HTML in the Additional Hyperlink Attributes property setting:  target=filename, where filename is the name of frame to replace.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET HYPERLINK ATTR procedure.


End of Layout Section property
End of Layout Section

Description  The End of Layout Section property determines where the Live Previewer will stop searching for aligned objects.  This property is used primarily in character mode and is used to restrict the scope of search for matching objects.

Values

Yes	Means Live Previewer will stop searching for aligned objects at the end of the frame.
No	Means Live Previewer will search for all objects aligned in the same direction.
Applies to  frames

Required/Optional  required

Default  varies according to the object


This diagram shows the points at which each printer code is invoked:


This diagram shows what the field might look like when formatted.  Note that the field always takes up at least two inches vertically and is always one inch wide.  If the data takes more than one inch horizontally and two inches vertically, the field grows vertically to accommodate the data.


The table below shows the combinations of objects and elasticity choices that cause overflow and truncation.  (Expand and Variable in the table apply if either the Vertical or Horizontal Elasticity is Expand or Variable.)

Object	Fixed/ Contract	Expand	Variable
repeating frame	no overflow	no overflow	no overflow
instances and frames
(contents <= defined
height)
repeating frame	no overflow	overflow, if	overflow, if
instances and frames		unable to fit	unable to fit
(contents > defined		on the page	on the page
height)
fields and boilerplate	no overflow	no overflow	no overflow
(contents <= defined
height)
fields and boilerplate	truncate*	overflow, if	overflow, if
(contents > defined		unable to fit	unable to fit
height)		on the page	on the page
* To avoid truncation, make the field or boilerplate's Vertical Elasticity

Variable and surround it with a frame that has Fixed Vertical Elasticity.

Note also, that when truncation of text occurs, it occurs after the

field or boilerplate text has been wrapped.


This diagram illustrates a layout and the resulting output.


 Notice how B_Graph, which appears below R_Sal in the layout, actually ends up printing on page 1 instead of page 2.


In this diagram Page Break After is set to Yes for frame M_Dept.  Both M_Dept and M_Emp have Fixed Vertical and Horizontal Elasticity.  Page Break After does nothing in this case because M_Dept and M_Emp are siblings inside of the parent frame M_Parent.


 In this diagram, everything is the same as the previous case except that M_Dept is explicitly anchored to M_Emp as the parent.  Page Break After delays the formatting of M_Emp in this case because M_Dept is the parent of M_Emp.


Notice how B_Graph, which appears below R_Sal in the layout, actually ends up printing on page 1 with R_Sal.  This happens because B_Graph is not a child of R_Sal.  If you explicitly anchored B_Graph as a child to R_Sal, then B_Graph would have appeared on page 2 instead of page 1.


Database Column properties

  Restrictions

Break Order

Column Type

Comment

Contains XML Tags

Database Column Name

Datatype

Exclude from XML Output

File Format

Name

Read from File

Value If Null

Width

XML Tag

XML Tag Attributes


Database Column restrictions

•	Only Report Builder can create database columns (it creates one for each item in the SELECT lists of your queries).  To create a database column, you must add to the SELECT list of your query and Report Builder will then create the database column for you.

•	Database columns can only be deleted by removing the associated item from the SELECT list.


Field properties

  Related Topics 	  Restrictions

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Comments

Contains HTML Tags

Format Mask

Format Trigger

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Minimum Widow Lines

Name

Page Break After

Page Break Before

Page Numbering

Page Protect

Print Object On

Printer Code After

Printer Code Before

Source

Source Datatype

Vertical Elasticity

Visible


Field restrictions

•	The maximum size of text in a field is 64K of text per paragraph and 64K paragraphs.  This limit may vary according to your operating system.

•	The contents of fields are wrapped on word boundaries, i.e., on spaces, hyphens, and tabs.  Other punctuation marks are considered to be the last character of the word they follow.  New line characters in the field's contents force new lines.  There is no limit to the number of lines that can be created.

•	In the Layout Model view, a field must be placed inside of a repeating frame whose source group is the group (or a descendant of the group) that contains the field's source column.  If a field's source is a summary owned by a cross-product group, then the field must be placed inside of the set of repeating frames whose sources are the groups in the summary column's Product Order .

•	A field must be in front of the repeating frame that contains it.

•	If a number cannot fit in its field, then asterisks will appear in the field instead of the value.  To get the value to appear, you either need to resize the object or change its elasticity to Expand or Variable.


Source Datatype property
Source Datatype

Description  The Source Datatype property is a read-only field that displays the Datatype of the field's Source.

Applies to  fields

Usage Notes

•	A field of Datatype Long, Long Raw, or Raw is treated as text unless you specify otherwise in the Format field of the Column Property Palette.


Format Mask property
Format Mask

  Format Mask Syntax	  Restrictions 	  Examples

Description  The Format Mask property defines how you want to display Date and Number values in the field.  You can enter custom masks for numbers and dates or you can select from the list of values.  Character values have no format mask.

The values displayed initially in the list are determined by the Datatype of the field (e.g., for a field of Datatype Number, only number masks are shown in the list).  If you enter a mask not in the list for Format Mask and accept the Field Property Palette, the new format mask will appear in the list of values.

Values   Any valid number or date format mask not to exceed 1K.   Blank means Report Builder will format the values based on the Datatype of the field's Source.

Applies to  fields

Required/Optional  optional

Default  blank

Usage Notes

•	If you leave this field blank and the Datatype of the field's Source is Date, the format mask is the default for your language (e.g., in the United States, the default is 'DD-MON-RR'); if the Datatype of the field's Source is Number, the values are formatted according to the width of the Source (see table below).

 Click here.

This default behavior is the same as in  SQL*ReportWriter Version 1.1.

•	Custom format masks are only valid during the current Report Builder session.  If you quit Report Builder and then invoke it again, the list of values for the Format Mask field does not contain the format masks you created in the previous Report Builder session (unless you open the report(s) that used these masks).  To include masks in the list that will be saved between sessions, use Edit Masks in the Tools Options dialog box (Tools-->Preferences).

PL/SQL To define this attribute using PL/SQL, use the SRW.SET FORMAT MASK procedure.


Date and Time Format Mask syntax

The following tables describe the format masks for dates and the suffixes you can add to them, and time:

Format Mask	Explanation
SCC or CC	Century, abbreviated; 'S' prefixes "BC" with (-)
SYYYY or YYYY	Year; 'S' prefixes "BC" date with a (-)
I or IY or  IYY	Last 1, 2, or 3 digit(s) of year
Y or YY or YYY	Last 1, 2, or 3 digit(s) of year
Y,YYY	Year with comma
SYEAR or YEAR	Year, spelled out; 'S' prefixes "BC" date with (-)
RRRR or SRRRR	Year; 'S' prefixes "BC" date with a (-)
RR	Last 2 digit(s) of year
BC, AD, or B.C., A.D.	Century indicator
Q	Quarter of year (Jan-Mar=Quarter 1)
MM	Month in digits (Jan = 01)
MONTH or MON	Name of month, or 3-letter abbreviation
WW, IW	Week in year
W	Week in Julian days
J	Julian day; the number of days since January 1,4712 BC
DDD, DD, or D	Day in year, month, or week
DAY	Day of week fully spelled out (e.g., MONDAY)
DY	Name of day, 3-letter abbreviation (e.g., MON)
AM, PM, or A.M., P.M.	Meridian indicator
HH or HH12	Hour of day (1-12)
HH24	Hour of day (0-23)
MI	Minute
SS; SSSSS	Second in minute; seconds in day
FM	Toggles fill mode which replaces multiple spaces before or between dates, numbers, or words with a single space
The following suffixes may be added to the format masks:

Suffix	Explanation
TH	Suffixed number ("DDth" for "4th")
SP	Spelled out number ("DDSP" for "FOUR")
SPTH or THSP	Spelled and suffixed number ("DDSPTH" for "FOURTH")


Number Format Mask syntax

The following table describes the tokens you can use in creating a number format mask:

Format Token	Explanation
0	Prints one digit.
N	Prints one digit, unless it is a leading zero to the left of the decimal point or a trailing zero to the right of the decimal point.
*	Prints one digit, unless it is a leading zero to the left of the decimal point, in which case an asterisk (*) is printed. Trailing zeros to the right of the decimal point are printed.
9	Prints one digit, unless it is a leading zero to the left of the decimal point, in which case a space is printed.  Trailing zeros to the right of the decimal point are printed.
+	Prints a leading plus (+) for positive values and a leading minus (-) for negative values.  This token must lead the mask.
-	Prints a leading minus (-) for negative values and nothing for positive values.  This token must lead the other tokens.
MI	Prints a minus (-) after negative values and a space after positive values.  This token must trail the other tokens.
S	Prints a minus (-) for negative values and a plus (+) for  positive values (wherever the S appears in the mask).  This token must lead or trail the other tokens.
PR	Prints angle brackets (<>) around negative values and spaces around positive values.  This token must trail the other tokens.
( )	Prints parentheses around negative values and spaces around positive values.  The parentheses must surround the other tokens.
DB	Prints a "DB" after positive values.  This token must trail the other tokens.
CR	Prints a "CR" after negative values.  This token must trail the other tokens.
Y	Causes no sign symbol to be printed for negative or positive values.
V	Causes the number to be multiplied by 10N, where N is the number of 0, 9, *, and S tokens that appear to the right of the V.
EEEE	Causes the number to be printed in scientific notation.  All digit tokens refer to digits of the mantissa.  There must be exactly one digit to the left of the decimal point (displayed or implicit).  The token EEEE prints as E followed by a plus (+), if the ordinate is positive or zero, and a minus (-), if the ordinate is negative, and two digits representing the ordinate (e.g., E-99).
"string"	Prints the string between the double quotes.  To have double-quotes inside the string, type double-quotes back to back ("").
. (period)	Prints a period (.) to separate the integral and fractional parts of a number.
D	Prints the local decimal character to separate the integral and fractional parts of a number.
, (comma)	Prints a comma (,) as the group/thousands separator.
G	Prints the local group/thousands separator.
$	Prints $.
L	Prints the local currency symbol.
C	Prints the ISO currency symbol.
%	Prints %.
" "	Prints a blank space.  (Do not include quotes in mask.)
v	Prints a blank space for all zero values, regard-less of other tokens.
K	Prints a blank space.
<>	Delineates the beginning and ending of the decimal-aligned region (i.e., that part of the number that you want aligned with the decimal point in the format mask).  Angle brackets indicate that the number should always occupy the same amount of space.  If necessary, values are padded with blanks to the left or right of the decimal point.
RN, rn	Prints values in uppercase or lowercase Roman numerals, respectively.  You cannot enter any other tokens with this token.


Format Masks examples

  Related Topics 	  All Examples

The following tables illustrate some sample format masks:

Sample Date Format	Date Displayed
MM/DD/RR	03/04/85
DD MON RRRR	04 MAR 1985
Mon. DD, RRRR	Mar. 4, 1985
Day Month DD fmHH:MI AM	Monday March 4 11:35 AM
Dy Mon ddth fmHH24:MI:SS	Mon Mar 4th 23:35:22
Day "the" ddthsp "of" Month	Monday the fourth of March
Sample Number Format	Number	Number Displayed
-0000	7934	"7934"
	-7934	"-7934"
-00000	7934	"07934"
-NNNN	7639	"7639"
	535	"535"
-NNN	7639	"****"
-****	7902	"7902"
-*****	7902	"*7902"
+NNNN	100	"+100"
	-99	"-99"
(NNNN)	1600	" 1600 "
	-800	"(800)"
NNNNPR	1600	" 1600 "
	-800	"<800>"
NNNNMI	1600	"1600 "
	-800	"800-"
NNNVNN	343	"34300"
N.NNEEEE	7369	"7.37E+03"
"SRW"-0000	7782	"SRW7782"
-$NNNN.NN	800	"$800"
	1600	"$1600"
-%NNN	10	"%10"
-NN NNN.NN	3000	"3 000"
+KKNNNNN.00	1950	"+  1950.00"
	900	"+   900.00"
$<NNNNN.00>	1200	"$  1200.00"
	500	"$   500.00"
$<NNNNN.00> DB	1200	"$  1200.00 DB"
	-500	"$   500.00"
$<NNNNN.00> CR	1200	"$  1200.00"
	-500	"$   500.00 CR"
* The quotation marks will not appear in your output.  They are used here to make it clear where there are leading or trailing spaces.


Format Mask restrictions

•	For number format masks, if the actual value is longer than the specified format mask, the value will appear as a string of asterisks in the report output, regardless of the field's width.  For example, if a fixed field's width is 8, the value is 1234567, and the format mask is <NNNNNN>, your output will be *******.

Similarly, if the number format mask causes the value to be larger than the field width, asterisks will appear in place of the value.  For example, if a fixed field's width is 6, the value is 1234, and the format mask is -99999999, your output will be ******.  This occurs because the format token 9 prints a blank for leading zeros to the left of the decimal.  As a result, the value is too long to be displayed in a field of width 6.

•	If you do not specify a sign token in the format mask, positive values are preceded by a space and negative values are preceded by a minus (-).  This behavior is different from the default behavior in SQL*ReportWriter Version 1.1.  Specifying the Y format mask token causes the Version 1.1 default behavior.

•	After you create a format mask it will display in the list of values  only if it is an appropriate format mask for the Datatype of the Source --i.e., format masks for numbers are displayed when the Source is a number, and format masks for dates are displayed when the Source is a date.

•	Format masks that print spaces for zeros (e.g., 9) increase the number of bytes per page taken up by your output.


Visible property
Visible

  Restrictions 	  Examples

Description  The Visible property indicates whether or not the field should be formatted.  If set to No, the field is hidden (not formatted).  This is used for fields that you only want to reference in boilerplate text.  Hidden fields are most often used for form letter reports, where fields are referenced in boilerplate text.  To reference a hidden field, type &fieldname within the boilerplate text object.

Applies to  fields

Required/Optional  optional

Default  Yes

Usage Notes

•	A reference to a hidden field can appear anywhere in boilerplate text.  If you want to place the field reference next to other text with no s3paces in between, enclose the field name in angle brackets (e.g., &<fieldname>Kg).  Otherwise, Report Builder will assume that all of the text between the ampersand and the next space is part of the field name.  Note, however, that you can put references right next to each other with no spaces in between and without angle brackets (e.g., &field1&field2&field3).


Hidden Field Reference example

  Related Topics 	  All Examples

Suppose that you are building a form letter report and you want to insert the name, address, and phone number of the addressee in the letter.  You create a field called NAME1 for the name of the addressee, ADDRESS for the address, and PHONE for the phone number.  These fields are only to appear within boilerplate text, so you select No.  Within the boilerplate text where you want these values to appear, you insert references as follows:

Dear &NAME1,

Our records show that your address and phone are the

following:

&ADDRESS

&PHONE

In the output, the letter would look something like this:

Dear J. Smith,

Our records show that your address and phone are the

following:

234 Summer Lane

San Francisco, CA 11104

415-363-1234


Hidden Field restrictions

The following properties and attributes of a hidden field are applied to references to the hidden field:

•	Format menu selections (Font, Size, Weight, Style, Justification)

•	Horizontal Sizing

•	Format Mask

•	Page Numbering attributes (in Page Numbering dialog box).

•	Format Trigger


Page Numbering property
Page Numbering

  Restrictions 	  Examples

Description  The Page Numbering property determines how page numbers are calculated for fields that have a Source of &Physical Page Number, &Total Number of Physical Pages, &Logical Page Number, or &Total Number of Logical Pages.

 Click here.

Note:  The settings for each page are based on the logical or physical page as specified by the field's Source.


Pages Numbering example (pages in body)
Page Numbering example (pages in body)

  Related Topics 	  All Examples

Suppose that you want to number the physical pages of the Main Section of your report:

1	Create a field named F_PAGE and set the Source property to &Physical Page Number.

2	In the Field Property Palette for F_PAGE, set the Page Numbering property by filling out the Page Numbering dialog box as follows:

•	Check Main Section and uncheck Header Section and Trailer Section because you only want to number the Main Section pages.

•	Type 1 in the Start At setting.

•	Type 1 in the Increment By setting.

•	Type &Report under Reset At because you want to number all the pages in the Main Section consecutively.

3	Position F_PAGE in the Layout Model view.


Page Numbering example ("Page n of m pages")

  Related Topics 	  All Examples

Suppose that you want to have the page number at the top of each page of your report.  Furthermore, you want the page number to be of the form "Page n of m pages":

1	Create a field named F_PAGE and set the Source property to &Physical Page Number.

2	In the Field Property Palette, set the Page Numbering property by filling out the Page Numbering dialog box as follows:

•	Check Main Section and uncheck Header Section and Trailer Section  because you only want to number the Main Section pages.

•	Type 1 in the Start At setting.

•	Type 1 in the Increment By setting.

•	Type &Report under Reset At because you don't want the page numbers to reset to zero until the report is done.

3	Create a field called F_TOTPGE and set the Source property to &Total Number of Physical Pages.

4	Do either of the following:

•	Hide these fields (i.e., set the Visible property to No) and reference them within boilerplate text:

Page &F_PAGE of &F_TOTPGE

•	Alternatively, position F_PAGE and F_TOTPGE beside each other.  Insert boilerplate to the left of F_PAGE that contains the text "Page".  Insert boilerplate between F_PAGE and F_TOTPGE that contains the text "of".


Page Numbering example (repeating frame instances)

  Related Topics 	  All Examples

Suppose that you have a repeating frame (R_1) with instances that span several pages and you want to number the physical pages that each instance spans.  Assume also that you want the page number to be of the form "Page n of m pages":

1	Create a field named F_PAGE and set the Source property to &Physical Page Number.

2	In the Field Property Palette for F_PAGE, set the Page Numbering property by filling out the Page Numbering dialog box as follows:

•	Check Main Section and uncheck Header Section and Trailer Section because you only want to number the Main Section pages.

•	Type 1 in the Start At setting.

•	Type 1 in the Increment By setting.

•	Type &R_1 under Reset At because you want the page numbers to reset at each repeating frame instance.

3	Create a field called F_TOTPGE and set the Source property to &Total Number of Physical Pages.

4	In the Field Property Palette for F_TOTPGE, set the Page Numbering property by filling out the Page Numbering dialog box as follows:

•	Type &R_1 under Reset At because you want the page numbers to reset at each repeating frame instance.

5	Set the Print Condition of F_PAGE and F_TOTPGE such that they will print on all logical pages of R_1:

•	set the Print Condition Type property to All

•	set the Print Condition Object property to Enclosing Object

6	Do either of the following:

•	Hide these fields (i.e., set the Visible property to No) and create a boilerplate text object inside R_1 with the following text:

Page &F_PAGE of &F_TOTPGE

•	Alternatively, position F_PAGE and F_TOTPGE beside each other, inside R_1, using the Layout Model view.  Insert boilerplate to the left of F_PAGE that contains the text "Page".  Insert boilerplate between F_PAGE and F_TOTPGE that contains the text "of".


Page Numbering restrictions

If the Reset At value is a repeating frame, do not have the field appear on pages where the repeating frame does not appear.  Because the value of the field is determined by the repeating frame, the results will be unpredictable on pages where the repeating frame does not appear.  To avoid this situation, you can do any one of the following:

•	Place the field inside the repeating frame at which its value is reset.  This ensures that the field will only appear when the repeating frame appears.

•	Create a Format Trigger for the field such that it will only be displayed on pages where its value makes sense (i.e., pages on which one instance of the repeating frame appears).

Similarly, if the field is not inside the repeating frame it resets at, and multiple instances appear on the same page, Report Builder cannot determine the value of the field and the results are again unpredictable.  To avoid this situation, you can do any one of the following:

•	Place the field inside the repeating frame at which its value is reset.

•	Set Maximum Records Per Page to 1 for the repeating frame at which the the field's value is reset.


Source property
Source

  Restrictions 	  Examples

Description  The Source property is the place where the field gets its values (usually a column or a parameter).

Note:   If Source is a page number value (e.g., &Logical Page Number), you can select Page Numbering to control how the page numbering is done.

Values  Any valid column or parameter name.

&Current Date	Is the operating system date when the report runs, after the Runtime Parameter Form is finished.
&Logical Page Number	Is the current page number based upon numbering the output by logical pages.
&Panel Number	Is the current panel number within the logical page.
&Physical Page Number	Is the current page number based upon numbering the output by physical pages.
&Total Logical Pages	Is the total number of pages based upon numbering the output by logical pages.
&Total Panels	Is the total number of panels within a logical page.
&Total Physical Pages	Is the total number of pages based upon numbering the output by physical pages.
Applies to  fields

Required/Optional  required


Source example

  Related Topics 	  All Examples

Assume that you have a report with a data model like the one in the figure.  Assume further that G_Dept is the Source for repeating frame R_Dept and G_Emp is the Source for repeating frame R_Emp.

 Click here.


Source restrictions

•	If a field is enclosed in a repeating frame, the column used as its Source must be in the source group or an ancestor of the source group of the field's enclosing repeating frame.

The figure shows a group tree.  If the source group of the repeating frame were 6, then the field Source could be 1, 3, or 6.  If the field has no enclosing repeating frame, the column must be a report-level column, i.e., it must be owned by the report.

 Click here.

•	If a column has a Reset At of Page, then any fields that use it as a source must be contained in repeating frames that use the column's group as their source.  In addition, any boilerplate objects that reference the field must also be contained in repeating frames that use the column's group as their source.

•	If you specify a Source for a field and later delete that source from your report (i.e., create a summary column, specify it as the source for a field, and later delete that summary column), your field no longer has access to data to display, and *UNDEFINED* appears in the Source field.

•	If the Source of a field is &Logical Page Number, &Panel Number, &Physical Page Number, &Total Logical Pages, &Total Panels, or &Total Physical Pages, then any layout object that displays the field (either the field itself or a boilerplate object) must have fixed sizing.

•	A field cannot have a Source of Sound or Video.


The table below shows some examples of how Number values are formatted according to the width of the field's Source:

Value	Width of Source	Output Displayed
9.99999	4	10.0
9.99999	3	10.
9.99999	2	10
9.99999	1	*
-9.99999	4	-10.
-9.99999	3	-10
-9.99999	2	**
400	2	**
4.563	5	4.563
4.563	4	4.56
4.563	3	4.6
0.001	5	.001
0.001	4	.001
0.001	3	.00
0.001	2	.0
0.001	1	.
-0.01	4	-.01
-0.01	3	-.0
-.01	2	-.


The figure illustrates the differences between logical page, physical page, and panel numbering.  Note that each region may contain multiple logical pages.  Furthermore, within each logical page you may have multiple panels.  In the figure, physical pages are numbered consecutively starting with the Header Section pages.  This assumes that you selected Header Section, Body Section, and Trailer Section in the Page Numbering dialog box.


 In this example, DEPTNO and DNAME could be the Source for fields in either R_Dept or R_Emp.  ENAME and SAL could only be the Source for fields in R_Emp.


Formula Column properties

  Restrictions

Break Order

Column Type

Comment

Datatype

Exclude from XML Output

File Format

Name

PL/SQL Formula

Product Order

Read from File

Set Break Order

Value If Null

Width

XML Tag

XML Tag Attributes


Formula Column restrictions

•	You can set placeholder or formula columns to any of the following Datatypes: Character, Number, and Date.


Frame properties

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Comments

Format Trigger

End of Layout Section

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Name

Page Break After

Page Break Before

Page Protect

Print Object On

Printer Code After

Printer Code Before

Vertical Elasticity


Group properties

  Restrictions

Child Dimension

Comment

Exclude from XML Output

Filter Type

Name

Number of Records

Outer XML Tag

Outer XML Attributes

PL/SQL Filter

XML Tag

XML Tag Attributes


Group restrictions

•	Any group that is not the lowest group owned by a query must contain at least one column with Break Order specified.

•	For rules regarding cross-product groups, see "Matrix Restrictions".


Child Dimension property
Child Dimension

  Restrictions 	  Examples

Description  Child Dimension indicates whether a group is a child dimension group in a nested matrix data model.  By identifying which groups are child dimensions, you eliminate empty rows and/or columns in your matrix.

Values

Yes	Identifies the group as a child dimension in a nested matrix report.
No	Identifies the group as not a child dimension in a nested matrix report.
Applies to  dimension groups in a single-query, matrix data model

Required/Optional  optional

Default  No

Usage Notes

•	When Child Dimension is set to No, the lines between groups inside a cross product group are dotted.  When you set Child Dimension to Yes, the line between that group and its parent will become solid.


Child Dimension example (set to No)

  Related Topics 	  All Examples

For the matrix below, the group containing deptno (G_DEPTNO) had Child Dimension set to No.  Note how all rows are printed even if they contain no values.


Child Dimension example (set to Yes)

  Related Topics 	  All Examples

For the matrix below, the group containing deptno (G_DEPTNO) had Child Dimension set to Yes.  Note how only rows that contain values are printed.


Child Dimension restrictions

•	Child Dimension is only valid for dimension groups in single-query, matrix data models.

•	Child Dimension is not valid for the topmost group in the data model.

•	In the example data model below, Child Dimension would not be valid for G_1, G_Cross, and G_YEAR.  It would be valid for G_DEPTNO and G_JOB.


Filter Type property
Filter Type

  Restrictions 	  Examples

Description  Filter Type specifies the type of filter Report Builder should use on the records being fetched for the group.

Values

None	Means that you are not using a filter for the group.
First	Means that the first n records retrieved should be included in the group, where n is a number specified in the Number of Records property.
Last	Means that the last n records retrieved should be included in the group, where n is a number specified in the Number of Records property.
PL/SQL	Means that a PL/SQL function for determining which records to include in the group will be defined (or referenced).
Applies to  groups

Required/Optional  optional

Default  None


Filter Type example

  Related Topics 	  All Examples

Suppose that you have a group named EMP that contains two columns (ENAME and SAL).  The parent group of EMP is DEPT, which contains one column (DEPTNO).  You specify a Filter Type of First  and Number of Records of 3 for DEPT and a Filter Type of First  and Number of Records of 5 for EMP.  This will return the first three department numbers retrieved by Report Builder with the first five names and salaries retrieved for each department.


Filter Type restrictions

•	If FilterType is First or Last, you must specify a positive whole number in the associated field.  The number cannot exceed 64K in size.

•	A cross-product group cannot have a filter on it.

•	Records excluded from the group by filter are not used in computations.  If you want to use data in calculations but not have it appear in the report output, use a Format trigger to restrict what appears in the output.


Name property
Name

Description  The Name property is the name Report Builder uses to identify the current group.  Enter any valid group name not to exceed 30 bytes.

Applies to  groups

Required/Optional  required

Default  G_queryname, where queryname is the query’s name and a number that is unique among groups.  If the query has a default name (e.g., Q_1), the default group name is of the form:  G_n, where n is a number that is unique among group names for the report.  If the group is not associated with a query (i.e., a cross product group), the default group name is also G_n.


Comment property
Comment

Description  The Comment property contains text that documents the group.  For example, you could describe the purpose of a break group so that someone else would be able to quickly understand what it does.  Enter any text not to exceed 64K.

Applies to  groups

Required/Optional  optional

Default  blank


Number of Records property
Number of Records

Description  The Number of Records property is the number of records to include in the group when the Filter Type is set to First or Last.  For example, if the Filter Type is First, and the Number of Records is 20, then the first 20 records retrieved will be included in the group.

Values  Enter a positive whole number, not to exceed 64K in size.

Applies to  groups

Required/Optional  Required, when the Filter Type property is set to First or Last.

Default  0


PL/SQL Filter property
PL/SQL Filter

  Related Topics

Description  The PL/SQL Filter property is a button that displays the PL/SQL Editor in which you can enter a PL/SQL function for determining which records to include in the group.

Applies to  groups

Required/Optional  Required, when the Filter Type property is set to PL/SQL.


Data Model Link properties
Data Link properties

  Restrictions 	 Examples

Child Column

Child Query

Condition

Parent Column

Parent Group

SQL Clause


WHERE Clause Link example

  Related Topics 	  All Examples

Suppose that you are creating a master/detail report with the following two queries:

Q_1:   SELECT DISTINCT ENAME, EMPNO
       FROM EMP
       WHERE JOB = 'SALESMAN'

Q_2:   SELECT REPID, AMOUNT
       FROM SALES
       ORDER BY REPID

To join these two queries, you create a link such that the link's Property Palette settings are as follows:

SQL Clause	Parent Column	Condition	Child Column
WHERE	EMPNO	=	REPID
This creates a link as if you wrote one query as follows:

SELECT DISTINCT ENAME, EMPNO, REPID, AMOUNT
FROM EMP, SALES
WHERE EMPNO = REPID (+) AND JOB = 'SALESMAN'
ORDER BY REPID

Tip

Using a Tablular style, your output would look something like the figure below.

Ename        Empno   Repid        Amount

-----------  ------  ------  ------------

ALLEN         7499    7499          3000

                      7499           810

                      7499           847

                      7499            24

                      7499          1500

                      7499           340

                      7499           240

                      7499           400

                      7499           180

                      7499           280

                      7499           250

MARTIN        7654    7654         16569

                      7654          2301

                      7654          3306

                      7654          5600

TURNER        7844    7844           350

                      7844           485

                      7844           293

                      7844            50

                      7844          1703


START WITH Link example

  Related Topics 	  All Examples

Suppose that you wanted to create a report that listed employees by their position in the management hierarchy.  Following are the queries you might use:

Q_1:   SELECT EMPNO FROM EMP
       WHERE JOB = 'MANAGER'

Q_2:   SELECT  ENAME, JOB, EMPNO, MGR, LEVEL
       FROM EMP
       CONNECT BY PRIOR EMPNO = MGR

To join these two queries, you create a link such that the link's Property Palette settings are as follows:

SQL Clause	Parent Column	Condition	Child Column
START WITH	EMPNO	=	EMPNO1
Using a tabular default layout, your output would look something like the figure below.

 Empno  Ename       Job        Empno1     Mgr     Level

------  ----------   ---------   ------  ------  --------

  7566  JONES       MANAGER      7566    7839         1

        SCOTT       ANALYST      7788    7566         2

        ADAMS       CLERK        7876    7788         3

        FORD        ANALYST      7902    7566         2

        SMITH       CLERK        7369    7902         3

  7698  BLAKE       MANAGER      7698    7839         1

        ALLEN       SALESMAN     7499    7698         2

        WARD        SALESMAN     7521    7698         2

        MARTIN      SALESMAN     7654    7698         2

        TURNER      SALESMAN     7844    7698         2

        JAMES       CLERK        7900    7698         2

  7782  CLARK       MANAGER      7782    7839         1

        MILLER      CLERK        7934    7782         2


Data Model Link restrictions

•	If you are creating a link with columns specified, then you must have both a parent and a child column and the columns must have compatible datatypes.  For example, if the parent column is a character datatype (e.g., VARCHAR) then the child column also must be a character datatype (e.g., CHAR).


If you used a single query, you would also have to create a break group for ENAME and EMPNO.


Child Column property
Child Column

  Restrictions

Description  The Child Column property is the name of a column in the child query that relates to a column in the parent group (i.e., parent column).  The Child Column must be a database column, it cannot be a summary or formula.  It also cannot depend upon a lexical reference (see "Child Column Restrictions").

Applies to  links


Child Column restrictions

•	A Report Builder link should not depend upon a lexical reference.  That is, neither the child column of a link or its table name should be determined by a lexical reference.  To achieve this functionality, you need to create a link with no columns specified and then enter the SQL clause (e.g., WHERE) for the link directly in the query.  For example, your parent and child queries might be written as follows:

Parent Query:  SELECT DEPTNO FROM EMP
Child Query:   SELECT &PARM_1 COL_1, &PARM2
               COL_2
               FROM EMP
               WHERE &PARM_1 = :DEPTNO

Note how the WHERE clause makes a bind reference to DEPTNO, which was selected in the parent query.  Also, this example assumes that you have created a link between the queries in the Data Model view with no columns specified.


Child Query property
Child Query

  Restrictions

Description  The Child Query property is the name of the query defined as the child when you created the link in the Data Model view.  This field is read-only.

Applies to  links


Child Query restrictions

•	A Child Query can have only one Parent Group.  Multiple parents for the same child are not allowed.


Condition property
Condition

Description  The Condition property is a SQL operator that defines the relationship between Parent Column and Child Column.  For details on SQL operators, see the ORACLE8 Server SQL Language Reference Manual.

Values

=	(equal to)
<	(less than)
<=	(less than or equal to)
<>	(not equal to)
>	(greater than)
>=	(greater than or equal to)
Like	Means that the condition is true when the value in one column matches the pattern in the other column.  The pattern can contain % and _ as wildcard characters.
Not Like	Means that the condition is true when the value in one column does not match the pattern in the other column.  The pattern can contain % and _ as wildcard characters.
Applies to  links

Required/Optional  required, if a Parent Column is specified.

Default  = (equals sign)


Parent Column property
Parent Column

Description  The Parent Column property is a column in the parent group that relates to a column in the child query (i.e., child column).  Parent Column can be a database, summary, or formula column in the parent group.  If Parent Column is a summary or formula column, it cannot depend, directly or indirectly, on a column owned by the child query.  This field is read-only.

Applies to  links


Parent Group property
Parent Group

  Restrictions

Description  The Parent Group property is the name of the group defined as the parent when you created the link in the Data Model view.  This field is read-only.

Applies to  links

Usage Notes

•	You can create a link from a parent group to a child query without specifying any columns by which to link.  This establishes a relationship between the two objects; however, all of the detail records will appear for each master record in the parent group.


Parent Group restrictions

•	A Parent Group cannot have the Child Query as one of its ancestors.  In other words, your links cannot create a circular dependency (i.e., a situation where the child query depends on the parent group and the parent group depends on the child query).


SQL Clause property
SQL Clause

Description  The SQL Clause property is the type of clause that relates the parent group to the child query.  For details, see the ORACLE8 Server SQL Language Reference Manual.

Values

HAVING

START WITH

WHERE

Applies to  links

Required/Optional  required, if Parent Column(s) is specified.

Default  WHERE

Usage Notes

•	If you use a SQL Clause of START WITH, then the SELECT Statement of the Child Query should contain a CONNECT BY clause (without a START WITH clause, since that is contained in this property).  Similarly, if you use a SQL Clause of HAVING, then the SELECT Statement of the Child Query should contain a GROUP BY clause (without a HAVING clause, since that is contained in this property).


Matrix properties

  Restrictions 	  Examples

Additional Hyperlink Attributes

Application Command Line (PDF)

Bookmark

Comments

Cross Product Group

Horizontal Repeating Frame

Hyperlink

Hyperlink Destination

Name

Vertical Repeating Frame


Cross Product Group property
Cross Product Group

Description  The Cross Product Group property is the group that contains the source groups of the Horizontal and Vertical Repeating Frames.  The cross product group correlates values between one or more groups to produce the data in the matrix.

Values  Enter a valid cross product group name.

Applies to  matrices

Required/Optional  required

Default  blank


Matrix example

  Related Topics 	  All Examples

Suppose that you have a group named Group1 that contains a column called C_DEPTNO, which gets its values from the database column DEPTNO.  A group called Group2, contains column C_JOB, which gets its values from the database column JOB, and column C_DEPTNO1, which is used for linking to Group1's query.  A group called Group3 contains a column called SUMSAL, which is a summary of the database column SAL.

                           Job

             Analyst      Clerk        Manager

      10                  $1300        $2450

Dept  20     $6000        $1900        $2975

      30                  $ 950        $2850

In this example:

•	The Vertical Repeating Frame is the repeating frame that contains Group2 (the job titles).

•	The Horizontal Repeating Frame is the repeating frame that contains Group1 (the department numbers).

•	The Cross Product Group is Group4 (the group that is the parent of Group1 and Group2).

If you need to build a more complex matrix, you can do so by adding more columns to Group1 and Group2.  For example, instead of having Group1 just contain department numbers, it could also contain the locations (LOC) of the departments. The matrix might then look something like the one below.

                                 Job

Loc         Dept    Analyst     Clerk      Manager

New York    10                  $1300      $2450

Dallas      20      $6000       $1900      $2975

Chicago     30                  $ 950      $2850


Matrix restrictions

•	The down repeating frames must be below the across repeating frames in a matrix.

•	A matrix object must always be on top of the repeating frames that form it (i.e., it must be one or more layers above its horizontal and vertical repeating frames).  Report Builder prevents you from moving the matrix below its horizontal and vertical repeating frames.

•	Moving a matrix also causes its two repeating frames to move.

•	A matrix object cannot be anchored to another object and other objects cannot be anchored to it (i.e., a matrix object cannot be the parent or child object for an anchor).

•	To copy a matrix, you must select the matrix and its two repeating frames.  If you select the matrix by itself, nothing will be copied to the paste buffer.  If you select the matrix and one of the repeating frames, only the repeating frame is placed in the paste buffer.

•	A matrix object can only be resized by resizing its associated repeating frames.

•	You cannot use Align, Align Objects, or Size Objects from the Arrange menu on matrix objects.

•	The source groups of the repeating frames that make up the dimensions of a matrix must be from the same cross-product group.

•	Repeating frames whose source groups are in the same "family" hierarchy (i.e., are descendants or ancestors of each other) must have the same Print Direction.  Parent-child relationships within a cross-product group are used to create nesting in the matrix.  As a result, the repeating frames associated with such groups must print in the same direction on the page.

•	You can put a border on a matrix object just as you would any other object, but the width will always be the minimum width possible.  You cannot widen the border due to the closeness of the objects in a matrix layout.


Horizontal Repeating Frame property
Horizontal Repeating Frame

  Restrictions

Description  The Horizontal Repeating Frame property is the repeating frame whose values produce the row headings and summaries, and help compute the cross product for the matrix.

Values  Enter any valid repeating frame name.

Applies to  matrices

Required/Optional  required

Default  blank


Horizontal and Vertical Repeating Frame restrictions

•	The source groups of the repeating frames specified in the Horizontal and Vertical Repeating Frame properties must be within the same cross-product group.


Vertical Repeating Frame property
Vertical Repeating Frame

  Restrictions

Description  The Vertical Repeating Frame property is the repeating frame whose values produce the column headings and summaries, and help compute the cross product for the matrix.

Values  Enter any valid repeating frame name.

Applies to  matrices

Required/Optional  required

Default  blank


Database Column Object properties

Comment

Column Type

Datatype

Name


OLE2 properties

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Comments

Format Trigger

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Name

Page Break After

Page Break Before

Page Protect

Print Object On

Printer Code After

Printer Code Before

Vertical Elasticity


Parameter properties

Add

Additional Attributes (HTML)

Comment

Datatype

Hide First Column

Initial Value

Input Mask

List of Values

Name

Remove

Restrict List to Predetermined Values

SELECT Statement/Static List of Values

Validation Trigger

Value

Width


System Parameters

BACKGROUND	Is whether the report should run in the foreground or the background.
COPIES	Is the number of report copies that should be made when the report is printed.
CURRENCY	Is the symbol for the currency indicator (e.g., "$").
DECIMAL	Is the symbol for the decimal indicator (e.g., ".").
DESFORMAT	Is the definition of the output device's format (e.g., landscape mode for a printer).  This parameter is used when running a report in a character-mode environment, and when sending a bitmap report to a file (e.g. to create PDF or HTML output).
DESNAME	Is the name of the output device (e.g., the file name, printer's name, mail userid).
DESTYPE	Is the type of device to which to send the report output (screen, file, mail, printer, or screen using PostScript format).
MODE	Is whether the report should run in character mode or bitmap.
ORIENTATION	Is the print direction for the report (landscape, portrait, default).
PRINTJOB	Is whether the Print Job dialog box should appear before the report is run.
THOUSANDS	Is the symbol for the thousand's indicator (e.g., ",").


Add property
Add

Description  The Add button places the value in the Value field to the list of static values.

Applies to  parameters

Required/Optional  required, if you want to add to the static values


Additional Attributes (HTML) property
Additional Attributes (HTML)

  Examples	  Related Topics

Description  The Additional Attributes (HTML) property contains JavaScript event handlers that trigger various input or select events (e.g., raising error messages for invalid entries or formatting input values) in the Runtime Parameter Form when the report is run via the Web.

Values  Any valid JavaScript event handler

Applies to  parameter form fields

Default  blank


Comment property
Comment

Description  The Comment property contains text that documents the parameter.  For example, you could describe the purpose of the parameter so that someone else would be able to quickly understand what it does.  Enter any text not to exceed 64K.

Applies to  parameters

Required/Optional  optional

Default  blank


Datatype property (parameter)
Datatype

  Restrictions

Description  The Datatype property is the type of values the parameter contains (e.g., numbers).

Values

Character

Date

Number

Applies to  parameters

Required/Optional  required

Default  Character


Datatype restrictions

•	Any values supplied for a parameter must conform to the parameter's Datatype, even at runtime.

•	Datatype cannot be edited for packaged parameters (e.g., DESTYPE).

•	Parameters with a Datatype of Character are not padded, unless you explicitly pad them in a SQL statement.


Hide First Column property
Hide First Column

  Examples

Description  The Hide First Column property is a check box that indicates whether the first column in your SELECT list should be displayed in the parameter's list of values.  This setting is useful for hiding values that the user does not know about or are confidential.

Applies to  parameters

Default  checked


Hide First Column example

  Related Topics 	  All Examples

You want to create a report that lists the employees in a department that the user specifies at runtime.  The tables you will be using have DEPTNO as the primary/foreign key.  The people using the report do not know departments by number, they only know them by name.  The report query would be as follows:

SELECT * FROM EMP
WHERE DEPTNO = :MYDEPT

In the Data/Selection tab of the Parameter property sheet, you choose SELECT Statement and enter the following SQL statement to populate the list of values:

SELECT DEPTNO, DNAME FROM DEPT

You then check Hide First Column.  This means that DEPTNO will not appear in the list of values when you run the report.  Only DNAME will appear.  When the user selects a DNAME value from the list, the corresponding DEPTNO value will be used for the parameter MYDEPT.


Initial Value property
Initial Value

  Restrictions

Description  The Initial Value property is the default value for the parameter.  This value is used unless it is overridden on the command line or the Runtime Parameter Form.  Enter any value appropriate for the Datatype of the parameter.  Initial Value cannot exceed 1K in length.  If Initial Value is left blank, the parameter has no default value.

Applies to  parameters

Required/Optional  optional

Default  For DESTYPE, Screen.  For DESFORMAT, dflt.  For COPIES, 1.  For all other parameters, blank.


Initial Value restrictions

•	Initial Value is validated according to the Datatype and Width of the parameter.  In addition, Initial Value is validated against format masks:

•	If you specify one, the mask in Format Mask is used.

•	If Format Mask is blank and the value is a date, Report Builder' internal mask (e.g., DD-MON-YY) is used.  (Number and character values are not validated unless you specify a Format Mask.)

•	If no value is specified and the parameter is referenced in SQL or PL/SQL, a null is used to parse the SQL or PL/SQL.  If a null causes the SQL or PL/SQL construct to parse incorrectly, an error will be raised.


Input Mask property
Input Mask

  Restrictions

Description  The Input Mask property is the format mask Report Builder uses to validate the value supplied for the parameter on the command line or the Runtime Parameter Form.  It is also used to validate the Initial Value of the parameter.  Enter any valid format mask not to exceed 128 bytes or select a value from the list.

Applies to  parameters

Required/Optional  optional

Default  blank.  This implies that when the Datatype is Date, the Input Mask is the default for your language (e.g., in the United States, the default is 'DD-MON-YY'), and when the Datatype is Number, the Input Mask is -9999.


Input Mask restrictions

•	The values displayed initially in Input Mask list of values are determined by the datatype of the parameter (e.g., for a parameter of Datatype Number, only number masks are shown in the list).  If you enter a new format mask and accept the property sheet, the new value will appear in the list.  However, these format masks are only valid during the current Report Builder session.  If you quit Report Builder and then invoke it again, the list of values will not contain the format masks you created in the previous Report Builder session (unless you open the report(s) that used these masks).  To add new format masks to the list that will be saved between sessions, use the Edit Masks button in the Preferences dialog.

•	The Input Mask property does not apply to parameters of Datatype Character.


Remove property
Remove

Description  The Remove button removes the selected value(s) from the list of static values.

Applies to  parameters

Required/Optional  required, if you want to remove static values


Restrict List to Predetermined Values property
Restrict List to Predetermined Values

Description  The Restrict List to Predetermined Values is a checkbox that indicates whether a value for the parameter must be in the list of values.  For example, if you check Restrict List to Predetermined Values and the Initial Value does not match a value in the list of values, an error will be generated when you accept the Parameter property sheet.  Similarly, if you set a value for the parameter on the command line or in a command script and it does not match a value in the list of values, an error will be generated when the report is run.  If you check Restrict List to Predetermined Values, a list of values will appear in the runtime parameter form.  If you do not check it, a combo box will appear (i.e., you can enter values as well as select from the list).

Applies to  parameters

Default  checked


SELECT Statement/Static Values property
SELECT Statement/Static Values

Description  The SELECT Statement/Static Values property is a radio button that indicates whether you want to use a SELECT (SQL query) statement or a static list to populate the list of values for the parameter.

Values

SELECT Statement	Indicates that you want to enter a SELECT statement to populate the list of values for the parameter.  If you select this option, then you must enter a SELECT statement in the area underneath the SELECT Statement radio button.
Static List	Indicates that you want to manually enter values to populate the list of values for the parameter.  If you select this option, you must create a list of values manually.  To do this, you enter a value in the Value field and then choose the Add button.  Repeat this process for each value you want in the list.  To remove value(s), select them in the list and then choose the Remove button.
Applies to  parameters

Required/Optional  required


Validation Trigger property
Validation Trigger

  Related Topics

Description  The Validation Trigger property is a button that displays the PL/SQL Editor in which you can enter PL/SQL to validate and, if necessary, modify the parameter.

Applies to  parameters


Value property
Value

Description  The Value property is a value that will be added to the static list of values for the parameter when you choose the Add button. Enter a valid value for the parameter and then choose the Add button to add it to the static list of values.

Applies to parameters

Required/Optional required, if you want to add a value to the static list.


Width property (parameter)
Width

  Restrictions

Description  The Width property is the maximum number of characters of the parameter value when entered on the command line and the Runtime Parameter Form.  Enter a number from 1 through 64K.

Applies to  parameters

Required/Optional  required

Default  40 characters


Width restrictions

•	Report Builder truncates any parameter value supplied at runtime that is longer than Width.

•	Width cannot be edited for packaged parameters (e.g., DESNAME).


List of Values property
List of Values

Add

Hide First Column

Remove

Restrict List to Predetermined Values

SELECT Statement/Static List of Values

Value


Parameter Form Boilerplate properties

Comments

Name

Type


Name property (Parameter Form boilerplate)
Name

Description  The Name property is the name that Report Builder uses to identify the current boilerplate.

Values  Enter any valid parameter form boilerplate name.

Applies to  parameter form boilerplate

Required/Optional  required

Default  PB_n, where n is a number that is unique among parameter form boilerplate names for the report.


Type property (Parameter Form boilerplate)
Type

Description  The Type property displays the format (e.g., text) of the boilerplate object.  This field is read-only.


Parameter Form Field properties

Comments

Datatype

Name

Source


Datatype property (parameter form field)
Datatype

Description  The Datatype property is a read-only field that displays the datatype of the parameter form field's Source.


Name property (parameter form field)
Name

Description  The Name property is the name that Report Builder uses to identify the current field.

Values  Enter any valid parameter form field name.

Applies to  parameter form fields

Required/Optional  required

Default  PF_n, where n is a number that is unique among parameter form field names for the report.


Source property (parameter form field)
Source

  Restrictions

Description  The Source property is the parameter from which the parameter form field gets its value.  The list of values contains all parameters in the report.

Values  Enter any valid parameter name.

Applies to  parameter form fields

Required/Optional  required

Default  blank


Source restrictions

•	The Source of a parameter form field must be a data model parameter.

•	You cannot specify more than one parameter form field with the same Source.


Placeholder Column properties

  Examples	  Restrictions

Break Order

Column Type

Comment

Datatype

File Format

Name

PL/SQL Formula

Product Order

Read from File

Set Break Order

Value If Null

Width


Placeholder for Special Summary example

Suppose that you wanted to create a master/detail report that would list the highest paid employee(s) for each department.  The output below shows a sample of what you would get:

Dname ACCOUNTING      Loc NEW YORK      Highest Paid

                                        Employee(s):

  Ename       Job              Sal

  ----------  ---------  ---------

  CLARK       MANAGER      2450.00      KING

  KING        PRESIDENT    5000.00

  MILLER      CLERK        1300.00

Dname RESEARCH        Loc DALLAS        Highest Paid

                                        Employee(s):

  Ename       Job              Sal

  ----------  ---------  ---------

  SMITH       CLERK         800.00      SCOTT and FORD

  JONES       MANAGER      2975.00

  SCOTT       ANALYST      3000.00

  ADAMS       CLERK        1100.00

  FORD        ANALYST      3000.00

To get the names of the highest paid employee(s), you create a placeholder column named HIGHEST_PAID_EMP of Datatype Character.  The value of HIGHEST_PAID_EMP is set by a formula column named SET_HIGHEST_PAID_EMP of Datatype Character.  R_COUNT is a summary column with a Function of Count.  SET_HIGHEST_PAID_EMP contains the following PL/SQL function in Formula:

function set_plch_high_emp return character is
begin
   /* Check if we are at first record in child, if so,
      then reset placeholder  */
   if (:r_count <= 1) then
     :highest_paid_emp := ' ';
   end if;
   /* Does this child record compare to the max sal
      for the dept ?  If yes, and placeholder already
      set (i.e. we have more than one max sal) set the
      placeholder to the concatenated string.  Else
      set the placeholder to the employee's name  */
   if (:sal = :max_dept_sal) then
     if (:highest_paid_emp <> ' ') then
       :highest_paid_emp := :highest_paid_emp||' and '
       ||:ename;
     else
       :highest_paid_emp := :ename;
     end if;
   end if;
   return (:highest_paid_emp);
  end;


Placeholder Column restrictions

•	You can set placeholder or formula columns to any of the following Datatypes: Character, Number, and Date.

•	You can only assign the value of a placeholder column from one group.  You cannot assign its value in multiple groups.


PL/SQL Formula property
PL/SQL Formula

  Related Topics

Description  The PL/SQL Formula property is a button that displays the PL/SQL Editor in which you can enter your formula.

Applies to  formula and placeholder columns


Alphabetical list of properties

Add

Additional Attributes (HTML)

Additional Hyperlink Attributes

After Form Type

After Form Value

After Page Type

After Page Value

After Report Type

After Report Value

Align Summaries with Fields

Alignment

Application Command Line (PDF)

Background Color

Base Printing On

Before Form Type

Before Form Value

Before Page Type

Before Page Value

Before Report Type

Before Report Value

Between Field and Labels (Horizontal)

Between Frame and Fields (Horizontal)

Between Frame and Fields (Vertical)

Between Master and Detail (Horizontal)

Between Master and Detail (Vertical)

Between Page and Frames (Horizontal)

Between Page and Frames (Vertical)

Between Sibling Frames (Horizontal)

Between Sibling Frames (Vertical)

Bookmark

Borders

Break Order

Character Justification

Chart Column

Chart Filename

Chart Hyperlink

Chart Parameter

Chart Query

Child Column

Child Edge Percent

Child Edge Type

Child Object Name

Child Query

Collapse Horizontally

Collapse Vertically

Column Mode

Column Type

Comments

Compute At

Condition

Conditional Formatting

Contains XML Tags

Cross Product Group

Dash

Datatype (column)

Datatype (parameter)

Datatype (parameter form field)

Date Justification

Design in Character Units

Direction

Distribution (section)

Distribution (report)

Disable Host Menu Item

Disable Split Screen Key

Disable Zoom Key

Display Name

Edge Background Color

Edge Foreground Color

Edge Pattern

Exclude from XML Output

External Query Source File

Fields Per Line

File Format

Fill Pattern

Font

Foreground Color

Filter Type

Format Mask

Format Trigger

Function

Height (Parameter Form window)

Height (physical page of section)

Hide First Column

Horiz. Space Between Frames

Horizontal Elasticity

Horizontal Panels per Page

Horizontal Repeating Frame

Hyperlink

Hyperlink Destination

Icon Name

Image

Include Bitmapped Objects

Include Borders

Initial Value

Input Mask

Inter-Field (Horizontal)

Inter-Field (Vertical)

Inter-Frame (Horizontal)

Inter-Frame (Vertical)

Justify

Keep With Anchoring Object

Label Type

Line Stretch with Frame

List of Values

Max. Horizontal Body Pages

Max. Vertical Body Pages

Maximum Records Per Page

Maximum Rows to Fetch

Minimum Widow Lines

Minimum Widow Records

Multimedia Column Type

Multimedia Column

Multimedia File Type

Multimedia File

Name

Number of Pages

Number of Records

Number Justification

Orientation

Outer XML Tag

Outer XML Tag Attribute

Page Break After

Page Break Before

Page Navigation Control Type

Page Navigation Control Value

Page Numbering

Page Protect

Panel Print Order

Parent Column

Parent Edge Percent

Parent Edge Type

Parent Group

Parent Object Name

PL/SQL Filter

PL/SQL Formula (formula/placeholder column)

PL/SQL Statement

PL/SQL Trigger

Place Labels Above Fields

Previewer Hint Line Text

Previewer Status Line Text

Print Direction

Print Object On

Printer Code After

Printer Code Before

Product Order

Read from File

Remove

Report Column (for Chart Column)

Report Column (for Chart Parameter)

Report Group

Report Height

Report Width

Reset At

Role Name

Restrict List to Predetermined Values

SELECT Statement/Static List of Values

Set Break Order

Source Datatype

Source File Format

Source Filename

Source (summmary column)

Source (repeating frame)

Source (parameter form field)

Source (field)

SQL Clause

SQL Query Statement

Start in Zoom

Style

Suppress Previewer Title

Text (button)

Text (template)

Text Color

Title

Type (boilerplate)

Type (button)

Type (query)

Unit of Measurement

Use Previewer Hint Line

Use Previewer Status Line

Use Vertical Spacing

Validation Trigger

Value If Null

Value

Vert. Space Between Frames

Vertical Elasticity

Vertical Panels per Page

Vertical Repeating Frame

Visible

Width (column)

Width (parameter)

Width (Parameter Form window)

Width (physical page of section)

XML Prolog Type

XML Prolog Value

XML Tag

XML Tag Attributes


No properties begin with this letter.


Query properties

Comment

External Query Source File

Maximum Rows to Fetch

Name

SQL Query Statement

Type


Comment property
Comment

Description  The Comment property contains text that documents the query.  For example, you could describe the purpose of the query so that someone else would be able to quickly understand what it does.  Enter any text not to exceed 64K.

Applies to  queries

Required/Optional  optional

Default  blank

Usage Notes

•	You can also insert comments directly into your SQL SELECT statement using Oracle's standard SQL comment delimiters  (e.g., /* comment */).  For more information, see the ORACLE8 Server SQL Language Reference Manual.


External Query Source File property
External Query Source File

Description  The External Query Source File property is the name of a query stored in the database or a file whose SELECT statement should be used as the SELECT statement for the current query.  Enter a valid external query source file name not to exceed 1K.  The external query source file you reference cannot exceed 32K in length.  If it does, it will be truncated and a warning raised.  If the query is stored in a file, you can prefix a path to the query name.  If a path is not prefixed to the filename, Report Builder uses its file path search order to find the file.  If the query is stored in the database, you can prefix DB: to it to indicate that it is stored in the database.  For example:

DB:myquery

If you prefix DB: to the query name, the Report Builder will go directly to the database to find the query.  If you are not connected to the database, it will not be able to find the query and will issue a message to that effect.

Note:  To ensure the portability of your reports, you can take advantage of the environment variable called REPORTS60_PATH.  You can use this variable to specify the default directory or directories where you want to search for external files you use in your reports (e.g., external queries, boilerplate, and PL/SQL).  This prevents the need to hardcode directory paths in your report.

Applies to  queries

Required/Optional  optional

Default  blank

Usage Notes

•	The SELECT statement of the external query source file you reference from this field is validated when you accept the query's property sheet.

•	If you update the external query source file, you must ensure that the update does not invalidate the report definition.  For example, if the report has a column for DEPTNO and you delete DEPTNO from the SELECT list of the external query source file, the report cannot run.

•	When you specify an external query source file name, the SELECT statement of the external query appears in the SQL Query Statement field as read-only.  To modify it, you must open the external query source file.


Maximum Rows to Fetch property
Maximum Rows to Fetch

Description  The Maximum Rows to Fetch property is the maximum number of rows of data that the query should retrieve.  Report Builder will only retrieve the number of rows for the query that you specify in this property.  When you are designing a report, you often must run it many times to see how it looks.  If your report retrieves a lot of data, this can be very time consuming.  This property can improve performance by reducing the amount of data retrieved and formatted.

Values  A whole number from 1 through 32K means that only that number of rows will be retrieved .  If left blank, all rows are retrieved.

To restrict the rows retrieved by some, but not all, of a query's groups, use Filter in the Group property sheet.

Applies to  queries

Required/Optional  optional

Default  blank

Usage Notes

•	Rows that were not retrieved because they were beyond the maximum will not be used in any Report Builder-specified calculations.  For example, if you set Maximum Rows to Fetch to 5 on a child query, then a summary of the child contained in the parent group will only use the five records that are retrieved by the query.  If you want to use data in calculations but not have it appear in the report output, use a Format Trigger to restrict what appears in the output.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET MAXROW procedure.


Name property
Name

Description  The Name property is the identifier that Report Builder uses to refer to the current query.  Enter a valid name not to exceed 30 bytes.

Applies to  queries

Required/Optional  required

Default  Q_n, where n is a number that is unique among query names of the report.


SQL Query Statement property
SQL Query Statement

  Restrictions 	  Examples

Description  The SQL Query Statement property is a SQL SELECT statement that retrieves data from the database for your report.  Enter a valid SELECT statement not to exceed 64K.  The upper limit may vary between operating systemsAll features of the SELECT statement are supported, except the INTO and FOR UPDATE clauses.   In building your SELECT statement, you can do the following:

•	use the Tables and Columns dialog box

•	insert comments

•	insert bind and lexical references

•	review SQL errors

Applies to  queries

Required/Optional  required


SQL Query statement example

  Related Topics 	  All Examples

Following is an example of a SELECT statement:

SELECT O.CUSTID, P.DESCRIP, I.ITEMTOT, O.ORDERDATE,
   I.ORDID
FROM ORD O, PRODUCT P, ITEM I
WHERE O.ORDID = I.ORDID AND
   I.PRODID = P.PRODID
ORDER BY O.CUSTID, P.PRODID, O.ORDERDATE
/* For each customer, show the products they bought */
/* (DESCRIP), the amount they spent on that product */
/* (ITEMTOT), the date they ordered the product */
/* (ORDERDATE),and the order id (ITEM.ORDID) of the */
/* order in which they bought the product. */


SQL Query statement with bind and lexical references example

  Related Topics 	  All Examples

Following is an example of a SELECT statement that uses bind and lexical references:

SELECT CUSTID, SUM(TOTAL) TOTAL
FROM &FROMGROUP
HAVING SUM(TOTAL) > :MINTOTAL

where:

&FROMGROUP	Is ORD GROUP BY CUSTID (or some other value that you enter at runtime).  Note that, in this case, you must define a parameter named FROMGROUP with an Initial Value specified.  If the value of &FROMGROUP is null when the SELECT statement is parsed, you will get an error because the statement has no table name after FROM.
:MINTOTAL	Is a column from another query that is used to select customers with a minimum total of orders.


SQL Query statement with lexical reference example

  Related Topics 	  All Examples

Following is an example of a SELECT statement that uses a lexical reference to a parameter:

SELECT ENAME, EMPNO
FROM EMP
WHERE ENAME LIKE UPPER (&NAME)

where:

&NAME	Refers to a parameter with a default value of 'JO%'.  Note that you can also specify a value for the parameter at runtime.  For example, from the command line, you could type:

RWRUN60 REP SCOTT/TIGER NAME='SM%'


SQL Query Statement restrictions

Caution:  If the width of a column in the database is increased after you have created your report, you need to update both the data model and the layout model to reflect the change.  Otherwise, truncation may occur.  Database columns are automatically updated when the query is re-parsed (e.g., enter a space in SQL Query Statement and click OK).  Summaries, formulas, and placeholders whose source columns have increased in width must have their own widths updated manually.  Similarly, fields in the layout must be resized or have their sizing settings changed to accommodate the increased size of their source columns.

•	The SELECT statement must follow all SQL syntax rules.  For details, see the ORACLE8 Server SQL Language Reference Manual.  Report Builder checks the syntax when you leave SQL Query Statement and when the report is generated or executed.

•	No semicolon, slash, or any other character should be used to end the SELECT statement.

•	You must have the appropriate privileges on the tables and views referenced in the SELECT statement in order for the SELECT statement to be validated.

•	A query that is the child in a link with a SQL Clause of START WITH should contain a CONNECT BY clause in its SQL Query Statement (without a START WITH clause, since that is in the data model link).  Similarly, a query that is the child in a link with a SQL Clause of HAVING should contain a GROUP BY clause in its SQL Query Statement (without a HAVING clause, since that is in the data model link).

•	If SELECT expressions are added to, renamed in, or deleted from a query, Report Builder automatically creates or deletes the corresponding columns.  If the layout has been defined (i.e., layout model contains objects), Report Builder will not update the layout model based upon changes to the SELECT statement.  You must update the affected objects in the Layout Model view manually or create a new default layout for the report.  The reason Report Builder does not update the layout model for you automatically is that you could inadvertently lose any modifications you have made to the default layout.

•	If you make any changes in the database to the datatype or name of columns that are selected by your query, you must manually make whatever changes are necessary to the Report Builder columns and fields that use the changed column as a Source.

•	The order of the columns in the SELECT statement determines the initial column order.  Subsequent changes to the order of columns in the SELECT statement will not change the order of the columns.  If you add new columns to the SELECT statement, they will be added at the end of the lowest child group belonging to the query.  The order of the columns is used to order the associated fields in the default layout.


Type property
Type

Description  The Type property is a read-only field that describes the type of query.

Applies to  queries


Database Ref Column properties

Break Order

Comment

Column Type

Datatype

Name

Width


Repeating Frame properties

  Restrictions

Additional Hyperlink Attributes

Application Command Line (PDF)

Base Printing On

Bookmark

Column Mode

Comments

Format Trigger

Horiz. Space Between Frames

Horizontal Elasticity

Hyperlink

Hyperlink Destination

Keep With Anchoring Object

Maximum Records Per Page

Minimum Widow Records

Name

Page Break After

Page Break Before

Page Protect

Print Object On

Printer Code After

Printer Code Before

Print Direction

Source

Vert. Space Between Frames

Vertical Elasticity


Repeating Frame restrictions

•	A repeating frame can be placed anywhere in the layout model unless its source group is a dimension of a matrix.

•	A repeating frame must be behind the objects (e.g, fields and boilerplate) that it contains.


Column Mode property
Column Mode

  Restrictions 	  Examples

Description  The Column Mode property controls how Report Builder fetches and formats data for instances of repeating frames.  With Column Mode set to Yes, the next instance of a repeating frame can begin formatting before the previous instance is completed.

 Click here.

With Column Mode set to No, the next instance cannot begin formatting before the previous instance is completed.

 Click here.

Column Mode is used mainly for master repeating frames or repeating frames that contain fields that may expand vertically or horizontally (i.e., elasticity is Variable or Expand).

Applies to  repeating frames

Required/Optional  optional

Default  No


Column Mode example

  Related Topics 	  All Examples

 Click here.

 Click here.

 Click here.


Column Mode restrictions

•	You can only specify Column Mode for repeating frames that have either:

•	Print Direction of Across and Horizontal Elasticity of Fixed

•	Print Direction Down and Vertical Elasticity of Fixed

•	Repeating frames with a Print Direction of Across/Down or Down/Across cannot have Column Mode specified.


Horiz. Space Between Frames property
Horiz. Space Between Frames

  Restrictions

Description  The Horiz. Space Between Frames property is the amount of space (in the report's unit of measurement) that you want horizontally between instances of the repeating frame.  Enter a number of zero or more.  The maximum amount depends upon the unit of measurement.  For inches, the maximum is 512 inches.  For centimeters, it is 1,312 centimeters.  For picas, it is 36,864 picas.

 Click here.

Applies to  repeating frames

Required/Optional  required

Default  0


Horiz. Space Between Frames restrictions

•	When the Print Direction is Down, this setting has no effect.

•	When the Print Direction is Down/Across, this setting affects space between instances that appear one next to the other.


Maximum Records Per Page property
Maximum Records Per Page

  Examples

Description  The Maximum Records Per Page property is the maximum number of instances of the repeating frame that will be formatted on a logical page.  Suppose that you have a repeating frame with many instances.  To improve the appearance of your report, you prefer to have at most three instances of the repeating frame on a given logical page.  To ensure that you never have more than three instances per logical page, you set Maximum Records Per Page to 3.

Values

a whole number from 1 through 32K	Means that number of instances is the maximum that can be formatted on a logical page.
blank	Means that as many instances of the repeating frame as possible can be formatted on a logical page.
Applies to  repeating frames

Required/Optional  optional

Default  blank


Maximum Records Per Page example

  Related Topics 	  All Examples

Suppose that you want each instance of a repeating frame to be on a logical page by itself.  First, set Maximum Records Per Page to 1 for the repeating frame so that only one instance appears on each logical page.  Then, specify Page Break Before and Page Break After, to make sure that the first instance of the repeating frame starts on a new logical page.


Minimum Widow Records property
Minimum Widow Records

  Restrictions 	  Examples

Description  The Minimum Widow Records property is the minimum number of instances that should appear on the logical page where the repeating frame starts to print.  If the number of instances specified for this property cannot fit on the logical page where the repeating frame is initially triggered to print, then the repeating frame will start formatting on the next page.  If set to 1, there is no minimum and the repeating frame will start formatting on any logical page that can fit one instance.

Suppose that to improve the appearance of your report, you want to make sure that you do not have the first instance of the repeating frame printed at the bottom of a logical page, by itself.  To make sure that there are at least two instances on the logical page, you set Minimum Widow Records to 2.

Values

a whole number from 1 through 32K	Means that number of instances is the minimum that can be formatted on a logical page.  1 means that there is no minimum.
blank	Means that there is no minimum.
Applies to  repeating frame

Required/Optional  required

Default  blank


Minimum Widow Records example

  Related Topics 	  All Examples

Suppose that you want all instances of a repeating frame to appear on one logical page.  To do this, you set Minimum Widow Records to a very large number.  If not all instances can fit on the first logical page where the repeating frame is triggered to print, none will be formatted on that page.  Instead, they are all formatted on the next logical page.  Notice, though, that on the next and all subsequent pages, Minimum Widow Records is ignored.  Since you are starting with a fresh page, if all instances cannot fit on that logical page, they will not all fit on any one logical page anyway.


Minimum Widow Records restrictions

•	Minimum Widow Records applies only to the first logical page on which the object is triggered to be printed.  Minimum Widow Records is ignored on subsequent pages.

•	If Minimum Widow Records is greater than the total number of instances of the repeating frame, then all instances must be able to fit on the first logical page where the repeating frame is triggered to format.  If all instances cannot fit on the first logical page where the repeating frame is triggered to format, the repeating frame will start formatting on the next page.


Print Direction property
Print Direction

  Restrictions 	  Examples

Description  The Print Direction property is the direction in which successive instances of the repeating frame appear.

Values

Across	Means that each instance of the repeating frame subsequent to the first instance is printed to the right of the previous instance across the logical page.
Across/Down	Means that each instance of the repeating frame subsequent to the first instance is printed to the right of the previous instance until an entire instance cannot fit between the previous instance and the right margin of the logical page.  At that time, Report Builder prints the instance below the left-most instance on the logical page, provided there is enough vertical space left on the logical page for the instance to print completely.
Down	Means that each instance of the repeating frame subsequent to the first instance is printed below the previous instance down the logical page.
Down/Across	Means that each instance of the repeating frame subsequent to the first instance is printed below the previous instance until an entire instance cannot fit inside the bottom margin of the logical page.  At that time, Report Builder prints the instance to the right of the topmost instance on the logical page, provided there is enough horizontal space left on the logical page for the instance to print completely.
Applies to  repeating frames

Required/Optional  required

Default  Down


Print Direction example (across/down)

  Related Topics 	  All Examples

Suppose that you have a repeating frame with Print Direction of Across/Down.  Instances of the repeating frame print from left to right and then top to bottom.

 Click here.

 Click here.

If, however, there was an object (e.g., a graphic) on a page that prevented two instances of the repeating frame going across the page, the repeating frame instances would only print down the page.  Where there is room to print more than one instance across the page, the repeating frame instances begin printing across and then down.

 Click here.

 Click here.


Print Direction restrictions

•	If a nested repeating frame has a Print Direction of Across and its enclosing repeating frame has a Print Direction of Down, the across repeating frame can cause overflow when it is too wide for the current page.  The next instance of the outer, down repeating frame will not print until the previous instances of the across repeating frame completes.  Note:  If you wanted A3 on page 1 to be aligned with the overflow of A3 on page 2, you could use Column Mode.

 Click here.

•	Matrix dimension repeating frames whose source groups are in the same "family" hierarchy (i.e., are descendants or ancestors of each other) within a cross-product group must have the same Print Direction.  Parent-child relationships within a cross-product group are used to create nesting in the matrix.  As a result, the repeating frames associated with such groups must print in the same direction on the page.


Source property
Source

Description  The Source property is the group that owns the data for the repeating frame.  Select any valid group name.

Applies to  repeating frames

Required/Optional  required

Usage Notes

•	Source cannot be a cross-product group.


Vert. Space Between Frames property
Vert. Space Between Frames

  Restrictions

Description  The Vert. Space Between Frames property is the amount of space (in the report's unit of measurement) you want vertically between instances of the repeating frame.  Enter a number of zero or more.  The maximum amount depends upon the unit of measurement.  For inches, the maximum is 512 inches.  For centimeters, it is 1,312 centimeters.  For picas, it is 36,864 picas.

 Click here.

Applies to repeating frames

Required/Optional  required

Default  0


Vert. Space Between Frames restrictions

•	When the Print Direction is Across, this setting has no effect.

•	When the Print Direction is Across/Down, this setting determines the space between instances that appear one below the other.


Notice that there are too many instances of B in A3 to fit on the first logical page.  As a result, A3 overflows onto the second logical page and A4 can begin only after A3 completes.


This figures illustrate how Column Mode affects the formatting of repeating frame instances.  Instance 3 begins formatting on page 1and does not finish until page 2.  In addition, when an instance overflows onto another page, the overflow is aligned across pages.  In the figure, instance 3 appears in the same relative position on page 2 that it appeared in on page 1.


In the figure, Instance 3 begins formatting on page 2 because Instance 2 does not finish until page 2.  Also, if an instance overflows, the overflow is not aligned across pages.  In the figure, instance 3 formats on the right side of page 1 and its overflow formats on the left side of page 2.


The figure shows a sample layout in which you might use Column Mode.  (Assume that X has Horizontal Elasticity of Fixed.)


The figure shows instances 1 through 3 if repeating frame X has Column Mode set to Yes.  The positioning is the same on logical pages 1 and 2, even though instance 2 completed on logical page 2.  Note that the width of the logical page limits the instances that can begin formatting on page 1.  Thus, instances 4 and 5 format on page 3.


The figure shows the positioning of instances 1 through 5 if repeating frame X does not have Column Mode set to Yes.  Instance 2 now completes in a different position on logical page 2.  Also, instance 3, which did not complete on logical page 1, is in a different position on logical page 2 than it was in on logical page 1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


Report properties

After Form Type

After Form Value

After Page Type

After Page Value

After Report Type

After Report Value

Before Form Type

Before Form Value

Before Page Type

Before Page Value

Before Report Type

Before Report Value

Comments

Design in Character Units

Direction

Disable Host Menu Item

Disable Split Screen Key

Disable Zoom Key

Distribution

Height (Parameter Form Window)

Include Borders

Include Bitmapped Objects

Max. Horizontal Body Pages

Max. Vertical Body Pages

Name

Number of Pages

Page Navigation Control Type

Page Navigation Control Value

Panel Print Order

Previewer Hint Line Text

Previewer Status Line Text

Role Name

Suppress Previewer Title

Start in Zoom

Previewer Title

Unit of Measurement

Use Previewer Hint Line

Use Previewer Status Line

Width (Parameter Form Window)

XML Tag

XML Tag Attributes

XML Prolog Type

XML Prolog Value


Unit of Measurement property
Unit of Measurement

Description   The Unit of Measurement property is the standard of measure used to specify the dimensions of the report and the parameter form.

Values

Centimeter

Inch

Point 	Is a printer's type size that makes up a pica.  Each pica contains twelve points and is equivalent to one-sixth of an inch.

Applies to   reports

Required/Optional   required

Default  Inch


Max. Horizontal Body Pages property
Max. Horizontal Body Pages

Description   The Max. Horizontal Body Pages property is the maximum number of body pages in width you want to appear in your report.

Values  Any whole number from 1 through 999.

Applies to  reports

Required/Optional  required

Default  10


Max. Vertical Body Pages property
Max. Vertical Body Pages

Description   The Max. Vertical Body Pages property is the maximum number of body pages in height you want to appear in your report.

Values  Any whole number from 1 through 999.

Applies to  reports

Required/Optional  required

Default  10


Panel Print Order property
Panel Print Order

Description   The Panel Print Order is the order in which the physical pages comprising a logical page should be printed.  It also determines the order in which panels are numbered within the logical page.  The figure illustrates logical pages, physical pages, and panels.

 Click here.

Values

Across/Down	Means the physical pages of the report body will print left-to-right then top-to-bottom.
Down/Across	Means the physical pages of the report body will print top-to-bottom and then left-to-right.
Applies to   reports

Required/Optional  required

Default  Across/Down


Direction property
Direction

  Restrictions

Description   The Direction property enables you to specify the reading order for the entire report.  The value of Direction serves as the default for layout objects in the report (e.g., fields, boilerplate, etc.).  It also controls the orientation of the Report Editor (e.g., if Direction is Right to Left, the orientation of the Report Editor will be right to left).  This means you do not have to move objects manually to simulate a right to left orientation in the Report Editor.

Values

Left to Right

Right to Left

Applies to   reports

Required/Optional  required

Default  The natural writing direction of the language.


Direction restrictions

•	Changing the direction of the report or any object only takes effect when running on a bi-directional platform.


Distribution property (report)
Distribution

Description  The Distribution property uses the values specified in the Distribution dialog box to define a distribution for the entire report.

Applies to  reports

Required/Optional  optional


Previewer Title property
Previewer Title

Description   The Previewer Title is the text that appears at the top of the report in the Live Previewer view.  To change the default title, type the desired text in the field provided.

Values  Enter an alphanumeric string not to exceed 256 bytes.  You can restore the default title by deleting whatever title text you entered yourself.

Applies to  reports


Role Name property
Role Name

  Restrictions	  Related Topics

Description  The Role Name property specifies the database role to be set for the report at runtime.  You can use this option to give end users the ability to run reports that query database tables to which they do not normally have access privileges.  Reports Runtime can only set a role that is granted in the database.  If Reports Runtime cannot set a role, it will not run the report.

Values  Enter a valid database role, not to exceed 30 characters.

Applies to  reports

Required/Optional  optional

Default  The default role(s) specified for the user in the database, which are set when the user connects to the database.

Usage Notes

•	You can set the Role Name property in the Property Palette for the Report; to (optionally) set a Role Password, double-click the button in the Role Name value field to display the Set Role dialog.

•	If you specify a role using the command line with Reports Runtime (RWRUN60), it overrides the role settings in the report.

•	You can set only one role for a report.  To set multiple roles, you need to set a role to which the other roles have been granted.


Role Name restrictions

•	Setting a role in a PL/SQL trigger can cause conflicts, and is not recommended.


Width (Parameter Form window) property
Width (Parameter Form window)

  Restrictions

Description  The Width property is the width of one parameter form page in the Unit of Measurement.

Values   Enter a valid width of zero or more.  The maximum width depends upon the Unit of Measurement.  For inches, the maximum width is 512 inches.  For centimeters, it is 1,312 centimeters.  For points, it is 36,864 points.

Applies to  reports

Required/Optional  required

Default  4 inches or 10 centimeters or 300 points


Width (Parameter Form window) restrictions

•	If you change the Unit of Measurement after you have already specified the Width, the Width will change automatically to the approximate width in the new Unit of Measurement.


Height (Parameter Form window) property
Height (Parameter Form window)

  Restrictions

Description  The Height property is the height of one parameter form page in the Unit of Measurement.

Values   Enter a valid height of zero or more.  The maximum height depends upon the Unit of Measurement.  For inches, the maximum height is 512 inches.  For centimeters, it is 1,312 centimeters.  For points, it is 36,864 points.

Applies to  reports

Required/Optional  required

Default  4 inches or 10 centimeters or 300 points


Height (Parameter Form window) restrictions

•	If you change the Unit of Measurement after you have already specified the Height, the Height will change automatically to the approximate height in the new Unit of Measurement.


Number of Pages property
Number of Pages

Description  The Number of Pages property is the total number of pages you want in your Runtime Parameter Form.

Values   Any whole number from 1 through 9,999.

Applies to  reports

Required/Optional  required

Default  1


Page Navigation Control Type property
Page Navigation Control Type

 Related Topics

Description The Page Navigation Control Type property specifies how the scripting will be defined for navigation buttons in HTML page-streamed report output.

Values

File	is any valid text file containing HTML scripting code for page navigation controls.
Text	is any text string containing HTML scripting code for page navigation controls.
Applies to  HTML or HTMLCSS page-streamed report output

Required/Optional  optional

Default  Text

PL/SQL  To define this attribute using PL/SQL, use the SRW.SET_PAGE_NAVIGATION_HTML procedure.


Page Navigation Control Value property
Page Navigation Control Value

 Related Topics

Description  The Page Navigation Control Value property specifies the filename or scripting code for the navigation buttons in HTML page-streamed report output.

Values  Any valid filename or a text string containing valid HTML commands, depending on what you specified for Page Navigation Control Type.  You can click the value field (labeled …) to modify the default built-in JavaScript as desired.

Applies to  HTML or HTMLCSS page-streamed report output

Required/Optional  optional

Default  Report Builder built-in JavaScript

Usage Notes

If you choose to provide your own script for navigation controls, you must include three variables in your script:

•	&TotalPages (total number of pages)

•	&file_name (the name of the output destination file; e.g., myreport).

•	&file_ext (the file extension, e.g., htm)

Report Builder assigns values to these variables during formatting.

The height of the page navigation control frame is hard coded to 70 points without a scroll bar.  The width of the frame is variable.  If you want to use icons and images in this frame, keep these dimensions in mind.

PL/SQL  To define this attribute using PL/SQL, use the SRW.SET_PAGE_NAVIGATION_HTML procedure.


Before Report Type property
Before Report Type

 Related Topics

Description  The Before Report Type property specifies the type of header to appear at the beginning of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to the first page of your report output.  To specify HTML to apply to the entire report (e.g., background color or images, or any other <body> HTML attributes), you must use the Before Page properties.

Values

Text	Is any text string containing valid HTML commands.
File	Is any valid text or graphics file.
Applies to  reports

Required/Optional  Required, if you specified a Before Report Value.

Default  Text

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE REPORT HTML procedure.


Before Report Value property
Before Report Value

  Restrictions	  Examples	 Related Topics

Description  The Before Report Value property specifies a header to appear at the beginning of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to the first page of your report output.  To specify HTML to apply to the entire report (e.g., background color or images, or any other <body> HTML attributes), you must use the Before Page properties.

Values  Any valid filename or a text string containing valid HTML commands, depending on what you specified for Before Report Type.

Applies to  reports

Required/Optional  Required, if you specified a Before Report Type of File.

Default  The default HTML commands included at the beginning of a report:

<html>
<body bgcolor="#ffffff">

Usage Notes

•	This property is useful for placing a logo or some standard links at the beginning of an HTML document.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE REPORT HTML procedure.


Before Report Value restrictions

•	If you replace the default text, you must ensure that it contains the equivalent HTML commands.


After Report Type property
After Report Type

 Related Topics

Description  The After Report Type property specifies the type of trailer to appear at the end of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to the last page of your report output.  To specify HTML to apply to the entire report (e.g., background color or images, or any other <body> HTML attributes), you must use the Before Page properties.

Values

Text	Is any text string containing valid HTML commands.
File	Is any valid text or graphics file.
Applies to  reports

Required/Optional  Required, if you specified an After Report Value.

Default  Text

PL/SQL To define this attribute using PL/SQL, use the SRW.SET AFTER REPORT HTML procedure.


After Report Value property
After Report Value

  Restrictions	  Examples	 Related Topics

Description  The After Report Value property specifies a trailer to appear at the end of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to the last page of your report output.  To specify HTML to apply to the entire report (e.g., background color or images, or any other <body> HTML attributes), you must use the Before Page properties.

Values  Any filename or a text string containing valid HTML commands, depending on what you specified for the After Report Type.

Applies to  reports

Required/Optional  Required, if you specified an After Report Type of File.

Default  The default HTML commands included at the end of a report:

</body></html>

Usage Notes

•	This property is useful for placing a logo or some standard links at the end of an HTML document.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET AFTER REPORT HTML procedure.


After Report Value restrictions

•	If you replace the default text, you must ensure that it contains the equivalent HTML commands.


Before Page Type property
Before Page Type

 Related Topics

Description  The Before Page Type property specifies the type of header to appear at the beginning of each page of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to all pages of your report output (e.g., background color or images, or any other <body> HTML attributes).  To specify HTML for only the first (header) or last (footer) pages of your report, use the Before Report or After Report properties, respectively.

Values

Text	Is any text string containing valid HTML commands.
File	Is any valid text or graphics file.
Applies to  reports

Required/Optional  Required, if you specified a Before Page Value.

Default  Text

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE PAGE HTML procedure.


Before Page Value property
Before Page Value

  Examples	 Related Topics

Description  The Before Page Value property specifies a header to appear at the beginning of each page of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to all pages of your report output (e.g., background color or images, or any other <body> HTML attributes).  To specify HTML for only the first (header) or last (footer) pages of your report, use the Before Report or After Report properties, respectively.

Values  Any filename or a text string containing valid HTML commands, depending on what you specified for the Before Page Type.

Applies to  reports

Required/Optional  Required, if you specified a Before Page Type of File.

Default  blank

Usage Notes

•	This property is useful for placing a logo or some standard links at the beginning of each page of an HTML document.

•	If you want this value to apply only to the current page, you can specify it in a Format Trigger for an object on that page.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE PAGE HTML procedure.


After Page Type property
After Page Type

 Related Topics

Description  The After Page Type property specifies the type of footer to appear at the end of each page of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to all pages of your report output.  To specify HTML for only the first (header) or last (footer) pages of your report, use the Before Report or After Report properties, respectively.

Values

Text	Is any text string containing valid HTML commands.
File	Is any valid text or graphics file.
Applies to  reports

Required/Optional  Required, if you specified an After Page Value.

Default  Text

PL/SQL To define this attribute using PL/SQL, use the SRW.SET AFTER PAGE HTML procedure.


After Page Value property
After Page Value

  Restrictions	  Examples	 Related Topics

Description  The After Page Value property specifies a footer to appear at the end of each page of your document when the report is output to an HTML file and viewed in a Web browser.

If you use HTML page streaming, this property applies to all pages of your report output.  To specify HTML for only the first (header) or last (footer) pages of your report, use the Before Report or After Report properties, respectively.

Values  Any filename or a text string containing valid HTML commands, depending on what you specified for the After Page Type.

Applies to  reports

Required/Optional  Required, if you specified an After Page Type of File.

Default  The default HTML commands included at the end of a page:

<hr size=5 noshade>

Usage Notes

•	This property is useful for placing a logo or some standard links at the end of each page of an HTML document.

•	If you want this value to apply only to the current page, you can specify it in a Format Trigger for an object on that page.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET AFTER PAGE HTML procedure.


After Page Value restrictions

•	If you replace the default text, you must ensure that it contains the equivalent HTML commands.


Before Form Type property
Before Form Type

Description  The Before Form Type property specifies the type of header to appear at the beginning of your runtime parameter form when the report is output to an HTML file and viewed in a Web browser.

Values

Text	Is any text string containing valid HTML commands.
File	Is any valid text or graphics file
Applies to  reports

Required/Optional  Required, if you specified a Before Form Value.

Default  Text

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE FORM HTML procedure.


Before Form Value property
Before Form Value

  Restrictions 	  Examples

Description  The Before Form Value property specifies a header to appear at the beginning of your runtime parameter form when the report is output to an HTML file and viewed in a Web browser.

Values  Any valid filename or a text string containing valid HTML commands, depending on what you specified for Before Form Type.

Applies to  reports

Required/Optional  Required, if you specified a Before Form Type of File.

Default  The default HTML commands included at the beginning of a Runtime Parameter Form:

<html>
<body bgcolor="#ffffff">
<form method=post>
<center>
<p><hr>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td><input type=submit>
<td width=15>
<td><input type=reset>>
</table>
<p><hr><p>

Usage Notes

•	This property is useful for placing a logo or some standard links at the beginning of a runtime parameter form for an HTML document.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BEFORE FORM HTML procedure.


Before Form Value restrictions

•	If you replace the default text, you must ensure that it contains the equivalent HTML commands.


After Form Type property
After Form Type

Description  The After Form Type property specifies the type of footer to appear at the end of your runtime parameter form when the report is output to an HTML file and viewed in a Web browser.

Values

Text	Is any text string containing valid HTML commands.
File	Is any valid text or graphics file
Applies to  reports

Required/Optional  Required, if you specified an After Form Value.

Default  Text

PL/SQL  To define this attribute using PL/SQL, use the SRW.SET_AFTER_FORM_HTML procedure.


After Form Value property
After Form Value

  Restrictions

Description  The After Form Value property specifies a footer to appear at the end of your runtime parameter form when the report is output to an HTML file and viewed in a Web browser.

Values  Any valid filename or a text string containing valid HTML commands, depending on what you specified for After Form Type.

Applies to  reports

Required/Optional  Required, if you specified an After Form Type of File.

Default  The default HTML commands included at the end of a runtime parameter form:

</center>
</body>
</form>
</html>

Usage Notes

•	This property is useful for placing a logo or some standard links at the end of a Runtime Parameter Form for an HTML document.

PL/SQL  To define this attribute using PL/SQL, use the SRW.SET_AFTER_FORM_HTML procedure.


After Form Value restrictions

•	If you replace the default text, you must ensure that it contains the equivalent HTML commands.


Design in Character Units property
Design in Character Units

Description   The Design in Character Units property specifies that the Report Editor and its grid use units of character cells.   Using this and Include Borders causes the Report Editor to display character-mode borders for objects with line widths greater than zero.

Default   No


Use Previewer Hint Line property
Use Previewer Hint Line

Description  The Previewer Hint Line is the line of the Live Previewer view that is displayed on the second to last line of your screen.  To change the default hint line, select Yes, and type the desired text in the Previewer Hint Line Text property.

Values  If Yes,  enter the text in the Previewer Hint Line Text property.

Applies to  reports

Default  No

Usage Notes

•	You can restore the default hint line by deleting the hint text you entered in the Previewer Hint Line Text property and setting the Use Previewer Hint Line property to No.


Previewer Hint Line Text property
Previewer Hint Line Text

Description  The Previewer Hint Line is the line of the Live Previewer view that is displayed on the second to last line of your screen.

Values  Enter an alphanumeric string not to exceed 80 bytes.

Applies to  reports


Use Previewer Status Line property
Use Previewer Status Line

  Restrictions

Description The Previewer Status Line is the last line of the Live Previewer view.  To change the default status line, select Yes, and type the desired text in the Previewer Status Line Text property.

Values  If Yes,  enter the text in the Previewer Status Line Text property.

Applies to  reports

Default  No

Usage Notes

•	You can restore the default status line by deleting the status text you entered in the Previewer Status Line Text property and setting the Use Previewer Status Line property to No.


Use Previewer Status Line restrictions

•	If Previewer Status Line is set to No, Report Builder does not reserve a line for it.  This enables you to see one more line of your report output per screen.

•	When you change the Previewer Status Line Text, the report name will not appear in the status line unless you enter it there yourself.  For example, you could enter:

This report is for Human Resources personnel only (Report: deptinfo)


Previewer Status Line Text property
Previewer Status Line Text

Description  The Previewer Status Line is the last line of the Live Previewer view.

Values  Enter an alphanumeric string not to exceed 80 bytes.

Applies to  reports


Include Bitmapped Objects property
Include Bitmapped Objects

Description   The Include Bitmapped Objects property converts all bit-mapped objects (i.e., Graphics Builder displays and boilerplate objects except for text, lines, and rectangles) to boxes when the report is run in character mode.  If set to No, all bit-mapped objects and any explicit anchors to them will be deleted when the report is run in character mode.

Applies to  reports

Default  No


Include Bitmapped Objects restrictions

  Restrictions

•	Lines that are not horizontal or vertical will always be converted to horizontal or vertical lines in character mode, regardless of this setting.  Similarly, rotated rectangles will be converted to non-rotated rectangles in character mode, regardless of this setting.


Include Borders property
Include Borders

Description   The Include Borders Property turns on borders in character mode for any objects that have a line width greater than zero in bit-mapped.  If set to No, all borders are turned off in character mode.

Applies to  reports

Default   No

Usage Notes

•	Setting both this property and the Design in Character property to Yes causes the Report Editor to display character-mode borders for objects with line widths greater than zero.


Disable Host Menu Item property
Disable Host Menu Item

Description  The Disable Host Menu Item property disables the Host item in the File menu in both Runtime Parameter Form and Live Previewer views.  The Host item appears in the File menu of character-mode Report Builder.

Applies to  reports

Default   No


Disable Split Screen Key property
Disable Split Screen Key

Description   The Disable Split Screen Key disables the [Split Vertical] and [Split Horizontal] function keys.

Applies to  reports

Default   No


Disable Zoom Key property
Disable Zoom Key

  Restrictions

Description  The Disable Zoom Key property disables the [Zoom/Unzoom] function key in the Live Previewer view in.

Applies to  reports

Default   No


Disable Zoom Key restrictions

•	This feature is available on UNIX only.

•	If Disable Zoom Key and Start in Zoom are both set to Yes, the Live Previewer view will be displayed with Zoom toggled on, and you will be unable to toggle out of Zoom.


Start in Zoom property
Start in Zoom

  Restrictions

Description  The Start in Zoom property displays the Live Previewer view with Zoom toggled on, (i.e., the border that normally appears around the Live Previewer view is not visible and all you see is the report output).

Applies to  reports

Default   No


Start in Zoom restrictions

•	This feature is available on UNIX only.

•	If Disable Zoom Key and Start in Zoom are both set to Yes, the Live Previewer view will be displayed with Zoom toggled on, and you will be unable to toggle out of Zoom.


Suppress Previewer Title property
Suppress Previewer Title

Description  The Suppress Previewer Title property suppresses the display of the Title in the character mode Previewer.

Applies to  reports

Default   Yes


In this case, a page refers to a report page.


The language is defined by the NLS environment variables.


Ref cursor query properties

Comment

Maximum Rows to Fetch

Name

PL/SQL Statement

Type


PL/SQL Statement property
PL/SQL Statement

  Related Topics

Description  The PL/SQL Statement property is a button that displays the PL/SQL Editor in which you can enter a PL/SQL function that uses a ref cursor to return data.

Applies to  queries

Required/Optional  Required


For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1.


Section properties

Distribution

Height

Horizontal Panels per Page

Orientation

Report Height

Report Width

Vertical Panels per Page

Width


Distribution property (section)
Distribution

Description  The Distribution property uses the values specified in the Distribution dialog box to define a distribution for the current section.

Applies to  sections

Required/Optional  optional


Height property (section)
Height

  Restrictions

Description  The Height property is the height of one physical page (including the margin) in the Unit of Measurement (e.g., 11 inches).

Values   Enter a valid height of zero or more.  The maximum height depends upon the Unit of Measurement.  For inches, the maximum height is 512 inches.  For centimeters, it is 1,312 centimeters.  For points, it is 36,864 points.

Applies to  sections

Required/Optional  required

Default  11 inches


Height restrictions (section)
Height restrictions

•	The page must be large enough to contain the section.  For example, if a frame in a section expands to a size larger than the Height, the report will not run.

•	If you change the Unit of Measurement after you have already specified the Height, the Height will automatically change to the approximate height in the new Unit of Measurement.

•	If you change the Width or Height of the physical page, the size of the logical page will change accordingly, so that the dimensions of the margin are preserved wherever possible.

Caution:  On some printers the printable area of the physical page is restricted.  For example, the sheet of paper a printer takes may be 8.5 x 11 inches, but the printer might only be able to print on an area of 8 x 10.5 inches.  If you define a Width and Height that is bigger than the printable area your printer allows, clipping may occur in your report output.  To avoid clipping, you can either increase the printable area for the printer (if your operating system allows it) or you can set the Width and Height to be the size of the printable area of the page.

•	You can override the dimensions of a page by specifying different values for the PAGESIZE parameter on the command line.

•	The default top and bottom margin is half an inch each.


Horizontal Panels per Page property
Horizontal Panels per Page

  Examples

Description  The Horizontal Panels per Page property is the width of the logical page (report page) in physical pages (printer pages).   For instance, a Horizontal Panels per Page size of 1 means that each logical page is one physical page wide.

Values  Any whole number from 1 through 50.

Applies to  sections

Required/Optional  required

Default  1


Horizontal/Vertical Panels per Page example

Panels are the representations of the physical pages within a logical page.  In this example, one logical page is made up of six physical pages.  The logical page is three physical pages wide and two physical pages high.  Consequently, Horizontal Panels per Page size is 3 and Vertical Panels per Page size is 2.  If you wanted the logical page to be two physical pages wide and three physical pages high, you would specify a Horizontal Panels per Page size of 2 and a Vertical Panels per Page size of 3.

 Click here.


Orientation property (section)
Orientation

  Restrictions

Description  The Orientation property specifies whether the section output is portrait or landscape.  This setting overrides orientation specified by the ORIENTATION command line parameter, system parameter, or Page Setup dialog box.

Values

Default	uses the orientation defined by the ORIENTATION command line parameter, system parameter, or Page Setup dialog box.
Portrait	section output in vertical.
Landscape	section output is horizontal.
Applies to  sections

Required/Optional  optional

Default  Default


Orientation restrictions

•	Orientation settings are ignored when outputting reports to a PCL printer on Motif. The report is processed using the default settings.


Report Height property
Report Height

  Restrictions

Description  The Report Height property is the height of your report page in character units.

Values  Any whole number from 1 through 9,999

Applies to  sections

Required/Optional  required

Default  80 characters


Report Height restrictions

•	When displaying a character-mode report in the bit-mapped Live Previewer view, Report Builder uses this setting to choose the font to display.  The font may be slightly larger or smaller than the actual character cell size.  As a result, you may see some truncation.


Report Width property
Report Width

  Restrictions

Description  The Report Width property is the width of your report page in character units.

Values  Any whole number from 1 through 9,999

Applies to  sections

Required/Optional  required

Default  66 characters


Report Width restrictions

•	When displaying a character mode report in the bit-mapped Live Previewer view, Report Builder uses this setting to choose the font to display.  The font may be slightly larger or smaller than the actual character cell size.  As a result, you may see some truncation.


Vertical Panels per Page property
Vertical Panels per Page

  Examples

Description  The Vertical Panels per Page property is the height of the logical page (report page) in physical pages (printer pages).   For instance, a Vertical Panels per Page size of 1 means that each logical page is one physical page in height.

Values  Any whole number from 1 through 50.

Applies to  sections

Required/Optional  required

Default  1


Width property (section)
Width

  Restrictions

Description  The Width property is the width of one physical page (including the margin) in the Unit of Measurement (e.g., 8.5 inches).

Values  Enter a valid width of zero or more.  The maximum width depends upon the Unit of Measurement.  For inches, the maximum width is 512 inches.  For centimeters, it is 1,312 centimeters.  For points, it is 36,864 points.

Applies to  sections

Required/Optional  required

Default  8.5 inches


Width restrictions (section)
Width restrictions

•	The page must be large enough to contain the section.  For example, if a frame in a section expands to a size larger than the Width, the report will not run.

•	If you change the Unit of Measurement after you have already specified the Width, the Width will automatically change to the approximate width in the new Unit of Measurement.

•	If you change the Width or Height of the physical page, the size of the logical page will change accordingly, so that the dimensions of the margin are preserved wherever possible.

Caution:  On some printers the printable area of the physical page is restricted.  For example, the sheet of paper a printer takes may be 8.5 x 11 inches, but the printer might only be able to print on an area of 8 x 10.5 inches.  If you define a Width and Height that is bigger than the printable area your printer allows, clipping may occur in your report output.  To avoid clipping, you can either increase the printable area for the printer (if your operating system allows it) or you can set the Width and Height to be the size of the printable area of the page.

•	You can override the dimensions of a page by specifying different values for the PAGESIZE parameter on the command line.

•	The default right and left margin size is zero.


Sort Column properties

  Restrictions

Break Order

Column Type

Comment

Database Column Name

Datatype

Exclude from XML Output

File Format

Name

Read from File

Value If Null

Width

XML Tag

XML Tag Attributes


Sort Column restrictions

•	Sort columns are available for Express queries only.

•	Only Express dimensions have corresponding sort columns, not measures.

•	Sort column properties may be edited from the Data Model view and the Object Navigator.

•	When moving the dimension value to another group in the Data Model, you must move the corresponding sort column with it.

•	Sort columns do not appear in the Data and Report wizards, or in the Layout Model view and the Live Previewer.

•	Report Builder creates sort columns for each dimension in the Express query.

•	The Sort tool in the Selector is used to change the dimension order.


Summary Column properties

Break Order

Column Type

Comment

Compute At

Datatype

Exclude from XML Output

Function

File Format

Name

Product Order

Read from File

Reset At

Set Break Order

Source

Value If Null

Width

XML Tag

XML Tag Attributes


Compute At property
Compute At

  Restrictions 	  Examples

Description  The Compute At property is the group over which a % of Total summary column is computed.  Compute At is used only for columns with a Function of % of Total.  When you calculate a percentage, you divide a value by a total (e.g., SMITH's salary/total department salaries).  Compute At defines the total for a percentage calculation.  Using this field, Report Builder determines the total of which each source column value is a percentage.  For matrix reports, Compute At can be multiple groups.

Values

Page	Is used to calculate the source column as a percentage of the total values on a page.
Report	Is used to calculate the source column as a percentage of the total values in the report.
<names>	Is used to calculate the source column as a percentage of the total values in the group(s).
Applies to  summary columns

Required/Optional  required, for summary columns with a Function of % of Total.

Default  The parent group of the summary column's group


Compute At example (group report)

  Related Topics 	  All Examples

Suppose that you have a report that looks like the one below:

Deptno  10    Dname  ACCOUNTING

 Ename              Sal   %Dept    %Total

 ----------- ----------   ------   ------

 MILLER         1300.00   14.86%    6.62%

 CLARK          2450.00   28.00%   12.48%

 KING           5000.00   57.14%   25.48%

Deptno  20    Dname  RESEARCH

 Ename              Sal   %Dept    %Total

 ----------- ----------   ------   ------

 SMITH           800.00    7.36%    4.08%

 ADAMS          1100.00   10.11%    5.61%

 JONES          2975.00   27.36%   15.16%

 SCOTT          3000.00   27.59%   15.29%

 FORD           3000.00   27.59%   15.29%

The parent group, G_DEPT, contains the DEPTNO and DNAME columns.  The child group, G_EMP, contains the ENAME and SAL columns.

To get a summary that calculates each employee's salary as a percentage of total department salaries (Pct_Dept), you create a summary column in G_EMP with the following settings:

Function	Reset At	Compute At
% of Total	G_EMP	G_DEPT
In this case, Reset At indicates that the summary should be reset to null for each employee.  This is because you want a separate percentage for each individual employee.  Compute At indicates that the total of salaries for the department is the whole (100%) across which to compute the percentages.  It should also be noted that this summary is placed in the G_EMP group because you want the percentage to appear for each employee.

To get a summary that calculates each employee's salary as a percentage of total salaries for the entire report (Pct_Total), you create a summary column in G_EMP with the following settings:

Function	Reset At	Compute At
% of Total	G_EMP	Report
In this case, Compute At indicates that the total of salaries for the entire report is the whole (100%) across which to compute the percentages.  As with the Pct_Dept summary above, Reset At indicates that the summary should be reset to null for each employee and the summary is placed in the G_EMP group because you want the percentage to appear for each employee.


Compute At example (matrix report)

  Related Topics 	  All Examples

Suppose that you have a matrix report that looks something like the one below and you want to add some percentage summaries to it.

Dept Analyst   Clerk   Manager   Total

10              1300      2450    3750

20      6000    1900      2975   10875

30               950      2850    3800

Total   6000    4150      8275   18425

Group G_JOB contains the column JOB, G_DEPT contains DEPTNO,  G_SAL contains SUMSAL, and G_CROSS is the cross-product group.  (G_CROSS contains all of the summaries for the matrix.)

To get a summary that calculates each job category's total salaries per department as a percentage of total salaries for that job in all departments, you would enter the following settings for a summary column in G_CROSS:

Function	Reset At	Compute At	Product Order
% of Total	G_DEPT	G_JOB	G_JOB, G_DEPT
In this case, Reset At indicates that the summary should be reset to null for each department.  This is because you want a separate percentage for each individual department.  Compute At indicates that the total of salaries for the job category is the whole (100%) across which to compute the percentages.   It should also be noted that this summary is placed in G_CROSS because all summaries that apply to the matrix itself must belong to the cross-product group.

Note: Because this is a matrix report, you need to use Product Order for the summary.  For further information about Product Order, see "Product Order".  (One of the examples uses the same output as this example and more fully explains the use of Product Order.)

 Click here.


Compute At restrictions

•	Compute At is only editable when the column is a summary and the Function is % of Total.

•	The Compute At group of a summary column may be any group above the summary column's group, including Report and Page, if the summary column's group is not Report.

•	Summary columns that are owned by a cross-product group cannot have a Compute At of Page.

•	If a summary has a Compute At of Page, then the sizing of the field or boilerplate object that displays it must be fixed.


            Analyst Pct_Job   Clerk Pct_Job   Manager Pct_Job  Total

    Dept   -------- -------  ------ -------  -------- ------- ------

    10                         1300  31.33%      2450  29.61%   3750

    20         6000 100.00%    1900  45.78%      2975  35.95%  10875

    30                          950  22.89%      2850  34.44%   3800

    Total      6000            4150              8275          18425

             (100%)          (100%)            (100%)


Function property
Function

  Restrictions

Description  The Function property is the computation to be performed on the values of the column specified in Source.  To create running summaries, you place the column in the appropriate group and use Function in conjunction with Reset At.

Values

Average	Calculates the average of the column's values within the reset group.
Count	Counts the number of records within the reset group.
First	Prints the column's first value fetched for the reset group.
Last	Prints the column's last value fetched for the reset group.
Maximum	Calculates the column's highest value within the reset group.
Minimum	Calculates the column's lowest value within the reset group.
% of Total	Calculates the column's percent of the total within the reset group.
Std. Deviation	Calculates the column's positive square root of the variance for the reset group.
Sum	Calculates the total of the column's values within the reset group.
Variance	Sums the squares of each column value's distance from the mean value of the reset group and divides the total by the number of values minus 1.
Applies to  summary columns

Required/Optional  required, if column is a summary column.

Default  blank


Function restrictions

•	Function is only editable when the Type of the column is Summary.

•	Sum, Average, % of Total,  Std. Deviation, and Variance can only be applied to fields with a Datatype of Number.

•	Report Builder sets the Datatype for the summary based on the Datatype of the column being summarized.

•	If the column being summarized is changed, the datatype of the summary changes to match.

•	A report-level summary cannot have a Function of % of Total.  Such a column would make no sense because it would always be 100%.

•	A column with a Function of % of Total, Sum, or Variance  cannot be a break column and cannot have Break Order set.

•	The Average function will ignore null values in a column (i.e., it does not assume a null value equals zero).


Product Order property
Product Order

  Restrictions 	  Examples

Description  The Product Order property is the order in which groups are evaluated in the cross product for a summary.  Product Order also defines the frequency of a summary, formula, or placeholder  in a cross product group.  That is, the summary, formula, or placeholder has one value for each combination of values of the groups in its Product Order.  Product Order is used only for columns owned by cross-product groups.  Because a cross product relates multiple groups, the groups in the cross product could be evaluated in any one of many different orders.  Therefore, when creating a summary for a cross product, you must use Product Order to specify for Report Builder which group should be evaluated first, which second, and so on.  You must also use Product Order to specify the frequency of a summary, formula, or placeholder within the cross product.

Values  A valid group combination.

Applies to  summary, formula, and placeholder columns

Required/Optional  required, if the column is a summary or formula column belonging to a cross product group.


Product Order example (single group)

  Related Topics 	  All Examples

Suppose that you have a matrix report.

 Click here.

Group G_JOB contains the column JOB, G_DEPT contains DEPTNO, G_YEAR contains YEAR, G_SAL contains SUMSAL, and G_CROSS is the cross product group.  (G_CROSS contains all of the summaries for the matrix.)

To get the summary of salaries by job, you create a summary column in G_CROSS with the following settings:

Function	Reset At	Product Order
% of Total	G_JOB	G_JOB
In this case, you want the summary to calculate a sum for each record of G_JOB (i.e., each job category) so Product Order is G_JOB.  (This summary appears along the bottom of the matrix.)

To get the summary of salaries by year, you create a summary column in G_CROSS with the following settings:

Function	Reset At	Product Order
Sum	G_YEAR	G_YEAR
In this case, you want the summary to calculate a sum for each record of G_YEAR (i.e., each year) so Product Order is G_YEAR.  (This summary appears along the right edge of the matrix directly underneath a boilerplate line.)

To get the summary of salaries for each department in each year, you create a summary column in G_CROSS with the following settings:

Function	Reset At	Product Order
Sum	G_DEPT	G_YEAR, G_DEPT
In this case, you want the summary to calculate a sum for each department in each year (G_DEPT and G_YEAR).  For this summary, G_YEAR has the lowest frequency (i.e., it changes only once for each three records of G_DEPT) and G_DEPT has the highest frequency (i.e., it changes three times for each record of G_YEAR).  As a result, G_YEAR (lowest frequency) appears first and G_DEPT (highest frequency) appears second in Product Order.


Product Order example (multiple group)

  Related Topics 	  All Examples

Suppose that you have a matrix report that looks something like the one below and you want to add some percentage summaries to it.

Dept Analyst   Clerk  Manager  Total

10              1300     2450   3750

20      6000    1900     2975  10875

30               950     2850   3800

Total   6000    4150     8275  18425

Group G_JOB contains the column JOB, G_DEPT contains DEPTNO, G_SAL contains SUMSAL, and G_CROSS is the cross product group.

To get a summary column that calculates each job category's total salaries per department as a percentage of total salaries for that job in all departments, you would enter the following settings for a summary column in G_CROSS:

Function	Reset At	Compute At	Product Order
% of Total	G_DEPT	G_JOB	G_JOB, G_DEPT
In this case, you want the summary to go down the matrix and then across.  Since the summary goes down the matrix first, G_JOB has the lowest frequency (it changes only once per three departments) and is the first group in Product Order.  Since the summary goes across the matrix after going down, G_DEPT has the highest frequency (it changes three times per one job) and is the second group in the Product Order.

 Click here.

To get a summary that calculates each department's total salaries per job category as a percentage of total salaries for that department, you would enter the following settings for a summary column in G_CROSS:

Function	Reset At	Compute At	Product Order
% of Total	G_JOB	G_DEPT	G_DEPT, G_JOB
In this case, you  want the summary to go across the matrix and then down.  Since the summary goes across the matrix first, G_DEPT has the lowest frequency (it changes only once per three jobs) and is the first group in Product Order.  Since the summary goes down the matrix only after going across, G_JOB has the highest frequency (it changes three times per one department) and is the second group in the Product Order.

 Click here.

To get a summary that calculates each department's total salaries per job category as a percentage of total salaries in the report, you would enter the following settings for a summary column in G_CROSS:

Function	Reset At	Compute At	Product Order
% of Total	G_JOB	Report	G_DEPT, G_JOB
In this case, the summary could go across the matrix and then down, or down the matrix and then across because you are computing this summary for the entire report (e.g., Compute At is Report).  Product Order could be either G_DEPT, G_JOB (across, down) or G_JOB, G_DEPT (down, across).  Note, however, that Reset At must be the group that has the highest frequency:  G_DEPT if Product Order is G_JOB, G_DEPT;  G_JOB if Product Order is G_DEPT, G_JOB.

 Click here.


Product Order example (formula)

  Related Topics 	  All Examples

Suppose that you have a matrix report that looks something like the one below and you want to add a formula to it.

Dept Analyst   Clerk  Manager  President  Salesman

10              1300     2450      5000

20      6000    1900     2975

30               950     2850                 5600

Group G_JOB contains the column JOB, G_DEPT contains DEPTNO, G_SAL contains SUMSAL, and G_CROSS is the cross product group.

To add a formula that calculates the sum of after-tax salaries for each department, you first create a summary column (DEPTSUM) in G_CROSS with the following settings:

Function	Reset At	Product Order
% of Total	G_DEPT	G_DEPT
Next, you create a formula (AFTERTAX) in G_CROSS with the following settings:

Formula	Product Order
:deptsum * .9	G_DEPT
Because the formula is in G_CROSS, you must give it a Product Order.  In this case, the frequency of the formula is the same as the summary column, DEPTSUM.  This would calculate the formula as follows:

Dept Analyst   Clerk  Manager  President  Salesman  Comp

10              1300     2450      5000             7875

20      6000    1900     2975                       9788

30               950     2850                 5600  8460


Product Order restrictions

•	This field is only available if the summary, formula, or placeholder column's group is a cross product.

•	A summary which is not a running summary (i.e., its Reset At is not Report) must have a Product Order that is a subset of its source column's Product Order.  The source column of the summary must be at least as frequent as the summary, which means that the summary's Product Order should be some subset of the source column's Product Order.

•	A running summary (i.e., its Reset At is Report) must have a Product Order that is a prefix of the source column's Product Order.  For example, if the source column's Product Order were A,B,C, then the summary column's Product Order would have to be either A (by itself) or A,B.  The summary's Product Order could not be B,A.


Job         ANALYST    CLERK      MANAGER    PRESIDENT    SALESMAN

            -------    -----      -------    ---------    --------

Year  Dept

----  ----

80      10

        20               800                                            800

        30

                                                                     ------

                                                                        800

81      10                           2450         5000                 7450

        20     3000                  2975                              5975

        30               950         2850                     5600     9400

                                                                     ------

                                                                      22825

82      10              1300                                           1300

        20     3000                                                    3000

        30

                                                                     ------

                                                                       4300

83      10

        20              1100                                           1100

        30

                                                                     ------

                                                                       1100

            -------    -----      -------    ---------    --------

               6000     4150         8275         5000        5600


       Analyst  Pct_Job  Clerk  Pct_Job  Manager  Pct_Job Total

Dept   -------- -------  ------ -------  -------- ------- ------

10                         1300  31.33%      2450  29.61%   3750

20         6000 100.00%    1900  45.78%      2975  35.95%  10875

30                          950  22.89%      2850  34.44%   3800

Total      6000            4150              8275          18425

                100%             100%              100%


       Analyst Pct_Job   Clerk Pct_Job   Manager Pct_Job  Total

Dept   -------- -------  ------ -------  -------- ------- ------

10                         1300  34.67%      2450  65.33%   3750

                                                            100%

20         6000  55.17%    1900  17.47%      2975  27.36%  10875

                                                            100%

30                          950  25.00%      2850  75.00%   3800

                                                            100%

Total      6000            4150              8275          18425


        Analyst Pct_Job   Clerk Pct_Job   Manager Pct_Job  Total

Dept   -------- -------  ------ -------  -------- ------- ------

10                         1300   7.06%      2450  13.30%   3750

20         6000  32.56%    1900  10.31%      2975  16.15%  10875

30                          950   5.16%      2850  15.47%   3800

Total      6000            4150              8275          18425

                                                            100%


Reset At property
Reset At

  Restrictions 	  Examples

Description  The Reset At property is the group at which the summary column value resets to zero (if Function is Count), null (if Function is not Count), or Value If Null (if the column has one).  Reset At has a list of values containing valid reset groups.  Reset At determines if the summary is a running summary or a periodic (e.g., group-level) summary.

Values

Page	Is used for page-level summaries.  The summary is reset between pages.
Report	Is used for summaries that apply to the entire report, such as grand totals.  The summary is reset after the report (i.e., it is never reset).
<names>	Is a valid group name.  The summary is reset after each record of the group.
Applies to  summary columns

Required/Optional  required, for columns of Type Summary.

Usage Notes

•	The reset group of a summary column may be its group or any group above its group, including Report and Page.

•	To ensure that page summaries behave in a predictable way, make sure each record fits on a single page, or if that is not feasible, force each new record to print on a new page.


Reset At example (group)

  Related Topics 	  All Examples

Suppose that you want to create a group report like the one below:

DEPT NAME    SAL  RESETSUM RUNSUM

---- ------- ---- -------- ------

10   SMITH   1000 1000     1000

     JONES   1000 2000     2000

     KING    1000 3000     3000

20   JOHNSON 1500 1500     4500

     WARD    1000 2500     5500

The parent group, G_DEPT, contains the DEPTNO column.  The child group, G_EMP, contains ENAME and SAL.  To get the sum of salaries for each department (RESETSUM), you create a summary column in G_EMP with the following settings

Function	Reset At
Sum	G_DEPT
In this case, Reset At indicates that the summary should be set to null after each department.

To get the running sum of salaries (RUNSUM), you create a summary column in G_EMP with the following settings:

Function	Reset At
Sum	Report
In this case, Reset At indicates that the summary should not be reset to null but should accumulate throughout the report.


Reset At restrictions

•	Reset At is only editable for summary columns.

•	Summary columns that are owned by a cross-product group cannot have a Reset At of Page.

•	If a summary has a Reset At of Page, then the sizing of the field or boilerplate object that displays it must be fixed.

•	If a column has a Reset At of Page, then any fields that use it as a source must be contained in repeating frames that use the column's group as their source.

•	A Reset At of Page will not work for reports that have multiple repeating frames associated with a group that is involved in the summary.  One common case of this is a matrix report.  As a result, matrix reports cannot have page-level summaries.

•	For multiple summary columns that are in child groups that share the same parent group, a Reset At of Page may produce incorrect results.

•	If your data model contains multiple child groups with a shared parent (e.g., master-detail-detail), summary columns with a Reset At of Page may give unexpected results.


Source property
Source

  Restrictions

Description  The Source property is the name of the column whose values will be summarized.

Values  Any valid column name.

Applies to  summary columns

Required/Optional  required, if the column is a summary column.

Default  blank


Source restrictions

•	The source of a summary column may be any column within or  below the summary column's group (with a valid Datatype for the function).

•	If you change the Source of a summary column, the Datatype of the summary column changes to reflect the Datatype of the new source column, unless the column has Read from File specified.

•	Any column can be the Source of multiple summary columns.

•	If you specify a source for a summary column and later delete the source column from your report, your summary column no longer has access to data to summarize.


Template properties

Alignment

Align Summaries with Fields

Background Color

Between Field and Labels (Horizontal)

Between Frame and Fields (Horizontal)

Between Frame and Fields (Vertical)

Between Master and Detail (Horizontal)

Between Master and Detail (Vertical)

Between Page and Frames (Horizontal)

Between Page and Frames (Vertical)

Between Sibling Frames (Horizontal)

Between Sibling Frames (Vertical)

Borders

Character Justification

Dash

Date Justification

Edge Background Color

Edge Foreground Color

Edge Pattern

Fields Per Line

Fill Pattern

Font

Foreground Color

Image

Inter-Field (Horizontal)

Inter-Field (Vertical)

Inter-Frame (Horizontal)

Inter-Frame (Vertical)

Justify

Number Justification

Place Labels Above Fields

Position

Style

Text

Text Color

Use Vertical Spacing


Alignment property
Alignment

Description  The Alignment property defines how labels and fields on a line are positioned across the page.  This property applies only if the Style is Form.  The number of fields and columns per line is determined by the Fields Per Line property.

Values

Left	Means the left-most label or field is aligned with the left side of the page.
	Click here.
Right	Means the right-most label or field is aligned with the right side of the page.
	Click here.
Center	Means the labels and fields are centered across the page.
	Click here.
Flush	Means the labels and fields are spaced evenly across the page, with the left-most label or field aligned with the left side of the page and the right-most label or field aligned with the right side of the page.
	Click here.
Column	Means labels and fields are aligned in columns spaced evenly across the page, based on the widths of the largest label and largest field.
	Click here.
Applies to  templates

Default  Left


Align Summaries with Fields property
Align Summaries with Fields

Description  The Align Summaries with Fields property places summary fields under their source fields, if set to Yes.  This property applies only if the Style is Form.

 Click here.

Applies to  templates

Default  Yes


Background Color property
Background Color

Description  The Background Color property defines the background color of the Fill Pattern property setting.

Values   Choose a valid color from the color palette.

Applies to  templates

Default   white

Usage Notes

•	If the Fill Pattern property is set to transparent, then both the Background Color and Foreground Color settings are ignored.

•	If the Fill Pattern property is set to solid, then the Background Color setting is ignored, and only the Foreground Color setting is visible.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BACKGROUND FILL COLOR procedure.


Between Field and Labels (Horizontal) property
Between Field and Labels (Horizontal)

Description  The Between Field and Labels (Horizontal) property defines the amount of horizontal space between fields and their associated labels in a group.  This property applies only if the Style is Form, in which labels are to the left of fields.  Thus, there is no vertical space counterpart to this property.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Frame and Fields (Horizontal) property
Between Frame and Fields (Horizontal)

Description  The Between Frame and Fields (Horizontal) property defines the amount of horizontal space between frames and the fields they enclose.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Frame and Fields (Vertical) property
Between Frame and Fields (Vertical)

Description  The Between Frame and Fields (Vertical) property defines the amount of vertical space between frames and the fields they enclose.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Master and Detail (Horizontal) property
Between Master and Detail (Horizontal)

Description  The Between Master and Detail (Horizontal) property defines the amount of horizontal space between the master group frame and the detail group frame.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Master and Detail (Vertical) property
Between Master and Detail (Vertical)

Description  The Between Master and Detail (Vertical) property defines the amount of vertical space between the master group frame and the detail group frame.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Page and Frames (Horizontal) property
Between Page and Frames (Horizontal)

Description  The Between Page and Frames (Horizontal) property defines the amount of horizontal space between the edge of the page and the highest-level group frame.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Page and Frames (Vertical) property
Between Page and Frames (Vertical)

Description  The Between Page and Frames (Vertical) property defines the amount of vertical space between the edge of the page and the highest-level group frame.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Sibling Frames (Horizontal) property
Between Sibling Frames (Horizontal)

Description  The Between Sibling Frames (Horizontal) property defines the amount of horizontal space between the frames of groups at the same level.  The groups may be separate, or they may share the same parent group.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Between Sibling Frames (Vertical) property
Between Sibling Frames (Vertical)

Description  The Between Sibling Frames (Vertical) property defines the amount of vertical space between the frames of groups at the same level.  The groups may be separate, or they may share the same parent group.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Borders property
Borders

Description  The Borders property defines which borders to display for objects.

Values

All	Means display all borders.
Top Only	Means display top borders only.
Bottom Only	Means display bottom borders only.
Left Only	Means display left borders only.
Right Only	Means display right borders only.
Top and Bottom	Means display top and bottom borders only.
Left and Right	Means display left and right borders only.
Top and Right	Means display top and right borders only.
Top and Left	Means display top and left borders only.
Bottom and Right	Means display bottom and right borders only.
Bottom and Left	Means display bottom and left borders only.
All but Top	Means display all except top borders.
All but Bottom	Means display all except bottom borders.
All but Left	Means display all except left borders.
All but Right	Means display all except right borders.
None	Means display no borders.
Applies to  templates

Default  All


Character Justification property
Character Justification

Description  The Character Justification property defines the method to use for aligning the text of the field or label, if the datatype of the field’s Source is CHARACTER.

Values

Left	Means the text is aligned left.
Center	Means the text is centered.
Right	Means the text is aligned right.
Start	Means the text is aligned left or right depending on where it would normally start for the language.  For example, for languages that flow from left to right, Start justifies the text Left.  Alternatively, for languages that flow from right to left, Start justifies the text Right.
End	Means the text is aligned left or right depending on where it would normally end for the language.  For example, for languages that flow from left to right, End justifies the text Right.  Alternatively, for languages that flow from right to left, End justifies the text Left.
Applies to  templates

Default  Start

PL/SQL To define this attribute using PL/SQL, use the SRW.SET JUSTIFICATION procedure.


Dash property
Dash

Description  The Dash property defines the line/dash style for the object.

Values   Choose a valid line/dash pattern from the list.

Applies to  templates

Default  Solid


Date Justification property
Date Justification

Description  The Date Justification property defines the method to use for aligning the text of the field or label, if the datatype of the field’s Source is DATE.

Values

Left	Means the text is aligned left.
Center	Means the text is centered.
Right	Means the text is aligned right.
Start	Means the text is aligned left or right depending on where it would normally start for the language.  For example, for languages that flow from left to right, Start justifies the text Left.  Alternatively, for languages that flow from right to left, Start justifies the text Right.
End	Means the text is aligned left or right depending on where it would normally end for the language.  For example, for languages that flow from left to right, End justifies the text Right.  Alternatively, for languages that flow from right to left, End justifies the text Left.
Values   Enter

Applies to  templates

Default  Start

PL/SQL To define this attribute using PL/SQL, use the SRW.SET JUSTIFICATION procedure.


Edge Foreground Color property
Edge Foreground Color

Description  The Edge Foreground Color defines the foreground color of the Edge Pattern property setting.

Values   Choose a valid color from the color palette.

Applies to  templates

Default  black

Usage Notes

•	If the Edge Pattern property is set to transparent, then both the Edge Foreground Color and Edge Background Color settings are ignored.

•	If the Edge Pattern property is set to solid, then only the Edge Foreground Color setting is visible (the Edge Background Color setting is ignored).

PL/SQL To define this attribute using PL/SQL, use the SRW.SET FOREGROUND BORDER COLOR procedure.


Edge Background Color property
Edge Background Color

Description  The Edge Background Color property defines the background color of the Edge Pattern property setting.

Values   Choose a valid color from the color palette.

Applies to  templates

Default  white

Usage Notes

•	If the Edge Pattern property is set to transparent, then both the Edge Background Color and Edge Foreground Color settings are ignored.

•	If the Edge Pattern property is set to solid, then the Edge Background Color setting is ignored, and only the Edge Foreground Color setting is visible.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BACKGROUND BORDER COLOR procedure.


Edge Pattern property
Edge Pattern

Description  The Edge Pattern property defines the pattern to use for the borders of the objects.  You can define the background and foreground colors of the edge pattern using the Edge Foreground Color and Edge Background Color properties.

Values   Choose a valid pattern from the pattern palette.

Applies to  templates

Default  transparent

Usage Notes

•	If you set the Edge Pattern to transparent, the Edge Foreground Color and Edge Background Color property settings are ignored.

•	If you set the Edge Pattern to solid, then only the Edge Foreground Color property setting is visible.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET BORDER PATTERN procedure.


Fields Per Line property
Fields Per Line

Description  The Fields Per Line property defines the maximum number of field/label combinations that may appear on a line, space permitting.  For example, if there is only space for two field/label combinations, and the value is set to three, then only two field/label combinations will appear.  However, if there is space for four field/label combinations and the value is set to three, then only three will appear since three is the maximum allowed.  This property applies only if the Style is Form.

Values   Enter a value of zero or more.  Zero means that there is no maximum value, and as many field/label combinations as will fit on a line will appear.

Applies to  templates

Default  0


Fill Pattern property
Fill Pattern

Description  The Fill Pattern property defines the pattern to use for the space enclosed by the objects.  You can define the background and foreground colors of the fill pattern using the Foreground Color and Background Color properties.

Values   Choose a valid pattern from the pattern palette.

Applies to  templates

Default  transparent

Usage Notes

•	If you set the Fill Pattern to transparent, the Foreground Color and Background Color property settings are ignored.

•	If you set the Fill Pattern to solid, then only the Foreground Color property setting is visible.

PL/SQL To define this attribute using PL/SQL, use the SRW.SET FILL PATTERN procedure.


Font property
Font

Description  The Font property defines the text font to use for the object(s).

Values   Choose a valid font from the list of fonts for your system.

Applies to  templates

Default  Courier, 10 pt., Regular

PL/SQL To define the font face using PL/SQL, use the SRW.SET FONT FACE procedure. To define the font size using PL/SQL, use the SRW.SET FONT SIZE procedure. To define the font style using PL/SQL, use the SRW.SET FONT STYLE procedure.


Foreground Color property
Foreground Color

Description  The Foreground Color defines the foreground color of the Fill Pattern property setting.

Values   Choose a valid color from the color palette.

Applies to  templates

Default  black

Usage Notes

•	If the Fill Pattern property is set to transparent, then both the Foreground Color and Background Color settings are ignored.

•	If the Fill Pattern property is set to solid, then only the Foreground Color setting is visible (the Background Color setting is ignored).

PL/SQL To define this attribute using PL/SQL, use the SRW.SET FOREGROUND FILL COLOR procedure.


Image property
Image

Description  The Image property is the substitution file to use for images referenced in link file (external) boilerplate objects in your templates.

Values   Enter the name of a valid text file.

Applies to  templates

Default  none


Inter-Field (Horizontal) property
Inter-Field (Horizontal)

Description  The Inter-Field (Horizontal) property defines the amount of horizontal space between fields in a group.  If the Style is Form, this property defines the amount of horizontal space between the end of one field/label combination and the beginning of another field/label combination in a group.  The distance between the field and label is determined by the Between Field and Labels (Horizontal) property setting.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  .174 inches

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Inter-Field (Vertical) property
Inter-Field (Vertical)

Description  The Inter-Field (Vertical) property defines the amount of vertical space between fields in a group.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  0

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Inter-Frame (Horizontal) property
Inter-Frame (Horizontal)

Description  The Inter-Frame (Horizontal) property defines the amount of horizontal space between frames in a group.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  .0087 inches

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Inter-Frame (Vertical) property
Inter-Frame (Vertical)

Description  The Inter-Frame (Vertical) property defines the amount of vertical space between frames in a group.

Values   Enter a value of zero or more.  The value will be in the Unit of Measurement for the report (inches, centimeters, or points).

Applies to  templates

Default  .0136 inches

Usage Notes

•	If Grid Snap is on, objects will snap to the nearest grid snap points, regardless of this setting.  If you want a greater level of spacing control, you can turn off Grid Snap when you create the report.  However, this means that objects will no longer snap to the grid snap points.

•	If you change the Unit of Measurement for the report, you’ll need to change this setting accordingly.


Justify property
Justify

Description  The Justify property defines the method to use for aligning the text in the title.

Values

Left	Means the text is aligned left.
Center	Means the text is centered.
Flush	Means the text is aligned both left and right.
Right	Means the text is aligned right.
Start	Means the text is aligned left or right depending on where it would normally start for the language.  For example, for languages that flow from left to right, Start justifies the text Left.  Alternatively, for languages that flow from right to left, Start justifies the text Right.
End	Means the text is aligned left or right depending on where it would normally end for the language.  For example, for languages that flow from left to right, End justifies the text Right.  Alternatively, for languages that flow from right to left, End justifies the text Left.
Applies to  templates

Default  Start


Number Justification property
Number Justification

Description  The Number Justification property defines the method to use for aligning the text of the field or label, if the datatype of the field’s Source is NUMBER.

Values

Left	Means the text is aligned left.
Center	Means the text is centered.
Right	Means the text is aligned right.
Start	Means the text is aligned left or right depending on where it would normally start for the language.  For example, for languages that flow from left to right, Start justifies the text Left.  Alternatively, for languages that flow from right to left, Start justifies the text Right.
End	Means the text is aligned left or right depending on where it would normally end for the language.  For example, for languages that flow from left to right, End justifies the text Right.  Alternatively, for languages that flow from right to left, End justifies the text Left.
Applies to  templates

Default  Start

PL/SQL To define this attribute using PL/SQL, use the SRW.SET JUSTIFICATION procedure.


Place Labels Above Fields property
Place Labels Above Fields

Description  The Place Labels Above Fields property positions labels above fields, rather than to the left of fields, if set to Yes.  This property applies only if the Style is Form.

Applies to  templates

Default  No


Position property
Position

Description  The Position property defines the placement of the parent object in relation to the child object.

Applies to  templates

Default  The parent object is displayed above the child object.


Style property
Style

Description  The Style property defines whether the group is given a Tabular or a Form style layout.  You can use this property to override the defaults, listed below.

Values

Tabular	Means that labels are above fields, and are outside the repeating frame containing the fields.
	Click here.
Form	Means that labels are to the left of fields, and are inside the repeating frame containing the fields.
	Click here.
Applies to  templates

Default  The default Style is determined by the layout style for the template, as follows:

Tabular	Tabular
Group Left	Tabular
Group Above	Form, for groups with a child group. Tabular, for groups with no child group.
Form-like	Form
Form Letter	Not applicable (cannot override).
Mailing Label	Not applicable (cannot override).
Matrix	Tabular (cannot override).
Matrix Break	Tabular (cannot override).


Text property
Text

  Related Topics

Description  The Text property is the substitution file to use for boilerplate text objects in templates.

Values   Enter the name of a valid text file.

Applies to  templates

Default  none


Text Color property
Text Color

Description  The Text Color property defines the text color to use for the object(s).

Values   Choose a valid color from the color palette.

Applies to  templates

Default  black

PL/SQL To define this attribute using PL/SQL, use the SRW.SET COLOR TEXT procedure.


Use Vertical Spacing property
Use Vertical Spacing

Description  The Use Vertical Spacing property places objects into unused spaces on previous lines, if set to Yes.  For example, if an object on a subsequent line can fit into unused space on a previous line, the object is moved up to occupy the unused space.

 Click here.

This property applies only if the Style is Form.

Applies to  templates

Default  Yes


When set to No, unused space on prior lines is preserved.

When set to Yes, objects move up to fill the unused space.


When set to Yes, summaries are aligned with their sources.

When set to No, summaries can be placed elsewhere, or in the master record, as shown.


XML Properties

XML Tag

XML Tag Attributes

Exclude from XML Output

XML Prolog Type

XML Prolog Value

Outer XML Tag

Outer XML Attributes

Contains XML Tags


XML Settings

  Related Topics

Description  These properties allow you to manipulate the default XML settings for a report. Some properties control report-, group-, and column-level items, while others are restricted to one or two levels.

For help on any property under this heading node, click the property, then press F1.  For help on the Property Palette itself, Ctrl-click to deselect any selected properties, then press F1 or [image] on the Property Palette.


XML Tag

  Related Topics	 Example

Description  The XML Tag property contains the element name of the currently selected report, group or column, and may be user-defined. You may choose any name for the element, as the XML tag’s purpose is to uniquely identify the object as a particular type or category of data. One reason for generating XML output is to configure objects according to external DTD specifications, which permits integration of your report with a third-party application.

Applies to  report, group, or column

Required/Optional  Optional

Default  Object name (as displayed in the Name property)

Usage Notes

•	Can contain any characters in a string of any length.

•	The name of the XML element is dependent on the name of the object in the Property Palette. Changing the Name property will change the XML Tag property to match.

•	If you do not wish to output XML for this object but do wish to output child tags and data, leave this property blank. For more information, see the XML Tag example.


XML Tag Attributes

  Related Topics	 Examples

Description  The XML Tag Attributes property enables you to enter XML attributes. The purpose of adding an attribute to an object’s tag is to further describe or pinpoint the data value for that tag. Using tag attributes is one method of organizing your XML output. If you use this method, you need to enter a value for this property. The other method is to assign a separate tag for each type (group or column) of data. In this case, you would leave the property blank.

Applies to  report, group, or column

Required/Optional  Optional

Default  Blank

Syntax  XML attributes must be entered as space-separated, name-value pairs. For example:

XML Tag Attributes:	[attribute name]="&[report object name]"
where the text within square brackets ([ ]) is chosen by you. The report object name can be any column or user parameter in the report. You may add as many attributes to this property field as you wish by leaving a space between each one.

Usage Notes

•	Any data object added to another XML tag as an attribute should itself be excluded from XML output to minimize redundancy. See XML Tag Attributes example (group level) for more information.

•	Attributes must refer to columns or variables that occur at the same or lower frequency


Exclude from XML Output

  Related Topics	 Examples

Description  The Exclude from XML Output property enables you to suppress both the XML tag and associated data output, including child data, for the selected group or column. If you choose to exclude an object, it will not output the XML tag, attributes, data values and child data, e.g., columns within groups. This property is useful for reformatting the XML document to exclude data that may be deemed redundant or unnecessary.

Applies to report, group, and column.

Required/Optional  Optional

Default  No

Values

Yes

No

Usage Notes

•	This property is especially useful when you have added an object as an attribute to another element and no longer wish for that object's data to appear as a separate element in XML output.

•	If you set the report-level Exclude from XML Output property to Yes, you will be unable to generate any XML from the report, as all data is a child of the report.


XML Prolog Type

  Related Topics

Description  The XML Prolog Type property enables you to choose between an external prolog file and a text prolog generated by Report Builder. The XML prolog can include XML declaration, comments, processing instructions (PI), and a document type declaration (DTD). For information on editing the prolog, see XML Prolog Value.

Applies to report

Required/Optional  Required.

Default  Text

Values

Text	Enter prolog as text in the XML Prolog Value property
File	Navigate to external prolog file using the XML Prolog Value property


XML Prolog Value

  Related Topics	 Examples

Description  The XML Prolog Value property enables you to edit the values of the XML Prolog that should appear at the beginning of all well-formed XML output. The XML prolog should include an XML declaration but can also include comments, processing instructions (such as a stylesheet [XSL]), and a DTD.

Applies to report

Required/Optional  An XML declaration is required for well-formed XML output. However, any alpha-numeric character in this property field will allow raw XML output to be generated in Report Builder.

Default  <?xml version="1.0"?>

Syntax examples

XML Declaration:	<?xml version="1.0" encoding="UTF-8"?>
Comments:	<!-- this is how you do comments in XML -->
Processing instruction (PI) through client/server:	<?xml:stylesheet type="text/xsl" href="emp.xsl" ?>
Processing instruction (PI) through the web:	<?xml:stylesheet type="text/xsl" href="http://[hostname]/[virtual_path]/emp.xsl" ?>
Document Type Declaration (DTD):	<!DOCTYPE EMP_TABULAR    [ <!ELEMENT EMP_TABULAR (EMP_ITEM)*> <!ELEMENT EMP_ITEM (EMPNO)> <!ELEMENT EMPNO (#PCDATA)> ]>


Outer XML Tag

  Related Topics	 Example

Description  The Outer XML Tag property field displays the name of the selected group, with a LIST_ prefix. The purpose of the outer XML tag is to enclose all tags and data from instances of a group object. In a report, you may have repeating instances of a group object (e.g. deptno, which outputs 10, 20, 30, etc.). The outer XML tag simply encapsulates data for all repeating instances.

Applies to group

Required/Optional  Optional

Default  <LIST_G_[groupname]>

Usage Note

•	You may leave this field blank, but this might only be useful if you have only one instance of a group in your report’s query.


Outer XML Attributes

  Related Topics	  Example

Description  The Outer XML Attributes property enables you to enter XML attributes for an outer XML tag. The purpose of adding an attribute to an outer tag is to further describe or pinpoint the data value for that tag.

Applies to  group

Required/Optional  Optional

Default  Blank

Syntax  Outer XML attributes must be entered as space-separated, name-value pairs (as with HTML attributes). For example:

Outer XML Tag Attributes:	[attribute name]="&[report object name]"
where the text within square brackets ([ ]) is chosen by you. You may add as many attributes to this property as you wish by leaving a space between each one.

Usage Note

•	Keep in mind that any data object added to another XML tag as an attribute should itself be excluded from XML output to minimize redundancy. See Exclude from XML Output  for more information.

•	Attributes must refer to columns or variables that occur at a lower frequency.


Contains XML Tags

  Related Topics 	  Example

Description  The Contains XML Tags property indicates whether or not a report column contains XML tags. If you set the property to Yes, Report Builder does not convert XML syntax-related characters, such as <, >, and & to &lt;, &gt; and &amp; respectively.

Applies to  column with a source datatype of character

Required/Optional  Optional

Default  No


XML Tag Attributes example (group level)
XML Tag Attributes Example (group-level)

  Related Topics  	  All Examples

Suppose your tabular report uses the following query:

SELECT * FROM DEPT

Your default XML output looks like the following:

<MODULE2>
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>10</DEPTNO>
      <DNAME>ACCOUNTING</DNAME>
      <LOC>NEW YORK</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>20</DEPTNO>
      <DNAME>RESEARCH</DNAME>
      <LOC>DALLAS</LOC>
    </G_DEPTNO>

You want to generate XML output that folds all data associated with a given department number (DEPTNO) into each department number’s <DEPTNO> element. This enables you to reduce output elements from many to few.

From the data model, specify the following properties for the DEPTNO column:

XML Tag:	DEPTNO
XML Tag Attributes:	NAME="&DNAME" LOCATION="&LOC"
where &DNAME is a department name and &LOC is the location of that department. Both objects repeat at the same frequency as DEPTNO.

The new XML output resembles the following:

<G_DEPTNO>
  <DEPTNO NAME="ACCOUNTING" LOCATION="NEW YORK">10</DEPTNO>
  <DNAME>ACCOUNTING</DNAME>
  <LOC>NEW YORK</LOC>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="RESEARCH" LOCATION="DALLAS">20</DEPTNO>
  <DNAME>RESEARCH</DNAME>
  <LOC>DALLAS</LOC>
</G_DEPTNO>

As you can see, values for DNAME and LOC are now output twice: once as attributes and once as XML elements. In order to eliminate them as XML elements, you must also use the Exclude from XML Output property.

From the data model, set the Exclude from XML Output property to Yes for the DNAME and LOC columns:

The resulting XML output will look like this:

<G_DEPTNO>
  <DEPTNO NAME="ACCOUNTING" LOCATION="NEW YORK">10</DEPTNO>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="RESEARCH" LOCATION="DALLAS">20</DEPTNO>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="SALES" LOCATION="CHICAGO">30</DEPTNO>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="OPERATIONS" LOCATION="BOSTON">40</DEPTNO>
</G_DEPTNO>


XML Tag Attributes Example (report-level)

  Related Topics  	  All Examples

The following example demonstrates how a report-level attribute might be useful in XML.

Suppose your report uses the following query:

select deptno, job, ename, hiredate from emp

You have designed your report as group-left, with DEPTNO as the first-level group and JOB as the second-level group. For the purpose of this example, you have selected the DEPTNO and JOB columns in the data model and set the Break Order property to Descending. The arrows to the left of the DEPTNO and JOB columns in the data model should now point down.

Your data model looks like the following:

Your XML output begins as follows:

<MODULE2>
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <LIST_G_JOB>
        <G_JOB>
          <JOB>SALESMAN</JOB>
          <LIST_G_ENAME>
            <G_ENAME>
              <ENAME>ALLEN</ENAME>
              <HIREDATE>20-FEB-81</HIREDATE>
            </G_ENAME>
            <G_ENAME>
              <ENAME>WARD</ENAME>
              <HIREDATE>22-FEB-81</HIREDATE>
            </G_ENAME>
            <G_ENAME>
              <ENAME>MARTIN</ENAME>
              <HIREDATE>28-SEP-81</HIREDATE>
            </G_ENAME>

For later reference, note that within department number 30, the first three employee's hiredate ranges from 20-FEB-81 to 28-SEP-81.

Next you add a user parameter to your report that will select or exclude data according to hiredate. Double-click the query (Q_1) in the data model.

In the SQL Query Statement dialog box, add the following text at the end of the existing query:

where hiredate > :p_date

so that now your query reads:

Select deptno, job, ename, hiredate from emp where hiredate > :p_date

This SQL statement directs Report Builder to create the parameter named p_date. However, you must manually change the Datatype property to Date.

1.	In the Object Navigator, find user parameters under Data Model. Click the plus sign to the left of User Parameters.

2.	Double-click the object P_DATE.

3.	In the Property Palette, click the Datatype property field and select Date from the drop-down menu.

Next, you want to assign this user parameter as an attribute to the report element. The parameter will provide the rule for inclusion or exclusion of various elements throughout the report's XML output.

Double-click the report node in the Object Navigator.

In the Property Palette, enter HiredateLaterThan="&p_date" in the XML Tag Attributes property field.

Run the report in Live Previewer. A Runtime Parameter Form will appear, asking for a date value (P Date). Enter 1-JUL-81 and click [image].

Your XML now looks like the following:

<MODULE2 HiredateLaterThan="01-JUL-81">
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <LIST_G_JOB>
        <G_JOB>
          <JOB>SALESMAN</JOB>
          <LIST_G_ENAME>
            <G_ENAME>
              <ENAME>MARTIN</ENAME>
              <HIREDATE>28-SEP-81</HIREDATE>
            </G_ENAME>

Note that instances of the group G_ENAME with HIREDATE values before the date 1-July-81 are no longer available in XML. The attribute which defines this parameter, HiredateLaterThan="01-JUL-81", now appears within the report element, MODULE2.


Exclude from XML Output Example (limit data output)

  Related Topics  	  All Examples

Suppose you want to create XML output that limits the data to a few, specific elements. Currently, your XML output includes Department Number, Department Name, and Location. It looks like the following:

    <G_DEPTNO>
      <DEPTNO>10</DEPTNO>
      <DNAME>ACCOUNTING</DNAME>
      <LOC>NEW YORK</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>20</DEPTNO>
      <DNAME>RESEARCH</DNAME>
      <LOC>DALLAS</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <DNAME>SALES</DNAME>
      <LOC>CHICAGO</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>40</DEPTNO>
      <DNAME>OPERATIONS</DNAME>
      <LOC>BOSTON</LOC>
    </G_DEPTNO>

You decide to remove the <LOC> tag and its associated data.

From the Data Model view, double-click the LOC column and specify the following property in the Property Palette:

Exclude from XML Output:	Yes
The XML output will now look like the following:

  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>10</DEPTNO>
      <DNAME>ACCOUNTING</DNAME>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>20</DEPTNO>
      <DNAME>RESEARCH</DNAME>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <DNAME>SALES</DNAME>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>40</DEPTNO>
      <DNAME>OPERATIONS</DNAME>
    </G_DEPTNO>
  </LIST_G_DEPTNO>

If you wish to remove the <LIST_G_DEPTNO> or <G_DEPTNO> tag without excluding child data (such as DEPTNO or DNAME), select the group G_DEPTNO from the data model and open its Property Palette. Delete the XML tag G_DEPTNO from the XML Tag property field and delete the LIST_G_DEPTNO XML tag from the Outer XML Tag property field. See Outer XML Tag Property for more information.


Exclude from XML Output Example (limit redundancy)

  Related Topics  	  All Examples

Suppose you have decided to use attributes in your XML output which now looks like this:

<G_DEPTNO>   <DEPTNO NAME="ACCOUNTING" LOCATION="NEW YORK">10</DEPTNO>   <DNAME>ACCOUNTING</DNAME>   <LOC>NEW YORK</LOC> </G_DEPTNO> <G_DEPTNO>   <DEPTNO NAME="RESEARCH" LOCATION="DALLAS">20</DEPTNO>   <DNAME>RESEARCH</DNAME>   <LOC>DALLAS</LOC> </G_DEPTNO>
In order to eliminate redundancy, you will need to exclude the DNAME and LOC elements from XML output.

From the Data Model view, display the Property Palette for the DNAME and LOC columns and specify the following property:

Exclude from XML output:	Yes
The resulting XML output will look like the following:

<G_DEPTNO>
  <DEPTNO NAME="ACCOUNTING" LOCATION="NEW YORK">10</DEPTNO>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="RESEARCH" LOCATION="DALLAS">20</DEPTNO>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="SALES" LOCATION="CHICAGO">30</DEPTNO>
</G_DEPTNO>
<G_DEPTNO>
  <DEPTNO NAME="OPERATIONS" LOCATION="BOSTON">40</DEPTNO>
</G_DEPTNO>


XML Tag Example

  Related Topics  	  All Examples

Suppose you want to create XML output for the report, group(s), and columns of your query. A query statement such as:

SELECT deptno, dname, loc FROM dept

in a tabular report this will produce the following XML output:

<MODULE1>
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>10</DEPTNO>
      <DNAME>ACCOUNTING</DNAME>
      <LOC>NEW YORK</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>20</DEPTNO>
      <DNAME>RESEARCH</DNAME>
      <LOC>DALLAS</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <DNAME>SALES</DNAME>
      <LOC>CHICAGO</LOC>
    </G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>40</DEPTNO>
      <DNAME>OPERATIONS</DNAME>
      <LOC>BOSTON</LOC>
    </G_DEPTNO>
  </LIST_G_DEPTNO>
</MODULE1>

If you wish to suppress various tags from appearing in the output, simply delete the default name in the XML Tag property field, leaving it blank. This will eliminate tag output, but will not exclude any data associated with child tags.

For instance, if you were to delete the G_DEPTNO tag, the XML output would read as follows:

<MODULE1>
  <LIST_>
    <DEPTNO>10</DEPTNO>
    <DNAME>ACCOUNTING</DNAME>
    <LOC>NEW YORK</LOC>
    <DEPTNO>20</DEPTNO>
    <DNAME>RESEARCH</DNAME>
    <LOC>DALLAS</LOC>
    <DEPTNO>30</DEPTNO>
    <DNAME>SALES</DNAME>
    <LOC>CHICAGO</LOC>
    <DEPTNO>40</DEPTNO>
    <DNAME>OPERATIONS</DNAME>
    <LOC>BOSTON</LOC>
  </LIST_>
</MODULE1>

Note that the tag formerly called <LIST_G_DEPTNO> is now called <LIST_>. This is called an Outer XML Tag and is only associated with group tags. The outer XML tag name is selected from the group XML tag name. If you wish to remove the <LIST_> tag as well, you may leave the Outer XML Tag field blank. See Outer XML Tag Property for more information.


Outer XML Tag Example

  Related Topics  	  All Examples

Suppose you have a report which contains the following query:

SELECT * from EMP

You have decided to view this data as a group-left report with DEPTNO as the first-level group and JOB as the second-level group.

For the purposes of this example, you wish to reverse the order of output for the groups DEPTNO and JOB, from ascending to descending.

1.	From the data model, select the column DEPTNO and open the Property Palette.

2.	Change the Break Order property from Ascending to Descending.

3.	Repeat the first two steps for the column JOB.

Your data model will look like the following:

You now want to view the hierarchical structure of your XML output for groups in your report. Since you have made the group G_JOB a child of group G_DEPTNO, you decide to collapse all elements within the <LIST_G_DEPTNO> outer group in order to expand the structure of data one level at a time.

- <MODULE1>
- <LIST_G_DEPTNO>
+ <G_DEPTNO>
+ <G_DEPTNO>
+ <G_DEPTNO>
  </LIST_G_DEPTNO>
  </MODULE1>

In the XML example above, you can see that for the group G_DEPTNO (represented by the outer tag <LIST_G_DEPTNO>) there are three unique instances of DEPTNO data. Now you wish to see the next-level group, G_JOB, which is a child of G_DEPTNO. If you expand the first XML tag <G_DEPTNO> you will see the following:

- <MODULE1>
- <LIST_G_DEPTNO>
- <G_DEPTNO>
<DEPTNO>30</DEPTNO>
+ <LIST_G_JOB>
  </G_DEPTNO>
+ <G_DEPTNO>
+ <G_DEPTNO>
  <LIST_G_DEPTNO>
  </MODULE1>

Just as <LIST_G_DEPTNO> contains repeating instances of <G_DEPTNO>, + <LIST_G_JOB> contains repeating instances of <G_JOB>. If you expand the element + <LIST_G_JOB>, you will see the following XML output in its place:

- <LIST_G_JOB>
+ <G_JOB>
+ <G_JOB>
+ <G_JOB>
- </LIST_G_JOB>

If you expand the first G_JOB element (+<G_JOB>), you will see the following XML output in its place:

- <G_JOB>
<JOB>SALESMAN</JOB>
+ <LIST_G_EMPNO>
  </G_JOB>

As you can see, <G_JOB> contains instances of another repeating group, <G_EMPNO>. If you expand +<LIST_G_EMPNO>, instances of <G_EMPNO> appear. In this case, there will be no further child groups, but there are a number of column values available for the G_EMPNO group. The XML output looks like the following:

- <LIST_G_EMPNO>
- <G_EMPNO>
<EMPNO>7499</EMPNO>
<ENAME>ALLEN</ENAME>
<MGR>7698</MGR>
<HIREDATE>20-FEB-81</HIREDATE>
<SAL>1600</SAL>
<COMM>300</COMM>
</G_EMPNO>
  </LIST_G_EMPNO>

The outer element <LIST_[groupname]> is useful as a container for repeating groups.


Outer XML Attributes Example

  Related Topics  	  All Examples

Suppose your report uses the following query:

SELECT deptno, job, ename, sal FROM EMP

You have decided to view this data as a group-left report with DEPTNO as the first-level group and JOB as the second-level group.

For the purposes of this example, you wish to reverse the order of output for the groups DEPTNO and JOB, from ascending to descending.

1.	From the data model, select the column DEPTNO and open the Property Palette.

2.	Change the Break Order property from Ascending to Descending.

3.	Repeat the first two steps for the column JOB.

Your data model will look like the following:

Currently, your XML output looks like the following:

<MODULE1>
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <LIST_G_JOB>
        <G_JOB>
          <JOB>SALESMAN</JOB>
          <LIST_G_ENAME>
            <G_ENAME>
              <ENAME>ALLEN</ENAME>
              <SAL>1600</SAL>
            </G_ENAME>
            <G_ENAME>
              <ENAME>WARD</ENAME>
              <SAL>1250</SAL>
            </G_ENAME>

where one unique value for <JOB> applies to at least two occurrences of <G_ENAME>. Specifically, at least two employees (ALLEN and WARD) hold the job of SALESMAN. Instead of nesting the job title (<JOB>) in a separate XML tag on a separate line, you want to fold this unique value into the <LIST_G_ENAME> element since the value for <JOB> will occur once per occurrence of <LIST_G_ENAME>.

From the data model view, specify the following properties:

Group Object	Property	Action	Value
G_ENAME	Outer XML Attributes	Type:	JOBTITLE="&JOB"
JOB	Exclude from XML Output:	Select:	Yes
G_JOB	XML Tag	Delete:	G_JOB
Your XML output now resembles the following:

<MODULE1>
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <LIST_G_JOB>
        <LIST_G_ENAME JOBTITLE="SALESMAN">
          <G_ENAME>
            <ENAME>ALLEN</ENAME>
            <SAL>1600</SAL>
          </G_ENAME>
          <G_ENAME>
            <ENAME>WARD</ENAME>
            <SAL>1250</SAL>
          </G_ENAME>


XML Prolog Value Example (prolog type: text)

  Related Topics  	  All Examples

Suppose you want to include the prolog as text at the beginning of your XML output.

With a report open in Report Builder, select the report icon in the Object Navigator and display the Property Palette. Set the following property:

XML Prolog Type:	Text
Next, click once in the XML Prolog Value property field to view the [image] button. Click this button to view the XML Prolog Value dialog box. Type the prolog text and click OK.

The following is an example of prolog text which contains (in order) an XML declaration, a comment, a processing instruction (PI), and a document type declaration (DTD):

<?xml version="1.0" encoding="UTF-8"?>
<!-- This is how you make comments in XML -->
<?xml:stylesheet type="text/xsl" href="emp.xsl" ?>
<!DOCTYPE EMP_TABULAR   [
<!ELEMENT EMP_TABULAR (EMP_ITEM)*>
<!ELEMENT EMP_ITEM (EMPNO)>
<!ELEMENT EMPNO (#PCDATA)>
]>


XML Prolog Value Example (prolog type: file)

  Related Topics  	  All Examples

Suppose you want to have your prolog in an external file.

With a report open in Report Builder, set the following property at the report level:

XML Prolog Type	File
Next, click once in the XML Prolog Value property field to view the [image] button. Click this button to navigate to an external file containing prolog text.

The following is an example of prolog text which contains (in order) an XML declaration, a comment, a processing instruction (PI), and a document type declaration (DTD):

<?xml version="1.0" encoding="UTF-8"?>
<!-- This is how you make comments in XML -->
<?xml:stylesheet type="text/xsl" href="emp.xsl" ?>
<!DOCTYPE EMP_TABULAR   [
<!ELEMENT EMP_TABULAR (EMP_ITEM)*>
<!ELEMENT EMP_ITEM (EMPNO)>
<!ELEMENT EMPNO (#PCDATA)>
]>


Contains XML Tag example
Contains XML Tags Example

  Related Topics  	  All Examples

Suppose your database already has XML tags included in the values of a column. In the first instance below, the XML tag DESTINATION represents a user-specified parameter called &p_dest. If the Contains XML Tags property is set to Yes, Report Builder will recognize <DESTINATION> as an XML tag, interpret &p_dest as a changing value according to user specifications, and substitute a unique value in the place of &p_dest in XML output. This is true for any value in a column with the syntax of "&[report object name]".

Variable column value with XML tag:

Original Text String in column:	<DESTINATION>&p_dest<DESTINATION>
Contains XML Tags = Yes:	<DESTINATION>FIJI<DESTINATION>
Contains XML Tags = No:	&lt;DESTINATION&gt;&amp;p_dest&lt;DESTINATION&gt;

Non-variable column value with XML tag:

Original Text String in column:	<JOB>Clerk<JOB>
Contains XML Tags = Yes:	<JOB>Clerk<JOB>
Contains XML Tags = No:	&lt;JOB&gt;Clerk&lt;JOB&gt;


XML Prolog Value dialog box

Description  The XML Prolog Value dialog box enables you to edit values for the XML prolog. See XML Prolog Value property for examples of syntax.  Enter the desired values and accept the dialog box.


About printer definition files

  Related Topics

A printer definition file acts like a translator for the printer.  It contains printer codes that specify how to handle bolding, underlining, printing graphical characters used in lines/boxes, etc.  Printer definition files are text files (e.g., ASCII, EBCDIC) that do not require any additional compressing or compiling before they can be used.

Caution:  Printer and terminal definitions are only needed when on character-mode platforms.  They are not needed on bit-mapped platforms.


Using a printer definition file

  Related Topics

To use a printer definition file (used only when running a report on a character-mode platform):

1	Set the DESFORMAT system parameter to the name of the printer definition file.

2	Set DESTYPE to Printer and DESNAME to the name of the printer.


Packaged printer definition files

  Related Topics

dec.prt	Is a generic printer file for most DEC printers that supports 66x80 page sizes for the LN03, LPS40, LP05, and LA50 printers.
decland.prt	Is a generic printer file that prints in landscape mode and supports 66x132 page sizes.
decwide.prt	Is the same as dec, but supports 66x132 page sizes.
dec180.prt	Is the same as decland, but supports 66x180 page sizes.
dflt.prt	Is a generic printer file that ignores highlighting attributes and supports 66x80 page sizes.
hpl.prt	Is a generic printer file for the HP LaserJet printer that supports 66x80 page sizes.
hplwide.prt	Is the same as hpl, but supports 66x132 page sizes.
psland.prt	Is a PostScript printer file that prints in a landscape mode and supports 110x51 pages sizes.
psl132.prt	Is a PostScript printer file that prints in a landscape mode and supports 132x66 pages sizes.
Psl180.prt	Is a PostScript printer file that prints in a landscape mode and supports 180x66 pages sizes.
psport.prt	Is a PostScript printer file that prints in a portrait mode and supports 85x66 pages sizes.
psp132.prt	Is a PostScript printer file that prints in a portrait mode and supports 132x120 pages sizes.
wide.prt	Is a generic printer file that ignores highlighting attributes and supports 66x132 page sizes.
wide180.prt	Is the same as wide, but supports 66x180 page sizes.
Usage Notes

•	You might not have all of the printer definitions described above, and you may have others.  This is because the set of printer definitions shipped with Report Builder is system-specific.

•	Because printer definition files are text files (e.g., EBCDIC, ASCII), you can create or modify them using any text editor.  Remember to save the files as text when you are through.  Then, to use the new or modified printer definition, specify it using the DESFORMAT keyword.


Printer definition file syntax (printer codes)

  Restrictions [image]  Examples	  Related Topics

A pinter definition file contains printer codes.  Some printer code names are used for both character mode and PostScript printer definitions, others are meaningful only for one or the other:

Common character and PostScript printer codes

Code Name and Syntax	Usage
after report <gen_string>	Is the <gen_string> to be sent to the printer after the  report has finished printing.  This code is typically used to ensure that the next print job starts on a new page of paper.
before report <gen_string>	Is like AFTER REPORT, only <gen_string> is sent before the report begins to print.
after page <gen_string>	Is the <gen_string> to be sent to the printer after each physical page (i.e., each printer page), including the last.
between pages <gen_string>	Is the <gen_string> to be sent to the printer after each physical page (i.e., each printer page), except the last.
code *string* <gen_string>	Is a user-defined or Report Builder-recognized code.  See *string* below.
height <integer>	Is the height of the report, in characters.
printer <string>	Is the name of the printer.
width <integer>	Is the width of the report, in characters.
Character-specific codes

Code Name and Syntax	Usage
automargin	Specifies that a carriage return not be added at the end of the file when the character in the last column is not null.
autopage	Specifies that a formfeed not be executed at the end of a page on which the last row is not blank.
box bottom center <gen_string>	Is the string to be used to draw the center of the bottom edge of a box (8).
box bottom left <gen_string>	Is the string to be used to draw the bottom-left corner of a box (7).
box bottom right <gen_string>	Is the string to be used to draw the bottom-right corner of a box (9).
box center center <gen_string>	Is the string to be used to draw the center of a box (5).
box center left <gen_string>	Is the string to be used to draw the center of the left edge of a box (4).
box center right <gen_string>	Is the string to be used to draw the center of the right edge of a box (6).
box horizontal <gen_string>	Is the string to be used to draw the top and bottom edges of a box.
box top center <gen_string>	Is the string to be used to draw the center of the top edge of a box (2).
box top left <gen_string>	Is the string to be used to draw the top-left corner of a box (1).
box top right <gen_string>	Is the string to be used to draw the top-right corner of a box (3).
box vertical <gen_string>	Is the string to be used to draw the left and right edges of the box.
hilight backspace <gen_string>	Prints a bold or underlined character by printing the character, backing up, and then reprinting the character.  The backing up is done according to the <gen_string> (e.g., esc "[0m").
hilight overstrike	Simulates bold/underline by printing the line and then reprinting items to be bold or underlining items as appropriate.
landscape <gen_string>	Is the <gen_string> to be used to make the printer print in landscape mode.
linefeed <gen_string>	Is the <gen_string> to be used at the end of each line of a page.
return string <gen_string>	Is the <gen_string> to be used to put the printer back at the beginning of the current line.
PostScript-specific codes

Code Name and Syntax	Usage
postscript	Is the indicator that the printer definition file is for a PostScript printer.


gen_string

For character printers, <gen_string> is a combination of the following in any order:

•	string, e.g., "abc"

•	integer, e.g., 10

•	dec(decimal_number), e.g., dec(10)

•	octal(octal_number), e.g., octal(10)

•	hex(hex_number), e.g., hex(1A)

•	^control_character, e.g., ^L

•	control(control_character), e.g., control(L)

•	esc escape_string, e.g., esc "abc"

For PostScript printers, <gen_string> is a combination of the following, in any order, that must be surrounded by double quotes:

•	BOLD, i.e., switches to bold

•	BOLDFONT, i.e., switches to bold font

•	BOLDOBLIQUE, i.e., switches to bold italics

•	BOLDOBLIQUEFONT, i.e., switches to bold italic font

•	BOTTOMMARGIN, i.e., switches the bottom margin

•	BOX, i.e., switches to box font

•	FONTSIZE, i.e., switches the font size

•	LANDSCAPE, i.e., switches to landscape mode

•	LEFTMARGIN, i.e., sets the size of the non-printable margin

•	MONOSPACE, i.e., switches to monospace spacing (enforce character matrix)

•	NORMAL, i.e., switches to normal

•	NORMALFONT, i.e., switches to normal font

•	OBLIQUE, i.e., switches to italics

•	OBLIQUEFONT, i.e., switches to italic font

•	PAGEHT, i.e., sets the number of characters to be fitted on the page vertically

•	PAGEWD, i.e., sets the number of characters to be fitted on the page horizontally

•	PAPERHT, i.e., sets the paper height in inches

•	PAPERWD, i.e., sets the paper width in inches

•	PORTRAIT, i.e., switches to portrait mode

•	PROPORTIONAL, i.e., switches to proportional spacing (don't enforce character matrix)

•	RIGHTMARGIN, i.e., sets the width of the right margin

•	ROTATE2, i.e., prints two pages per page rotated

•	TOPMARGIN, i.e., sets width of top margins

•	UNDERLINE, i.e., switches to underlining

•	UNDERLINESTOP, i.e., switches off underlining


string

<string> is one or more alpha-numeric characters, including punctuation, that must be surrounded by double-quotes.


*string*

*string* is one of two types of code names:  user-created, and Report Builder-recognized.  A user-defined code name is any code that you create.  A packaged code is a code name that Report Builder will use when you select an attribute (e.g., BOLD) from a layout object's Display Sheet dialog box.

•	bold off

•	bold on

•	bold italic underline off

•	bold italic underline on

•	bold underline off

•	bold underline on

•	italic off

•	italic on

•	italic underline off

•	italic underline on

•	plain off

•	plain on

•	underline off

•	underline on

Usage Notes

•	If you create a printer code and want Report Builder to use a user-created generalized string on an object, instead of a packaged string, do one of the following:

•	Type your printer code name in the Before or After Printer Code property of the layout object.

•	Use the PL/SQL packaged procedures SRW.DEFAULT_BEFORE_CODE and SRW.DEFAULT_AFTER_CODE.


Printer definition restrictions
Printer definition file restrictions

•	Only one printer definition may be found in each printer definition file.

•	Codes may appear in any order.

•	Codes must be separated by spaces or returns; therefore, multiple codes may appear on the same line.

•	New lines and spaces are treated identically; that is, if you put a return at the end of the line, the return will be interpreted as a space.  Exception:  When a return is placed within a string, the return is interpreted as a return.

•	When specifying printer codes, extra spaces, capitalization, and order are ignored.  For example, all of the following would be considered identical:

bold underline off
bold UNDERLINE OfF
Underline Bold Off

•	Some operating systems may require single-quotes, instead of double-quotes for strings.  Also, your printer definition file may be case-sensitive.

•	Printer codes with leading zeros are considered the same; for example, codes 001 and 1 are identical.

•	If you enter a blank string ("") for the after page code, linefeeds will be inserted until a new page is started.

•	The HILIGHT OVERSTRIKE and HILIGHT BACKSPACE codes are mutually exclusive.  In addition, if a recognized printer sequence (e.g., BOLD ON or BOLD OFF) is specified in a file with the HILIGHT codes, the recognized printer sequence will take precedence.

•	When you specify a printer definition file for DESFORMAT, the search for the file will be performed according to the  printer and terminal definition file search order.


dflt.prt example

  Related Topics 	  All Examples

printer "dflt"

height 66

width 80

after report   control(L)

after page  control(L)

return         ""

linefeed       control(J)


declno3.prt example

  Related Topics 	  All Examples

printer "dec LNO3"

height   66

width    80

return   ""

linefeed 10

after report control(L)

after page control(L)

box horizontal    "-"

box vertical      "|"

box top left      "+"

box top center    "+"

box top right     "+"

box center left   "+"

box center center "+"

box center right  "+"

box bottom left   "+"

box bottom center "+"

box bottom right  "+"

code "box on"        ""

code "box off"       ""

code "bold on"       esc "[1m"

code "bold off"      esc "[0m"

code "underline on"  esc "[4m"

code "underline off" esc "[0m"

code "500"   esc "[2N"


dec180.prt example

  Related Topics 	  All Examples

printer "dec180"

height   66

width    180

before report control(L)

after report  control(L)

after page control(L)

return        ""

linefeed      control(J)

code "bold on"         esc "[1m"

code "bold off"        esc "[0m"

code "underline on"    esc "[4m"

code "underline off"   esc "[0m"


hplwide.prt example

  Related Topics 	  All Examples

printer "hplwide"

height   66

width    132

before report esc "(s0P" esc "&k2S" esc "&17.27c66F"

after report  control(L)

after page control(L)

return        ""

linefeed      control(J)

code "bold on"         esc "(s7B"

code "bold off"        esc "(s0B"

code "underline on"    esc "&dD"

code "underline off"   esc "&d@"


psport85.prt example

  Related Topics 	  All Examples

printer "postscript portrait"       % set printer type

postscript            %% declare this a PostScript printer

height   66           %% height of the page in characters

width    85           %% width of the page in characters

return   ""           %% unnecessary for PostScript

linefeed ""           %% unnecessary for PostScript

before report "

PORTRAIT          %% set portrait mode

12 FONTSIZE       %% pick a suitable font size

8.5 PAPERWD       %% 8.5 x 11 paper size

11 PAPERHT        %%

66 PAGEHT         %% each page is 80 x 66

85 PAGEWD         %%

0.2 LEFTMARGIN    %% leave small border

0.2 RIGHTMARGIN   %%

0.2 TOPMARGIN     %%

0.2 BOTTOMMARGIN  %%

NORMAL            %% set up normal Courier font

after report ""   %% unnecessary for PostScript

after page ""  %% unnecessary for PostScript

box horizontal    "a"

box vertical      "b"

box top left      "c"

box top center    "d"

box top right     "e"

box center left   "f"

box center center "g"

box center right  "h"

box bottom left   "i"

box bottom center "j"

box bottom right  "k"

code "box on"        "BOX"

code "box off"       "NORMAL"

code "bold on"       "BOLD"

code "bold off"      "NORMAL"

code "underline on"  "UNDERLINE"

code "underline off" "UNDERLINESTOP"

code "italic on"   "OBLIQUE"

code "italic off"  "NORMAL"

code "bold italic on"   "BOLDOBLIQUE"

code "bold italic off"  "NORMAL"

code "bold underline on"   "BOLD UNDERLINE"

code "bold underline off"  "NORMAL UNDERLINESTOP"

code "italic underline on"   "OBLIQUE UNDERLINE"

code "italic underline off"  "NORMAL UNDERLINESTOP"

code "bold italic underline on"   "BOLDOBLIQUE UNDERLINE"

code "bold italic underline off"  "NORMAL UNDERLINESTOP"

code "1" " PROPORTIONAL /Times-Bold 14 SETFONT "

code "2" " MONOSPACE NORMAL "


Description

Terminal resources are a collection of related data that specify your terminal's capabilities.  They contain terminal definitions to describe the attributes of different terminals (e.g., screen width and height, graphics capabilities, etc.) to Report Builder.  In addition, terminal resources associate application functions with specific terminal keys, using what are known as key bindings.  These resources are stored in terminal resource files.

Caution:  Printer and terminal definitions are only needed when on character-mode platforms.  They are not needed on bit-mapped platforms.  This information is provided here only for the convenience of those who are designing reports for use in character mode.


Packaged terminal definitions

Filename	Description
dflt.res	Is a generic resource file that provides a minimum of key bindings and resources.  It is used if no resource file is specified at invocation of Report Builder.
sun4.res	Is a resource file that contains the definition and key bindings for a Sun4 terminal.
sun10.res	Is a resource file that contains the definition and key bindings for Sun10 terminal.
vt100.res	Is a resource file that contains the definition and key bindings for a VT100 terminal.
vt220.res	Is a resource file that contains the definition and key bindings for a VT220 terminal.
vt320.res	Is a resource file that contains the definition and key bindings for a VT320 terminal.
Usage Notes

•	You might not have all of the terminal resource files described above, and you may have others.  This is because the set of terminal resource files shipped with Report Builder is system-specific.


Terminal resources

Resource files for Report Builder are created and maintained using a tool called Oracle Terminal.  In order to modify your terminal resource files, you need access to the Oracle Terminal resource editor ot.

You can only use the Oracle Terminal resource editor to configure terminal resources for an application if the application was built with Oracle Terminal support.  For Report Builder, this means you cannot configure terminal resources for the bitmapped version.  In addition, the character-mode resources you can configure are restricted to the following:

  Key Bindings

  Terminal Definition Files

Usage Notes

•	You cannot change the appearance of the runtime interface (dialog boxes, etc.)

•	We recommend that when you modify terminal resources for character mode terminals, you use the character-mode ot executable, as described below.  Although you can edit resources for any platform on any platform, you must generate key bindings on the platform for which they will be used.

•	Since you'll be using character-mode executables, you need to know the character-mode notational convention for representing function keys.  Function keys for both Report Builder and Oracle Terminal are represented by the name of the function enclosed in square brackets (e.g., [Next Page]).  You can refer to a keypad diagram or the Show Keys screen (accessible through Help) for a mapping of these function keys to physical keys on your keyboard.

•	It is beyond the scope of this help system to exhaustively cover Oracle Terminal's capabilities.  Nor can we provide a tutorial for Oracle Terminal.  Be aware that this discussion is limited to the aspects of Oracle Terminal that relate to Report Builder.  In addition, the examples do not include certain tasks, such as adding devices to the list of devices recognized by Report Builder, that can more properly be considered administrative in nature.

•	For more information on Oracle Terminal and the different types of resources you can edit with it, see your Oracle Terminal User's Guide.

•	Oracle Terminal replaces the SQL*ReportWriter V1.1 utility TERMDEF.


Key bindings

Key bindings "attach" certain keys to certain functions.  You can modify key bindings, but Report Builder defines the functions to which you can bind keys.

To modify key bindings:

1	Use your operating system copy command to copy the resource file containing the key bindings you want to modify, and save the file under a unique name.  (You are generally not allowed write-access to files used by Report Builder; this will provide you with a file to edit.)

2	At the operating system prompt, type the command ot and press Return.

3	In the file selection dialog, select the resource file you want to modify.  The resource editor's main window appears.  Use this window to choose the product (e.g., Report Builder), the device, or terminal, whose resources you want to modify (e.g., VT100, Sun4, etc.), and the type of action you want to take.

4	With the cursor on the Product field, press [List].  From the list of values, choose Report Builder.

5	Press [Next Field] until the cursor is positioned at the field next to Device.  Press [List].  From the list of values displaying the names of all the terminals with available terminal resource files, choose your terminal type.

6	Press [Invoke Menu] to access the main menu, then choose Function [image] Edit Keys.  In the ot key binding editor, you can change any key binding for your application.

7	Select a component by pressing [Next Field] until you reach the Component list, then pressing [Select] with the cursor positioned on the component you want to modify.

If a component has further subcomponents, pressing [Select] will not select the component.  Instead, it will cause the next lower level in the hierarchy of components to be displayed in the component list.

A component in this case represents a part of Report Builder--either a location, such as the Runtime Parameter Form or the Live Previewer, or a class of actions, such as navigation--for which a grouping of key bindings is valid.  Global key bindings are valid from anywhere in the runtime engine.  Common key bindings are valid not only in Report Builder, but in other Oracle tools as well.

Notice that when you select a component, the Edit Key Bindings button is highlighted.

8	Press [Next Field] until the cursor is positioned at Edit Key Bindings…, then press [Accept].

9	The key binding editor displays the key binding definition table.  This table shows all the actions that are a part of the selected component and the keys to which the actions are bound.

10	Press [Next Field] once to position the cursor in the list of bindings, then press [Next Item] until you reach the binding you want to change.  Replace the name of the key to which the action is currently bound with the name of the key you want to use.

11	Once you have made the desired changes, click OK.

12	In the main window, you can apply or cancel your modifications, as desired.  If you wish to cancel your modifications, press [Invoke Menu], then choose File [image] Close, or File [image] Quit, and do not save your file.  If you want to save your modifications, continue to the next step.

13	Press [Invoke Menu], then choose File [image] Save.

At this point you have not saved a modified version of your resource file.  Instead, you have saved the changes you want to make to the resource file.  To actually incorporate the new key bindings into your resource file you need to regenerate it.

14	Press [Invoke Menu], then choose Function [image] Generate.

This generates a new resource file, incorporating the changes you made to the key binding.

An alert appears, telling you that your resources file has been successfully generated.  Accept the alert.

If you receive an error message instead, consult your Oracle Terminal User's Guide.

15	Press [Invoke Menu], then choose File [image] Save.

This step saves the resource file.  You can now use it to determine the key bindings your terminal uses for Report Builder.

16	To exit ot, press [Invoke Menu], then choose File [image] Quit.

17	To test your new key bindings, invoke the Report Builder character-mode runtime engine and display the Show Keys screen.

18	Type the following on the command line, once again including all necessary path information:  rwrun60 term=resfile

In the command above, the argument term=resfile serves two purposes:  it identifies the terminal resource file you want to use, and this, in turn, identifies your terminal to Report Builder.  In order to use the new key bindings you just created, the resfile portion of the argument must refer to the resource file you just generated.

19	Display the Show Keys screen and examine the keys listed. They should reflect the changes you made to the key bindings.


Terminal definition files

  Restrictions

Terminal definition files contain information about the capabilities of different terminal types.  They apply only to character-mode and block-mode terminals, and any terminals emulating such devices.  Report Builder ships several terminal definition files for such standard terminals as the DEC family of VT100, VT220, and VT320 terminals.  If necessary, you can modify any one of these to provide a definition for a non-standard terminal.

Terminal definitions, unlike key bindings, describe a terminal's intrinsic capabilities.  Therefore, the following steps show where and how to change terminal definition, but make no actual changes.  We recommend that you do not change the terminal definition unless you are creating a new definition for a non-standard terminal and are provided with all necessary specifications by your terminal's documentation.

To modify a terminal definition:

1	At the operating system prompt, type the command ot and press Return.

2	A file selection dialog appears.  Select the resource file you want to modify.  The resource editor's main window appears.  Use this window to choose the product (e.g., Report Builder), the device, or terminal, whose resources you want to modify (e.g., VT100, Sun4, etc.), and the type of action you want to take.

3	With the cursor on the Product field, press [List].  A list of values appears, displaying all the products whose resources you can modify using ot.  Select Report Builder from the list.

4	Press [Invoke Menu] and choose Function [image] Edit Devices.  The device class editor is displayed.  The device class editor displays all devices included in the specified product (in this case, Report Builder).  It also shows all ancestor classes of the devices (i.e., for a VT220 terminal, an ancestor class might be "character mode").  Use this editor to select the specific device whose terminal definition you want to modify.  If you need to add a definition for a non-standard terminal, it is generally easier to select a similar terminal and modify its terminal definition, then save the modifications under a new name.

5	Press [Next Field] until the cursor is positioned in the list of devices ("This Class").  If the designation for your terminal does not appear,  your terminal may be on a lower level in the device hierarchy.

To the right of the class list is a graphical representation of the device hierarchy.  Use this to trace your terminal's ancestry.  When you find its ancestor, position the cursor on that device in the class list and press [Accept].  Follow the class levels down until the designation for your terminal appears in the class list.  Position the cursor on the terminal name and press [Select].

6	Edit Device is highlighted.  Press [Next Field] until the cursor is located on the Edit Device button, then press [Accept].  The device display definition screen is shown.  This is a list of device characteristics that Report Builder refers to when communicating with your terminal.  Change any of these values by pressing [Next Field] until the cursor is located at the appropriate field and entering the desired value.

The Attributes, Modifiers, Standard Keys, and User Keys buttons displays dialog boxes that enable you to modify other aspects of the terminal definition.  See your Oracle Terminal User's Guide for more information on these dialogs.

Unless you specifically intend to create a new terminal definition file for a non-standard terminal, do not change any of these values.  They are fixed according to device, and not user-definable.

If you are creating a new terminal definition file for a non-standard terminal, refer to the documentation for your terminal for the proper values to use.

7	When you are finished modifying the file, press [Invoke Menu] and select Windows, then select the main window, which is identified by the name of the resource file you are editing.

8	Press [Invoke Menu], then choose Function [image] Generate.

This generates a new resource file, incorporating the changes you made to the key binding.

An alert appears, telling you that your resources file has been successfully generated.  Accept the alert.

If you receive an error message instead, consult your Oracle Terminal User's Guide.

9	Press [Invoke Menu], then choose File [image] Save As.

10	To exit ot, press [Invoke Menu], then choose File [image] Quit.


Terminal definition restrictions

•	Some operating systems may require single-quotes, instead of double-quotes for strings.  Also, your terminal resource file may be case-sensitive.


Referencing terminal resource files

To use a terminal resource file other than the default, use the TERM system parameter.


Aliases

You can use aliases in your query SELECT statement as you would in any other SELECT statement.  For more information on aliases, see the Oracle8 Server SQL Language Reference Manual.  If you use an alias for a column, that alias becomes the name of the column in Report Builder.

When using an alias in conjunction with a parameter, you must be cautious about changing the column associated with the alias.  For example, suppose you created the following SELECT statement for your query:

SELECT &NAME NAME, &PAY PAY FROM EMP

Assume that when you initially build the report, &NAME is the name of a CHAR column and &PAY is the name of a NUMBER column.  If at runtime you enter the name of a column for the &NAME parameter that is not a CHAR column, you will get an error.  Because the name of the alias is unchanged, Report Builder assumes that the column has the same datatype as when you built the report (i.e., CHAR).


Comments

You can insert comments directly into your SELECT statement using Oracle's standard SQL comment delimiters (e.g., /* comment */).  Refer to your Oracle8 Server SQL Language Reference Manual.

Note: You can also use the Comment button in the Query property sheet to enter comments.


Column and parameter reference restrictions

•	When using bind and lexical references in a query, you need to specify an Initial Value or Value If Null for the parameter or column, respectively, if the query will not parse correctly without the value.  For example, a query must have a FROM clause.  If you create a query that uses a lexical reference for the FROM clause, the parameter corresponding to the lexical reference must have an Initial Value (e.g., EMP) so that the SELECT statement is valid.

•	Parameters with a Datatype of Character are not padded, unless you explicitly pad them in a SQL statement.

•	If a Report Builder column is a summary with a Reset At setting of Page, the column cannot be referenced (via bind or lexical reference) in a query.  For example, if AVG_SAL is a summary column that computes the average salary for each page of your report, the following bind reference would be invalid:

SELECT SAL FROM EMP
WHERE SAL > :AVG_SAL

•	A query can only contain references to columns with a Type of Database belonging to a group above the query (i.e., a group that is a parent or an ancestor of the query).  For example, suppose group G_1 contains a database column named SAL and belongs to query Q_1.  Group G_1 owns another query named Q_2.  You could reference SAL in Q_2 but not in Q_1.

•	A query can only contain references to a summary or formula column whose source column is below the query.  For example, suppose you create a summary column named SUM_SAL in group G_1.  SUM_SAL summarizes the column named SAL, which is also in group G_1.  G_1 belongs to query Q_1 and owns another query named Q_2.  Therefore, query Q_1 can contain a reference to SUM_SAL, but query Q_2 cannot contain such a reference.

•	If a reference is made to a parameter with a Datatype of Date is used in an expression, a TO_DATE function should be used.


Bind references

  Restrictions 	  Examples	  Related Topics

Bind references (or bind variables) are used to replace a single value in SQL or PL/SQL, such as a character string, number, or date.  Specifically, bind references may be used to replace expressions in SELECT, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH clauses of queries.  Bind references may not be referenced in FROM clauses or in place of reserved words or clauses.

You create a bind reference by entering a colon (:) followed immediately by the column or parameter name.  If you do not create a column or parameter before making a bind reference to it in a SELECT statement, Report Builder will create a parameter for you by default.


Bind reference restrictions

•	Bind references must not be the same name as any reserved SQL keywords.  For more information, see the Oracle8 Server SQL Language Reference Manual.


Bind reference examples

  Related Topics 	  All Examples

SELECT Clause

SELECT CUSTID, NVL(COMMPLAN, :DFLTCOMM) COMMPLAN  FROM ORD

The value of DFLTCOMM replaces null values of COMMPLAN in the rows selected.

WHERE Clause

SELECT ORDID, TOTAL  FROM ORD WHERE CUSTID = :CUST

The value of CUST is used to select a single customer.

GROUP BY Clause

SELECT NVL(COMMPLAN, :DFLTCOMM) COMMPLAN, SUM(TOTAL) TOTAL FROM ORD GROUP BY NVL(COMMPLAN, :DFLTCOMM)

All non-aggregate expressions such as NVL(COMMPLAN, :DFLTCOMM) in the SELECT clause must be replicated in the GROUP BY clause.

HAVING Clause

SELECT CUSTID, SUM(TOTAL) TOTAL FROM ORD GROUP BY CUSTID  HAVING SUM(TOTAL) > :MINTOTAL

The value of MINTOTAL is used to select customers with a minimum total of orders.

ORDER BY Clause

SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL  FROM ORD ORDER BY DECODE(:SORT, 1, SHIPDATE, 2, ORDERDATE)

The value of SORT is used to select either SHIPDATE or ORDERDATE as the sort criterion.  Note that this is not the same as ORDER BY 1 because :SORT is used as a value rather than to identify the position of an expression in the SELECT list.  Note that DECODE is required in this example.  You cannot use a bind variable in an ORDER BY clause unless it is with DECODE.

CONNECT BY and START WITH Clauses

References in CONNECT BY and START WITH clauses are used in the same way as they are in the WHERE and HAVING clauses.

PL/SQL

procedure double is  begin; :my_param := :my_param*2; end;

The value of myparam is multiplied by two and assigned to myparam.


Lexical references

  Restrictions 	  Examples

Lexical references are placeholders for text that you embed in a SELECT statement.  You can use lexical references to replace the clauses appearing after SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH.

You cannot make lexical references in a PL/SQL statement.  You can, however, use a bind reference in PL/SQL to set the value of a parameter that is then referenced lexically in SQL.  Look at the example below.

You create a lexical reference by entering an ampersand (&) followed immediately by the column or parameter name.  A default definition is not provided for lexical references.  Therefore, you must do the following:

•	Before you create your query, define a column or parameter in the data model for each lexical reference in the query.  For columns, you must enter Value if Null, and, for parameters, you must enter Initial Value.  Report Builder uses these values to validate a query with a lexical reference.

•	Create your query containing lexical references.


Lexical reference restrictions

•	You cannot make lexical references in a PL/SQL statement.

•	If a column or parameter is used as a lexical reference in a query, its Datatype must be Character.

•	If you want to use lexical references in your SELECT clause, you should create a separate lexical reference for each column you will substitute.  In addition, you should assign an alias to each lexical reference.  This enables you to use the same layout field and boilerplate label for whatever value you enter for the lexical reference on the Runtime Parameter Form.

•	If you use lexical references in your SELECT clause, you must specify the same number of items at runtime as were specified in the report's data model.  Each value you specify for your lexical references at runtime must have the same datatype as its Initial Value.

•	If you use lexical references in your SELECT clause, the width of the column is derived from the Initial Value of the parameter.  Consequently, you should ensure that the Initial Value of the parameter corresponds to the widest column that you intend to use.

•	A Report Builder link should not depend upon a lexical reference.  That is, neither the child column of a link or its table name should be determined by a lexical reference.  To achieve this functionality, you need to create a link with no columns specified and then enter the SQL clause (e.g., WHERE) for the link directly in the query.  For example, your parent and child queries might be written as follows:

Parent Query:  SELECT DEPTNO FROM EMP
Child Query:   SELECT &PARM_1 COL_1,
               &PARM2 COL_2 FROM EMP
               WHERE &PARM_1 = :DEPTNO

•	Note how the WHERE clause makes a bind reference to DEPTNO, which was selected in the parent query.  Also, this example assumes that you have created a link between the queries in the Data Model editor with no columns specified.

•	A lexical reference cannot be used to create additional bind variables after the After Form trigger fires.  For example, suppose you have a query like the following (note that the WHERE clause is replaced by a lexical reference):

SELECT ENAME, SAL FROM EMP
&where_clause

If the value of the WHERE_CLAUSE parameter contains a reference to a bind variable, you must specify the value in the After Form trigger or earlier.  You would get an error if you supplied the following value for the parameter in the Before Report trigger:

WHERE SAL = :new_bind

If you supplied this same value in the After Form trigger, the report would run.


Lexical reference examples

  Related Topics 	  All Examples

SELECT Clause

SELECT &P_ENAME NAME, &P_EMPNO ENO, &P_JOB ROLE  FROM EMP

P_ENAME, P_EMPNO, and P_JOB can be used to change the columns selected at runtime.  For example, you could enter DEPTNO as the value for P_EMPNO on the Runtime Parameter Form.  Note that in this case, you should use aliases for your columns.  Otherwise, if you change the columns selected at runtime, the column names in the SELECT list will not match the Report Builder columns and the report will not run.

FROM Clause

SELECT ORDID, TOTAL FROM &ATABLE

ATABLE can be used to change the table from which columns are selected at runtime.  For example, you could enter ORD for ATABLE at runtime.  If you dynamically change the table name in this way, you may also want to use lexical references for the SELECT clause (look at the previous example) in case the column names differ between tables.

WHERE Clause

SELECT ORDID, TOTAL FROM ORD WHERE &CUST

CUST can be used to restrict records retrieved from ORD.  Any form of the WHERE clause can be specified at run-time.

GROUP BY Clause

SELECT NVL(COMMPLAN, DFLTCOMM) CPLAN, SUM(TOTAL) TOTAL  FROM ORD GROUP BY &NEWCOMM

The value of NEWCOMM can be used to define the GROUP BY clause.

HAVING Clause

SELECT CUSTID, SUM(TOTAL) TOTAL  FROM ORD GROUP BY CUSTID  HAVING &MINTOTAL

The value of MINTOTAL could, for example, be used to select customers with a minimum total of orders.

ORDER BY Clause

SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL  FROM ORD ORDER BY &SORT

The value of SORT can be used to select SHIPDATE, ORDERDATE, ORDID, or any combination as the sort criterion.  It could also be used to add on to the query, for example to add a CONNECT BY and START WITH clause.

CONNECT BY and START WITH Clauses

Parameters in CONNECT BY and START WITH clauses are used in the same way as they are in the WHERE and HAVING clauses.

Multiple Clauses

SELECT &COLSTABLE

COLSTABLE could be used to change both the SELECT and FROM clauses at runtime.  For example, you could enter DNAME ENAME, LOC SAL FROM DEPT for COLSTABLE at runtime.

SELECT * FROM EMP &WHEREORD

WHEREORD could be used to change both the WHERE and ORDER BY clauses at runtime.  For example, you could enter WHERE SAL > 1000 ORDER BY DEPTNO for &WHEREORD at runtime.

PL/SQL and SQL

SELECT &BREAK_COL C1, MAX(SAL)  FROM EMP  GROUP BY &BREAK_COL

BREAK_COL is used to change both the SELECT list and the GROUP BY clause at runtime.  The Initial Value of the parameter &BREAK_COL is JOB.  At runtime, the user of the report can provide a value for a parameter called GROUP_BY_COLUMN (of Datatype Character).  In the Validation Trigger for GROUP_BY_COLUMN, you call the following PL/SQL procedure and pass it the value of GROUP_BY_COLUMN:

procedure conv_param (in_var IN char) is
begin
 if upper(in_var) in ('DEPTNO','EMPNO','HIREDATE') then
   :break_col := 'to_char('||in_var||')' ;
 else
   :break_col := in_var;
 end if;
end;

This PL/SQL ensures that, if necessary, a TO_CHAR is placed around the break column the user chooses.  Notice how in SQL, you make a lexical reference to BREAK_COL.  In PL/SQL, you must make a bind reference to BREAK_COL because lexical references are not allowed in PL/SQL.


DML and DDL

If you want to use DML or DDL in your PL/SQL, you should use the SRW.DO_SQL  packaged function.  Note that SRW.DO_SQL should only be used for DML and DDL; you should not use it to fetch data.  For more information on DML and DDL, see the Oracle8 Server SQL Language Reference Manual.

Because of Report Builder's processing model, it is recommended that you only use DDL in the Before Report and After Report triggers.

DML can be entered any place that accepts PL/SQL.

Note:  The use of SRW.DO_SQL adds some overhead to the running of the report.


Supported files

File	Contents	Portable?	When used?	When created?
.afc	AIFC sound (binary file)	-	Associated with button	Not created by Report Builder
.aff	AIFF sound (binary file)	-	Associated with button	Not created by Report Builder
.au	AU sound (binary file)	-	Associated with button	Not created by Report Builder
.avi	Windows video (binary file)	-	In Previewer, associated with button	Not created by Report Builder
.cal	CALS image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.bmp	BMP image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.cgm	CGM drawing (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.gif	GIFF image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.jfi	JFIF image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.moo	Quicktime video (binary file)	-	Associated with button	Not created by Report Builder
.odf	Oracle drawing (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.oif	Oracle image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.pal	color palette (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.pcx	PCX image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.pic	PICT image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.pld	PL/SQL library (text file)	Yes	File [image] Administration Convert	File [image] Save File [image] Save As
.pll	PL/SQL library (binary file with source/P-code)	Yes	Attached Libraries in the Object Navigator	File [image] Save File [image] Save As
.prt	character mode printer definition (text file)	Yes	DESFORMAT	Not created by Report Builder
.ras	Sun raster image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.rdf	report definition (binary file with source/P-code)	Yes	File [image] Open File [image] Run File [image] Administration Convert	File [image] Save File [image] Save As File Administration Convert
.rep	report definition (binary file with source/P-code)	Yes, when it doesn't have compiled PL/SQL	To run a report	File Administration Convert
.rex	one or more report definitions (text file)	Yes	File [image] Administration Convert	File Administration Convert
.sql	query definition (text file)	Yes	To create a query	File [image] Save File [image] Save As
.snd	SND sound (binary file)	-	Associated with a button	Not created by Report Builder
.tif	TIFF image (binary file)	-	In Report Editor (Live Previewer, Layout, or Parameter Form)	File [image] Export
.wav	WAVE sound (binary file)	-	Associated with a button	Not created by Report Builder
Usage Notes

•	SQL scripts shipped with Report Builder are also files with extension .sql.

•	Oracle Corporation does not support documents that have been modified by editing .rex or .pld files.

•	Printer definition files are used only by reports run in a character-mode environment or reports run with the Report Builder ASCII Driver.  For reports that run on bit-mapped platforms, printer codes and printer definitions are ignored, as their function is replaced by the settings available from the Format menu (e.g., font and weight).

•	When you export an object from Report Builder to CGM, the object may be broken into multiple objects in CGM.  For example, if you export a rectangle that has a fill pattern, this object will become two objects in CGM.  One object is created for the rectangle itself and one object for the fill pattern.

•	OLE2 objects can be displayed by Report Builder.  For OLE2 objects stored in the database, set the Format property to OLE2.  For OLE2 objects stored in files, select Read from File and set Format to OLE2 in the Property Palette for the column (this assumes that the database column contains the names of OLE2 objects).

•	Depending upon the options you specify, Report Builder may generate any of the following files:

•	profiler log file

•	error log file

•	trace log file

•	preferences file

•	keystroke file (character mode only)

•	Print Screen log file (character mode only)


Preferences files

The preferences that you set via Tools [image] Tools Options are saved and retrieved from a preferences file.  (This file contains preferences for all other Oracle tools as well.)

If you do not have your own preferences file, Report Builder gets preferences from a global preferences file created during installation.  When you edit the preferences and save them, Report Builder creates your own local preferences file.  Once you have your own preferences file, Report Builder will use that file instead of the global preferences file.

The exact names and locations of these files may be operating system-dependent. The contents of the preferences file are portable, but, if you move it to another operating system, you must ensure that you place it in the correct location with the correct name for that platform.


Font mapping file

Report Builder supports font aliases.  The font mappings used by Report Builder are defined in the file uifont.ali .  You can alter these mappings by editing this file.  The location of this file varies according to your operating system.  For more information on the files you will use to install Report Builder, see your installation instructions.


Temporary files

Report Builder creates temporary files during report execution:

•	Swap files are created when you run a report that requires multiple passes to format (e.g., a report that has forward references such as a field with Source of &Total Logical Pages).  The swap file contains a first pass copy of each page of the report that Report Builder uses to determine the length of the report and resolve any forward references.  By the time all of the pages have formatted, this file will be approximately twice the size of the final ouput.  While developing a report, you should exclude forward referencing fields to cut down on testing time.

Swap files are named a unique identifier.

•	Data cache files are used to cache all the data records fetched from the database and the values of all summaries in the report.  The size of this file reflects the amount of data in the report.  Records are packed such that the space allocated for each column is just enough to contain the current value, not the maximum size for each column.

Data Cache files are named datXXXX, where XXXX is unique.

•	Index files are used to track breaks in the report.  This file contains tree structures built to traverse the data according to the relationships defined in the report's data model.  The size of this file depends upon:

•	the number of groups in the report

•	the number of records in each group

•	the size of the break column(s) of each group

•	the depth of the group tree

Index files are named idxXXXXX, where XXXX is unique.

Temporary File Size

Temporary files can grow very large for a number of reasons.  To avoid having large temporary files, consider the following:

•	Perform calculations in queries, if possible.  This can reduce the size of the data caching file because the report does not need to retrieve as much data as it would if the calculations were performed in summary columns or formulas.

•	Reduce the size and number of break columns per break group, if possible.  This can reduce the size of the index file because it reduces the size of the tree structure in the file.

•	Eliminate forward referencing (e.g., fields with Source of &Total Logical Pages), if possible.  This can eliminate the swap file because Report Builder does not have to save a copy of the report output in the swap file before formatting.


File searching method

When you reference a file in Report Builder, it searches for the file in the following order:

1	The path prefixed to the filename (e.g., /home/jsmith), if any.

2	The path that your operating system considers the current path.

3	The path specified in the environment variable REPORT60_PATH.

4	The path specified in the environment variable ORACLE_PATH.

5	The path of your location when you invoked Report Builder.

Usage Notes

•	If you do not enter an extension, Report Builder appends one before performing the search.  If the file is not found, Report Builder then searches for the file without the extension.

•	A different search order is used when searching for printer and terminal definitions and icons.


Printer and terminal definition file search method

Printer Definition File Search Method

1	The path that your operating system considers the current path.

2	The path specified in the environment variable REPORT60_PATH.

3	The path specified in the environment variable ORACLE_PATH.

4	The ORACLE_HOME/REPORT60/printers subdirectory or folder.

Terminal Definition File Search Method

1	The path specified in the environment variable REPORT60_TERMINAL.

2	The path specified in the environment variable ORACLE_TERMINAL.

3	The ORACLE_HOME/REPORT60/admin/terminal subdirectory or folder.


Icon file search method

If you create a button in Report Builder, you can assign it an icon instead of a label.  If you do not specify the full path for the icon, Report Builder will search for it in the path defined by the UI_ICON environment variable.


Database tables

There are three sets of tables used with Report Builder:

Demo tables	Contain sample data used by the demonstration reports.
Data tables	Contain your own data.
Report Builder tables	Contain reports, external queries, and external PL/SQL libraries.  You must install these tables if you want to store reports in the database.  For more information, see your installation instructions.


Establishing database security and restrictions

  Related Topics

There are two types of restrictions you can place on Report Builder users:

•	Grant and revoke access to Report Builder

•	Allow and disallow access to a report stored in the database

Refer to your installation instructions for further information on granting and revoking access.

Usage Notes

•	Report Builder's security mechanism supplements ORACLE's GRANT and REVOKE commands, providing extra measures of control.  All restrictions placed through GRANT and REVOKE still apply.

•	Files are protected by whatever mechanisms are in place for your file systems.  Report Builder provides no additional security for files.

•	Only a report’s creator can grant access to that report to other users.  Also, only a report’s creator can modify the report, even if the creator has granted access to others.


Creating a summary column (for total or subtotals)
Creating a summary column

  Related Topics

To create a summary column (for totals or subtotals) using the Data Wizard:

1	In the Data Model view, click the query that contains the column you want to total.

2	Choose Tools [image] Data Wizard.

3	On the Totals page, follow the wizard to add the desired summary to your report.  Note

To create a summary column (for totals or subtotals) using the tool palette:

1	In the Data Model view, single-click [image] in the tool palette, then:

•	To create a column within a group, click in the group at the position you want the column placed in the hierarchy.

•	To create a report-level column, click in an open area of the canvas region.

2	Double-click the summary column object to display the Property Palette.

3	Under the Summary node:

•	Set the Function property by choosing the type of summary you want from the drop-down list.

•	Set the Source property to the column you want to summarize.


Creating or editing a formula column

  Related Topics

To create or edit a formula column:

1	In the Data Model view, single-click [image] in the tool palette, then:

•	To create a column within a group, click in the group at the position you want the column placed in the hierarchy.

•	To create a report-level column, click in an open area of the canvas region.

2	Double-click the formula column object to display the Property Palette.

3	Under the Placeholder/Formula node, double click the PL/SQL Formula property value field.

4	In the PL/SQL Editor, define the PL/SQL for the formula (e.g., SAL * 0.07).


Creating a placeholder column
Creating or editing a placeholder column

  Next Step	  Related Topics

To create or edit a placeholder column:

1	In the Data Model view, single-click [image] in the tool palette.

•	To create a column within a group, click in the group at the position you want the column placed in the hierarchy.

•	To create a report-level column, click in an open area of the canvas region.

2	Double-click the placeholder column object.

3	In the Property Palette, set the desired properties for the placeholder column.

You can set the value of a placeholder column in:

•	the Before Report trigger, if the placeholder is a report-level column

•	a report-level formula column, if the placeholder is a report-level column

•	a formula in the placeholder's group or a group below it (the value is set once for each record of the group)


Creating page numbers

  Next Step	  Related Topics	  Examples

To create default page numbers:

1	In the Live Previewer view, click [image], in the toolbar.  Note

2	Choose from the drop-down list the location for the page number.

3	Click the desired page number format: Page Number Only or Page Number and Total Pages.

4	(Optional)  Change the default attributes of the page number text as desired.

To create customized page numbers:

1	In the Layout Model view, click [image] in the toolbar.  Note

2	Create a field object in the margin area for each page number value you require (e.g. Physical Page Number, Total Physical Pages).

3	In the field's Property Palette, under the Field node, set the Source property to the source for the page number, and set the Visible property to No.  Under the General Layout node, set the Horizontal Elasticity property to Variable.

4	Create a boilerplate text object in the margin area, and reference the page number field(s) using &fieldname.


Resetting page numbers

To reset default page numbers (created with [image] or Insert [image] Page Number):

1	Click the default page number field, then choose Edit [image] Clear to delete it.

2	Create customized page numbers.

3	In the page number field's Property Palette, under the Field node, double-click the Page Numbering property value field.

4	In the dialog, click the desired Reset At setting.  Page numbers will reset to the Start value each time the selected frame is formatted.  Click OK.


Creating a time and/or date stamp

  Related Topics

To add a date and/or time stamp:

1	In the Live Previewer view, click [image] in the toolbar.  Note

2	Choose from the drop-down list the location for the date or time stamp.

3	Click the desired date and/or time format, or click Custom to define your own format.


Creating a hyperlink using the Property Palette
Creating a hyperlink

  Restrictions	  Examples	  Related Topics

To add a hyperlink to your report:

1	Create a hyperlink destination, which will be the target of the Web link.

2	In the Object Navigator, expand the Layout Model node, then expand the node that contains the object that will be the source of the Web link.  Note

3	Double-click the object that will be the source of the Web link to display the Property Palette .

4	Under the Web Settings node, set the Hyperlink property to the destination of the link.  Note

5	To apply additional HTML attributes to the hyperlink, set the Additional Hyperlink Attributes property accordingly.  Examples

6	To add a hyperlink to a chart section, create a chart hyperlink.


Creating an application command line link using the Property Palette
Creating an application command line link

  Restrictions	  Examples	  Related Topics

To associate a command with an object in your report:

1	In the Object Navigator, expand the Layout Model node, then expand the node that contains the object with which you want to associate a command.  Note

2	Double-click the object with which you want to associate a command to display the Property Palette.

3	Under the Web Settings node, set the Application Command Line property to the command you want to execute when the object is clicked.  Note


Creating a bookmark using the Web Wizard or Property Palette
Creating a bookmark

  Examples	  Related Topics

To create a bookmark for every break group in the bookmark area of your HTML or PDF document:

1	Choose Tools [image] Web Wizard.

2	On the Bookmarks page of the wizard, move the desired columns to the Bookmarks list.

3	On the Finished page, select the desired output and save it to a file to display in your Web browser or PDF viewer.

To create a bookmark for other report objects in the bookmark area of your HTML or PDF document:

1	In the Object Navigator, expand the Layout Model node, then expand the node that contains the object with which you want to associate a bookmark (typically, the object is a repeating frame or frame that encloses the relevant section of the report).  Note.

2	Double-click the object with which you want to associate a bookmark to display the Property Palette.

3	Under the Web Settings node, set the Bookmark property to the string you want to appear in the bookmark area of the formatted report.


Creating a hyperlink destination using the Property Palette
Creating a hyperlink destination

  Examples	  Next Step	  Related Topics

To add a hyperlink destination to your report:

1	In the Object Navigator, expand the Layout Model node, then expand the node that contains the object that will be the destination of a Web link.  Note

2	Double-click the object that will be the destination of a Web link to display the Property Palette.

3	Under the Web Settings node, set the Hyperlink Destination property to an identifier for the object.


Linking an image object to a URL

  Examples 	  Related Topics

To link an image object to a URL:

1	In the Live Previewer view, click [image] in the tool palette.  Note

2	Click and drag a rectangle.

3	Double-click the link file object to display the Property Palette.

4	Under the Link File Boilerplate node:

•	Set the Source File Format property to Image URL.

•	Set the Source Filename property to the URL where the image is located with the required protocol.  Examples


Selecting an image URL from the database

  Related Topics

To select a URL from the database:

1	Create a query, with a SELECT statement that selects a column containing URLs.

2	In the Data Model view, double-click the column containing the URLs.

3	In the Property Palette, under the Column node:

•	Set the Read from File property to Yes.

•	Set the File Format property to Image URL.


Creating a boilerplate text object for HTML tags

  Examples	  Related Topics

To create a boilerplate text object for HTML tags:

1	In the Live Previewer view, Layout Model view, or Parameter Form view, click [image] in the tool palette.

2	Click and drag a rectangle.

3	In the new boilerplate object, type or import (choose File [image] Import [image] Text) the desired HTML.  Note

4	Click outside the boilerplate text object.

5	Double-click the boilerplate text object (or display the object's pop-up menu and click Property Palette).

6	In the Property Palette, under the Web Settings node, set the Contains HTML Tags property to Yes.


Linking an HTML object to a file

  Related Topics

To link an HTML object to a file:

1	In the Live Previewer view or Layout Model view, click [image] or in the tool palette.

2	Click and drag a rectangle.

3	Double-click the link file object to display the Property Palette.

4	Under the Link File Boilerplate node:

•	Set the Source File Format property to Text.

•	Set the Source Filename property to the name of the file containing the HTML tags.

5	Under the Web Settings node, set the Contains HTML Tags property to Yes.


Selecting HTML tags from the database

  Related Topics

To select HTML tags from the database:

1	Create a query, with a SELECT statement that selects a column containing HTML tags or the names of files that contain HTML tags.

2	In the Data Model view, double-click the HTML tags column to display the Property Palette.

3	If the column contains the names of files that contain the HTML tags, rather than the HTML tags themselves:

•	Under the Column node, set the Read from File property to Yes.

•	Set the File Format property to Text.

4	In the Layout Model view, create a field object that references the column.

5	Double-click the field object.

6	In the Property Palette, under the Web Settings node, set the Contains HTML Tags property to Yes.


Creating an HTML document header

  Examples	  Related Topics

To insert an HTML file on the header page of your HTML document:

1	Choose Tools [image] Web Wizard.

2	On the third page of the wizard, type the name of the Header HTML file, or click Browse to search for it.

3	On the last page, select Generate HTML output now or Generate HTML Style Sheet output now  (if your browser supports HTML style sheet extensions) and save the output to a file to display in your Web browser.

To add other items to the header page of your HTML document:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the Before Report Type property to Text (if you will type the header) or File (if you will import the header from a file).

3	Set the Before Report Value property by clicking the ... button to either type HTML code in the dialog or select an HTML file to import.


Creating an HTML document footer

  Examples	  Related Topics

To insert an HTML file on the footer page of your HTML document:

1	Choose Tools [image] Web Wizard.

2	On the third page of the wizard, type the name of the Footer HTML file, or click Browse to search for it.

3	On the last page, select Generate HTML output now or Generate HTML Style Sheet output now  (if your browser supports HTML style sheet extensions) and save the output to a file to display in your Web browser.

To add other items to the footer page of your HTML document:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the After Report Type property to Text (if you will type the footer) or File (if you will import the footer from a file).

3	Set the After Report Value property by clicking the ... button to either type HTML code in the dialog or select an HTML file to import.


Creating an HTML page header

  Examples%!Alink(ex_befaftpgex1b, , , )	  Related Topics%!Alink(plsqlbefpgesc;aftpgesc;a_hyperhtml;, , , )

To add a page header to every page of your HTML document:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the Before Page Type property to Text (if you will type the header) or File (if you will import the header from a file).

3	Set the Before Page Value property by clicking the ... button to either type HTML code in the dialog or select an HTML file to import.

To add a page header to a single page of your HTML document:

  Click the Related Topics button and refer to the procedure for creating a page header using PL/SQL.


Creating an HTML page footer using the Property Palette
Creating an HTML page footer

  Examples	  Related Topics

To add a page footer to every page of your HTML document:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the After Page Type property to Text (if you will type the header) or File (if you will import the header from a file).

3	Set the After Page Value property by clicking the ... button to either type HTML code in the dialog or select an HTML file to import.

To add a page footer to a single page of your HTML document:

  Click the Related Topics button and refer to the procedure for creating a page footer using PL/SQL.


Creating an HTML Parameter Form header using the Property Palette

  Examples	  Related Topics

To add items to the top of the HTML Parameter Form:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the Before Form Type property to Text (if you will type the header) or File (if you will import the header from a file).

3	Set the Before Form Value property by clicking the ... button to either type HTML code in the dialog or select an HTML file to import.


Creating an HTML Parameter Form footer using the Property Palette

  Examples	  Related Topics

To add items to the bottom of the HTML Parameter Form:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the After Form Type property to Text (if you will type the footer) or File (if you will import the footer from a file).

3	Set the After Form Value property by clicking the ... button to either type HTML code in the dialog or select an HTML file to import.


Creating HTML Parameter Form input or select events

  Examples	  Related Topics

To create a Parameter Form field with input or select events:

1	In the Object Navigator, double click [image]  to display the Parameter Form editor.

2	Create or edit a Parameter Form field.

3	In the the Property Palette under Web Settings node, set the Additional Attributes (HTML) property to a valid JavaScript event handler. Note

To insert the JavaScript code in the Before Form trigger:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Under the Report Escapes node, set the Before Form Type property to Text (if you will type the Javascript) or File (if you will import the JavaScript from a file).

3	Set the Before Form Value property by clicking the ... button to either type JavaScript in the dialog or select an HTML file with the JavaScript to import.


Adding navigation controls for HTML page-streamed output using the Property Palette

 Related Topics

To add navigation controls for HTML page-streamed output:

1	In the Object Navigator, double-click [image] (the properties icon for the report) to display the Property Palette.

2	Set the Page Navigation Control Type and Page Navigation Control Value properties.  Note


Creating a drawing object

  Related Topics

To create a drawing object:

1	In the Layout Model view, click a drawing tool in the tool palette (e.g., Rectangle, Ellipse, Polyline, etc.).  Note

2	To create a line, rounded rectangle, rectangle, ellipse, arc, or freehand object, click in the main area (canvas region) of the window and drag to create the object.

3	To create a polygon or polyline, click in the main area (canvas region) of the window where you want each point of the object, then double-click to create the object.

4	To draw constrained objects (i.e., perfect circles and squares, etc.), hold down the constrain key (e.g., the shift key) when drawing the graphic.

5	Double-click the drawing object.

6	In the Property Palette, set the desired properties.


Creating a Graphics Builder chart

  Related Topics

To create a new Graphics Builder chart in your report:

1	Choose Tools [image] Chart Wizard.

2	Follow the wizard to create the desired chart and position it in your report.

3	Modify the report output in the Live Previewer, or choose Tools [image] Chart Wizard to re-enter the wizard.

4	To further refine and customize your chart beyond the scope of the Chart Wizard, or to create more complex displays, use Graphics Builder, then embed the display in your report.


A complex display is a display that is interactive, contains multiple queries, or that includes objects as well as charts.


Embedding a Graphics Builder display
Embedding an existing Graphics Builder display

  Related Topics

To embed an existing Graphics Builder display in your report:

1	In the Layout Model view, click [image] in the tool palette.

2	Click and drag a rectangle.

3	Double-click the new Graphics Builder display object to display the Property Palette.

4	Under the Chart node, set the Chart Filename property to the name of the file containing the display.

5	If you want the display to print once for each group in the report, double-click the Parameters and Columns value field to display the Chart dialog box.

6	On the Parameters page:

•	Under Report Column, click to select the report columns or parameters that match parameters in the display.

•	Under Chart Parameter, type the names of the display parameter(s) that correspond to each selected report column or parameter.

7	On the Columns page:

•	In the Chart Query field, type the name of the query in the Graphics Builder display that should get its data from the report.  Be sure to select a query that selects columns that correspond to the columns or parameters you want to pass from the report.

•	In the Report Group field, choose from the drop-down list the group that contains the columns and parameters used by the query you specified.

•	Under Report Column, click to select the report columns that match columns in the display.

•	Under Chart Column, type the names of the display column name(s) that correspond to each selected report column

8	Click OK.


Selecting an image from the database

  Examples 	  Related Topics

To select an image from the database:

1	Create a query, with a SELECT statement that selects a column containing images or the filenames of image objects.

2	In the Data Model view, double-click the image column to display the Property Palette,

3	If the column contains the filenames of image objects, rather than the images themselves:

•	Under the Column node, set the Read from File property to Yes. Example

4	Under the Column node, set the File Format property to Image.


Linking an image object to a file

  Related Topics

To link an image object to a file:

1	In the Live Previewer view, click [image] in the tool palette.  Note

2	Click and drag a rectangle.

3	Double-click the link file object to display the Property Palette.

4	Under the Link File Boilerplate node:

•	Set the Source File Format property to Image.

•	Set the Source Filename property to the name of the file containing the image.


Creating a button for an image, sound, or video object

  Related Topics

To create a button for an image, sound, or video object:

1	In the Layout Model view, click [image] in the tool palette.

2	Click and drag a rectangle.

3	Double-click the button object to display the Property Palette.

4	Under the Button Label node, set the Label Type property to either Text or Icon:

•	If the button label is text, set the Text property to the text you want to appear on the button.

•	If the button label is an icon, set the Icon Name property to the name of the file containing the icon (the file must reside in the directory specified by the UI_ICON environment variable).

5	Under the Button Behavior node:

•	To display an image, sound, or video stored in a file, set the Type property to Multimedia File.  Set the Multimedia File property to the file name and the Multimedia File Type property to Image, Sound, or Video.

•	To display an image or sound stored in the database (valid if you have defined a query that selects a database column containing the object, and defined the format in the column's Property Palette), set the Type property to Multimedia Column.  Set the Multimedia Column property to the column name and the Multimedia Column Type property to Image or Sound.

6	To activate the button, run the report to the Live Previewer, then display it in the Runtime Previewer.


Selecting an OLE2 object from the database

  Related Topics

To select an OLE2 object from the database:

1	Create a query, with a SELECT statement that selects a column containing OLE2 objects or the filenames of OLE2 objects.

2	In the Data Model view, double-click the OLE2 column to display the Property Palette.

3	If the column contains the filenames of OLE2 objects, rather than the OLE2 objects themselves:

•	Under the Column node, set the Read from File property to Yes.

4	Set the File Format property to OLE2.


Linking an OLE2 object to a file

  Related Topics

To link an OLE2 object to a file:

1	In the Layout Model view, click [image] in the tool palette.

2	Click and drag a rectangle to display the Insert Object dialog box.

3	To choose the type of object you want to create, click Create New.

4	To specify the name of a file, click Create from File, or click Browse to choose a file.  Also click Link if you want the object linked to the file (rather than copied into the report).

5	To insert an OLE2 control, click Create Control, and select the type of control you want to insert.

6	To display the OLE2 object in the report as an icon, click Display As Icon.

7	To activate an OLE2 object in the report layout, click and hold the right mouse button on the object.  From the pop-up menu, select the Object item to display a submenu of actions that can be performed by the object's server.


Selecting a sound or video object from the database

  Related Topics

To select a sound and/or video object from the database:

1	Create a query, with a SELECT statement that selects a column containing sound objects or the filenames of video objects.

2	In the Data Model view, double-click the multimedia column to display the Property Palette.

3	For columns that contain filenames of video or sound objects:

•	Under the Column node, set the Read from File property to Yes.

4	Under the Column node, set the File Format property to Video or Sound.


Importing and exporting a drawing, color palette, or image

  Related Topics

To import a drawing, color palette, or image:

1	In the Live Previewer view, choose File [image] Import and click the type of object you want to import.  Note

2	In the dialog box, specify the name and format of the file.  Click OK.

3	Move the object to the desired position.

To export a drawing, color palette, or image:

1	In the Layout Model view, click the object you want to export.  Note

2	Choose File [image] Export and click the type of object you want to export.

3	In the dialog box, specify the name and format of the file.  Click OK.


Creating a margin object

  Related Topics

To create an object or heading in the margin of a report:

1	In the Layout Model view, click [image] in the toolbar.  Note

2	To adjust the margin, click the margin border, then drag a handle to the desired position.  You can adjust the margin on all four sides of a report.

3	Refer to the Related Topics to create required objects in the margin area.  They will appear on all pages of the report.

4	Click [image] in the toolbar to reactivate the body area of the report.


Creating a heading that includes database values

  Related Topics

To create a heading that includes database values:

1	Choose Tools [image] Report Wizard.

2	On the Totals page, create any totals that you want to include in the heading.

3	On the Fields page, verify that the fields and totals you want to include in the heading are either available or displayed in the report.

4	In the Layout Model view, click [image] in the toolbar.  Note

5	Create a field object in the margin area for each database value you want to include in the heading.  In the Property Palette, under the Field node, set the Source property to the source column for the value, set the Visible property to No, and set the Format Mask property for numeric values.  Under the General Layout node, set the Horizontal Elasticity property to Variable.

6	Create a boilerplate text object in the margin area, and reference the field(s) you want to include in the heading.


Creating a group header or footer

  Related Topics

To create a header or footer above or below each group of records:

1	In the Layout Model view, verify that Confine mode is turned off and Flex mode is turned on (the buttons in the toolbar display as [image] and [image]).

2	Click the repeating frame for the group to which you want to add a header or footer, then drag and resize the frame to allow enough room to type the header or footer text.

3	Create a boilerplate text object for the header or footer text.


Creating a header page or trailer page object

With the introduction of report sectioning, Header and Trailer pages are identical to Body pages.  In effect, this means that the Header, Trailer, and Body are three sections of a report.  For compatibility with prior releases, the names of the sections are exposed under the Layout Model node in the Object Navigator as Header Section, Main Section, and Trailer Section.  You can use the margin and body of the Header and Trailer sections to create a Header and Trailer “page” as in earlier releases.  In future releases, you will be able to add and delete sections.


Creating a barcode

  Related Topics

To create a barcode using a barcode font:

1	Install a barcode font on your machine (e.g., on Windows, install the barcode font in the Windows Control Panel Font).  Barcode fonts are available from most computer stores.  Note

2	Create a query that selects a column from the database containing the numbers for the barcodes you want included in your report.

3	In the Live Previewer view, click the barcode field, and choose Format [image] Font to apply the barcode font to the field.  Note


Creating a boilerplate object for text

  Related Topics

To create a boilerplate object for text:

1	In the Live Previewer view, click [image] in the tool palette.  Note

2	Click and drag a rectangle.

3	In the new boilerplate object, type the desired text.

The text you type is composed of paragraphs which are separated by new lines.  Text within a paragraph is word-wrapped inside the boilerplate object's horizontal size.

4	Click outside the boilerplate text object.


Typing text directly in the report

  Related Topics

To type text directly in the report:

1	In the Live Previewer view, click [image] in the tool palette.  Note

2	Click where you want the text to begin and begin typing.

The text you type is composed of paragraphs that are separated by new lines.  Because the horizontal size of the text object grows as you type, the text does not word-wrap; press Return to move to the next line.

3	Click outside the text object.


Referencing a field in boilerplate text

  Related Topics

To reference a field in boilerplate text:

1	In the Live Previewer view, click in the boilerplate text where you want the reference to a field to appear.  Note

2	Type an ampersand (&) followed by the name of the field.

If you want to place the field reference next to other text with no spaces in between, enclose the field name in angle brackets (e.g., &<fieldname>Oracle).  Note, however, that you can put references right next to each other with no spaces in between and without angle brackets (e.g., &field1&field2&field3).


Linking a text object to a file

  Related Topics

To link a text object to a file:

1	In the Live Previewer view, click [image] in the tool palette.

2	Click and drag a rectangle.

3	Double-click the link file object to display the Property Palette.

4	Under the Link File Boilerplate node:

•	Set the Source File Format property to Text.

•	Set the Source Filename property to the name of the file containing the text.


Importing and exporting boilerplate object text

  Related Topics

To import text into a boilerplate object:

1	In the Live Previewer view, click [image] in the tool palette.  Note

2	Click and drag a rectangle.

3	Choose File [image] Import [image] Text.

4	In the dialog box, type or select the name of the file to import from.  Click Open.

5	Move the text object to the desired position.

To export text from a boilerplate object:

1	To export all of the text in a boilerplate object, click the boilerplate object.

2	To export a selected portion of the text, click [image] in the tool palette, click the boilerplate object, then drag across the text to highlight it.

3	Choose File [image] Export [image] Text.

4	In the dialog box, type or select the name of the file to export into.  Click Save.


Creating a field object

  Related Topics

To create a field object in the report layout:

1	In the Live Previewer view, Layout Mode view or Parameter Form view, click [image] in the tool palette.

2	Click and drag a rectangle.

3	Double-click the new field object to display the Property Palette.

4	Under the Field node, set the Source property to the column or parameter that will provide the value for the field.

5	Set other properties as desired.


Creating a frame or repeating frame

  Related Topics

To create a frame or repeating frame manually:

1	In the Layout Model view, click [image] or [image] in the tool palette.

2	Click and drag a rectangle.

3	Double-click the new frame object.

4	In the Property Palette, set the desired properties.


Creating an additional report layout

  Related Topics

To add a new layout section to a report without overriding existing layouts:

1	In the Layout Model view, click [image] in the tool palette.

2	Click and drag a rectangular area for the default layout to display the Report Wizard.

3	Follow the wizard to select the data to display in the new layout section.

4	To reorder the layout sections, click and drag them to new positions in the Layout Model view.

5	Modify the report output in the Live Previewer view, or choose Tools [image] Report Wizard to re-enter the wizard.


Adding a title to a report

  Related Topics

To add a title to a report:

1	In the Object Navigator, select or open the report.

2	Choose Tools [image] Report Wizard.

3	On the Style page, type a title for the report in the Title field.

4	To set default attributes (such as font and color) for the title in a selected template:

•	In the Object Navigator, open the template.

•	Expand the Layout Model node, then the Body node.

•	Double-click [image] (the properties icon) next to the Default node to display the Property Palette.

•	Under the Title node, modify the properties as desired.

5	To set the placement and override attributes (such as font and color) for the title in a selected template:

•	In the Layout Model view of the template, create a boilerplate text object for the title in the margin.

•	Size and position the title, and modify the color and text attributes as desired.

•	Double-click the title object to display its Property Palette.

•	Under the General Information node, set the Name property to B_OR$REPORT_TITLE.


Generating delimited output

  Related Topics

To generate delimited output:

1	Create a new or open an existing report.

2	In the Delimited Output dialog box, choose from the drop-down list or type the delimiter that will separate the cells in your report output.

3	If you want to use formatting options, choose from the drop-down list or type a Date Format Mask or a Number Format Mask .

4	If you want to use a cell wrapper, choose from the drop-down list or type the cell wrapper that will be placed around the cell data in your report output.

5	Click OK.


Creating a chart hyperlink

  Examples 	  Related Topics

To create a chart hyperlink using the Web Wizard:

1	Choose Tools [image] Web Wizard.  Note

2	On the Chart Hyperlinks page of the wizard, click on the desired chart(s) from the Available Charts list.  Note

3	Click [image] to move the chart to the Charts list.

4	Click Finish.

To create a chart hyperlink using the Property Palette:

1	In the Object Navigator, expand the Layout Model node, then expand the node that contains the chart object.

2	Double-click the chart object to display the Property Palette .

3	Under the Chart node, set the Chart Hyperlink property to the destination of the link.  If you set this property to an object, you must also set the Hyperlink Destination property to the destination of the object.


Generating XML output

  Related Topics

To produce an XML output file from your current report:

1	Open the report you wish to output to XML. Currently, any report style can be generated to XML output, but with limited support for matrix-style reports (See Report Builder Release Notes for more information).

2	Select the report in the Object Navigator and choose File [image] Generate to File [image] XML. Tip

3	Save the XML output file to the directory of your choice. Note

To preview the contents of an XML file in a Web browser:

1	With a report open in the Object Navigator, double-click [image]. The Live Previewer must be active to take the next step. Note

2	Choose View [image] Web Preview [image] Use XML. (This changes how your browser manages the report when preparing it for previewing.)

3	Click [image] (the Web Preview button) to start your browser and preview the report as XML output. Note

As you continue to modify your report via the Property Palette in the Data Model view, the browser will display the corresponding XML output in the Web browser every time you click [image].

To preview the contents of an XML file in a Web browser in conjunction with command line invocation:

1.	On the command line, execute your report with the arguments DESFORMAT=XML, DESTYPE=FILE, and DESNAME=[name].XML. (See RWRUN60 for more information about command line invocation.)

2.	Open an XML-supporting Web browser.

3.	Choose File [image] Open to navigate to the .XML file that you just generated. The .XML file will appear in the browser window.

4.	If you make changes to the XML output in your report and regenerate the .XML file with the same name, use the Refresh button in your browser to view the updated XML output.


Designing XML output

  Related Topics

You may change the XML properties that control XML output for your report at three levels -- report, group, and column. Note that in any Report Builder-generated XML file, your output mimics the data model -- it is structured by groups and columns. For information on how to view your changes in XML output, see Generating XML output

Tip

To change the XML properties of the entire report:

1	In the Object Navigator double-click [image] to display the Property Palette.

2	Under the XML Settings node, set the XML Properties as required for this report.

To change the XML properties of a group:

1	From the Data Model view of your report, select the group object that you wish to edit.

2	Double-click on the title bar of the group to open the Property Palette.

3	Under the XML Settings node, set the XML Properties as required for this group.

To change the XML properties of a column:

1	From the Data Model view of your report, select the column you wish to edit.

2	Double-click the column to open the Property Palette.

3	Under the XML Settings node, set the XML Properties as required for this column.


In some cases (e.g., when raising messages), it may be necessary to type JavaScript code in the Before Form trigger.


An .XML extension is required by XML-supporting browsers to recognize the format as XML and display it accordingly.


Report Builder creates "well-formed" XML output. This means that there is an XML Declaration present in the prolog of the XML document, but not necessarily a DTD (document type definition). If you wish to create "valid" XML, you must add the DTD in the XML Prolog Value property field at the report level.


When making changes in the Property Palette, always be sure to click in another property before closing the Property Palette in order to save your changes.


This will require an XML-supporting Web browser.


Your report appears if you have defined layout objects. Otherwise, you will see a blank screen in the Live Previewer.


• 9


Allowing and disallowing access to a report

  Related Topics

To allow or disallow access to a report (stored in the database):

1	In the Object Navigator, click the report.

2	Choose File [image] Administration [image] Report Access.

3	To allow a user access to the report (including external SQL queries, and external PL/SQL libraries), type the user ID and click Add.  To disallow access, click the user ID, then click Remove.


Setting a database role

  Related Topics

To set a database role for a report:

1	Verify that the database administrator has created the role, granted privileges to the role, and granted the role to approved end users.  Refer to your Oracle7 Application Developer's Guide or Oracle8 Application Developer's Guide for more information.

2	In the Object Navigator, double-click [image] (the properties icon) for the report to display the Property Palette.

3	Under the Report node, set the Role Name property as defined by the database administrator in the database.

4	(Optional) To set a Role Password, double-click the button in the Role Name value field to display the Set Role dialog.

Notes:

•	The role settings in the report are overridden if you specify a role using the command line with Reports Runtime (RWRUN60).

•	You can set only one role for a report.  To set multiple roles, you need to set a role to which the other roles have been granted.

Warning:  Do not attempt to set the role in a PL/SQL trigger:  the PL/SQL will not compile.


Building a standard report

  Related Topics

To build a single-query report:

1	In the Object Navigator, click the Reports node, then click [image] in the toolbar.

2	Choose Tools [image] Report Wizard.

3	On the Style page, click the report style you want, then follow the wizard to create your report.

4	Modify the resulting report output in the Live Previewer view, or click [image] in the toolbar to re-enter the wizard.

To build a multi-query report:

1	Create each query using the Data Wizard.

2	Create a layout for the report.


Building a multi-query group above report

  Related Topics	  Examples

To build a multi-query group above report:

1	In the Object Navigator, click the Reports node, then click [image] in the toolbar.

2	Double-click [image] (the Data Model node icon) under the new report.

3	Create the first query using the SQL Query tool.  Example

4	Create the second query using the SQL Query tool.  Example

5	Define a column-to column link between the parent column (e.g., EMPNO) and the child column (e.g., REPID),

6	Click [image] in the toolbar and click Yes when prompted to create a default layout.

7	In the Report Wizard, on the Style page, click Group Above.

8	On the Groups page, move the field(s) by which you want to group the report output to the Displayed Groups list by selecting the field(s) in the Available Fields list and choosing the appropriate print direction button.

9	On the Fields page, move the fields that you want to display in the report output to the Displayed Fields list; be sure that the child column is not moved (so that it does not appear in the detail portion of the report).

10	On the Labels page, customize the column labels as desired.

11	Click Finish.

12	Modify the report output in the Live Previewer view, or click [image] in the toolbar to re-enter the wizard.

13	(Optional) To display only one master record per page:

•	In the Layout Model view, double-click the master repeating frame.  Tip

•	In the Property Palette, under the Repeating Frame node, set Maximum Records per Page to 1.


Building a nested matrix report

  Related Topics	  Examples

To build a nested matrix report:

1	In the Object Navigator, click the Reports node, then click [image] in the toolbar.

2	Double-click [image] (the Data Model node icon) under the new report.

3	Create a query using the SQL Query tool.  Example

4	Create a nested matrix data model:

  Demo

•	Click-and-hold the title bar of the newly created group object and drag it down

•	Drag the two "row" columns (e.g., YEAR and DEPTNO) and one "column" column (e.g., JOB) into the space to create three new groups.

•	Single-click [image] in the tool palette.

•	Drag a box around the three groups you just created to create a fourth group.

5	Double-click the group that is nested (e.g., DEPTNO) to display the Property Palette.

6	Under the Group node, set the Child Dimension property to Yes (to create a non-sparse matrix, which means that rows with no data will not appear in your report output).

7	Click [image] in the toolbar.

8	In the Report Wizard, on the Style page, click Matrix.

9	On the Rows page, select the two "row" columns for the primary and secondary break levels.

10	On the Columns page, select the "column" column.

11	On the Cell page, select the column that contains the values for the cells.

12	On the Labels page, customize the column labels as desired.

13	Click Finish.

14	Modify the report output in the Live Previewer view, or click [image] in the toolbar to re-enter the wizard.


Building a multimedia report

  Related Topics

To build a multimedia report, you can:

•	Select an image from the database

•	Select sound or video from the database

•	Create a button for an image, sound, or video stored in the database or a file


Building an OLE2 report

  Related Topics

To build an OLE2 report, you can:

•	Select OLE2 objects from the database

•	Import an OLE2 object from a file into the report layout


Creating a local query

  Related Topics

To create a query for a single-query report, use one of the following methods:

•	Report Wizard

•	SQL Query tool (for a SQL query)

•	Ref Cursor Query tool (to use ref cursors)

To create a query for a multi-query report, use one of the following methods:

•	Data Wizard

•	SQL Query tool (for a SQL query)

•	Ref Cursor Query tool (to use ref cursors)


Creating a local query:  Report Wizard

  Next Step 	  Related Topics

To create a query using the Report Wizard:

1	Choose Tools [image] Report Wizard.

2	On the Style page, click the desired report style, then follow the wizard to specify the query's SELECT statement, which fields to display, group fields, and any totals you wish.


Creating a local query:  Data Wizard

  Next Step 	  Related Topics

To create a query using the Data Wizard:

1	In the Data Model view, choose Tools [image] Data Wizard.  Note

2	Follow the wizard to create the first query for the data model.

3	Repeat Steps 1 and 2 for each query you want to create.

4	Modify the resulting data model in the Data Model view, or choose Tools [image] Data Wizard to re-enter the wizard.

Note:  In this release, the Data Wizard does not support creating links between queries.  To define parent/child query relationships, you can create a data link manually.


make sure no object is selected in the Data Model view


Creating a local query:  SQL Query tool

  Next Step 	  Related Topics

To create a SQL query:

  Demo

1	In the Data Model view, single-click [image] in the tool palette.

2	Click in the main area (canvas region) of the window.  Tip

3	In the SQL Query Statement dialog box, define a SELECT statement for the query:

•	To use Query Builder, click Query Builder.

•	To import a query from a file, click Import SQL Query.

•	To enter the SELECT statement yourself, type it in the SQL Query Statement area.  Tip

4	Click OK.

5	Refine the query using either of the following methods:

•	Click the query object, then choose Tools [image] Property Palette to display the Property Palette, and set desired properties

•	Click the query object, then choose Tools [image] Data Wizard to specify which fields to display, group fields, and any totals.

6	Repeat Steps 1 through 5 for each query you want to create.

Note:  If you define multiple queries in the Data Model view of your report, the Data page does not appear when you invoke the Report Wizard to default the layout.


Creating a local query:  Ref Cursor Query tool

  Next Step	  Related Topics

To create a ref cursor query:

1	Create a package that defines a ref cursor type in one of the following ways:

•	Create a local program unit

•	Create an external PL/SQL library

•	Create a stored program unit

2	If the package created in Step 1 is an external PL/SQL library, you must attach it to the report before referencing it.

3	In the Data Model view, single-click [image] in the tool palette.

4	Click in the main area (canvas region) of the window.  Tip

5	In the PL/SQL Editor, type the PL/SQL for a function that opens a cursor and returns a cursor variable of the ref cursor type you defined in the package.  Example

6	Refine the query as desired:

•	Click the ref cursor query object, then choose Tools [image] Property Palette to modify properties.

•	Click the query object, then choose Tools [image] Data Wizard to specify which fields to display, group fields, and any totals.

7	Repeat Steps 1 through 6 for each ref cursor query you want to create.


Creating an external (shareable) query

  Related Topics

To create an external (shareable) query:

1	In the Object Navigator, click the External SQL Queries node.

2	Click [image] in the toolbar.

3	Double-click the new external query node icon.

4	In the External Query Definition dialog box, type the SELECT statement for the query.

5	Click [image] in the toolbar to save the query in the file system.


Creating a break group

  Next Step	  Related Topics

To create a break group using the Data Wizard:

1	In the Data Model view, click the query object, then choose Tools [image] Data Wizard.

2	On the Groups page, select one or more columns for break groups.

To create a break group manually:

  Demo

1	In the Data Model view, drag the title bar of the group object down.

2	Drag the break column (e.g., DEPTNO) above the group to create a new group. Note

3	(Optional) Double-click the new group object to display the Property Palette and set the desired properties.


(Oracle Express only) You must also drag the corresponding sort column to the new group in order to sort the dimension value.


Creating a matrix (crosstab) group

  Next Step	  Related Topics

To create a matrix (crosstab) group using the Data Wizard:

1	In the Data Model view, click the query object, then choose Tools [image] Data Wizard.

2	On the Query Name page, select the Matrix query check box.

3	Follow the wizard to select the columns for the matrix group(s), rows, columns, and cells.

To create a matrix (crosstab) group manually:

  Demo

1	In the Data Model view, drag the title bar of the group object down.

2	Drag the "row" column and "column" column into the space to create two new groups.

3	Single-click [image] in the tool palette.

4	Drag a box around the groups you want to include in the matrix (crosstab) group.

5	If the cell group is a separate query from the matrix (crosstab) groups, create the appropriate links between the columns in the matrix groups and the cell group.


Creating a data link

  Related Topics

To create a data link:

  Demo

1	In the Data Model view, single-click [image] in the tool palette.  Note

•	Create a Query to Query Link  To create a data link for each database constraint defined between the tables for two queries, click the parent query, then drag to the child query. Note

•	Create a Group to Group Link  To create a link between one query's group and another query's group, which is useful when you want the child query to know about the parent's data, click the parent group (avoiding the columns in the group) and drag a link to the child group.

•	Create a Column to Column Link  To create a link between columns, click a column of the parent query and drag a link to a column of the child query.

2	Double-click the new link object.

3	In the Property Palette, set the desired properties.


Creating a default layout for a report

  Related Topics

To create a default layout for a report:

1	To default the layout for the current report (by default, the Main section of the report), choose Tools [image] Report Wizard, then follow the wizard to create the layout for the report style you choose.

2	To add another layout section the current report layout, create an additional report layout.

3	Make further modifications to the default layout manually in the Layout Model view.  Warning:  if you re-enter the Report Wizard after making manual adjustments to your layout, you will lose some of your changes when you click Finish in the Report Wizard, which redefaults the layout.


Creating a default layout for a section
Creating a layout for a section

  Related Topics

To create a default layout for a report section:

1	In the Layout Model view, display the layout view for the section.

2	Choose Tools [image] Report Wizard.

3	Follow the wizard to create a default layout for your report.

4	To create a layout or objects in the margin area of a section, click [image] in the toolbar to view/edit the margin area.

5	To add another layout section the current layout, create an additional report layout.

6	Make further modifications to the default layout manually in the Layout Model view.  Warning:  if you re-enter the Report Wizard after making manual adjustments to your layout, you will lose some of your changes when you click Finish in the Report Wizard, which redefaults the layout.

7	Set properties for the section, as desired.


Preparing a report for the World Wide Web

  Next Step	  Related Topics

To prepare a report for the Web:

1	(Optional) Add desired Web links to a new or existing report:

•	Create a hyperlink (and, if linking to an object within the report, create an associated hyperlink destination )

•	Create an application command line link (PDF output only)

•	Create a bookmark

•	Create an HTML document header

•	Create an HTML document footer

•	Create an HTML page header

•	Create an HTML page footer

•	Create an HTML Parameter Form header

•	Create an HTML Parameter Form footer

2	Select a printer or use the default printer setup (the drivers for the currently selected printer are used to produce the output; you must have a printer configured for the machine on which you are running the report).

3	Choose Tools [image] Web Wizard.

4	On the last page of the wizard, select the desired output and save it to a file to display in your Web browser or PDF viewer.


Setting properties for an ASCII (character-mode) report

  Related Topics

To set properties for an ASCII (character-mode) report:

1	If this is a new report:

•	In the Object Navigator, click the Reports node, then click [image] in the toolbar.

2	Double-click [image] (the properties icon) next to the report node to display the Property Palette.

3	Under the Report node, set the Width and Height  properties as desired (e.g., 11 (or 15) width x 8.5 height for landscape or 8.5 width x 11 (or 15) height for portrait).

4	Under the Character Mode node:

•	Set Design In Character Units to Yes.

•	Set the Report Width and Report Height to the appropriate character-mode dimensions for the report (e.g., 132 (or 180) width x 66 height for landscape or 102 width x 85 (or 116) height for portrait).

5	In the Object Navigator, expand the Data Model node, then the System Parameters node.

6	Double-click the MODE properties icon to display the Property Palette.

7	Under the Parameter node, set the Initial Value property to Character.

8	In the Object Navigator, double-click [image] (the Layout Model node icon).

9	In the Layout Model view, choose Format [image] Layout Options [image] Rulers to display the Ruler Settings dialog box.

10	Set Units to Character Cells and Number of Snap Points Per Grid Spacing to 1.  Click OK.

11	Click View in the menu bar and make sure that Snap to Grid is checked.

12	Choose Tools [image] Preferences to display the Preferences dialog box.

13	On the Preferences page, set Horizontal Interfield to 1 and Vertical Interfield to 0.  Click OK.

14	Choose Format [image] Font, and select the font, style, and size that most closely approximates the character-mode font (e.g., Courier, Regular, 12 point).

If this is a new report, you are now ready to define your data model and layout; refer to the intructions for the type of report you want to create (e.g., tabular, group left, etc.).


Converting a bit-mapped report to ASCII (character-mode)

  Related Topics

To convert a bit-mapped report to an ASCII (character-mode) report:

1	In the Object Navigator, under the Reports node, click the report you want to convert.

2	Choose File [image] Administration [image] Convert.

3	In the Convert dialog box, on the Conversion page:

•	Set Document Type to Report.

•	Set Source Type to Report Binary File (RDF).

•	Set Source to the name of the existing bit-mapped report.

•	Set Destination Type to Report Binary File (RDF).

•	Set Destination to the name of the new character-mode report.

4	On the Options page, set Destination Unit to Character.

5	Click OK.

6	Set properties for your new character-mode report.


About converting a bit-mapped report to ASCII (character-mode)

  Related Topics

When you use Report Builder to convert a bit-mapped report to an ASCII (character-mode) report, the process will create a new character-mode version of your bit-mapped report; the original bit-mapped report remains unchanged.

After conversion, many of your fields and text objects may need to be resized.  Also, graphical objects such as images and drawings will not be included in your character-mode report.  The following lists summarize what is supported in each output format:

Character-mode	Bit-mapped

Boxes	Images
Horizontal lines	Colors
Vertical lines	Drawings
ASCII text	Ellipses/Circles
Boldface text	Buttons
Underlines	Italicized text
Bit-mapped patterns
Diagonal lines
Multimedia objects


Preparing a multi-platform report

  Related Topics

To prepare a report to run on multiple platforms, consider the following GUI differences:

Fonts  A font type, style, or size might not be available in the target GUI.  You can handle this in one of two ways:

•	Use a font that you know exists on the target GUI or one that maps well to the default font of the target GUI.

•	Modify the font mapping file, uifont.ali, to ensure that the fonts map correctly.

Colors  A color might not be available in the target GUI.  If possible, use a color that you know exists on the target GUI; otherwise, use one that maps well to the default color of the target GUI.  The following colors are typically available on many platforms:  blue, magenta, red, cyan, green, yellow.

DPI  The dots-per-inch (DPI) that your monitor uses may not be the same as the DPI used by the person who runs the report.  The DPI only affects how alpha-numeric characters word-wrap on the screen.  If you design a report that may be displayed in the Live Previewer view, try to use the same DPI as the people who will run it.  Also avoid giving layout objects fixed sizing.

See the Guidelines for Building Applications manual for detailed information about multi-platform considerations.


Preparing a report for translation into other languages

For detailed information about National Language Support (NLS), display the Help Topics window, then expand Report Builder Reference, then National Language Support.


Displaying a section layout view

  Related Topics

To display the layout view for a report section:

•	In the Layout Model view, do either of the following:

•	Choose View [image] Layout Section, then select the section you want to view and check whether or not you want to view/edit the margin area.

•	In the toolbar, click [image], [image], or [image] to view the Header Section, Main Section, or Trailer Section, respectively; click [image] to view/edit the margin area.


Setting properties for a section

  Related Topics

To set properties for a report section (including page size and orientation):

1	In the Object Navigator, expand the Layout Model node, then click the section (Header, Main, or Trailer) for which you want to set properties.

2	Choose Tools [image] Property Palette.

3	In the Property Palette, set properties as desired.


Changing the Object Navigator display settings

To change the Object Navigator display settings to make debugging easier:

1	In the Object Navigator, choose Navigator [image] Navigator Options.

2	In the property sheet, change the settings as desired.  Click OK.

3	To show the object hierachy, choose View [image] Ownership View.

4	To show the objects by type, choose View [image] Object Type View.


Tracing report execution

To set tracing options, do one of the following:

•	Choose Tools [image] Trace and fill out the dialog box as desired.

•	On the command line, specify tracing options using RWBLD60 or RWRUN60 with the TRACEFILE, TRACEMODE, and TRACEOPTS keywords.

•	Specify tracing options via the Report Builder built-in package using SRW.TRACE_START, SRW.TRACE_END, SRW.TRACE_ADD_OPTIONS, SRW.TRACE_REM_OPTIONS.


Tracing report distribution

  Related Topics

To trace report distribution:

1	In the Runtime Trace Settings dialog box, specify a name for the trace file in the Trace File field.

2	Check the Distribution check box.

3	Click OK.

4	Run the report.

5	Use a text editor (e. g., Wordpad) to open and view the trace of which distribution lists were used.  You can use this information to determine which section was sent to which destination. Note that the trace file format  is very similar to the .DST file format, so you can cut and past to generate a .DST file from the trace file.


Setting a breakpoint

  Next Step

To set a breakpoint in the execution of your report:

1	If the PL/SQL Interpreter is not already displayed, choose Program [image] PL/SQL Interpreter.

2	In the Object Navigator, single-click a compiled program unit node to display the program unit in the Interpreter Source pane.  Note

3	Double-click an executable statement where you wish to create the break point.  Tip

The breakpoint is inserted and is indicated by B00n, where n is the number of the breakpoint.  When you run the program unit, execution is suspended at the line just prior to the breakpoint.


Setting a debug trigger

  Next Step

To set a debug trigger:

1	If the PL/SQL Interpreter is not already displayed, choose Program [image] PL/SQL Interpreter.

2	In the Object Navigator, single-click a compiled program unit node to display the program unit in the Interpreter source pane.  Note

3	Select the line where you want to create the debug trigger and click the right mouse and choose the Trigger command from the pop-up menu.  Tip

4	If you want the trigger to fire at different location than the current program unit, select a location from the Location drop-down list.

5	Type the debug trigger in the Trigger Body text box.

6	Click OK.


Inserting a Navigator pane in the PL/SQL Interpreter

  Related Topics

To insert an Object Navigator pane in the PL/SQL Interpreter:

  Demo

1	If the Interpreter is not already displayed, choose Program [image] PL/SQL Interpreter.

2	Choose View [image] Navigator Pane to insert the Object Navigator pane in the middle of the PL/SQL Interpreter.

Notice that the button bar is updated with new Object Navigator buttons.

3	(Optional)  Use the split bars to resize the proportions of the three panes.


Stepping through the code

  Next Step	  Related Topics

To step through the code:

Before proceeding, you must already have set a debug action such as a breakpoint, and run your program unit at the PL/SQL Interpreter PL/SQL> prompt to suspend execution.

To step to the next line of the suspended program unit:

  Demo

  Click [image] in the Interpreter toolbar to execute the next line of executable code in the current program unit.

If the next executable line is a call to a nested subprogram, Step Into halts execution at the first line of the nested subprogram.

To step over a nested subprogram call in the suspended program unit:

  Demo

  Click [image] in the PL/SQL Interpreter toolbar.

Step Over executes any calls to nested subprograms and then halts execution at the next executable line of the current program unit.

To step out of a nested subprogram and return to the outer program unit:

  Demo

  Click [image] in the PL/SQL Interpreter toolbar.

If you previously used Step In to descend into a nested subprogram, Step Out completes execution of the nested subprogram and returns to the next line of the original program unit.

To resume program unit execution:

  Click [image] in the PL/SQL Interpreter toolbar.

Execution of the program unit continues until the program unit execution has finished, or until interrupted again by another debug action.

Note that if your debug action is located in a PL/SQL LOOP, using Go will cycle through the loop.

To exit suspended execution at the current debug level:

  Click [image] in the PL/SQL Interpreter toolbar.

Control is returned to the Interpreter, or to an outer debug level (if any exist).


Examining or changing local variables

  Next Step

You must currently have a suspended program unit in the PL/SQL Interpreter to examine or change local variables values.

To examine local variable values:

1	In the Object Navigator expand the Stack node to show the call stack frames.

2	Under the Stack node, double-click the node for the program unit whose variables you wish to examine or modify.

Each local variable is diplayed with its current value.

To edit local variable values:

1	In the Object Navigator expand the Stack node to show the call stack frames.

2	Under the Stack node, double-click the node for the program unit whose variables you wish to examine or modify.

Each local variable is displayed with its current value.

3	Click the variable value in the Object Navigator.

4	Click the variable value again to enter edit mode.

5	Change the value of the variable.

6	Click a blank area in the Object Navigator to exit edit mode and accept the changed value.

7	Resume program unit execution in the PL/SQL Interpreter to test the affect of the new value.


Disabling or enabling a debug action

  Next Step	  Related Topics

To disable a currently active debug action:

1	In the Object Navigator, expand the Debug Actions node, then click the action you want to disable.

2	Click the right mouse and choose Disable from the pop-up menu.

To enable a currently disabled debug action:

1	In the Object Navigator, expand the Debug Actions node, then click the action you want to enable.

2	Click the right mouse and choose Enable from the pop-up menu.


Editing a debug action

To edit a debug action:

1	In the Object Navigator, expand the Debug Actions node, then double-click the debug action icon to display the appropriate dialog.

2	Edit the content or properties of the debug action in the dialog.

3	Click OK.


Deleting a debug action

To delete a debug action:

1	In the Object Navigator, expand  the Debug Actions node, then click the action you want to delete.

2	Click [image] in the toolbar.


SELECT statement example (first query multi-group above report)

  Related Topics 	  All Examples

Following is an example of a SELECT statement for the first query of a multi-query group above report:

SELECT ENAME, EMPNO FROM EMP WHERE JOB = 'SALESMAN'


SELECT statement example (second query multi-query above report)
SELECT statement example (second query multi-query group above report)

  Related Topics 	  All Examples

Following is an example of a SELECT statement for the second query of a multi-query group above report:

SELECT REPID, PRODNAME, AMOUNT, CUSTNAME FROM SALES ORDER BY REPID, CUSTNAME


SELECT statement example (nested matrix)

  Related Topics 	  All Examples

Following is an example of a SELECT statement for a nested matrix report:

SELECT TO_CHAR(HIREDATE,'YY') YEAR, DEPTNO, JOB, SUM(SAL) FROM EMP GROUP BY TO_CHAR(HIREDATE,'YY'), DEPTNO, JOB ORDER BY TO_CHAR(HIREDATE,'YY'), DEPTNO, JOB


Hyperlink Destination example (static)

  Related Topics 	  All Examples

Following is an example of a value for the Hyperlink Destination property to identify an object as "link1":

LINK1


Hypelink Destination example (dynamic)
Hyperlink Destination example (dynamic)

  Related Topics 	  All Examples

Following is an example of a value for the Hyperlink Destination property to create an identifier dynamically:

'DEPT_DETAILS_' || LTRIM(TO_CHAR(:DEPTNO))

where :DEPTNO is a column value retrieved from the database at runtime.


Hyperlink example (static)

  Related Topics 	  All Examples

Following is an example of a value for the Hyperlink property to specify a link to a destination identified as "link1":

#LINK1


Hyperlink example (dynamic)

  Related Topics 	  All Examples

Following is an example of a value for the Hyperlink property to specify a link to a destination identified dynamically:

'DEPT_DETAILS_' || LTRIM(TO_CHAR(:DEPTNO))

where :DEPTNO is a column value retrieved from the database at runtime.


Hyperlink example (hyperlink to HTML document on remote server)

  Related Topics 	  All Examples

Following is an example of a value for the Hyperlink property to specify a link to an HTML document on a remote Web server:

HTTP://WWW.NETMACH.COM/MYDOC.HTM


Hyperlink example (hyperlink to script on remote server)

  Related Topics 	  All Examples

Following is an example of a value for the Hyperlink property to specify a link to a script on a remote Web server (may return either a PDF or an HTML document):

HTTP://WWW.NETMACH.COM/CGI-BIN/DOCSTUFF?PARAM1+PARAM2+PARAM3


Application Command Line example

  Related Topics 	  All Examples

Following is an example of a value for the Application Command Line property to add a link to an object that executes the specified command when the link is clicked in the formatted report:

C:\ORAWIN95\BIN\RWRUN60.EXE USERID=SCOTT/TIGER REPORT=EXAMPLE.RDF


Bookmark example (static bookmark string)

  Related Topics 	  All Examples

Following is an example of a value for the Bookmark property to create a bookmark string of "Expense Summary":

EXPENSE SUMMARY


Bookmark example (dynamic bookmark string)

  Related Topics 	  All Examples

Following is an example of a value for the Bookmark property to create a bookmark string dynamically:

:CATEGORY || ' EXPENSES'

where :CATEGORY is a column value retrieved from the database at runtime.


Bookmark example (ordered bookmark list)

  Related Topics 	  All Examples

Following is an example of a value for the Bookmark property to explicitly order the list of bookmarks.  For example, to order a bookmark entry as the first item in the bookmark list:  Note

1#EXPENSE SUMMARY


Bookmark example (ordered bookmark list, indented)

  Related Topics 	  All Examples

Following is an example of a value for the Bookmark property to explicitly order and indent the list of bookmarks.  For example, to indent a bookmark entry under the first item in the bookmark list:  Note

'1.1#':CATEGORY || ' EXPENSES'


Before Report Value example

  Related Topics 	  All Examples

Following is an example of a value for the Before Report Value property to include an HTML file that contains a company logo on the header page:

LOGO.HTM

Note that you must set the Before Report Type property to File before you can set the Before Report Value.


After Report Value example (append text)

  Related Topics 	  All Examples

Following is an example of a value for the After Report Value property to append text to the HTML document:

<ADDRESS>

QUESTIONS? -

<A HREF=MAILTO:WEBMASTER@XYZTECH.COM>WEBMASTER@XYZTECH.COM</A>

</ADDRESS>

</BODY>

</HTML>


After Report Value example (links to home pages)

  Related Topics 	  All Examples

Following is an example of a value for the After Report Value property to insert two links to home pages at the end of the report output:

<CENTER>

<A HREF="HTTP://WWW.ORACLE.COM/">ORACLE CORPORATION</A> -

<A HREF="HTTP://HOME.NETSCAPE.COM/">NETSCAPE</A>

</CENTER>

</BODY>

</HTML>'


Before Page Value example

  Related Topics 	  All Examples

Following is an example of a value for the Before Page Value and After Page Value properties to center the document in the browser:

Before Page value:  <CENTER>

After Page value:  </CENTER>


After Page Value example (insert GIF)

  Related Topics 	  All Examples

Following is an example of a value for the After Page Value property to insert a GIF file as a page separator:

<CENTER><IMG ALT="RULER" SRC="LINE.GIF" VSPACE=10><BR></CENTER>


Before Form Value example

  Related Topics 	  All Examples

Following is an example of a value for the Before Form Value property to include an HTML file that contains a company logo at the top of the HTML Parameter Form:

LOGO.HTM


After Form Value example (append text)

  Related Topics 	  All Examples

Following is an example of a value for the After Form Value property to append text to bottom of the HTML Parameter Form:

<B><FONT FACE="Arial, Helvetica"><FONT COLOR="#FF0000">

Click <IMG SRC="RUN.GIF" HEIGHT=18 WIDTH=18> to run the report using the parameters you have specified above.

</FONT></FONT></B>


Format Trigger example (inserting blank lines between groups of rows)

  Related Topics 	  All Examples

Following is an example a format trigger that will insert blank space between groups of rows (displays a boilerplate rectangle when the row count divided by the value of SPACE leaves no remainder).

FUNCTION SPACING RETURN BOOLEAN IS
BEGIN
  IF :CountENAMEPerReport MOD :SPACE = 0 THEN
    RETURN (TRUE);
  ELSE RETURN (FALSE);
  END IF;
END;


MAPI (Windows) email batch mode example (recipients by first and last names)
MAPI (Windows) e-mail batch mode example (recipients by first and last names)

  Related Topics 	  All Examples

Following is an example of specifying email recipients by first and last names when emailing a report in batch mode:  Note

RWRUN60 monthly.rdf USERID=scott/tiger DESTYPE=mail DESNAME="John Robertson,Mary Johnson,Anne" BATCH=yes


MAPI (Windows) email batch mode example (recipient with apostrophe in name)
MAPI (Windows) e-mail batch mode example (recipient with apostrophe in name)

  Related Topics 	  All Examples

Following is an example of specifying an email recipient whose name includes an apostrophe (O'Hara) when emailing a report in batch mode:  Note

RWRUN60 monthly.rdf USERID=scott/tiger DESTYPE=mail DESNAME="John,Tim O''Hara,Mary Johnson,Anne" BATCH=yes


MAPI (Windows) email example:  recipients by first and last names
MAPI (Windows) e-mail example (recipients by first and last names)

  Related Topics 	  All Examples

Following is an example of specifying email recipients by first and last names:  Note

"John Robertson,Steve Johnson,Paul"


MAPI (Windows) email example:  recipient with apostrophe in name
MAPI (Windows) e-mail example (recipient with apostrophe in name)

  Related Topics 	  All Examples

Following is an example of specifying an email recipient whose name includes an apostrophe (O'Hara):  Note

"John,Tim O''Hara,Steve Johnson,Paul"


Oracle*Mail (UNIX) email example:  multiple recipients
Oracle*Mail (UNIX) email example (multiple recipients)

  Related Topics 	  All Examples

Following is an example of specifying multiple email recipients:  Note

(JROBERTS, SJOHNSON, PHARVEY)


URL examples (link to image)

  Related Topics 	  All Examples

Following are examples of specifying URLs for images:

1	HTTP://www.oracle.com/images/logo.gif

2	HTTP://&<P_SERVER_NAME>/images/logo.gif

where P_SERVER_NAME is a user parameter of type CHAR

At runtime, the end user can specify a value for the parameter (e.g., P_SERVER_NAME = www.oracle.us.com for a dynamic URL link of HTTP://www.oracle.us.com/images/logo.gif).

3	FILE://c:/images/logo.gif

Note:  If you click Browse to find a file, Report Builder automatically prepends FILE:// to the returned path.


Ref Cursor example

  Related Topics 	  All Examples

empCur rcPackage.empCurType;

BEGIN
  OPEN empCur FOR SELECT * FROM emp;
  RETURN empCur;
END;

/* Note, rcPackage is a local program unit defined as: */

PACKAGE rcPackage IS
  TYPE empCurType IS REF CURSOR RETURN emp%ROWTYPE;
END;


Additional Hyperlink Attributes examples

  Related Topics 	  All Examples

Example 1

To specify the HTML frame that you want to replace with the destination of the hyperlink, include the following HTML in the Additional Hyperlink Attributes property setting:

TARGET=<name of the frame to replace>.

Otherwise, clicking the object will by default replace the frame with an entire window displaying the destination of the hyperlink.

Example 2

To generate a status line of information at the bottom of your Web browser when the mouse cursor passes over a Shopping Basket object, the Additional Hyperlink Attributes property setting includes the following HTML:

onMouseover "window.status='Click here to see what is in your shopping basket';return true" onMouseout ="window.status=' ';return true"

Result: 'Click here to see what is in your shopping basket' displays at the bottom of your Web browser when the mouse cursor passes over the Shopping Basket object.

You can also set the Additional Hyperlink Attributes property to call JavaScript functions, which can perform a desired action, such as changing object color as the cursor passes over it:

onMouseover="fSwitch(2, 1)" onMouseout ="fSwitch(2, 0)" onClick=”fSelect(2)”

Note:  To use JavaScript calls, you must alter the Before Report escape to include code similar to the following:

<!--  //hide from older browsers

// iCurrentSelect maps to the currently
// selected menu choice,
// which is the index of the choice
//in the base image name array
var iCurrentSelect = -1

// the BaseImgName array holds the base
// image name for each choice in the document
// if new choices are added, the 'name' of
// the image and gif file must match the value
// added to this array

aBaseImgName = new Array(9)
aBaseImgName[0] = "nw"
aBaseImgName[1] = "db"
aBaseImgName[2] = "tl"
aBaseImgName[3] = "ap"
aBaseImgName[4] = "dw"
aBaseImgName[5] = "ol"
aBaseImgName[6] = "it"
aBaseImgName[7] = "ot"
aBaseImgName[8] = "mo"

// create the image arrays for each menu
//choice

aChoice0 = new Array(2)
aChoice1 = new Array(2)
aChoice2 = new Array(2)
aChoice3 = new Array(2)
aChoice4 = new Array(2)
aChoice5 = new Array(2)
aChoice6 = new Array(2)
aChoice7 = new Array(2)
aChoice8 = new Array(2)

// preload the images into the image arrays

for (var i = 0 ; i < aBaseImgName .length; i++) {
  eval("aChoice" + i)[0] = new Image(150,27)
  eval("aChoice" + i)[0].src = "roll_images/" + aBaseImgName[i] + "_off.gif"
  eval("aChoice" + i)[1] = new Image(150,27)
  eval("aChoice" + i)[1].src = "roll_images/" + aBaseImgName[i] + "_on.gif"
}

function fSwitch(choiceNum, state) {
  // choiceNum = the array index of the
  // base img name that is being replaced
  // - nw=0, db=1 ....
  // state = array index of img to use
  // from image array - 0=off, 1=on,
  // (2=sel not implemented)
  if (iCurrentSelect != choiceNum) {
  // do not switch the current select
    eval("document." + aBaseImgName[choiceNum]).src = eval("aChoice" + choiceNum)[state].src
  }

  return true
}

function fSelect(choiceNum) {
  // if there is a previous select then
  // clear it state 0
  if (iCurrentSelect > -1) {
    eval("document." + aBaseImgName[iCurrentSelect]).src = eval("aChoice" + iCurrentSelect)[0].src
  }

  // image state of 1 hard wired, could be
  // passed as a variable
  eval("document." + aBaseImgName[choiceNum]).src = eval("aChoice" + choiceNum)[1].src
  // store the new selection
  iCurrentSelect = choiceNum

  return true;
}

//stop hiding -->


Chart hyperlink example

Suppose you create a report displaying the salary for each employee.  You can create a chart to display the same data.  On the Chart Hyperlinks page of the Web Wizard, move a chart from the Available Charts list to the Charts list. Click Finish.  Then, in the Layout Model view, double-click the chart object to view the Property Palette.  In the Chart Hyperlink property, you should see something like this:

#chart_name&sumsal

Where the chart_name is the name of a chart, and sumsal is the summary column for your report.  Note that these two values differ according to your query.

In the report output, a runtime user can click a section of the chart to access the corresponding row of data.  In this graphic, you can see Miller’s job title, as well as name and salary.


HTML Parameter Form example (default input to uppercase)

  Related Topics 	  All Examples

The following example specifies that data input values default to uppercase upon entry in a Parameter Form field. In the Parameter Form editor, create a Parameter Form field called PF_DESFORMAT, with a source of DESFORMAT. In the Property Palette, under Web Settings, set the Additional Attributes (HTML) property to the following:

onChange="this.value=this.value.toUpperCase()"

If an end user enters pdf as the destination format, the value will change to uppercase (i.e., PDF) in the Runtime Parameter Form when running the report via the Web.


HTML Parameter Form example (data input validation)

  Related Topics 	  All Examples

The following example shows you how to set Parameter Form fields for input validation when the report is run via the Web. Doing so will raise a message whenever an end user enters invalid data in the Parameter Form field.

In the Parameter Form editor, create a parameter form field called PF_DEPTNO and open the Property Palette. Under Parameter Form Field, set the Source property to DEPTNO. Under Web Settings, set the Additional Attributes (HTML) property to the following JavaScript event handler:

onChange="checkIt(this.form)"

In the Object Navigator, click [image] (the properties icon of your report) and open the Property Palette. Under Report Escapes, set the Before Form Type to Text and insert the following JavaScript code in the Before Form Value property:

<SCRIPT LANGUAGE = "JavaScript">

function isNumber(inputStr){

   for (var i = 0; i < inputStr.length; i++) {

var oneChar = inputStr.charAt(i)

if (oneChar < "0" || oneChar > "9") {

alert("Please enter a numeric value.")

return false

             }

     }

    return true

}

function checkIt(form) {

inputStr = form.DEPTNO.value

if (isNumber(inputStr)) {

// statements if true

} else {

form.numeric.focus()

form.numeric.select()

}

}

</SCRIPT>

At runtime, if the end user enters the department name in the Runtime Parameter Form rather than the department number when running the report via the Web, the following message is raised:

Please enter a numeric value.


HTML Parameter Form example (select validation)

  Related Topics 	  All Examples

The following example shows you how to set Parameter Form fields for select validation when the report is run via the Web. Doing so will raise a message whenever an end user selects Printer from the DESTYPE list of values in the Runtime Parameter Form.

In the Parameter Form editor, create a parameter form field called PF_DESTYPE and open the Property Palette. Under Parameter Form Field, set the Source property to DESTYPE. Under Web Settings, set the Additional Attributes (HTML) property to the following JavaScript event handler:

onChange="isPrinter(this.form)"

In the Object Navigator, click [image] (the properties icon of your report) and open the Property Palette. Under Report Escapes, set the Before Form Type to Text and insert the following JavaScript code in the Before Form Value property:

<SCRIPT LANGUAGE = "JavaScript">

function isPrinter(form) {

  if( form.DESTYPE.options[form.DESTYPE.selectedIndex].value == 'Printer')

    alert("Please be sure that your print is installed and running.")

    return true}

   }

</SCRIPT>

At runtime, if the end user selects Printer from a list of values in the DESTYPE field, the following message is raised:

Please be sure that your print is installed and running.


Building a user exit

  Related Topics

To build a user exit:

1	Create your report without user exits.

2	Decide which user exits are needed.

3	Write the user exit using one of the host programming languages.

4	Implement the user exit by modifying the sample source file or creating your own source file.

5	Create the Report Builder object and the user exit call (followed by arguments that you wish to pass).


Building a procedure call

  Related Topics

To produce a program that contains a procedure call:

1	Write a program using one of the ORACLE Programmatic Interface host languages (Ada, C, COBOL, FORTRAN, Pascal, or PL/l).  Include in your program one or more procedure calls.

2	Compile your program.  This will create an object file.

3	Each Report Builder procedure call was written in C.  Those C programs were compiled, and their resulting object files were shipped with Report Builder.  Link your program with the Report Builder object file(s) it references.


Modifying a query

  Related Topics	  Next Step

To modify a SQL query statement or the columns displayed in your report:

1	In the Data Model view, click the query object, then choose Tools [image] Data Wizard.

•	To change the SELECT statement, click the Data tab.

•	To change the break groups, click the Groups tab.

•	To add or change summary columns for totals, click the Totals tab.

2	To change which selected database columns are displayed in your report, choose Tools [image] Report Wizard, then click the Fields tab.

To modify the properties of a query:

1	In the Data Model view, click the query object, then choose Tools [image] Property Palette.

2	In the Property Palette, modify the properties as desired.


Editing text

  Related Topics

To insert and replace text:

1	In the Live Previewer view, click the text object.  Note

2	Click the text to change to edit mode.

3	Modify the text as desired, then click outside  the text object.

To delete text:

1	In the Live Previewer view, click the text object.  Note

2	To cut all the text, choose Edit [image] Clear.

3	To cut portions of text, click and drag to mark the text you want to cut, then press Delete

To cut, copy, or paste text:

1	In the Layout Model view, click the text object.  Note

2	Click and drag to mark the text you want to cut or copy.

3	Choose Edit [image] Cut or Edit [image] Copy.

4	To paste text, choose Edit [image] Paste.


Changing text attributes

  Related Topics

To change the font, justification, spacing, or reading direction of text:

1	In the Live Previewer view, click the text object(s).  Tip  Note

2	From the Format menu, choose Font, Justify, Text Spacing, or Direction.


Wrapping text in a field

  Related Topics

To wrap text in a field:

1	Choose Tools [image] Report Wizard.

2	In the Report Wizard, click the Labels tab.

3	Change the value in the Width column for the field in which you want to wrap text, as desired.

4	Click Apply.

5	In the Layout Model view, double-click the field.  Note

6	In the Property Palette, under the General Layout node, verity that the Vertical Elasticity property is set to Expand.


Changing object border attributes

  Related Topics

To change the borders around an object:

1	In the Live Previewer view, click the object(s).  Tip  Note.

2	To change the line width, choose Format [image] Line width.

3	To select a pattern, choose Format [image] Dash.  Even though it appears in the output, the dash pattern is sometimes obscured by the object's outline.  You can choose Format [image] Layout Options [image] Layout Model and set Options:Frame Outlines off.

4	To "frame" the border, choose Format [image] Bevel.


Showing or hiding object borders

  Related Topics

To show or hide the borders around an object:

1	In the Live Previewer view, click the object(s).  Tip  Note.

2	Click [image] (the line color tool) in the tool palette.

3	To add a border, click the solid black square.

4	To remove a border, click No Line at the bottom of the color palette.  Tip

5	To show or hide part of the border, choose Format [image] Border, and select from the menu to toggle between showing and hiding the sides of the border.


Changing colors using the user interface
Changing colors

  Related Topics

To change the color of an object:

1	In the Live Previewer view, click the object(s).  Tip  Note

2	Click [image] (the fill color tool), [image] (the line color tool), or [image] (the text color tool) in the tool palette, depending on which part of the object you want to apply a color to.

3	On the color palette, click a color.


Changing patterns

  Related Topics

To change the pattern of an object:

1	In the Live Previewer view, click the object(s).  Tip  Note

2	Click [image] (the fill color tool) or [image] (the line color tool) in the tool palette, depending on which part of the object you want to apply a pattern to.

3	On the color palette, click Patterns.

4	On the pattern palette, click a pattern.  To change the foreground and background colors, choose from the drop-down color palettes at the bottom of the pattern palette.

5	Double-click the System Menu icon to close the pattern palette.


Applying a format mask to a numeric object

  Related Topics

To apply a format mask to a numeric object:

1	In the Live Previewer view, click the object(s).  Tip

2	To apply the currency format to the object, click [image] in the toolbar.

3	To apply the percentage format to the object, click [image] in the toolbar.

4	To add commas to the value of the object, click [image] in the toolbar.  To move the comma right or left, click [image] or [image].

5	Choose Tools [image] Property Palette.  Tip

6	Under the Field node, verify the Format Mask property is set to the desired format.

7	Set other properties as desired.


Applying a format mask to a date object

  Related Topics

To apply a format mask to a date object:

1	In the Live Previewer view, click the object(s).  Tip

2	Choose Tools [image] Property Palette.  Tip

3	Under the Field node, set the Format Mask property to the desired date format.

4	Set other properties as desired.


Moving mulitple objects
Moving multiple objects

  Related Topics

To move multiple objects:

1	Click or drag a box around the objects you want to move.  Tip

2	Use the arrow keys on your keyboard to move the objects in the desired direction.


Moving an object outside its parent

  Related Topics

To move a child object outside its enclosing parent object:

  Demo

1	In the Layout Model view, verify that Confine mode is off (the button in the toolbar displays as [image]).

2	Click and drag the child object(s) as desired.  Tip


Adjusting parent borders automatically

  Related Topics

To adjust parent borders as you move child objects:

  Demo

1	In the Live Previewer view, verify that Flex mode is on (the button in the toolbar displays as [image]).  Note

2	Click and drag the child object(s) as desired.  Tip

3	To move an object that aligns with another object in the horizontal or vertical direction (for example, a field and its label), hold down the Ctrl key as you drag the first object.  To move both objects simultaneously, do not use the Ctrl key.


Moving columns in report output
Moving a column in report output

  Related Topics

To move a column in report output:

1	In the Live Previewer view, click the column.  Note

2	Verify that Flex mode is on (the button in the toolbar displays as [image]).

3	Drag the column to the desired position.


Aligning objects

  Related Topics

To align objects:

1	In the Layout Model view or Parameter Form view, click the objects you want to align.  Tip

2	Choose Arrange [image] Align Objects.

3	In the dialog box, specify the desired alignment.

4	Click OK.

To apply the current alignment to other objects:

1	In the Layout Model view or Parameter Form view, click the objects you want to align.  Tip

2	Choose Arrange [image] Repeat Alignment.


Moving an anchor

  Related Topics

To move an anchor:

1	In the Layout Model view, click the anchor.

2	Click [image] in the tool palette, then drag one of the anchor endpoints to its new location on the object edge.

To move an anchor along an object edge in 25% increments:

  Press the constrain (e.g., shift) key when moving the anchor.


Changing object layering

  Related Topics

To change the order in which objects are layered on top of each other:

1	In the Layout Model view, verify that Confine mode is off (the button in the toolbar displays as [image]).

2	Click the object you want to move.  Note

3	Choose one of the following items from the Arrange menu:

•	Bring to Front to move the object in front of all other objects.

•	Send to Back to move the object behind all other objects.

•	Move Forward to move the object in front of the object directly on top of it.

•	Move Backward to move the object behind the object directly underneath it.


Rotating a boilerplate object

  Related Topics

To rotate a boilerplate object:

1	In the Layout Model view or Parameter Form view, click the object(s) or group(s) you want to rotate.  Tip

2	Click [image] in the tool palette.

3	Drag a handle to rotate the object or group.


Resizing an object

  Related Topics

To resize one or more objects:  Note

1	Click the object(s).  Tip

2	Set the size:

•	For a fixed size, drag the handle of one of the selected objects.  All selected objects will change size accordingly.

•	Or, choose Tools [image] Property Palette.  In the common Property Palette, under the General Layout node, set the Vertical Elasticity and Horizontal Elasticity properties to Contract, Expand, Fixed, or Variable.


Making multiple objects the same size

  Related Topics

To make multiple objects the same size:

1	In the Layout Model view or Parameter Form view, click the objects you want to size.  Tip

2	Choose Arrange [image] Size Objects.

3	In the dialog box, specify the desired settings.  Click OK.

To repeat the previous Arrange [image] Size Objects setting:

1	In the Layout Model view or Parameter Form view, click the objects you want to resize.  Tip

2	Choose Arrange [image] Repeat Elasticity.


Adjusting margins

  Related Topics

To adjust margins:

1	In the Layout Model view, click [image] in the toolbar.  Note

2	Click the margin border, then drag a handle to the desired position.  You can adjust the margin on all four sides of a report.

3	Click [image] in the toolbar to reactivate the body area of the report.


Changing column widths
Changing columns labels or widths

  Related Topics

To change column labels or widths:

1	Choose Tools [image] Report Wizard.

2	In the Report Wizard, click the Labels tab.

3	Change the values in the Labels and Width columns, as desired.

4	Click Apply.


Changing spacing within a field

  Related Topics

To change spacing within a field:

1	In the Live Previewer view, click the field(s).  Tip  Note

2	Choose Format [image] Text Spacing and select the desired spacing for the field value.


Changing the default layout spacing

  Related Topics

To change the default layout spacing:

1	Choose Tools [image] Preferences to display the property sheet.

2	Click the Wizards tab.

3	To increase the space between objects and the objects they enclose, type larger values for Horizontal Gap and Vertical Gap.

4	To increase the space between fields, type larger values in Horizontal Interfield and Vertical Interfield.

5	Click OK.


Changing the space between all rows
Changing the spacing between all rows

  Related Topics

To change the spacing between all rows using the Live Previewer:

1	In the Live Previewer view, click the second record.

2	Drag the second record down to create the desired spacing between all rows in the report output.

To change the spacing between all rows using the Property Palette:

1	In the Live Previewer view, click any field in the body of the report.  Note

2	Click [image] (Select Parent Frame) in the toolbar.

3	Choose Tools [image] Property Palette.  Tip

4	Under the Repeating Frame node, set the Vert. Space Between Frames (inches) property to the amount of blank space to leave between row in the report output (e.g., 0.25).


Adding blank lines between groups of rows

{ [image]  Related Topics	  Examples

To add blank lines between groups of rows:

1	Create a summary column.  On the Totals page of the Data Wizard (or Report Wizard), select any field that appears in each row of output, and Count as the calculation.  On the Fields page, remove the summary from the displayed fields column.

2	Create a user parameter named SPACE.  In the Property Palette, under the Parameter node, set the Datatype property to Number and the Initial Value property to the number of records you want in each group (e.g., 5).

3	In the Layout Model view, verify that Flex mode is on and Confine mode is off (the buttons in the toolbar display as [image] and [image]).

4	Click the repeating frame for the record, then drag the handle on the bottom of the frame to create a space slightly larger than the space you want to add between groups of rows in the report output.

5	Choose Tools [image] Property Palette to display the Property Palette for the repeating frame.

6	Under the General Layout node, set the Vertical Elasticity  property to Variable.

7	Click [image] in the tool palette.

8	Draw a rectangle in the space under the record.

9	Double-click the rectangle object.

10	In the Property Palette, under the Advanced Layout node, double-click the Format Trigger property value field.

11	In the PL/SQL Editor, define the PL/SQL for the format trigger.  Example

12	Hide the border on the rectangle object.


Adding a page break

  Related Topics

To add a page break:

1	In the Live Previewer view, click any field that is part of the frame at which you want to insert a page break.  Note

2	Click [image] (Select Parent Frame) in the toolbar.

3	Choose Tools [image] Property Palette.  Tip

4	To set a page break

•	before or after the selected frame:  under the General Layout node, set the Page Break Before or Page Break After property to Yes.

•	after a certain number of rows of output on each page:  under the Repeating Frame node, set the Maximum Records per Page property to the number of rows you want to display on each page.

5	To display icons that identify where page breaks are set, choose View [image] Page Breaks in the Layout Model view:  (icons display as [image] for page break before and [image] for page break after).

Note:  Report Builder does not support setting a page break at a specific row of report output.


Anchoring objects together

  Related Topics

To anchor objects together:  Note

1	In the Layout Model view, click [image] in the tool palette.

2	Click an edge of the child object and double-click an edge of the parent object.

A line is drawn from the child to the parent.  A small box appears at the end of the line that is attached to the parent object.


Applying conditional formatting to an object

  Related Topics

To apply conditional formatting to a layout object:

1	Click the object, then choose Format [image] Conditional Formatting.  Tip

2	In the Conditional Formatting dialog box, click New to display the Format Exception dialog box.

3	Specify the conditions and formatting attributes to be applied when the condition(s) evaluate to TRUE.

4	Click OK.


Creating a break group (video)
Creating a break group

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


About Confine mode (video)
About Confine mode

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


About Flex mode (video)
About Flex mode

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Creating a data link (video)
Creating a data link

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Creating a matrix data model (video)
Creating a matrix data model

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Creating a data model object (video)
Creating a data model object

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Adding a program unit to an open library (video)
Adding a program unit to an open library

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Moving a program unit from client to server (video)
Moving a program unit from client to server

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Compiling a single program unit (video)
Compiling a single program unit

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Inserting a Navigator pane in the PL/SQL Interpreter (video)
Inserting a Navigator pane in the PL/SQL Interpreter

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Stepping over a nested subprogram call (video)
Stepping over a nested subprogram call

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Stepping to the next line of executable code (video)
Stepping to the next line of executable code

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Stepping out of a nested subprogram (video)
Stepping out of a nested subprogram

  Related Topics

Click [image] at the bottom of the video player to start the animated demo.


Deleting an object

To delete an object:

1	Click the object(s).  Tip

2	Choose Edit [image] Clear.


Changing the current mode (Confine or Flex)

  Related Topics

To set or override Confine mode:

  Demo

  In the Layout Model view, click [image] or [image] in the toolbar to toggle the mode:

On:  child objects cannot be moved outside their enclosing parent objects.

Off:  child objects can be moved outside their enclosing parent objects.

To set or override Flex mode:

  Demo

  In the Layout Model view, click [image] or [image] in the toolbar to toggle the mode:

•	On:  parent borders "stretch" when child objects are moved against them.

•	Off:  parent borders remain fixed when child objects are moved against them.


Connecting to a database

To connect to a database, use one of the following methods:

•	Explicit login

•	Automatic login

•	Remote login


Setting report properties

To set the properties for a report:

1	In the Object Navigator, double-click [image] (the properties icon) for the report to display the Property Palette.

2	Set report properties as desired.


Setting report preferences
Specifying report preferences

To specify the preferences for a report:

1	Choose Tools [image] Preferences.

2	Set values as desired.


Changing the Live Previewer title

To change the title in the title bar of the Live Previewer:

1	In the Object Navigator, double-click [image] (the properties icon) for the report to display the Property Palette.

2	Under the Report node, set the Title property to the desired title.


Displaying the Parameter Form at runtime

  Next Step	  Related Topics

To display the Runtime Parameter Form when you run your report:

1	Choose Tools [image] Preferences.  On the Runtime Settings page, make sure that the Parameter Form check box is checked.

2	Do one of the following:

•	In the Parameter Form view, create desired objects.

•	Double-click [image] (the properties icon) for the desired parameter to display the Property Palette.

3	Under the Parameter node, set the Initial Value property, if required.

4	To validate the parameter's value at runtime, double-click the Validation Trigger property value field.  In the PL/SQL Editor, define the PL/SQL to be triggered at runtime.


Using a pre-defined system parameter

  Next Step	  Related Topics

To use a system parameter:

1	In the Object Navigator, expand  the Data Model node, then expand the System Parameters node.

2	Double-click [image] (the properties icon) for the desired parameter to display the Property Palette.

3	Under the Parameter node, set the Initial Value property, if required.

4	To validate the parameter's value at runtime, double-click the Validation Trigger property value field.  In the PL/SQL Editor, define the PL/SQL to be triggered at runtime.


Creating a user parameter

  Next Step	  Related Topics

To create a user parameter:

1	In the Object Navigator, expand  the Data Model node, then click the User Parameters node.

2	Click [image] in the toolbar.

3	Double-click [image] (the properties icon) for the new parameter to display the Property Palette.

4	Under the General Information node, replace the Name property with the desired parameter name.

5	Under the Parameter node, set the Initial Value and List of Values properties, if required.

6	To validate the parameter's value at runtime, double-click the Validation Trigger property value field.  In the PL/SQL Editor, define the PL/SQL to be triggered at runtime.


Creating a list of values (LOV) for a parameter

To create a LOV for a parameter:  Tip

1	In the Object Navigator, expand the Data Model node, then expand the User Parameters node.

2	Double-click [image] (the properties icon) for the parameter for which you want to create a LOV to display the Property Palette.

3	Under the Parameter node, double-click the List of Values property value field to display the Parameter List of Values dialog box.

4	Select the type of list that you want to create:

•	For Static Values, type a value in the Value text box and click Add.  Repeat for each value you want to add.  (Click Remove to delete items from the list)

•	For SELECT Statement, type a query to populate the list of values.  You can select more than one column to display in the LOV, where the first column contains the value to be assigned to the parameter.  The LOV displays columns in the order specified in the query.

5	If you want the parameter value to be restricted to only those in the LOV, select the Restrict List to Predetermined Values check box.  To display a combo box that allows users to edit values or type a different value in the Runtime Parameter Form, clear the check box.

6	If you do not want the first column (which contains the parameter value) of your query displayed in the LOV, select the Hide First Column check box.  If there is no need to preserve the confidentiality of the first column, clear the check box.

Warning:

•	If you send the report output to an HTML file, either from Report Builder or running it in your Web browser, the value of the first column will be visible in the HTML source, even if Hide First Column is selected.

•	If you run the report from a Web browser and the list of values is unrestricted, the HTML Parameter Form will display a combo box as a text field, and a list of static values that you can copy and paste into the text field.  In this case, the first column will always be shown in the Parameter Form, even if Hide First Column is selected.

7	Click OK.


Validating a parameter value at runtime

  Examples	   Related Topics

To validate a parameter value at runtime:  Tip

1	In the Object Navigator, expand  the Data Model node, then expand the System Parameters or User Parameters node.

2	Double-click [image] (the PL/SQL icon) for the parameter for which you want to add a PL/SQL validation trigger.

3	In the PL/SQL Editor, define the PL/SQL to be triggered at runtime.


Creating a default parameter form

  Next Step	  Related Topics

To create a default Parameter Form:

1	Choose Tools [image] Parameter Form Builder.

2	Click OK to display the Parameter Form view with the default parameter form.


Selecting parameters to include in the Parameter Form
Selecting parameters to include in the Runtime Parameter Form

  Related Topics

To select parameters to include in the Runtime Parameter Form:  Tip

1	Choose Tools [image] Parameter Form Builder.

2	Select the parameters you want to include in the Runtime Parameter Form.

3	Modify the parameter labels as desired.

4	Click OK to display the Parameter Form view.


Adding more pages to the Runtime Parameter Form

To add more pages to the Runtime Parameter Form:

1	In the Object Navigator, double-click [image] (the report icon) next to the report name.

2	In the Property Palette, under the Parameter Form Window node, set the Number of Pages property as desired.


Defining PL/SQL

  Related Topics

To define PL/SQL:

1	In the PL/SQL Editor, type or edit the PL/SQL code for the program unit.

2	Click Compile.

3	If necessary, click an error to navigate to its location in the source code.  Tip

4	When the code compiles successfully, click Close.


Creating a hyperlink using PL/SQL

  Restrictions	  Examples	  Next Step	  Related Topics

To add a hyperlink to your report using PL/SQL instead of the Property Palette:

1	In the Object Navigator, expand  the Layout Model node, then expand the node that contains the object that will be the source of the Web link.  Note

2	Double-click [image] (the PL/SQL icon) next to the object that will be the source of the Web link.

3	In the PL/SQL Editor, include SRW.SET_HYPERLINK to define the PL/SQL for the format trigger.

4	To apply additional HTML attributes to the hyperlink, use SRW.SET_HYPERLINK_ATTRS


Creating an application command line link using PL/SQL

  Restrictions	  Examples	  Related Topics

To associate a command with an object in your report using PL/SQL instead of the Property Palette:

1	In the Object Navigator, expand  the Layout Model node, then expand the node that contains the object with which you want to associate an application command line link.  Note.

2	Double-click [image] (the PL/SQL icon) next to the object with which you want to associate an application command line link.

3	In the PL/SQL Editor, include SRW.SET_PDF_ACTION to define the PL/SQL for the format trigger.


Creating a bookmark using PL/SQL

  Examples	  Related Topics

To add a bookmark string in the bookmark area of your report using PL/SQL instead of the Property Palette:

1	In the Object Navigator, expand  the Layout Model node, then expand the node that contains the object with which you want to associate a bookmark (typically, the object is a repeating frame or frame that encloses the relevant section of the report).  Note.

2	Double-click [image] (the PL/SQL icon) next to the object with which you want to associate a bookmark.

3	In the PL/SQL Editor, include SRW.SET_BOOKMARK to define the PL/SQL for the format trigger.


Creating a hyperlink destination using PL/SQL

  Examples	  Next Step	  Related Topics

To add a hyperlink destination to your report using PL/SQL instead of the Property Palette:

1	In the Object Navigator, expand  the Layout Model node, then expand the node that contains the object that will be the destination of a Web link.  Note.

2	Double-click [image] (the PL/SQL icon) next to the object that will be the destination of a Web link.

3	In the PL/SQL Editor, include SRW.SET_LINKTAG to define the PL/SQL for the format trigger.


Creating an HTML document header using PL/SQL

  Examples 	  Related Topics

To add items to the header page of your HTML document using PL/SQL instead of the Property Palette:  Note

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) next to the Before Report trigger.

3	In the PL/SQL Editor, include SRW.SET_BEFORE_REPORT_HTML to define the PL/SQL for the format trigger.


Creating an HTML document footer using PL/SQL

  Examples 	  Related Topics

To add items to the footer page of your HTML document using PL/SQL instead of the Property Palette:  Note

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) next to the Before Report trigger.

3	In the PL/SQL Editor, include SRW.SET_AFTER_REPORT_HTML to define the PL/SQL for the format trigger.


Creating an HTML page header using PL/SQL

  Examples 	  Related Topics

To add a page header to every page of your HTML document using PL/SQL instead of the Property Palette:  Note

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) next to the Before Report trigger.

3	In the PL/SQL Editor, include SRW.SET_BEFORE_PAGE_HTML to define the PL/SQL for the format trigger.

To add a page header to a single page of your HTML document using PL/SQL:  Note

1	In the Object Navigator, expand the Layout Model, then expand the node that contains the object that should fire the trigger when formatted.

2	Double-click [image] (the PL/SQL icon) next to the object that should fire the trigger when formatted.

3	In the PL/SQL Editor, include SRW.SET_BEFORE_PAGE_HTML to define the PL/SQL for the format trigger.


Creating an HTML page footer using PL/SQL

  Examples 	  Related Topics

To add a page footer to every page of your HTML document using PL/SQL instead of the Property Palette:  Note

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) next to the Before Report trigger.

3	In the PL/SQL Editor, include SRW.SET_AFTER_PAGE_HTML to define the PL/SQL for the format trigger.

To add a page footer to a single page of your HTML document using PL/SQL:  Note

1	In the Object Navigator, expand the Layout Model, then expand the node that contains the object that should fire the trigger when formatted.

2	Double-click [image] (the PL/SQL icon) next to the object that should fire the trigger when formatted.

3	In the PL/SQL Editor, include SRW.SET_AFTER_PAGE_HTML to define the PL/SQL for the format trigger.


Creating an HTML Parameter Form header using PL/SQL

  Examples 	  Related Topics

To add items to the top of the HTML Parameter Form using PL/SQL instead of the Property Palette:  Note

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) next to the Before Parameter Form trigger.

3	In the PL/SQL Editor, include SRW.SET_BEFORE_FORM_HTML to define the PL/SQL for the format trigger.


Creating an HTML Parameter Form footer using PL/SQL

  Examples 	  Related Topics

To add items to the bottom of the HTML Parameter Form using PL/SQL instead of the Property Palette:  Note

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) next to the Before Parameter Form trigger.

3	In the PL/SQL Editor, include SRW.SET_AFTER_FORM_HTML to define the PL/SQL for the format trigger.


Adding navigation controls for HTML page-streamed output using PL/SQL

 Related Topics

To add navigation controls for HTML page-streamed output:

•	in a Before Report trigger, use the SRW.SET_PAGE_NAVIGATION_HTML PL/SQL procedure.


Using a built-in package

  Related Topics

To use a built-in package:

1	In the Object Navigator, expand the Built-in Packages node.

2	Expand the package you want to use.

3	Double-click [image] (the PL/SQL icon) next to a procedure, function, or exception to view the PL/SQL code.

4	Include any procedure or function in PL/SQL program units.


Creating a local program unit

  Next Step	  Related Topics

To create a local (client side) program unit:

1	In the Object Navigator, click the Program Units node.

2	Click [image] in the toolbar.

3	In the dialog box, type a name for the program unit in the Name text box.

4	If your program unit is not a procedure, click the Function or Package Spec or Package Body radio button.  Click OK.

5	In the PL/SQL Editor, define the PL/SQL for the program unit.


Creating a stored program unit

  Next Step	  Related Topics

To create a stored (server side) program unit:

1	Choose Program [image] Stored PL/SQL Editor.

2	In the Stored PL/SQL editor, select a database owner name from the Owner drop-down list to indicate where the program unit will be stored in the database.

3	Click New.

4	In the dialog box, Type a name for the program unit in the Name text box.

5	If your program unit is not a procedure, click the Function or Package Spec or Package Body radio button.  Click OK.

6	In the PL/SQL Editor, define the PL/SQL for the stored program unit.


Editing a program unit

  Next Step	  Related Topics

To edit a program unit:

1	In the Object Navigator, expand the Program Units node.

2	Double-click [image] (the PL/SQL icon) for the program unit you want to edit.

3	In the PL/SQL Editor, edit the PL/SQL for the program unit.


Deleting a program unit

  Next Step	  Related Topics

To delete a program unit:

1	In the Object Navigator, expand the Program Units node.

2	Click the program unit you want to delete.

3	Click [image] in the toolbar.

4	In the message box, click Yes.


Importing source code from a text file

  Next Step	  Related Topics

To import source code from a text file:

1	In the Object Navigator, click the Program Units node.

2	Click [image] in the toolbar.

3	In the dialog box, type a name for the program unit in the Name text box.

4	If your program unit is not a procedure, click the Function or Package Spec or Package Body radio button.  Click OK.

5	In the PL/SQL Editor, place the cursor in the Source pane where you want to insert the text file.

6	Choose File [image] ImportText.

7	In the dialog box, specify the name and location of the text file to import.  Click OK.

8	(Optional) Edit the text file, if necessary.

9	Click Compile.

10	If necessary, click an error to navigate to its location in the source code.  Tip

11	When the code compiles successfully, click Close.


Creating a report trigger

  Related Topics

To create a report trigger:

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] for the trigger you want to create.

3	In the PL/SQL Editor, define the PL/SQL for the report trigger.


Deleting a report trigger

  Related Topics

To delete a report trigger:

1	In the Object Navigator, expand the Report Triggers node.

2	Double-click [image] (the PL/SQL icon) for the trigger you want to delete.

3	In the PL/SQL Editor, drag to select the PL/SQL code.

4	Choose Edit [image] Clear.


Creating a button to execute PL/SQL

  Examples	  Related Topics

To create a button in the report layout to execute PL/SQL:

1	In the Layout Model view, click [image] in the tool palette.  Note

2	Click and drag a rectangle.

3	Double-click the button object to display the Property Palette.

4	Under the Button Label node, set the Label Type property to either Text or Icon:

•	If the button label is text, set the Text property to the text you want to appear on the button.

•	If the button label is an icon, set the Icon Name property to the name of the file containing the icon (the file must reside in the directory specified by the UI_ICON environment variable).

5	Under the Button Behavior node, set the Type property to PL/SQL.

6	Double-click the PL/SQL Trigger property value field.

7	In the PL/SQL Editor, define the PL/SQL for the action trigger or format trigger when the button is clicked in the formatted report.

8	Set other properties as desired.

9	To activate the button, run the report, then display it in the Runtime Previewer.


Exporting source code to a text file

  Related Topics

To save source code to a file:

1	In the Object Navigator, expand the Program Units node.

2	Double-click [image] (the PL/SQL icon) for the program unit you want to save to a file.

3	To export part of the program unit, select the text you wish to export, otherwise the entire contents of the program unit are exported.

4	Choose File [image] Export Text.

5	In the dialog box, type a name and directory location for the exported program unit text file.  By default, exported program units are given the .pls file extension.

6	Click OK.


Creating or editing a group filter

  Restrictions 	  Related Topics

To create or edit a group filter:

1	In the Data Model view, double-click the title bar of the group to display the Property Palette.

2	Scroll to the Group node.

3	To display the first n records for the group, set the Action Type property to First and set the Number of Records property to n.

4	To display the last n records for the group, set the Action Type property to Last and set the Number of Records property to n.

5	To create your own filter using PL/SQL, set the Action Type property to PL/SQL and double-click the PL/SQL Filter property value field.  In the PL/SQL Editor, define the PL/SQL for the filter.

6	Set other properties as desired.


Creating or editing a format trigger

  Examples	  Related Topics

To create or edit a format trigger using the Property Palette:

1	In the Live Previewer view, double-click the object for which you want to create or edit a format trigger to display the Property Palette.  Note

2	Under the Advanced Layout node, set the format trigger property by clicking the value field (labeled …) to display the PL/SQL Editor.

3	In the PL/SQL Editor, define the PL/SQL for the format trigger.

To create or edit a format trigger using the Object Navigator:

1	In the Object Navigator, expand  the Layout Model node, then expand the node that contains the object for which you want to create or edit a format trigger.  Note.

2	Double-click [image] (the PL/SQL icon) next to the object for which you want to create or edit a format trigger.

3	In the PL/SQL Editor, define the PL/SQL for the format trigger.


Creating or editing an action trigger

  Examples	  Related Topics

To create or edit an action trigger using the Property Palette:

1	In the Layout Model view, double-click the button object for which you want to create or edit an action trigger to display the Property Palette.

2	Under the Button Behavior node:

•	Set the Type property to PL/SQL.

•	Set the PL/SQL trigger property by clicking the value field (labeled …) to display the PL/SQL Editor.

3	In the PL/SQL Editor, verify that the Name drop-down list specifies Action Trigger.

To create or edit an action trigger using the Object Navigator:

1	In the Object Navigator, expand  the Layout Model node, then expand the node that contains the button object for which you want to create or edit an action trigger.  Note.

2	Double-click [image] (the PL/SQL icon) next to the button object for which you want to create or edit a format trigger.

3	In the PL/SQL Editor, define the PL/SQL for the action trigger.


Running a program unit in the PL/SQL Interpreter

  Next Step	  Related Topics

To run a program unit in the PL/SQL Interpreter:

1	If the PL/SQL Interpreter is not already displayed, choose Program [image] PL/SQL Interpreter to display it.

2	At the Interpreter's PL/SQL> prompt, type the name of the program unit followed by a terminating semi-colon (;).  If the program unit requires any arguments, be sure to supply them in parentheses. For example: getdata(SCOTT);

3	Press the Enter or Return key to produce one of the following reactions:

•	Any output generated by the program unit is displayed at the command line, and the PL/SQL> prompt returns to indicate sucessful execution.

•	The secondary prompt appears (+>) indicating you have not finished entering an executable statement.  If you forgot the terminating semicolon, enter it now and press Enter or Return.  Otherwise, click the right mouse and choose New Prompt from the pop-up menu.

•	Runtime errors are displayed at the command line, then the PL/SQL> prompt appears.  You need to edit or debug your program unit.

•	If you have set a breakpoint or debug trigger in the program unit, execution is suspended and a new prompt is displayed as: (debug n)PL/SQL>.


Moving a program unit between client and server

  Related Topics

To move a program unit to the server:

  Demo

1	In the Object Navigator, double-click the Database Objects node.  If this node is disabled, the Connect dialog displays so you can establish a database connection.

2	Expand the subnode that corresponds to the database user name you used to log in to the database to show the Stored Program Units node.

3	In the Reports section of the Object Navigator, expand the Program Units node.

4	Click the program unit you want to store in the database, and drag it from the Program Units node to the Stored Program Units subnode.

5	Release the mouse button to insert a copy of the program unit on the server.

To move a program unit to the client:

1	In the Object Navigator, double-click the Database Objects node.  If this node is disabled, the Connect dialog displays so you can establish a database connection.

2	Expand the subnode that corresponds to the database user name you used to log in to the database.

3	Expand the Stored Program Units node.

4	Click the stored program unit you wish to move to the client and drag it from the Stored Program Units node to the Program Units node in the Reports section of the Object Navigator.

5	Release the mouse button to insert a copy of the program unit on the client.


Creating an external PL/SQL library

  Next Step	  Related Topics

To create an external PL/SQL library:

1	In the Object Navigator, click the PL/SQL Libraries node.

2	Click [image] in the toolbar.

The newly created library (initially named LIB_xxx) is automatically opened.  Once a library has been created, its contents can be modified by inserting or removing program units, or attaching other libraries.


Adding a program unit to an open library

  Next Step	  Related Topics

To add a program unit to an open library:

  Demo

1	Perform one of the following steps in the Object Navigator, depending on your current state:

•	if the library is open, expand the library node

•	if the library is not currently open, click the PL/SQL Libraries node and choose File [image] Open  to open the library

2	Under the Reports node, expand the Program Units node.

3	Drag the program unit you want to add to the library below the library's Program Units node.

4	Release the mouse button to insert a copy of the program unit in the library.


Removing a program unit from an open library

  Next Step	  Related Topics

To remove a program unit from an open library:

1	Perform one of the following steps, depending on your current state:

•	if the library is open in the Object Navigator, expand the library node

•	if the library is not currently open, click the PL/SQL Libraries node and choose File [image] Open  to open it

2	Under the open library's Program Units node, click the library program unit you want to delete.

3	Click [image] in the toolbar.

4	In the message box, click Yes.


Editing a program unit in an open library

  Next Step	  Related Topics

To edit a program unit in an open library:

1	Perform one of the following steps, depending on your current state:

•	if the library is open in the Object Navigator, expand the library node

•	if the library is not currently open, click the Libraries node and choose File [image] Open  to open it

2	Under the library's Program Units node, double-click [image] (the library program unit icon) you want to edit.

3	In the PL/SQL Editor, edit the PL/SQL for the program unit.


Attaching a library

  Restrictions	  Related Topics

To attach a library:

1	In the Object Navigator, click the Attached Libraries node.

2	Click [image] in the toolbar.

3	In the dialog box, type the name of the external PL/SQL library in the Library text box, or click Browse to search for the external PL/SQL library you want to reference.

4	Click Attach.


Compiling all program units

  Related Topics

To compile all program units:

1	In the Object Navigator, click the report or library for which you want to compile all program units (including PL/SQL subprograms, report triggers, formulas, group filters, format triggers, and validation triggers).

2	Choose Program [image] Compile [image] All to compile all program units, regardless of their current compilation status.

3	In the Compile dialog box, click any error, then click GoTo to navigate to the source of the error in the program unit.  Tip


Compiling a single program unit

  Related Topics

To compile a single program unit:

  Demo

1	In the Object Navigator, click the program unit you want to compile (PL/SQL subprogram, report trigger, formula, group filter, format trigger, or validation trigger).

2	Choose Program [image] Compile Selection to compile the selected program unit, regardless of its current compilation status.

3	In the Compile dialog box, click any error, then click GoTo to navigate to the source of the error in the program unit.  Tip


Compiling all uncompiled program units

  Related Topics

To compile all uncompiled program units:

1	In the Object Navigator, click the report or library for which you want to compile all uncompiled program units (including PL/SQL subprograms, report triggers, formulas, group filters, format triggers, and validation triggers).

2	Choose Program [image] Compile [image] Incremental to compile all uncompiled program units.

3	In the Compile dialog box, click any error, then click GoTo to navigate to the source of the error in the program unit.  Tip


Searching and replacing text in a program unit

  Next Step	  Related Topics

To search and replace text in a program unit:

1	In the Object Navigator, expand the Program Units node.

2	Double-click [image] (the PL/SQL icon) for the program unit you want to edit.

3	In the PL/SQL Editor, place your cursor where you wish to begin the search.

4	Choose Edit [image] Find and Replace.

5	In the dialog box, type your search criteria, and, optionally, the replace string.  You can supply either a text string or a regular expression for your search text.

6	Click Search.

7	Upon locating an instance of the search criteria, click Replace to replace a single instance, Replace All to replace all instances, or edit the text directly in the PL/SQL Editor

8	Click Search to proceed to the next instance, or click Cancel to close the dialog.

9	When you have finished replacing all text in the program unit, click Compile to recompile the program unit.  Tip

10	When the code compiles successfully, click Close.  Tip


Restrictions for Web links and Web reports
Web links and Web reports restrictions

OLE objects are not supported in reports output to HTML or PDF files.


Restrictions for hyperlinks
Hyperlinks restrictions

(PDF output only)  An object that is the source of a Web link cannot also be associated with a application command line link.


Restrictions for application command line links
Application command line link restrictions

An object that is associated with a application command line link cannot also be the source of a Web link (a hyperlink).


Distributing a report to multiple destinations

  Related Topics

To distribute a report to multiple destinations, use either of the following methods to define the distribution:

•	use the Distribution dialog box to define a distribution list for the entire report and/or any report section.

•	on the command line, use the DESTINATION keyword to specify a .DST file.  Note:  to use a .DST file to distribute a section, you must use the LEVEL keyword in the output definition.

To distribute the report, you can either:

•	Specify DISTRIBUTE=YES on the command line.

•	Choose File [image] Distribute.


Running and dispatching a bit-mapped report
Running and dispatching bit-mapped report

  Examples	  Related Topics

To run and dispatch a bit-mapped report:

1	Select or open the report.

2	If you are not already connected, connect to a database.

3	Click [image] in the toolbar.

4	In the Runtime Parameter Form, specify settings for the desired output:  Tip

•	Preview output in the Live Previewer using screen fonts

•	Preview output in the Live Previewer using printer fonts

•	Send output to an HTML file, including style sheet extensions  Note

•	Send output to an HTML file  Note

•	Send output to a PDF file  Note

•	Send output to an XML file

•	Send output to an RTF file  Note

•	Send output to a file

•	Send output to a printer

•	Send output to delimited format for importing into other applications (e.g., Microsoft Excel).

•	(Windows 95 and Windows NT only) Send output via e-mail using your MAPI-compliant mail client application.

•	(UNIX only) Send output via e-mail using your native UNIX mail application.

•	Display output in your Web browser.

5	Click [image] in the toolbar.

6	If a dialog box appears, enter required information.

Note:

•	To run and print a bit-mapped report in a character-mode environment, use RWRUN60 on the command line.  Specify BATCH=YES and print to a file or a bit-mapped device such as a PostScript printer.

•	If you generate the report output to PDF or HTML, you can use the Web Wizard or Chart Hyperlink property to associate chart sections with any object in your report output, another report, or any other valid hyperlink destination.


Running and dispatching an ASCII (character-mode) report

  Examples	  Related Topics

To run and dispatch an ASCII (character-mode) report in the bit-mapped Report Builder:

1	Select or open the report.

2	If you are not already connected, connect to a database.

3	Click [image] in the toolbar.

4	If the Runtime Parameter Form appears, specify settings for the desired output:  Tip

•	Preview output using screen fonts

•	Preview output using printer fonts

•	Send output to a file

•	Send output to a printer

•	Send output to delimited format or XML output for importing into other applications (e.g., Microsoft Excel or an XML-supporting browser).

•	(UNIX only) Send output via e-mail using Oracle*Mail

•	 (Windows 95 and Windows NT only) Send output via e-mail using MAPI

5	In the Runtime Parameter Form, click [image] in the toolbar.

6	If a dialog box appears, enter required information.

Notes:

•	To run and print a character-mode report in a character-mode environment, use RWRUN60 on the command line.

•	If you want the orientation of the report to be landscape, you must set the page size in the Property Palette for the report.  However, if your printer does not support the specified page size, you may get truncated results.  To enable character-mode printers to support landscape (or other page sizes), you can set printer escape sequences in the printer definition files.  Refer to your printer documentation for the escape sequences to use.


Set Destination Type to Screen.


Set Destination Type to Preview.  For Destination Name, type the printer driver name.


Set Destination Type to File.  For Destination Name, type the path and filename.  For Destination Format, type HTMLCSS.  Make sure that the MODE system parameter is set to BITMAP.


Set Destination Type to File.  For Destination Name, type the path and filename.  For Destination Format, type HTML.  Make sure that the MODE system parameter is set to BITMAP.


Set Destination Type to File.  For Destination Name, type the path and filename.  For Destination Format, type PDF.  Make sure that the MODE system parameter is set to BITMAP.


Set Destination Type to File.  For Destination Name, type the path and filename.  For Destination Format, type RTF.  Make sure that the MODE system parameter is set to BITMAP.


Set Destination Type to File.  For Destination Name, type the filename.  For Destination Format, type the printer driver name.


Set Destination Type to File.  For Destination Name, type the filename.  For Destination Format, type the name of the .prt file.


Set Destination Type to File.  For Destination Name, type the filename.  For Destination Format, type the name of the .xml file.


Set Destination Type to Printer.  For Destination Name, type the printer driver name.


Set Destination Type to Printer.  For Destination Name, type the printer name.  For Destination Format, type the name of the .prt file.


Set Destination Type to Mail.  For Destination Name, type the e-mail ID (see Examples).  For Destination Format, type the printer driver name.


Set Destination Type to Mail.  For Destination Name, type the e-mail ID (see Examples).  For Destination Format, type the name of the .prt file.


Set Destination Type to Mail.  Leave Destination Name blank.  In the MAPI Send Mail dialog, type the recipients and subject line (see Examples).


Running a report from the command line

  Related Topics

To run a .rep file (a runfile) or an .rdf file (a report definition file) from the command line:

1	Type ORACLE_HOME\BIN\RWRUN60, followed by the report name and desired arguments.

2	If you ran the report in batch mode, and sent the output to a file (DESTYPE=file DESNAME=filename BATCH=yes), open or print the file to verify the output.


Running a report using a command file

  Related Topics

To run a report using a command file:

1	Create a text file using a word processor of your choice.

2	Type ORACLE_HOME\BIN\RWRUN60, followed by the report name and desired arguments.

3	If you ran the report in batch mode, and sent the output to a file (DESTYPE=FILE DESNAME=filename BATCH=YES), open or print the file to verify the output.


Running a report to a remote Reports Server

  Related Topics

To run a report to a remote Reports Server (RWMTS60):

  Type ORACLE_HOME\BIN\RWCLI60, followed by the report name, server name, and desired arguments.

The Publishing Reports manual provides additional information.  To display the HTML version of this document:

•	In the Oracle Information Navigator, choose Help [image] Manuals.


Running a report from Form Builder or Graphics Builder

You can run a report from Form Builder or Graphics Builder, passing data and parameters to the report as necessary, using either:

•	the Reports Server executable (RWMTS60), which enables you to schedule and manage running reports on a remote server. Use RWCLI60 to send reports to the Reports Server.

•	(Windows environment only) the Reports Background Engine (RWRBE60), which waits for and queues command lines to run reports locally.  Typically, the Reports Background Engine receives command lines from the RUN_PRODUCT packaged procedure, or from a report using SRW.RUN_REPORT.

You can also create report objects in a form, where the command line arguments to run reports are specified.  For more information, refer to the Form Builder online help.


E-mailing a report in batch mode (via MAPI on Windows)
E-mailing a report in batch mode (on Windows)

  Examples	  Related Topics

To e-mail a report in batch mode:  Note

1	Log onto your mail system using your MAPI-compliant mail client application.

2	Run the report from the command line, specifying BATCH=YES, DESTYPE=MAIL, and DESNAME=recipient1,recipient2,recipient3,etc.


E-mailing a report from Report Builder (via MAPI on Windows)
E-mailing a report from Report Builder (on Windows)

  Examples	  Related Topics

To e-mail a report from Report Builder without first previewing it:

1	Log onto your mail system using your MAPI-compliant mail client application.

2	Select or open the report.

3	If you are not already connected, connect to a database.

4	Choose File [image] Mail.

5	In the Runtime Parameter Form, set Destination Type to Mail; leave the value for Destination Name blank.

6	Click [image] in the toolbar.

7	In the mail dialog box, specify the recipients and subject line for your e-mail report.

To e-mail a report from Report Builder after first previewing it:

1	Log onto your mail system using your MAPI-compliant mail client application.

2	Select or open the report.

3	If you are not already connected, connect to a database.

4	Click [image] in the toolbar.

5	In the Runtime Parameter Form, set Destination Type to Preview; leave the value for Destination Name blank.  Tip

6	Click [image] in the toolbar to display the report in the Live Previewer.

7	(Optional) View the report output in the Runtime Previewer.

8	Click [image] in the toolbar.

9	In the dialog box, specify the recipients and subject line for your e-mail report.


Changing orientation

  Related Topics

To change the orientation (portrait or landscape) of a report section:

1	In the Object Navigator, expand the Layout Model node, click the node for the section (by default, a report is defined in the Main Section), then choose Tools [image] Property Palette.

2	In the Property Palette, under the Section node:

•	set the Width and Height properties as desired (e.g., 11 (or 15) width x 8.5 height for landscape or 8.5 width x 11 (or 15) height for portrait).

•	set the Orientation property to the desired value.

3	If you want to be able to modify the orientation at runtime, choose Tools [image] Parameter Form Builder to display the Parameter Form Builder:

•	Click the ORIENTATION system parameter.

•	Click OK to display the Parameter Form view.

•	Double-click the Orientation value field (PF_ORIENTATION) to display the Property Palette.

•	Under the Parameter node, set the Initial Value property to Portrait or Landscape.

•	Click [image] in the toolbar.

•	From the Orientation drop-down list, change the orientation if desired.


Printing a report on a pre-printed form

  Related Topics

To print a report on a pre-printed form:

1	Carefully measure the positions and lengths of the fields on the form.

2	If you have not already done so, create a report with a data model for the primary data to be printed on the form.

3	In the Layout Model view, click [image] in the toolbar to expose the margin area.  Note

4	Click the margin border, then drag the handles to the top and bottom edge to remove the top and bottom margins.

5	Click [image] in the toolbar to reactivate the body area of the report.

6	If the form requires different data formats (for example, a mailing label format followed by a tabular format), create an additional layout for each additional format.

7	Change column widths to fit the fields on the form.

8	Move and resize objects to the format of the form.


Displaying report output in the Runtime Previewer

  Related Topics

To display your report output in the Runtime Previewer:

1	In the Live Previewer view , choose View [image] Runtime Preview.

2	In the Runtime Previewer, use any of the following features:

•	scrolling and paging

•	splitting horizontally and vertically

•	magnifying or reducing the output

•	opening multiple Runtime Previewers


Displaying report output in the Live Previewer

  Related Topics

To display your report output in the Live Previewer:

  In the Live Previewer view, use the following features:

•	scrolling and paging

•	splitting horizontally and vertically

•	magnifying or reducing the output


Scrolling and paging through report output
Scrolling and paging

To move around pages of the report using the scroll bars and paging buttons:

•	Use the mouse cursor to drag the horizontal and vertical scroll bars to move around the current page.

•	Click [image], [image], [image], and [image] in the toolbar to display the indicated pages of the report.

•	To display a specific page, enter the page number in the Page field.


Splitting the Runtime Previewer viewing region

To create two views of the report output by splitting the Runtime Previewer viewing region, either horizontally or vertically:  Note

1	Drag the box above the vertical scroll bar (to split horizontally), or to the left of the horizontal scroll bar (to split vertically).

2	Release the mouse button at the position you want to split the viewing region.

You can scroll and page within each view to move the contents of that view while the other view remains unchanged.


You cannot split the viewing region horizontally and vertically simultaneously.


Splitting the Live Previewer viewing region

To create two views of the report output by splitting the Live Previewer viewing region horizontally and/or vertically:

1	Drag the black bar below the vertical scroll bar (to split horizontally), or to the right of the horizontal scroll bar (to split vertically).

2	Release the mouse button at the position you want to split the viewing region.

You can scroll and page within each view to move the contents of that view while the other view remains unchanged.


Magnifying or reducing the output

To magnify a hard-to-see portion of your report or reduce the image to get a sense of your report's overall layout:

•	To magnify the output displayed in the viewing region, click [image] in the toolbar.

•	To reduce the size of the output display, click [image] in the toolbar.


Opening multiple Runtime Previewers

To open a new Runtime Previewer window with the same contents as the current one:

•	Click [image] in the toolbar.


Printing a report from the Runtime Previewer

  Related Topics

To print a report from the Runtime Previewer:

1	In the Runtime Previewer ,click [image] in the toolbar to verify your printer setup.

2	Click [image] in the toolbar.

3	In the dialog box, type the number of pages and copies you want to print.

If you ran the report with a DESTYPE of Screen, a warning appears that you should run the report with a DESTYPE of Preview before printing.  Preview creates PostScript output, which is typically more desirable for printing bit-mapped reports.

4	Click OK.


Printing a report from the Live Previewer

  Related Topics

To print a report from the Live Previewer:

1	In the Live Previewer view, click [image] in the toolbar.

2	In the dialog box, type the number of pages and copies you want to print.

If you ran the report with a Destination Type of Screen, a warning appears that you should run the report with a Destination Type of Preview before printing.  Preview creates PostScript output, which is typically more desirable for printing bit-mapped reports.

3	Click OK.


Printing a report from your Web browser

  Related Topics

To print a report from your Web browser:

1	If your report is formatted with HTML style sheet extensions (HTMLCSS), set up your browser to print the HTML document in the same way the report is paginated:  Note

•	In your browser, choose File [image] Page Setup and modify the margin settings as desired.

•	In the Object Navigator, double-click [image] (the properties icon) for the report to display the Property Palette.

•	Set the Width and Height properties as desired, subtracting the margin depths (e.g., for an 8.5 x 11 page with top, bottom, left, and right margins of .25, set Width to 8 and Height to 10.5).

2	Display the report output in your browser.

3	Choose File [image] Print.


Switching the printer tray

  Related Topics	  Examples

To switch the printer tray:

1	Choose File [image] Page Setup and note the names of the printer trays defined for your printer.

2	Use SRW.SET_PRINTER_TRAY to define the desired trigger:

•	To change the printer tray before the report begins formatting, create a Before Report trigger.  Note

•	To change the printer tray between pages of the report, create a Between Pages  trigger.

•	To change the printer tray for a specific page on which a particular object prints, create a format trigger for that object.


Displaying report output in your Web browser

  Related Topics

To display report output in your Web browser:

1	Select or open the report, then click [image] in the toolbar to run the report.

2	In the Live Previewer view, specify the output format:

•	To format your report for HTML output, choose View [image] Web Preview [image] Use HTML.

•	To format your report for HTML output, including style sheet extensions (HTMLCSS), choose View [image] Web Preview [image] Use HTML Style Sheets.  Note

•	To send output to a PDF file, choose View [image] Web Preview [image] Use PDF.

•	To format your report for XML output, choose View [image] Web Preview [image] Use XML.

3	Specify the scope of output you want to display:

•	To display only the current page of the report, choose View [image] Web Preview [image] Show Current Page.

•	To display all pages, choose View [image] Web Preview [image] Show All Pages.  Note:  If you choose to show all pages of your report output, and you have HTML page streaming enabled, the first page will display in your Web browser, and you will be able to quickly navigate to any other page in the rest of the report.

4	Choose View [image] Web Preview [image] Generate to Web Browser.  Note

5	To save your report output as an HTML or PDF file, choose File [image] Save As in your Web browser.


Formatting with style sheet extensions paginates the HTML document in the same way the report is paginated; formatting without style sheet extensions generates HTML output that does not break between the pages of the report.


Displaying individual pages of HTML report output

 Related Topics

To stream the pages of HTML output for a report:

1	Specify navigation controls for HTML page-streamed output using either of the following methods:

•	in the Report Property Palette

•	using PL/SQL

2	Enable HTML page streaming by running your report from the command line, specifying PAGESTREAM=YES.


(PDF output only)  An application command line link is an attribute of an object that specifies a command line to be executed when the object is clicked.


An after page escape is an attribute that specifies any text, graphics, or HTML commands that you want to appear at the end of one page or all pages of your document.


An after report escape is an attribute that specifies any text, graphics, or HTML commands that you want to appear at the end of your document.


An after report escape should be set in a trigger that fires before the report is done formatting, such as the Before Report trigger.


An after form escape is an attribute that specifies any text, graphics, or HTML commands that you want to appear at the bottom of the HTML Parameter Form.


An after form escape should be set in a trigger that fires before the Parameter Form is done formatting, such as the Before Parameter Form trigger.


An object may be anchored to only one other object.


If your edits are extensive, you may want to click Apply to save your changes incrementally, without having to compile.


For portability between platforms, you can use a PostScript barcode font to allow you to print your report to any PostScript-enabled output device.


A before page escape is an attribute that specifies any text, graphics, or HTML commands that you want to appear at the beginning of one page or all pages of your document.


If you want the escape to apply to every page, set it in a trigger that fires before the report begins formatting, such as the Before Report trigger.  If you want the escape to apply to a single page, set it in a Format trigger.


A before report escape is an attribute that specifies any text, graphics, or HTML commands that you want to appear at the beginning of your document.


A before report escape should be set in a trigger that fires before the report starts formatting, such as the Before Report trigger.


A before form escape is an attribute that specifies any text, graphics, or HTML commands that you want to appear at the top of the HTML Parameter Form.


A before form escape should be set in a trigger that fires before the Parameter Form starts formatting, such as the Before Parameter Form trigger.


A subprogram body contains the same information as the specification, and also includes the actual implementation of the subprogram (i.e., its sequence of actions).  In most cases, only a body must be defined for a subprogram.


A bookmark is an attribute of an object that specifies a string that is a link to the object.


The number and '#' do not display in the bookmark area.


Uncompiled program units are indicated by an asterisk (*) after their name.


If you are going to be replacing text in multiple program units, you can recompile them all at once when you are finished.


When you create the report, you must use the Parameter Form Builder (choose Tools [image] Parameter Form Builder) to select the system parameters you want to appear in the Runtime Parameter Form.


If you define a parameter in a template, you must apply the template to a report in order to select that parameter for the Runtime Parameter Form.


If you double-click the tool, you will create a new object each time you click on the canvas.  The tool remains selected until you click another tool.  Click [image] to reset the mode.


Check for missing semicolons at the end of statements, or misspelled syntax.


Click the [image] icon to expand the node.  Click the [image] icon to collapse the node.


A function is a PL/SQL subprogram that performs a specified sequence of actions, and then returns a value.


To test your hypertext link, send your report output to an HTML file and display it in your Web browser.


A hyperlink is an attribute of an object that specifies a hypertext link to either of the following destinations:

•	an object identified with a hyperlink destination within the same report

•	another HTML or PDF document on the same machine or on a remote Web server

You can set the Additional Hyperlink Attributes property to specify additional HTML to be applied to the hyperlink.


To test your hypertext link, send your report output to an HTML or PDF file and display it in your Web browser.


A hyperlink destination is an attribute of an object that identifies the destination of a hypertext link.


You can also perform this task in the Layout Model view.


You can also use some of the drawing tools in the Live Previewer view and the Parameter Form view.


You can also perform this task in the Layout Model view.  To expose the margin, click [image] in the toolbar.  Click [image] in the toolbar to reactivate the body area of the report.


You can also perform this task in the Layout Model view or Parameter Form view.


You can also perform this task in the Live Previewer view or Parameter Form view.


You can also perform this task in the Parameter Form view.


When using BATCH=yes, Report Builder will use a blank subject line and cc list.  To specify the subject line and cc lists, you must run with BATCH=no (interactively).


Enclose email IDs in double quotes and separate them with commas.


Use two single quotes for "O'Hara".


The margin area is defined by a thick black line that separates it from the body. If you create objects in the body portion of a report while displaying the margin area, you can only edit those objects when the margin is displayed.


A package is a method of encapsulating and storing related procedures, functions, variables, and other package constructs together as a unit in the database.  While packages provide the database administrator or application developer organizational benefits, they also offer increased functionality and database performance.


A standalone or plug-in reader, such as the Adobe Acrobat Reader, that enables you to display your PDF file.


A report output in PDF format can include both hyperlinks and application command line links.  If the Application Command Line property is set for an object, it will be applied to the object.  Otherwise, the Hyperlink property is applied.


You can also access PL/SQL for a group filter via the Object Navigator (under the Groups node, or the Program Units node).


For help on properties in the Property Palette, click a property and press F1.


A procedure is a PL/SQL subprogram that performs a specified sequence of actions.


You can resize queries, groups, repeating frames, frames, fields, matrix objects, and boilerplate.  An anchor is automatically resized if you move one of the objects it anchors.


To select multiple objects, click one object, then Shift-click all other objects.  To select all objects, choose Edit [image] Select All.


Select the columns in the order you want them to appear in the report output.


In the Object Navigator, under the Layout Model node, expand the Body node to select the repeating frame by name.


In the Object Navigator, under the Layout Model node, expand the Body node to select the field by name.


A program unit spec defines the name, parameters, and return type (applies to functions only) of the subprogram.


If you choose Edit [image] Select All to remove borders from all objects, you will also remove the underlines under the column headings.  To add underlines, click the (now invisible) underline objects, and use the Line Color tool palette to select a color for the underlines.


If you are defining a template, you can select objects in the Margin.  Objects in the body are unknown until the template is applied to a report.


If you are defining a template, you can create layout objects in the Margin.  Click [image], [image], or [image] to expose these areas of the template.


Enclose email IDs in parentheses and separate them with commas


An HTML 3.0 compliant browser (e.g., Netscape 2.2).


You cannot place a breakpoint on a BEGIN, END, or NULL, statement, or on a comment.


You cannot place a debug trigger on a BEGIN, END, or NULL, statement, or on a comment.


Don't forget the ending semicolon(;), and any required arguments.


Use Navigator [image] Compile or File [image] Compile to perform batch compilations of multiple program units.


If you are unsure of the location and name of the library, click the Find button to browse your directory structure or database namespaces.


If you receive a secondary prompt (+>) at the command line, you probably forgot the terminating semicolon.  Type it at the secondary prompt and press the Return or Enter key again.


A block is the basic program unit in PL/SQL, defined by the keywords DECLARE, BEGIN, EXCEPTION, and END.


To translate a source program into a binary, executable format.  PL/SQL program units must be compiled before they can be executed.


The layout is the area of an editor in which you can create, modify, position, or delete objects while viewing their graphical representations.


A library is a collection of one or more PL/SQL program units that are stored together in a file or database, and that can be referenced by several applications at once.


The load path is a set of directory locations that Procedure Builder uses as a search path.


A nested subprogram is a program unit that is called from within another program unit.


A node is a specific location in the Object Navigator object hierarchy.  Nodes can be expanded to reveal information about an object, such as cross references to other objects.


A pane is a distinct portion of an editor where work is performed, usually resizeable.


PL/SQL is a procedural extension of SQL that provides programming constructs such as conditionals and procedures.


A program unit is a code structure you can create using PL/SQL such as a package, or a subprogram such as a procedure or function.


A query is a SQL SELECT statement that specifies the data you wish to retrieve from one or more tables or views of a database.


A record is a collection of data fetched by a SELECT statement.


A schema is a collection of related database objects.  Each user for a database will have a schema of the same name.


A session is the period between invoking and quitting the executable.


Source consists of PL/SQL statements provided in a subprogram or package.  You must have the source code for a program unit before you can compile it into executable form.


A statement is a PL/SQL construct used for conditional, iterating, and sequential control, and for error handling.  A semi-colon (;) must terminate every PL/SQL statement.


A stored program unit is a procedure, function, or package that resides and executes in the Oracle7 Server.


Tabular, Form-like, Mailing Label, Form Letter


Group Left, Group Above, Matrix, Matrix with Group


In the Property Palette:

•	Under the Style node, set properties for the selected frame node.

•	Under the Labels node, set properties for the selected label node.

•	Under the Fields node, set properties for the selected field node.


A trigger is a PL/SQL procedure that is executed, or "fired," upon a specific event.


A variable is a named object that can be assigned a value and whose assigned value may change over time.


A link is always drawn from the parent group to the child query.


In the Object Navigator, double-click [image] (the Data Model node icon) to display the Data Model view of your report.  In other views, choose View [image] Data Model or click [image] in the toolbar.


In the Object Navigator, double-click [image] (the Layout Model node icon) to display the Layout Model view of your report.  In other views, choose View [image] Layout Model or click [image] in the toolbar.


In the Object Navigator, double-click [image] (the Layout Model node icon) to display the Layout Model view of your template.


In the Object Navigator, double-click [image] (the Live Previewer node icon) to display the Live Previewer view of your report.  In other views, choose View [image] Live Previewer or click [image] in the toolbar.


In the Object Navigator, double-click [image] (the Parameter Form node icon) to display the Parameter Form view of your report.  In other views, choose View [image] Parameter Form or click [image] in the toolbar.


In the Live Previewer view, choose View [image] Runtime Preview to display the Runtime Previewer.


Any parameters you have created.are automatically selected; if you want to display system parameters in the Runtime parameter Form, you must select them in the Parameter Form Builder.


The printer tray specified in the Page Setup dialog is used as the default printer tray; create a Before Report trigger to change this default.


The text you type will format for HTML output only; for all other output formats, the text object will not appear in the report.


For group reports, the Report Wizard and Data Wizard create n summary fields in the data model for each summary column you define:  one at each group level above the column being summarized, and one at the report level.  For example, if a report is grouped by division, and further grouped by department, then a summary column defined for a salary total would create fields for the sum of salaries for each division and each department group (group-level summaries), and the sum of all salaries (report-level summary).


If this option is already checked, Report Builder automatically displays the report in your default Web browser when you run the report.


When you view the report output in Microsoft Word in Office 95, you must choose View [image] Page Layout to see all the graphics and objects in your report.


You can also automatically display report output in your Web browser, then save the temporary file as an HTML or PDF file.  Click the Related Topics button at the top of this topic to link to:  Displaying report output in your Web browser.


You can only delete nodes down to the minimum requirement for the selected report style.


Sections are mapped to groups in a report.  For more information, click the Related Topics button at the top of this topic to link to:  About template attributes.


Oracle Reports does not support data links between queries that contain column objects.  If you attempt to create such a link, a message dialog box displays, which enables you to choose whether to tell Reports to create a group-to-group query instead (using the parent groups), or to cancel the operation.  If you want to create a link between any type of column and a column object, you can manually type the SQL statement using the appropriate column alias(es).


When you create a column-to-column link, Report Builder adds a WHERE clause to your query.


When you create a group-to-group link, Report Builder does not add a WHERE clause to your query.


To display the Delimited Output dialog box, choose File [image] Generate to File [image] Text.


The data in your report output are instances of boilerplate or field objects.


Image, chart, and OLE objects do not display in delimited output.


To use the Chart Hyperlink feature, you must ensure that the chart is within a repeating frame.


When you specify a chart hyperlink via the Web Wizard, Report Builder automatically sets the Hyperlink Destination property against the related object.  If you modify this hyperlink destination, you must also update the Chart Hyperlink property to maintain the relationship between the destination and the object (see the Chart Hyperlink property help for more information).


To display the Distribution dialog box:  In the report or section Property Palette, under the General Layout node, double-click the Distribution value field (labeled . . . ).


To display the Runtime Trace Settings dialog box, choose Tools [image] Trace.


To display the Preferences dialog box, choose Tools [image] Preferences.


If you do not change the default Page Navigation Control Value, Report Builder will use a default built-in JavaScript for implementing the navigation between the pages of output.


Formula columns should not be used to set values for parameters.


Developer/2000 Reports Task Help


Cue Cards

  Cue Card Topics


Creating a template

  Related Topics

To create a template:

1	In the Object Navigator, click the Templates node, then click [image] in the toolbar.

2	Define default template attributes for all report styles.

3	(Optional)  Define override template attributes for a selected report style.

4	To define system parameters, user parameters, program units, attached libraries, and report triggers for the template, double-click the associated nodes in the Object Navigator..


Defining default template attributes

  Related Topics

To define default attributes for report objects in a template that applies to all report styles:

1	In the Object Navigator, expand the Layout Model node, then the Body node, then the Default node.

2	To change default properties for the overall layout and spacing for report styles, double-click [image] (the properties icon) next to the Default node to display the Property Palette.

3	To change default properties for frames, field labels/headings, fields, summary labels, and summaries (totals), fully expand the Default node, then double-click the properties icons to display the Property Palettes

Note:  the Layout Model view is synchronized with the Object Navigator; when you select a layout object, the associated node is highlighted in the Object Navigator.  To select the parent frame for a layout object, click the object, then click [image] (Select Parent Frame) in the toolbar.

4	To view your template definition, display the Layout Model view of the Template Editor.  Select from the Report Style drop-down list to view the layout for individual report styles.

5	To make further changes for the currently displayed report style, either return to the Object Navigator, or double-click an object to display the Property Palette.  Note that any changes you make for an individual report style will override the attributes defined under the Default node.


Defining override template attributes

  Related Topics

To define override attributes for a selected report style:

1	In the Object Navigator, expand the Layout Model node, then the Body node, then the Override node, then the node for the report style for which you want to define overrides (e.g, Tabular, Group Left).

2	To change default properties for the overall layout and spacing for a section of the selected report style, double-click [image] (the properties icon) next to the Section (Level n) node to display the Property Palette.

3	To create more than the default number of sections for a particular report style, click a Section (Level n) node, then click [image] in the toolbar.

4	To delete a section for a particular report, click a Section (Level n) node, then click [image] in the toolbar.  Note

5	For each section for which you want to define overrides, fully expand the Section (Level n) node, then double-click the properties icons to display the Property Palettes for the frames, field labels/headings, fields, summary labels, and summaries (totals).

Note:  the Layout Model view is synchronized with the Object Navigator; when you select a layout object, the associated node is highlighted in the Object Navigator.  To select the parent frame for a layout object, click the object, then click [image] (Select Parent Frame) in the toolbar.

6	To view your template definition, display the Layout Model view of the Template Editor.  Select from the Report Style drop-down list to view the layout for individual report styles.

7	To make further changes for the currently displayed report style, either return to the Object Navigator, or double-click a layout object to display the Property Palette.  Note that any changes you make for an individual report style will override the attributes defined under the Default node.


Add items and objects to a template
Adding items and objects to a template

  Next Step	  Related Topics

To add items and objects to a template:

1	In the Layout Model view of the Template Editor, click [image] in the toolbar.

2	Refer to the Next Step topics to create objects in the margin of your template.  You cannot create objects in the body of a template.


Modifying objects in a template

  Next Step	  Related Topics

To modify objects in the margin of a template:

1	In the Layout Model view of the Template Editor, click [image] in the toolbar.

2	Refer to the Next Step topics to modify objects in the margin of your template.


Modifying the color, pattern, or border of body objects in a template

  Next Step	  Related Topics

To modify objects in the margin of a template:

1	In the Layout Model view of the Template Editor, select from the Report Style drop-down list:

•	Select Default to modify all report styles.

•	Select an individual report style to modify that style only.

2	Refer to the Next Step topics to modify the color, pattern, or border of an object.


Applying a template to a report

  Related Topics

To apply a template to a report:

1	In the Object Navigator, click the report or report section to which you want to apply a template.  Note

2	Choose Tools [image] Report Wizard.

3	On the Template page, select a predefined template, or click Template file, and click Browse to open the desired template.

4	Click Finish to apply the template to the current report section.


Adding a template to the predefined templates list

  Related Topics

To add your own template to the list of predefined templates in the Report Wizard:

1	In a text editor (e.g., Wordpad), open the preferences file.

2	Scroll down to the template descriptions identified by Reports.xxx_Template_Desc (where xxx specifies a report style).

3	For each report style for which the template is defined:

•	To the Reports.xxx_Template_Desc list, add the description that you want to appear on the Template page of the Report Wizard.

•	To the corresponding Reports.xxx_Template_File list, add the file name of your template in the same position as the addition you made to the description list.

4	Copy the template file (filename.tdf) to ORACLE_HOME/REPORT60/ADMIN/TEMPLATE/US.

To include a sample image of your template in the Report Wizard:

1	For each report style (tabular, group left, etc.) for which the template is defined, apply the template to a sample report.

2	Use a screen capture tool to capture a portion of each sample report (no larger than 2 inches wide and 3 inches high) in .bmp format using the following naming convention:

yyyz.bmp

where

yyy	matches the filename specified in the Reports.xxx_Template_File
list

z	identifies the report style:
a	Group Above
f	Form-like
g	Matrix with Group
l	Group Left
m	Mailing Label
r	Form Letter
t	Tabular
x	Matrix

3	Copy or create the .bmp file you want to use as a default (i.e., displays if no bitmap exists for a specific report style) and name it yyy.bmp.

4	Copy each .bmp file to ORACLE_HOME/REPORT60/ADMIN/TEMPLATE/US.


On Windows, open ORACLE_HOME\CAUPREFS.ORA (user preferences) if it exists; otherwise, open  ORACLE_HOME\CAGPREFS.ORA (global preferences).

On UNIX, open your_home_directory/prefs.ora (user preferences) if it exists; otherwise, open  $ORACLE_HOME/tools/admin/prefs.ora (global preferences).


Tabular, BreakAbove, BreakLeft,FormLetter,Formlike, MailingLabel, Matrix, MatrixBreak.


If you select the node for the entire report in the Object Navigator, the template will be applied to the Main section of the report by default.  To apply the template to a specific section of your report, select the node for that section in the Object Navigator.


Condition when linking two queries

For example:

Query 1	deptno,ename,sal

Query 2	salgrade,hisal,losal

If you then specified a link between sal and hisal, then another link between sal and losal this presumably would setup the report to show:

WHERE SAL >= LOSAL AND SAL <= HISAL

but if you really wanted a report to show:

WHERE SAL <= LOSAL OR SAL >= HISAL

you just can't change the signs around otherwise you would get:

WHERE SAL <= LOSAL AND SAL >= HISAL

which would return zero rows.  Can this be done ?

Join conditions between Report Builder queries are not limited to those you can specify thru "data model links" (i.e. the arrow you draw between two columns,in the data model painter).  If the join condition cannot be constructed with one or more data model link, you can :

1	Establish the desired parent-child relationship between the two groups by creating a "dummy link"(choose the "link tool",click  on the parent group, and then on the child group).

2	Enter the join condition in the WHERE clause of the child query, referencing columns in the parent query as bind variables.  In your case, add this to the WHERE clause:
"WHERE :SAL <=LOSAL OR :SAL >=HISAL"

That's it!  Notice that columns belonging to the parent query can be referenced anywhere in the child query, and the join condition can be however complex.


Link between queries

Report Builder, Release 3.0 and later, allows for the links to be (=, < ,<= ,<> ,>, >=,LIKE, NOT LIKE).


Differences between lexical and bind parameters

Bind references are used to replace a single value in SQL or PL/SQL.  Specifically, bind references may be used to replace expressions in SELECT, WHERE, GROUP BY, ORDER BY, HAVING,CONNECT BY, and START WITH clauses of queries.  Binds may not be referenced in the FROM clause.  An example is:

SELECT ORDID,TOTAL
FROM ORD
WHERE CUSTID = :CUST

Lexical references are placeholders for text that you embed in a SELECT statement.  You can use lexical references to replace the clauses appearing after SELECT, FROM, WHERE, GROUP BY , ORDER BY , HAVING, CONNECT BY, and START WITH.  You cannot make lexical references in PL/SQL.  Before you reference a lexical parameter in a query you must have predefined the parameter and given it an initial value.  An example is:

SELECT ORDID, TOTAL
FROM &ATABLE


Break groups and how to create

A break group is used to create a report in which an identical values in sequential rows is printed only once for its related records. (i.e. A break group divides a query's columns into sets.)

To create a break group:

1	In the Data Model view of the Report Editor, drag the group that contains the column at which you want to break your report down from the query object about 2 inches.

2	Select the column that you want to use to divide your report (e.g. if you want  to group a list of employee data by department number, select the department number column) and drag it out of and above the group to create a new group.

3	Double-click on the title bar of the new group object to display its property sheet.  Replace the name in the GENERAL:Name Field if you do not want to use the default.  Fill in the rest of the property sheet as necessary and accept it.


Differences between group filters and Maximum Rows

The Maximum Rows property restricts the actual number of records fetched by the query.  A group filter determines which records to include or exclude, after all the records have been fetched by the query.  Since Maximum Rows actually restricts the amount of data retrieved, it is faster than a group filter in most cases.  If you use a Filter of Last or Conditional, Report Builder must retrieve all of the records in the group before applying the filter.  Also, you should be aware that when using Maximum Rows for queries.  It can effect summaries in other groups which depend on this query.  For example, if you set Maximum Rows to 8 any summaries based on that query will only use the 8 records retrieved.


Fixing groups which start printing from halfway down the page, not the top

This problem often occurs when you have a large number of queries and each query has its own associated group frame.  The second and subsequent frames are being implicitly anchored to the page, and therefore pushed down to the absolute position they hold on the layout.  To get around this, make sure that the second and subsequent frames are being implicitly anchored to the frame above it, so that when the first frame disappears, the second and subsequent frames gets pulled up.  One way to do this is to have the first frame be vertically growing (variable), and to have subsequent frames be in the 'push-path' of the first.


Getting  odd page numbers on the right and even pages numbers on the left

You have to create two fields, one on the right side, one on the left side. In the format trigger of each field, you test if it is an odd or an even page by using SRW.GET_PAGE_NUM. And then, you display or not the field.


Offsetting detail objects just a bit in a master/detail report

There is not a setting which you can change that will give you the offset you want but with Release 3.0 and later you can use 'Flex Mode' to move your detail objects over to the left.  With this new layout mode it is quick and easy.


A dynamic number of values in the cells of a matrix report

At runtime, the vertical size of the matrix cells can be adjusted according to the number of values corresponding to the cell.  This is not possible in Release 2.0 but Report Builder, Release 3.0 and later, will handle variable cells, in the Vertical direction.


Changing format mask for a lot of fields at once
Changing the format mask for a lot of fields at once

Just do the following:

1	Display the Layout Model view of the Report Editor.

2	Select the fields you want to change.

3	Choose Tools [image] Property Palette.

4	Select a new format mask for the Format Mask property.


Printable area and how to view it

The printable area is the physical region in which your printer can print on a physical page.  Most printers usually cannot print up to the edge of a page, leaving a blank "unprintable" area.  With Report Builder Release 3.0 and later, follow these steps to view your printable area:

1	Choose File [image] Page Setup to select your printer.

2	Display the Layout Model view of the Report Editor, and click [image] (the margin tool) in the toolbar.

The printable area is displayed as the area within the dotted lines in the margin area.

3	Choose View [image] Zoom Out to see more.


Performance when making a change or moving an object

First of all, this should only be an issue for very large report which has a large number of objects.  To improve performance, simply:

1	Choose View [image] Object Type View or minimize the Object Navigator.

2	Click Confine Mode 'off'.


View implicit anchors in the Layout editor

You will only ever see the explicit anchors created from the Layout Model view of the Report Editor.  There is however an option under Navigator Options to show Anchoring Information.  If this option is chosen, then from the Object Navigator you can see all information on both implicit and explicit anchors.


Exactly when the Before Report Trigger fires

The Before Report trigger fires before the report is executed but after the queries are parsed.

You can think of order in this way:

1	Queries are parsed.

2	Before Report trigger fires.

3	Report is executed(i.e. fetch data+format output)

We can guarantee consistency if you do DML, DDL in (or before) the After Form Trigger. We can not guarantee it in the Before Report trigger, since we may have to start some work on data cursors before that trigger based on the definition of the report. One thing we always have to do before the 'Before Report' trigger is to describe the tables involved and open cursors. Any change to the tables after that will not be seen by the report.


Order in which report triggers fire

1	Before Parameter Form

2	After Parameter Form

3	Before Report

4	Between Pages

5	After Report


Timers

Currently Report Builder, Release 3.0 and later, does not support timers like Graphic Builder.  Database pipes and timers can be activated/seen by Report Builder if needed.  If you are using the Reports Server to run reports, you can schedule jobs using RWCLI60 or the Reports Queue Manager.


Attached libraries vs local PL/SQL

Local PL/SQL executes more quickly than a reference to a procedure or function in a an external PL/SQL library.  As a result, you should only use external PL/SQL libraries when the benefits of sharing the code across many applications outweigh the performance overhead.


SQL intensive program units on the client or the server

Anytime you have program units which are very SQL intensive, you would get better performance by partitioning those program units onto the server.  Another alternative would be to add them into the Data Model whenever possible.  That way it would be treated just as another query.


Migrating SQL*Report reports

There is no direct conversion from SQL*Report(RPT) given the inherent differences between the products. Some tips are:

•	Most main SELECT macros will turn into queries.  You can save these to a file and Edit->Import the text into the query property sheet, remember to remove the INTO clause.

•	Any .ASK statements will become parameters.

•	Conditional logic will now turn into PL/SQL within the report.

•	Any .TELL statements will become SRW.MESSAGE.

•	After the queries are created let Report Builder defaulting tool create a default layout.

•	Add any conditional logic needed and modify default layout if needed.

Another option might be to reverse engineer the RPT reports into Oracle Designer and generate Report Builder reports in that manner.


Upgrading directly from SQL*ReportWriter 1.1 to Release 2.5

Simply use the R25MREP executable.  Refer to the Report Builder 2.5 Migration Manual for complete details.  Note that R25MREP is included with Reports Release 2.5 but not Report Builder Release 3.0 and later.  Since Release 2.5 reports can be opened in Release 3.0 and later, there is no need for an upgrade executable.


Upgrading from Release 2.5 to Release 3.0 and later

There is no upgrade necessary because Release 2.5 reports can be opened by Release 3.0 and later.


ORACLE.INI parameter on Windows used to find external files in my report (e.g. rdf/rep files,.sql, image files)

Report Builder Algorithm/Parameters used to search files:

Release Number	Search Algorithm
2.0.12.x	RW20_PATH in the ORACLE.INI file
2.0.13.x	RW20_PATH in the ORACLE.INI file
2.0.14.x	Search working directory, then directories specified by REPORTS_PATH in ORACLE.INI, and then directories specified by ORACLE_PATH in ORACLE.INI file.
2.5.x	Search working directory, then directories specified by REPORTS25_PATH in ORACLE.INI, and then directories specified by ORACLE_PATH in ORACLE.INI file.
3.0.x	Search working directory, then directories specified by REPORTS30_PATH in ORACLE.INI, and then directories specified by ORACLE_PATH in ORACLE.INI file.
Notes:

•	You can specify multiple directories separated by semi-colons for the above parameters.  For example, the following syntax is valid:

REPORTS60_PATH=C:\ORAWIN\APPS;C:\APPS;D:\TEST

•	Release 6.0 and later uses the Registry , not ORACLE.INI, to set environment. REPORTST60_PATH establishes the directory for locating file external files.


ORACLE.INI parameter on Windows used to redirect where temporary files are created

Release Number	Redirection of Temporary Files
2.0.12.x	TMP variable in the DOS environment.  Add SET TMP=<valid directory> in the AUTOEXEC.BAT file.
2.0.13.x	%TMP% parameter in the ORACLE.INI and TMP in the  DOS environment.  Add %TMP%=<valid directory> in the ORACLE.INI file.  Add SET TMP=<valid directory> in the AUTOEXEC.BAT file.
2.0.14.x	REPORTS_TMP parameter in the ORACLE.INI.  If this is not set use working directory.
2.5.x	REPORTS25_TMP parameter in the ORACLE.INI. If this is not set use working directory.
3.0.x	REPORTS30_TMP parameter in the ORACLE.INI. If this is not set use working directory.
Note:  Release 6.0 and later uses the Registry, not ORACLE.INI to set environment variables. REPORTS60_TMP establishes the directory for storing Report Builder temporary files.


OLE2 support

Report Builder, Release 3.0 and later, acts as an OLE2 Container.  You can embed a static or dynamic OLE2 object.  These objects can either be stored in the database or filesystem.

OLE2 automation is also possible.  See the demo report OLEX.RDF for an example of how to accomplish OLE2 Automation.


Creating an ASCII report that will print landscape

Design the report as any other ASCII report.  The important step is to make sure to modify the printer definition file (.PRT file) that is being used by the report to include the appropriate escape sequences needed by the printer to change to the paper orientation.  These escape sequences will vary for each printer.

Please refer to the specific printer manual for the correct escape sequences.  Also, make sure the the height and width of the .PRT file matches that of the report definition.


PCL5 support

Release 2.5.5.2 and later on Motif and Windows supports the Hewlett-Packard PCL language (Level 5).  Note that earlier versions only support PCL on Windows.


Generating postscript code

Report Builder creates Postscript Level 1 and 2 on MS-Windows and Motif.  We also support any other printer driver on Windows and support PCL5 on Motif.


Printing to a postscript printer exactly the way it looks on the screen

The output will look exactly as presented in the Previewer (not the layout which is a higher presentation of the previewed report).


Progress dialog box for RUN_PRODUCT

The progress dialog is displayed for RUN_PRODUCT calls when MODE is synchronous.


Setting parameter values when running from Form Builder

If you want to suppress the Report Builder Parameter Form and have the report assign a default value to DESTYPE, you will need to create a list parameter to explicitly pass the values of DESTYPE and PARAMFORM.


Unreadable Graphics Builder displays

When you create a Graphics Builder object, normally you drag out an area of NxN dimension to hold the object.  By default, the sizing options for this object are FIXED both horizontally and vertically.

When you create the chart in Graphics Builder, an area of NxN dimension is also defined for the display.  You need to make sure that the Graphics Builder object created in Report Builder is of the same NxN dimension or that the sizing options are not FIXED.

For example, in Graphics Builder you have defined a chart to be 3x5 in size and in Report Builder the Graphics Builder object is defined to be 3x3.  At runtime, Report Builder will need to scale the 3x5 display to now fit in the 3x3 size defined in the report.  For some Graphics Builder objects this could result in the creation of an embedded graph which is not readable.  To resolve this problem, simply change the sizing properties of the object to be VARIABLE.

If for some reason this still doesn't resolve the issue, you can modify the display layout size to also be the same dimensions as the defined chart.

Note:  Normally changing the sizing properties in Report Builder is sufficient to fix the problem.


Passing parameters (e.g., data ranges) to Report Builder running in batch

Just use bind variables in your query to restrict the query, and use the command line parameters to pass the values to the query:

Query:

SELECT * FROM EMP WHERE HIREDATE BETWEEN
:FROM_DATE AND :END_DATE

Runtime:

RWRUN60 REP1 SCOTT/TIGER FROM_DATE='12-JUN-92'
END_DATE='24-JUN-92'


Infinite report error

In Release 2.5, if an object’s border goes beyond a page boundary, an infinite report error is raised.  Report Builder, release 3.0 and later, will automatically push such objects inside the page boundary and avoid the infinite report error.  Note that since Release 2.5 does not have this capability, a report that runs without error in Report Builder, Release 3.0 or later, could cause an infinite report error when run in Release 2.5.


Reserved words

Report Builder reserved words include command line arguments and the Report Builder packaged procedures, functions, and exceptions.  Refer to RWCON60, RWBLD60, RWRUN60, and The Report Builder PL/SQL package (SRW).


Limiting queries

Reports Runtime can restrict the number of pages that a certain user can produce.  Insert a record into the PRODUCT_PROFILE table for that user.


Restarting a report that was stopped while processing

There are no facilities to do this.


Programmatically disabling the PRINT button in the Previewer

Currently this is an enhancement request and is being considered for a future release of the product.


Programatically maximizing the Previewer at runtime and specifying its position on the screen

Currently this is an enhancement request and is being considered for a future release of the product.


Trapping all errors in order to display my own error message, similar to the ON-ERROR and ON-MESSAGE Forms triggers

Currently this is an enhancement request and is being considered for a future release of the product.


Installing the product specific tables for Report Builder

No, with Report Builder, Release 3.0 and later, there is no real need to install the product specific tables.  The only time when the tables are required is when the Reports-On-Reports needs to be run on a particular report.  The Reports-On-Reports report needs to have the report that is being documented stored in the database.


Moving objects and layering in the Layout Model view

  Related Topics

In the Layout Model view, objects must be on a layer above the objects that enclose them.  For example, the fields that belong to a repeating frame must be at least one layer above the repeating frame in the Layout Model view.  If not, then they are not considered to be enclosed by the repeating frame any longer and will cause a frequency error at runtime.  When you move or group objects in the Layout Model View, it is possible to change the layering such that you will get frequency errors when you run the report.  To avoid this problem, you should take advantage of Confine or Flex Mode when moving objects in the Layout Model view.


SQL*Net TCP/IP connect times
Oracle Net 8 connect times

A common cause of long connect times is the use of Domain Name Service when this is not available on the network, or is not working very well.  Some implementations of TCP/IP use Domain Name Service by default. If so and a Domain Name Server is not available on your network or if it is not working very well, it could take a minute or longer to connect.  For example, if no Domain Name Server responds to a request to resolve a host name, the request will retry several times, doubling the waiting time between each retry.  If after several retries it still doesn't get a reply, it will then resort to looking up the name in a local hosts file.

Thus, if you notice an unusually long connect time even though you are using a local hosts file, check to make sure your TCP implementation is not trying to use Domain Name Service first. An easy way to do this is to replace the host name in your connect string with the IP address of the server to which you are trying to connect.


SQL*Net TCP/IP Version 1 to Net8

While SQL*Net TCP/IP V2 connect times can be longer than SQL*Net TCP/IP V1 connect times, they should not be longer by several orders of magnitude.  Some of the older SQL*Net TCP/IP V1 products were hardcoded to use a local hosts file and had code to do the actual name lookup itself, passing an IP address to the protocol stack. Thus, the protocol stack did not need to do any name resolution at all.

Net8, on the other hand, does not do any name resolution itself.  It simply passes whatever value it gets from TNSNAMES.ORA to the protocol stack for name resolution.  If your protocol stack is configured to attempt Domain Name Resolution first, and you do not have a Domain Name Server that works properly, then moving from V1 to Net8 will cause the connect times to increase dramatically.

If you suspect this to be the case, try substituting an IP address for the host name when constructing your TNS addresses and see if the connect time drops significantly.


Net8 default timeout

The timeout on the initial connect attempt is controlled by the underlying protocol, and has nothing to do with dead connection detection (or even Net8, for that matter.)  An application written using non-blocking connect (in 7.2 OCI or later) could mitigate this effect somewhat (since it could decide to go off and do some other work if it discovered that the connect attempt was about to block).


Report tracing

The best way to monitor your report's performance is to trace report execution.


SQL TRACE

The TRACE function provides you with the exact statements that are being parsed.  Once you have them, you can time them in SQL*Plus, and multiply these times with the expected number of rows to retrieve from the database.  (Always compare apples to apples, i.e., send output to a file--not to the screen.  Do not change anything in the SQL statements when moving it to SQL*Plus; even the slightest change in the WHERE clause can make a big difference in the performance.)

There are two ways to trace your reports:  on a user level, and a system level.  We recommend the user level (because you can find more easily the information you need), although the steps for both methods are below.  For more information on SQL TRACE, see the ORACLE8 Server SQL Language Reference Manual.

Performing a user-level trace

1	Open the report for which you want the performance data.

2	Create a report-level formula column named SQL-TRACE that has the following formula:

SRW.DO_SQL ('ALTER SESSION SET SQL_TRACE=TRUE');
return(1);  --Formulas must return a value.

Note:  You could also call SQL TRACE from the Before Form trigger.

3	Run the report.  A new file, <some_number>.trc will be created in either ORACLE_HOME/rdbms/log, or the destination indicated by the init.ora parameter USER_DUMP_DEST.  (The date stamp on the file can help you determine which .trc file is yours.)

4	Use the TKPROF command to format the trace output file.

If you issue more than one trace during the RWBLD60 session, the trace outputs are concatenated into one file.

Performing a system-level trace

1	Insert these statements into your init.ora file:  SQL_TRACE=TRUE and TIMED_STATISTICS=TRUE.

2	Shut down, then restart your database.

Note:  Every interaction with the database will be traced, and the ORACLE_HOME/rdbms/log is likely to grow very large.


Design preferences

Use the following preferences to speed your report development

•	Suppress Report Editor on Open

•	Suppress List Retrieval on Dialog Box Entry

•	Object Access (of File System)

Rationale:     Suppressing Report Editor on Open stops Report Builder from opening the Report Editor every time you open a report.  Suppressing List Retrieval on Dialog Box Entry, reduces the amount of time it takes to bring up a dialog box because Report Builder does not have to retrieve the lists in the dialog box.  Setting Object Access to File or Database bypasses the Display dialog box when you access files, other modules, or database objects.


Templates

If certain report elements are repeated in many of the reports you create, you should consider creating a template for your reports.

Rationale:  Using templates saves time because you do not have to always recreate the same objects and settings each time you build a new report.


Number of queries

Reduce the number of queries in your report as much as possible.  In general, the fewer queries you have, the faster your report will run.  While multi-query data models are often easier to understand, single-query data models tend to execute more quickly.

The only times you should use multi-query data models are:

•	when you're fetching many large columns from the parent and only a few small columns from the child

•	when you're trying to do things that SELECT does not support directly (e.g., multi-way outer join)

•	when you have complex views (e.g., distributed queries or GROUP BY queries)

•	when you need but don't have or want to use a view

Rationale:     For a one-query report, Report Builder opens only one cursor to fetch all of the master and detail records.  For a two-query report, Report Builder opens two cursors--one for each query--after appending the detail query's link to the WHERE clause of the detail query.  Therefore, for each master record fetched in the master query, Report Builder must rebind, execute, and fetch data from the detail query.


SQL statements

Performing operations in SQL is faster than performing them in Report Builder or PL/SQL.  The list below explains the most common cases where using SQL would improve performance:

•	perform calculations directly in your query rather than in a formula or summary

•	use a WHERE clause instead of a group filter or Format Trigger to exclude records

•	use the SUBSTR function to truncate character strings instead of truncating in Report Builder

Rationale:  SQL can perform calculations more quickly than a summary or formula.  WHERE and SUBSTR can reduce unnecessary fetching because they operate on the data during rather than after data retrieval. Improvements in performance become more noticeable when retrieving thousands of records versus a few records.


Query modifications

Report Builder modifies your queries in the following cases:

•	For each link you create, Report Builder will append a clause to the child query as specified in the link.  For example, suppose you have the following query:

     SELECT DEPTNO, ENAME, SAL FROM EMP
     WHERE SAL > 1000

If you create a link to this query using DEPTNO as the child column, a SQL Clause of WHERE, and a Condition of = (equal to), then your query would be modified as follows:

     SELECT DEPTNO, ENAME, SAL FROM EMP
     WHERE (SAL > 1000) AND (DEPTNO = :DEPTNO)

Note: This is not true for multi-query matrix report data models.

•	For each database column with Break Order set, Report Builder will prepend an ORDER BY clause to the query,  For example, suppose you have the following query:

     SELECT DEPTNO, ENAME, SAL FROM EMP
     ORDER BY SAL

If you create a break group with DEPTNO as the break column, then your query would be modified as follows:

     SELECT DEPTNO, ENAME, SAL FROM EMP
     ORDER BY 1, SAL

These SQL statements will be sent to the database, and it is then the job of the SQL optimizer to determine the optimal way to get the data from the database and return it to Report Builder.  The optimizer will determine whether to use indexes, which table to use as the 'driving' table in the query, etc.

Refer to your ORACLE8 Server Application Developer's Guide for more information on tuning SQL statements.  Refer to your ORACLE8 Server Concepts Manual for more information about the SQL optimizer.


Indexes

Have indexes on columns used in the SELECT statements' WHERE clauses, on database key columns, and on the table(s) in the detail queries.  Indexes have little impact on master queries because those queries access the database only once.  However, indexes significantly improve performance of master/detail reports.  The lower the ratio of master to detail records, the more important indexes on the detail query becomes for two-query reports.

Rationale:  Indexes are recommended for tables in the detail queries, because Report Builder implicitly creates a WHERE clause from the parent/child relationships and adds it to the detail query.


SRW.DO_SQL statements

Use the packaged procedure SRW.DO_SQL only when necessary.  In those cases where it is necessary, assign it to a group that fetches only a few records, or to a report-level object (which will parse, open a cursor, and execute only once).  SRW.DO_SQL enables you to add any DDL or DML operation to your report.  This functionality is very valuable, but it can also be very expensive if used unwisely.

Rationale:  Just like queries, SRW.DO_SQL statements are parsed, open a cursor to the database, and execute the statement.  Unlike queries, however, an SRW.DO_SQL statement will do those things each time its owner (e.g., a group) fetches data.  (For example, if your SRW.DO_SQL statement is owned by a group that fetches 10 records, the statement will be parsed 10 times, 10 cursors will be opened, and the statement will be executed 10 times.)  For this reason, computations (e.g., :sal + :com) should be performed within the query or PL/SQL, instead of SRW.DO_SQL owned by a group.


Maximum rows and group filters

Use the Maximum Rows to Fetch property of your query (or the SRW.SET_MAXROW packaged procedure) to reduce the number of records retrieved by the report's queries.  When designing a report that fetches many records or accesses information across a network with much traffic, you may want to restrict the amount of data retrieved so the report will run more quickly during testing.

Rationale:   Maximum Rows to Fetch restricts the number of records fetched by the query.  A group filter determines which records to include and which records to exclude.  Since Maximum Rows to Fetch actually restricts the amount of data retrieved, it is faster than a group filter in most cases.  If you are using a Filter of Last or PL/SQL, Report Builder must retrieve all of the records in the group before applying the filter criteria.  As a result, Maximum Rows to Fetch or a Filter of First is faster.

When you specify a Filter of First n for a group, Report Builder retrieves as many arrays as necessary to get the first n records of the group.  The size of the array retrieved is determined by the ARRAYSIZE parameter.  As a result, a Filter of First may retrieve more records than necessary.  For example, if you specify a Filter of First 5 and an ARRAYSIZE such that each array contains 10 records, 5 records that will not be used by the report will be retrieved.  When you specify Maximum Rows to Fetch for a query, Report Builder only retrieves the number of records that you specify.  A Maximum Rows to Fetch setting of 5 results in only 5 records being retrieved.

Typically, Maximum Rows to Fetch is faster than a Filter of First because it only retrieves as many records as needed.  The performance difference, however, may vary depending upon the ARRAYSIZE you have specified.

Note: You should be cautious when using Maximum Rows to Fetch for queries upon which a group depends.  For example, if you set Maximum Rows to Fetch to 5 on a child query, then a summary of the child contained in the parent group will only use the five records that are retrieved by the query.


Unused data model objects

Make sure that you remove or suppress any data model objects that are not actually used in your report.  If your data model includes a query that is only used in certain cases (i.e., when a parameter is set to a certain value), you can conditionally suppress the query with the SRW.SET_MAXROW packaged procedure.  SRW.SET_MAXROW (queryname, 0) will cause the query to fetch no records.

Rationale:  Report Builder processes everything in the Data Model view.  This can unnecessarily slow down your report unless you remove or suppress any unnecessary queries.


Break columns

When you create a break group, place as few columns as possible in the group.  Whenever possible, keep the number of break columns per break group to one.

In addition, you should try to ensure that the break column is as small as possible.  A break column that is shorter in length will typically give better performance than a break column that is longer.  For larger break columns, it may help performance to use the SUBSTR function to reduce the length of the column.

Rationale:  For each break group, Report Builder prefixes its break columns to the ORDER BY clause of the query.  (The only exception to this rule is when the break column is a formula column.)  By minimizing the number of break columns in your break groups, you minimize the number of columns that are added to the ORDER BY clause.  The fewer the columns added to the ORDER BY clause, the less the processing that needs to be done when the query runs.  The size of the key that Report Builder uses internally to build indices will also be smaller, resulting in better performance.


Multiple layouts, one source

Report Builder can display data from a single source multiple times in the report output.  If you want to display the same data more than once in the output, use the same data model object as the source for all of the layout objects.

For example, suppose you want to display all employees who are making $2000 or more in one list and all employees making less than $2000 in another.  To accomplish this, you write one query that selects all of the data.  Then you create two separate layouts based on the same data.  In one layout, the repeating frame will contain a Format Trigger that only displays instances when SAL is $2000 or more.  In the other, the repeating frame will contain a Format Trigger that only displays instances when SAL is less than $2000.

Rationale:  A report that fetches the data once and lays it out multiple times runs faster than a report that retrieves the data once for each different layout of the data.


Matrices

You can improve the performance of matrix reports with:

fewer queries

WHERE clauses

Note: Cross-product groups always cause "fetching ahead."  The reason for this is that to cross-tabulate the data in a cross-product group, Report Builder must first fetch all of the data.


Fewer Queries

As with other types of reports, fewer queries are faster.  You should use one query for your matrix reports to improve performance.

Rationale:  For a one-query report, Report Builder opens only one cursor to fetch all of the master and detail records.  For a multi-query report, Report Builder opens multiple cursors.


WHERE Clauses

Consider adding a WHERE clause for the matrix cell query in a multi-query data model.  If you are using a multi-query data model and your dimension queries are restricted by a WHERE clause, adding a WHERE clause to the matrix cell query ensures that you do not retrieve more records than are necessary.  For example, suppose that you had the following queries for your dimensions:

Q_Dept:

SELECT DEPTNO FROM DEPT
            WHERE DEPTNO < 100

Q_Job:

SELECT DISTINCT JOB FROM EMP
            WHERE DEPTNO < 100

To ensure that your cell query only retrieves the records that are necessary, you would write the following SELECT statement:

Q_Filler:

SELECT DEPTNO, JOB, SUM(SAL) FROM EMP
             WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT
             WHERE DEPTNO < 100) AND JOB IN (SELECT
             DISTINCT JOB FROM EMP WHERE DEPTNO < 100)
             GROUP BY DEPTNO, JOB

If you did not add the WHERE clause to this query, all rows would be retrieved from the database, regardless of what you selected in Q_Dept and Q_Job.

Note: If you added a WHERE clause that did not use the subqueries (e.g., WHERE EMP.DEPTNO = DEPT.DEPTNO), the query would be executed once for each combination of values in the cross-product.  This can lead to excessive execution of the filler query, if the cross-product has a lot of combinations.

Rationale:  Report Builder does not add a WHERE clause on the filler query in a multi-query matrix data model.  The reason for this is to ensure that the filler query will only be executed once.  (Otherwise, the query would be executed once for each combination of values in the cross-product.)  However, if your dimension queries significantly restrict the number of records retrieved, the lack of a WHERE clause on the filler query could cause a large number of unnecessary records to be fetched.  To avoid this, you can add the WHERE clause yourself.  Since this method does incur the added overhead of subqueries, though, you should only use it if it will prevent a large number of unnecessary records from being retrieved.


Unused frames

Remove any unnecessary frames from the layout.  When Report Builder creates a default layout for you, it puts frames around virtually everything.  The reason for this is to protect the objects in the frames from being overwritten by other objects in the output.  If you know from experience that the objects in a frame are not in danger of being overwritten, you can eliminate the frame without adversely affecting your report output.

Rationale:  The fewer objects in the layout, the fewer objects Report Builder must format at runtime.  As a result, performance is better when you reduce the number of objects in the layout.


Transparent objects

Give layout objects (e.g., frames and repeating frames) a transparent border and fill pattern.

Rationale:  Transparent objects do not need to be rendered in a PostScript file.  As a result, processing is faster when objects are transparent.


Sizing for non-graphical objects

Make your non-graphical layout objects (e.g., boilerplate text or fields with text) fixed in size, i.e., Vertical and Horizontal Elasticity of Fixed.  In particular, making repeating frames and their contents fixed in size can improve performance.

Rationale:  Non-graphical objects that are variable in size require more processing because Report Builder must determine their size before formatting them.  Non-graphical objects that are fixed in size do not require this additional processing because their size is already known.


Sizing for graphical objects

Make your graphical layout objects (e.g., images and Oracle Graphics objects) variable in size, i.e., Vertical and Horizontal Elasticity of Variable.

Rationale:  Graphical objects that are fixed in size usually need to have their contents scaled to fit inside of the object.  Scaling an object's contents requires more processing.  If the object is variable in size, it can grow or shrink with the contents, and scaling is not necessary.


Image resolution reduction

Use Format [image] Drawing Options [image] Reduce Image Resolution on image objects whose size you reduce.

Rationale:  When you reduce the size of an image, it requires less information to display it than when it was larger.  Reduce Image Resolution eliminates the unnecessary information and reduces the amount of space needed to store the image.  This can be particularly useful for large, multi-colored images.


Word wrapping

Make fields that contain text one line long and ensure that their contents fit within their specified width (e.g., by using the SUBSTR function).

Rationale:  If a field with text spans more than one line, then Report Builder must use its word-wrapping algorithm to format the field.  Ensuring that a field only takes one line to format avoids the additional processing of the word-wrapping algorithm.


Formatting attributes

Minimize the use of different formatting attributes (e.g., fonts) within the same field or boilerplate text.

Rationale:  If text in a field or boilerplate object contains numerous different formatting attributes, it requires longer to format.


Format triggers

Place PL/SQL in the format trigger of the object with the lowest frequency possible.  For example, PL/SQL in the format trigger of a frame instead of a field typically makes the report run faster.

Rationale:  The PL/SQL in format trigger is executed for each instance of its object.  The lower the frequency of the object, the fewer times the PL/SQL will be executed and the faster the report will run.

Usage Notes

•	Because you cannot be sure how many times a format trigger will fire for a particular object, you should not perform calculations or use DML in a format trigger.


Total Number of Pages

Limit your use of total number of pages (e.g., Total Number of Logical Pages) as the source of fields.

Rationale:  When you use a total number of pages field source, Report Builder must save all of the pages in temporary storage in order to determine the total number of pages.  This can significantly increase the amount of temporary disk space used by Report Builder and the additional writing to files can slow performance.


Graphics Builder integration

If a Graphics Builder display referenced by a report uses some or all of the same data as the report, pass the data from the report to the display.  You can specify that data be passed in the Property Palette for the display in Report Builder

Rationale:  If the report and the display use the same data, passing the data reduces the amount of fetching that needs to be done.  If you do not pass the data from the report to the display, the data is actually fetched twice:  once for the report and once for the display.


PL/SQL versus user exits

Depending upon the circumstances, PL/SQL or a user exit may perform better.  Following are the items you should consider when deciding between PL/SQL and user exits:

•	If you need to make many references to Report Builder objects, PL/SQL is typically faster.

•	If the report needs to be portable, or if the action is executed on the group or report level, then use PL/SQL.

•	If a report does not need to be portable use user exits, instead of PL/SQL, to perform DML.

•	User exits are especially beneficial when the action is executed for each record in a large report, or requires a large number of complex computations.

Rationale:  PL/SQL is highly recommended, because it allows the code to be procedural and still portable.  PL/SQL also offers performance advantages when referencing report-level objects.  User exits will perform better, but they require linking and are not portable.  It makes sense to include a user exit if the action required will be executed for every record in a very large report or performs numerous calculations.

A PL/SQL procedure makes more sense if the action is only for each group or at the report level.  Furthermore, not everything can be done in PL/SQL; some actions like controlling external devices have to be done in a C program.

Note: If there is no performance tradeoff or other good reason to use a user exit, you should use PL/SQL because it is easier and portable.


PL/SQL versus SRW.DO_SQL for DML

Use PL/SQL for DML, unless you want to pass parameters to your DML statements.

Rationale:     Writing DML statements in PL/SQL is faster than an SRW.DO_SQL call containing the same statement.  The reason to use SRW.DO_SQL for DML statements is that it can concatenate bind parameters to construct the DML statement.  For example, you can have SRW.DO_SQL create a table whose name is determined by a parameter entered on the runtime parameter form:

SRW.DO_SQL ('CREATE TABLE' || :tname || '(ACOUNT NUMBER
           NOT NULL PRIMARY KEY, COMP NUMBER (10,2))');

Usage Notes

•	You can also use the dbms_sql package that comes with ORACLE 7.1 or later for DML.  Refer to your ORACLE 7 documentation for more information.


Stored procedures versus local PL/SQL

Use stored procedures for PL/SQL that performs database operations.  Use local PL/SQL for PL/SQL that does not involve database operations.

Rationale:  Because stored procedures run in ORACLE, they can perform database operations more quickly than PL/SQL that is local to your report.

Exceptions:  If you are on a heavily loaded network with very slow response time, using stored procedures may not be faster for database operations.  Similarly, if your server is significantly faster than your local machine, then using local PL/SQL may not be faster for non-database operations.


Local PL/SQL versus external PL/SQL libraries

Write your PL/SQL as "locally" as possible.  Use the Program Units node of your report in the Object Navigator instead of an external PL/SQL library.

Rationale:  Local PL/SQL executes more quickly than a reference to a procedure or function in an external PL/SQL library.  As a result, you should only use external PL/SQL libraries when the benefits of sharing the code across many applications outweighs the performance overhead.


SRW.SET_ATTR

Minimize the number of calls to SRW.SET_ATTR by specifying multiple attributes in one call.  You can specify multiple attributes per call to SRW.SET_ATTR instead of making a separate call for each attribute.

Rationale:  The fewer calls you make to SRW.SET_ATTR, the faster the PL/SQL will run.


ARRAYSIZE

For Report Builder's ARRAYSIZE executable argument (e.g., ARRAYSIZE=10), enter as value as large as you can, especially if you are using Report Builder in a client-server environment.  The array size is measured in kilobytes, not rows.  ARRAYSIZE means that Report Builder can use that number of kilobytes of memory per query in executing your report.

Report Builder uses ORACLE's array processing which fetches multiple records in batches, instead of one record at a time.  As a result, you can control the amount of data to be fetched by the batch processes.

Rationale:  The larger the array size, the more rows that can be fetched simultaneously; therefore, fewer calls to the database will be made.  The benefit of increasing the array size is further noticed in a distributed environment, where network traffic is usually the bottle-neck, and overhead associated with the number of packets sent over the network is significant.


LONGCHUNK

For Report Builder's LONGCHUNK executable argument (e.g., LONGCHUNK=10), enter a value as large as you can. LONGCHUNK determines the size of the increments in which Report Builder will retrieve a LONG value.  The LONGCHUNK size is measured in kilobytes.

Rationale:  By increasing LONGCHUNK as much as possible, you can reduce the number of increments it takes Report Builder to retrieve LONG values.


RUNDEBUG

Turn off the RUNDEBUG executable argument.  RUNDEBUG causes Report Builder to perform more error checking when it runs your report.  This extra error checking is useful when you are designing a report, but, when a report goes into production, you probably no longer need extra error checking.

Rationale:  The extra error checking done by RUNDEBUG slows down the report.


COPIES

When printing to PostScript, specify COPIES=1.

Rationale:  If COPIES is set to something greater than 1 for a PostScript report, Report Builder must save the pages in temporary storage in order to collate them.  This can significantly increase the amount of temporary disk space used by Report Builder and the additional writing to files can slow performance.


Previewer

Avoid "fetching ahead" when sending report output to the Previewer or Live Previewer.  This causes the first page to display more quickly than it otherwise would.

Rationale:  The Previewer or Live Previewer is sometimes slowed by things that require fetching ahead.  For example, if the total number of pages in a report appears on the very first page of the report, then the entire report must be processed before the first page can be displayed in the Previewer or Live Previewer.

The following items can all result in fetching ahead when referenced before the data on which they rely:

•	total number of pages/panels

•	grand totals

•	break columns that are formulas

•	break columns that have Value if Null specified

Cross-product groups also cause fetching ahead.  In order to cross-tabulate the data in a cross-product group, Report Builder must first fetch all of the data.

It should be noted that these items are not really performance "problems."  They slow down the Previewer or Live Previewer, but they do not affect performance when writing to a file or some other destination.

Note: A column can cause fetching ahead even if it is not displayed.  For example, a grand total may not appear in the report output, but, since it is in the report, fetching ahead may still occur when Report Builder calculates it.


File or database storage

Store documents in files to enhance performance.  Store documents reports and in the database for security.  If you open a report from or save a report to a database, some Report Builder tables will be put into memory.  As a result, you need to ensure that you have enough resources to cache the tables.

Rationale:  For documents, writing to and reading from files tends to be much faster than the database.

Exception:  If you must use a busy network or slow machine to access the files, you may not realize performance gains from storing in files.


File searching

Specify path variables to speed up file searching and creation/access of temporary files.  (Recall that Report Builder provides two environment variables, REPORTS60_PATH and REPORTS60_TMP, that govern where to search for files and where to store temporary files.)

For REPORTS60_PATH, specify the path in which files referenced by the report are located.  For REPORTS30_TMP, specify a path that has sufficient free space for temporary files and is on a device with fast response time (e.g., a RAM disk).

Rationale:  REPORTS60_PATH is the default path in which Report Builder will search for files (e.g., link file boilerplate).  By specifying the path in which the files referenced by the report are located, you can reduce the amount of searching Report Builder needs to perform to retrieve the files.  (By using REPORTS60_PATH instead of hard-coding the paths in the report definition, you also maintain the portability of your report.)  REPORTS60_TMP is the path in which Report Builder will create its temporary files.


Table sharing

Use one set of tables for several report designers.  ORACLE enables several report designers to share one set of Report Builder tables.

Rationale:  Sharing tables enables you to share reports among developers, and only caches one set of tables.  This will provide better performance when opening a report from or saving a report to the database, and save some memory.


Client/Server

If you have a powerful server and a fast network, you may want to have Report Builder running on the server.  If not or if you plan on doing a lot of interactive reporting (e.g., drill down), consider having Report Builder on your local machine.  You should contact your system administrator to find out which of these arrangements is best for you.

Rationale:  In a client/server environment, the performance of Report Builder can be seriously affected by the following:

•	speed and load of the client and server machines

•	the network traffic


Report triggers and the Live Previewer

In the Live Previewer, report triggers may not fire exactly as they would in the Runtime Previewer.  To accurately test report triggers, use the Runtime Previewer.


Refreshing the Live Previewer

In some cases, you may make a change to an object in the Property Palette and the change is not immediately reflected in the Live Previewer.  If this happens, you can re-execute the report to see the effect of the change.


Truncation in HTML output

HTML has seven sizes for text.  As a result, Report Builder needs to map ranges of fonts to these seven text sizes.  When designing a report for HTML output, you need to ensure that your fields and boilerplate text are sized such that they can accommodate any expansion in size that occurs due to this mapping of font ranges.  One way of doing this is to choose font sizes that are at the top of a range (e.g., 8, 9, 12, 15, 20, 30).  Another is to simply make your fields and boilerplate text objects large enough to accommodate any expansion.

The font sizes in the report are mapped according to the following table.  Note that the user can override the size specified in the HTML file from their browser.

Report Font Size	HTML Size
less than 8	1
8 through 9	2
10 through 12	3
13 through 15	4
16 through 20	5
21 through 30	6
more than 30	7


Margins in HTML output

Sometimes when printing a report's output from your browser you will find that the report output seems to be running off the page (i.e., it is being truncated).  The reason for this may be that the browser's page setup includes a margin.  When printing, this margin is added to the margin defined in the report output and thus causes truncation.  Reducing the margin of the browser's page setup to zero should cause the output to print correctly.


Group filter trigger
Group filter

  Restrictions 	  Examples	  Related Topics

Description  A group filter is a PL/SQL function that determines which records to include in a group, if the Filter Type property is PL/SQL.  The function must return a boolean value (TRUE or FALSE).  Depending on whether the function returns TRUE or FALSE, the current record is included or excluded from the report.  You can access group filters from the Object Navigator, the Property Palette (the PL/SQL Filter property), or the PL/SQL Editor.

Definition Level  group

On Failure  Excludes the current record from the group.


Group filter trigger example
Group filter example

  Related Topics 	  All Examples

function filter_comm return boolean is
begin
   if :comm IS NOT NULL then
      if :comm < 100 then
         return (FALSE);
      else
         return (TRUE);
      end if;
   else
     return (FALSE); -- for rows with NULL commissions
   end if;
end;


Group filter restrictions

•	Group filters cannot be added to groups if Filter Type is First or Last.

•	Group filters cannot be added to cross-product groups.

•	In a group filters, you can read the values of Report Builder columns and parameters of the correct frequency (look at the rule below), but you cannot directly set their values.  For example, you can use the value of a parameter called COUNT1 in a condition (e.g., IF :COUNT1 = 10), but you cannot directly set its value in an assignment statement (e.g., :COUNT1 = 10).  Note also that the use of PL/SQL global variables to indirectly set the values of columns or parameters is not supported.  If you do this, you may get unpredictable results.  You also cannot reference any page-dependent columns (i.e., Reset At of Page) or columns that rely on page-dependent columns in a group filter.

•	The function that you enter for a group filter can only depend upon the following columns:

•	a database column owned by the group's query or a query above it in the data model hierarchy

•	computed columns (formulas or summaries) that depend on unrelated queries (i.e., computed columns that do not depend upon columns in the group, the group's ancestors, or the group's descendants)


Formula trigger
Formula

  Examples	  Restrictions 	  Related Topics

Description  Formulas are PL/SQL functions that populate formula or placeholder columns.  You can access the PL/SQL for formulas from the Object Navigator, the PL/SQL Editor, or the Property Palette (i.e., the PL/SQL Formula property).

A column of datatype Number can only have a formula that returns a value of datatype NUMBER.  A column of Datatype Date can only have a formula that returns a value of datatype DATE.  A column of Datatype Character can only have a formula that returns a value of datatype CHARACTER, VARCHAR, or VARCHAR2.

Definition Level  column

On Failure  No value is returned for the column.


Formula for adding values example

  Related Topics	 	  All Examples

function salcomm return NUMBER is
begin
  return(:sal + :comm);
end;


Formula with condition example

  Related Topics 	  All Examples

function calcomm return NUMBER is
  temp number;
begin
   if :comm IS NOT NULL then
     temp := :sal + :comm;
   else
     temp := :sal;
   end if;
   return (temp);
end;


Formula restrictions

•	In a formula, you can read and assign values to the column itself, placeholder columns, and parameters of the correct frequency (look at the rule below).  For example, you can use the value of a column called COMP in a condition (e.g., IF :COMP = 10) and you can directly set its value in an assignment statement (e.g., :COMP := 15).

•	A formula can only make reference to columns that are in the same or a higher group in the group hierarchy.  For example, a formula for a report-level column can only reference other report-level columns.

•	Formulas are calculated such that any column referenced in the formula will be calculated first.  To do so, Report Builder builds a dependency list, to guarantee proper ordering of calculations.  Note that circular dependencies, in which a column references another column which in turn references the first column, either directly or indirectly, are not allowed.

•	A user exit may only change the value of a placeholder column.

•	When using SRW.DO_SQL, we recommend that you do not read database values that are updated or inserted in the same report.  There is no guarantee of the exact time Report Builder will fetch records from the database for formatting the output.  Report Builder does internal "data look-ahead" to optimize performance.  Thus, a particular record might already have been accessed before an update is issued to the same record.  Report Builder builds internal dependency lists which guarantee that events, such as invocation of user exits, calculation of summaries, etc., happen in the correct order.  However, Report Builder cannot guarantee these events will be synchronized with its internal data access or with the formatting of data.


Validation trigger

  Examples	  Restrictions 	  Related Topics

Description  Validation triggers are PL/SQL functions that are executed when parameter values are specified on the command line and when you accept the Runtime Parameter Form.  (Notice that this means each validation trigger may fire twice when you execute the report.)  Validation triggers are also used to validate the Initial Value property of the parameter.  The function must return a boolean value (TRUE or FALSE).  Depending on whether the function returns TRUE or FALSE, the user is returned to the Runtime Parameter Form.  You can access validation triggers from the Object Navigator, the PL/SQL Editor, or the Property Palette (Validation Trigger property).

Definition Level  parameter

On Failure  The user is returned to the parameter value in the Runtime Parameter Form where they can either change it or cancel the Runtime Parameter Form.


Validation trigger example

  Related Topics 	  All Examples

/* This function prevents the runtime user from
** sending report output anywhere except a printer.
** The user will be returned to the Runtime Parameter
** Form unless PRINTER is specified as the destination
** type (DESTYPE).
*/

function DESTYPEValidTrigger return boolean is
begin
  IF UPPER(:DESTYPE) = 'PRINTER' THEN
  RETURN(TRUE);
ELSE
  RETURN(FALSE);
END IF;
end;


Validation trigger restrictions

•	The PL/SQL in a validation trigger can be a maximum of 32K characters.  The upward limit may vary between operating systems.

•	In a validation trigger, you can read and assign values to Report Builder parameters.  You cannot read or assign values to columns.  For example, you can use the value of a parameter called COUNT1 in a condition (e.g., IF :COUNT1 = 10) and you can directly set its value in an assignment statement (e.g., :COUNT1 = 15).  In some cases, though, the Validation Trigger may fire more than once for the same parameter.  As a result, it is usually best to assign parameter values in the After Parameter Form trigger.  Note also that the use of PL/SQL global variables to indirectly set the values of columns is not supported.  If you do this, you may get unpredictable results.

•	You should not use DDL in Validation triggers.

•	For reports that are spawned processes of other reports (e.g., run with BACKGROUND=YES), you should commit database changes you make in the Before Parameter Form, After Parameter Form, and Validation triggers before the report runs.  Spawned processes use their parent process' database connection for the Before Parameter Form, After Parameter Form, and Validation triggers.  When the spawned process runs the report, though, it establishes its own database connection.  Any database changes not committed by the time the child report runs will therefore be lost.


Format trigger

  Restrictions 	  Examples	  Related Topics

Description  Format triggers are PL/SQL functions executed before the object is formatted.  The trigger can be used to dynamically change the formatting attributes of the object.  The function must return a Boolean value (TRUE or FALSE).  Depending on whether the function returns TRUE or FALSE, the current instance of the object is included or excluded from the report output.  You can access format triggers from the Object Navigator, the Property Palette, or the PL/SQL Editor.

Definition Level  layout object

On Failure  Excludes the current instance of the object from the output.

Usage Notes

•	Format triggers do not affect the data retrieved by the report.  For example, if a format trigger returns FALSE for a field, the data for the field is retrieved even though the field does not appear in the output.

•	If a format trigger suppresses report output on the last page of the report, the last page will still be formatted and sent to the appropriate output and the page will be included in the total number of pages.


Format trigger example (highlighting a value)

  Related Topics 	  All Examples

/* Suppose that you are building a banking report and
** would like it to indicate if a customer is overdrawn.
** To do so, you give the repeating frame around the
** customer information a format trigger that causes
** it to have a border only if a customer's account
** balance is less than 0 (or the required minimum
**balance).
*/

function my_formtrig return BOOLEAN is
begin
if :bal < 0 then
   srw.attr.mask := SRW.BORDERWIDTH_ATTR;
   srw.attr.borderwidth := 1;
   srw.set_attr (0, srw.attr);
end if;
return (true);
end;


Format trigger example (suppressing labels)

  Related Topics 	  All Examples

/* Suppose that you are building a master/detail report
** and, if no detail records are retrieved for a master
** record, you do not want the boilerplate labels to
** appear.  To do this, you first create a summary
** column called MYCOUNT with a Function of Count in
** the source group of the master repeating frame.
** In the format trigger for the group frame that
** surrounds the detail repeating frame and its labels,
** you enter the following:
*/

function my_formtrig return BOOLEAN is
begin
if :mycount = 0 then
   return (false);
else
   return (true);
end if;
end;


Format trigger example (suppressing values)

  Related Topics 	  All Examples

/* Suppose that you are building a salary report and
** you only want to see salaries above $2500.  In the
** report summary of all salaries, however, you want all
** salaries to be included.  To do this, you create a
** data model for the report without restricting the records
** retrieved.  Then, you enter the following format trigger
** for the repeating frame.  The report output will only
** show salaries greater than $2500, but the summary that
** calculates the sum of all salaries will include all the
** salaries retrieved from the database.
*/

function my_formtrig return BOOLEAN is
begin
if :sal > 2500 then
   return (true);
else
   return (false);
end if;
end;


Format trigger example (placing a comma between fields)

  Related Topics 	  All Examples

/* Suppose that you want to create a comma-separated
** list for the names of employees.  First, you create
** a field inside a repeating frame with a Print
** Direction of Across.  Next to the field, you create
** a boilerplate text object that contains a comma
** followed by a space.  To ensure that the comma does
** not appear after the last name in the list, enter the
** following format trigger for the boilerplate object.
** LASTNAME is a summary column with a Source of ENAME,
** a Function of Last, and Reset At of Report.
*/

function my_formtrig return BOOLEAN is
begin
if :ename <> :lastname then
   return (true);
else
   return (false);
end if;
end;


Format trigger restrictions

Caution:  The PL/SQL in a format trigger is executed each time that Report Builder attempts to format the layout object.  As a result, format triggers should only contain PL/SQL program units that set formatting attributes (e.g., color and highlighting).  You should not perform other actions, such as inserting data in a table, because you cannot predict when or how many times the trigger will fire.  For example, if you have Page Protect set for an object, the object might not be formatted on the logical page where the trigger is fired.  In addition, the trigger may be executed more than once.

•	If a format trigger returns false for an object on the last page of your report and no other objects are formatted on the last page, the last page be a blank page.

•	Comments inserted directly into the PL/SQL code must use the PL/SQL comment delimiters.

•	In a format trigger, you can read the values of Report Builder columns and parameters of the correct frequency (look at the rule below), but you cannot directly set their values.  For example, you can use the value of a parameter called COUNT1 in a condition (e.g., IF :COUNT1 = 10), but you cannot directly set its value in an assignment statement (e.g., :COUNT1 = 10).  (This restriction also applies to user exits called from the format trigger.)  Note also that the use of PL/SQL global variables to indirectly set the values of columns or parameters is not supported.  If you do this, you may get unpredictable results.

•	You cannot reference columns or variables in the format trigger of an object that have a different frequency than the object.  For example, if you create a master/detail report, the parent group's repeating frame cannot have a format trigger that relies on a value in the child group.  For each parent, there may be multiple children.  Therefore, at the parent record level, Report Builder cannot determine which of the child records to use.  You also cannot reference any page-dependent columns (i.e., Reset At of Page) or columns that rely on page-dependent columns in a format trigger.  The reason for this is that it would result in a circular dependency.  That is, the value of a page-dependent column cannot be computed until the report is formatted, but the report cannot be formatted until the format trigger is executed.

•	If a format trigger returns false and the object does not format, this can cause other objects not to print.  For example, if a repeating frame does not format, any objects (fields, boilerplate, frames, or other repeating frames) it encloses would not format either.

•	For repeating frames, the format trigger is executed for each instance of the repeating frame.  To create a format trigger that acts upon all instances of a repeating frame at once, create a frame around the repeating frame and enter a format trigger for the frame.  If the format trigger returns FALSE for every instance of a repeating frame on a logical page, the repeating frame will occupy no space on the logical page and anchors to other objects will collapse (if specified).

•	The PL/SQL in a format trigger must return consistent results for the same object.  For example, say you have a frame whose format trigger returns FALSE when a certain condition is met.  If the frame spans two pages, the format trigger actually fires twice (once for each page on which the frame formats).  The condition in your PL/SQL must return the same result both times the format trigger fires.  Otherwise, only part of the frame will be formatted (e.g., the part of the frame on the first page formats, but the part on the second page does not).

•	If the format trigger on a repeating frame in a matrix report returns FALSE, an entire row or column of the matrix will not format.  For example, if an instance of the across dimension repeating frame does not format, the entire column will not format in the matrix.

•	If you want to conditionally change the cell of a matrix, you should put a frame around the field inside the matrix and use the format trigger for the frame.


Action trigger

  Examples 	  Related Topics

Description  Action triggers are PL/SQL procedures executed when a button is selected in the Runtime Previewer.  The trigger can be used to dynamically call another report (drill down) or execute any other PL/SQL.  You can access action triggers from the Object Navigator, the Property Palette (PL/SQL Trigger property), or the PL/SQL Editor.

Definition Level  button

Usage Notes

•	PL/SQL action triggers cannot be tested in the Live Previewer because the buttons are not active there.  You must use the Runtime Previewer (choose View [image] Runtime Preview from the Live Previewer).

•	You cannot use the PL/SQL Interpreter to debug action triggers because it is not available from the Runtime Previewer and buttons cannot be activated in the Live Previewer.  To get around this, you can move your action trigger code to a report trigger to test it from the Live Previewer.


Action trigger example

  Related Topics 	  All Examples

/* When the button is clicked, the action trigger
** defined by this procedure displays the Parameter
** Form for a report named web4.rdf, then displays
** the resulting report output on your screen.
*/

procedure U_1ButtonAction is
begin
  srw.run_report('module=web4.rdf destype=Screen paramform=yes');
end;


Ref cursor query

  Examples 	  Related Topics

Description  A ref cursor query uses PL/SQL to fetch data for the report.  In a ref cursor query, you specify a PL/SQL function that returns a cursor value from a cursor variable.

Definition Level  query

On Failure  No data is returned to the query.

Usage Notes

•	When you make a ref cursor query the child in a data link, the link can only be a group to group link.  It cannot be a column to column link.

•	If you use a stored program unit to implement ref cursors, you receive the added benefits that go along with storing your program units in the Oracle database.


Package with ref cursor example

  Related Topics 	  All Examples

/* This package spec defines a ref cursor
** type that could be referenced from a
** ref cursor query function.
** If creating this spec as a stored
** procedure in a tool such as SQL*Plus,
** you would need to use the CREATE
** PACKAGE command.
*/

PACKAGE cv IS
  type comp_rec is RECORD
       (deptno number,
        ename  varchar(10),
        compensation number);
  type comp_cv is REF CURSOR return comp_rec;
END;


Package with ref cursor and function example

  Related Topics 	  All Examples

/* This package spec and body define a ref
** cursor type as well as a function that
** uses the ref cursor to return data.
** The function could be referenced from
** the ref cursor query, which would
** greatly simplify the PL/SQL in the
** query itself.  If creating this spec
** and body as a stored procedure in a
** tool such as SQL*Plus, you would need
** to use the CREATE PACKAGE and CREATE
** PACKAGE BODY commands.
*/

PACKAGE cv IS
  type comp_rec is RECORD
       (deptno number,
        ename  varchar(10),
        compensation number);
  type comp_cv is REF CURSOR return comp_rec;
  function emprefc(deptno1 number) return comp_cv;
END;

PACKAGE BODY cv IS
function emprefc(deptno1 number) return comp_cv is
      temp_cv cv.comp_cv;
begin
      if deptno1 > 20 then
       open temp_cv for select deptno, ename,
         1.25*(sal+nvl(comm,0)) compensation
         from emp where deptno = deptno1;
     else
       open temp_cv for select deptno, ename,
         1.15*(sal+nvl(comm,0)) compensation
         from emp where deptno = deptno1;
     end if;
     return temp_cv;
end;
END;


Ref cursor query example

  Related Topics 	  All Examples

/* This ref cursor query function would be coded
** in the query itself.  It uses the cv.comp_cv
** ref cursor from the cv package to return
** data for the query.
*/

function DS_3RefCurDS return cv.comp_cv is
  temp_cv cv.comp_cv;
begin
  if :deptno > 20 then
     open temp_cv for select deptno, ename,
       1.25*(sal+nvl(comm,0)) compensation
       from emp where deptno = :deptno;
  else
     open temp_cv for select deptno, ename,
       1.15*(sal+nvl(comm,0)) compensation
       from emp where deptno = :deptno;
  end if;
  return temp_cv;
end;


Ref cursor query calling function example

  Related Topics 	  All Examples

/* This ref cursor query function would be coded
** in the query itself.  It uses the cv.comp_cv
** ref cursor and the cv.emprefc function from
** the cv package to return data for the query.
** Because it uses the function from the cv
** package, the logic for the query resides
** mainly within the package.  Query
** administration/maintenance can be
** done at the package level (e.g.,
** modifying SELECT clauses could be done
** by updating the package).  You could also
** easily move the package to the database.
** Note this example assumes you have defined
** a user parameter named deptno.
*/

function DS_3RefCurDS return cv.comp_cv is
  temp_cv cv.comp_cv;
begin
  temp_cv := cv.emprefc(:deptno);
  return temp_cv;
end;


After Parameter Form trigger

  Related Topics

Description  The After Parameter Form trigger fires after the Runtime Parameter Form is displayed.  From this trigger, you can access parameters and check their values.  This trigger can also be used to change parameter values or, if an error occurs, return to the Runtime Parameter Form.  Columns from the data model are not accessible from this trigger.  If the Runtime Parameter Form is suppressed, the After Parameter Form trigger still fires.  Consequently, you can use this trigger for validation of command line parameters or other data.

Definition Level  report

On Failure

Returns to the Runtime Parameter Form.  If the Form is suppressed, then returns to place from which you ran the report.


After Report trigger

  Related Topics

Description  The After Report trigger fires after you exit the Runtime Previewer, or after report output is sent to a specified destination, such as a file, a printer, or a mailid.  This trigger can be used to clean up any initial processing that was done, such as deleting tables.  Note, however, that this trigger always fires, whether or not your report completed successfully.

Definition Level  report

On Failure

Does not affect formatting because the report is done.  You can raise a message, though, to indicate that the report did not run correctly.  For example, you could put the system time in a variable in the Before Report trigger and then compare it against the system time in the After Report trigger.  If the report took longer than a certain time to run, you could raise an error.

Usage Notes

•	The After-Report trigger does not fire when you are in the Live Previewer.


Before Parameter Form trigger

  Related Topics

Description  The Before Parameter Form trigger fires before the Runtime Parameter Form is displayed.  From this trigger, you can access and change the values of parameters, PL/SQL global variables, and report-level columns.  If the Runtime Parameter Form is suppressed, this trigger still fires.  Consequently, you can use this trigger for validation of command line parameters.

Definition Level  report

On Failure

Displays an error message and then returns to the place from which you ran the report.


Before Report trigger

  Related Topics

Description  The Before Report trigger fires before the report is executed but after queries are parsed and data is fetched.

Definition Level  report

On Failure

Displays an error message and then returns to the place from which you ran the report.


Between Pages trigger

  Related Topics

Description  The Between Pages trigger fires before each page of the report is formatted, except the very first page.  This trigger can be used for customized page formatting.  In the Runtime Previewer or Live Previewer, this trigger only fires the first time that you go to a page.  If you subsequently return to the page, the trigger does not fire again.

Definition Level  report

On Failure

Displays an error message when you try to go to the page for which the trigger returned FALSE.  The pages subsequent to the page that returned FALSE are not formatted.  If the trigger returns FALSE on the last page, nothing happens because the report is done formatting.  The Between Pages trigger does not fire before the first page.  If the trigger returns FALSE on the first page, the first page is displayed, but, if you try to go to the second page, an error message is displayed.


Which report trigger to use

  Examples	  Related Topics

As a general rule, any processing that will affect the data retrieved by the report should be performed in the Before Parameter Form or After Parameter Form triggers.  (These are the two report triggers that fire before anything is parsed or fetched.)  Any processing that will not affect the data retrieved by the report can be performed in the other triggers.

Report Builder has five global report triggers.  You cannot create new global report triggers.  The trigger names indicate at what point the trigger fires:

Before Report	Fires before the report is executed but after queries are parsed.
After Report	Fires after you exit the Previewer, or after report output is sent to a specified destination, such as a file, a printer, or an Oracle Office userid.  This trigger can be used to clean up any initial processing that was done, such as deleting tables.  Note, however, that this trigger always fires, whether or not your report completed successfully.
Between Pages	Fires before each page of the report is formatted, except the very first page.  This trigger can be used for customized page formatting.  In the Previewer, this trigger only fires the first time that you go to a page.  If you subsequently return to the page, the trigger does not fire again.
Before Parameter Form	Fires before the Runtime Parameter Form is displayed.  From this trigger, you can access and change the values of parameters, PL/SQL global variables, and report-level columns.  If the Runtime Parameter Form is suppressed, this trigger still fires.  Consequently, you can use this trigger for validation of command line parameters.
After Parameter Form	Fires after the Runtime Parameter Form is displayed.  From this trigger, you can access parameters and check their values.  This trigger can also be used to change parameter values or, if an error occurs, return to the Runtime Parameter Form.  Columns from the data model are not accessible from this trigger.  If the Runtime Parameter Form is suppressed, the After Parameter Form trigger still fires.  Consequently, you can use this trigger for validation of command line parameters or other data.


Report trigger order of execution

  Related Topics

The order of events when a report is executed is as follows:

1	Before Parameter Form trigger is fired.

2	Runtime Parameter Form appears (if not suppressed).

3	After Parameter Form trigger is fired (unless the user cancels from the Runtime Parameter Form).

4	Report is "compiled."

5	Queries are parsed.

6	Before Report trigger is fired.

7	SET TRANSACTION READONLY is executed (if specified via the READONLY argument or setting).

8	The report is executed and the Between Pages trigger fires for each page except the last one.  (Note that data can be fetched at any time while the report is being formatted.)  COMMITs can occur during this time due to any of the following--user exit with DDL, SRW.DO_SQL with DDL, or if ONFAILURE=COMMIT, and the report fails.

9	COMMIT is executed (if READONLY is specified) to end the transaction.

10	After Report trigger is fired.

11	COMMIT/ROLLBACK/NOACTION is executed based on what was specified via the ONSUCCESS argument or setting.

Cautions

•	In steps 4 through 9, avoid DDL statements that would modify the tables on which the report is based.  Step 3 takes a snapshot of the tables and the snapshot must remain valid throughout the execution of the report.  In steps 7 through 9, avoid DML statements that would modify the contents of the tables on which the report is based.  Queries may be executed in any order, which makes DML statements unreliable (unless performed on tables not used by the report).

•	If you specify READONLY, you should avoid DDL altogether.  When you execute a DDL statement (e.g., via SRW.DO_SQL or a user exit), a COMMIT is automatically issued.  If you are using READONLY, this will prematurely end the transaction begun by SET TRANSACTION READONLY.


Report trigger restrictions

•	If you are sending your report output to the Runtime Previewer or Live Previewer, you should note that some or all of the report triggers may be fired before you see the report output.  For example, suppose that you use SRW.MESSAGE to issue a message in the Between Pages trigger when a condition is met.  If there are forward references in the report (e.g., a total number of pages displayed before the last page), Report Builder may have to format ahead to compute the forward references.  Hence, even though you have not yet seen a page, it may already have been formatted and the trigger fired.

•	In report triggers, you can use the values of report-level columns and parameters.  For example, you might need to use the value of a parameter called COUNT1 in a condition (e.g., IF :COUNT1 = 10).  Note, though, that you cannot reference any page-dependent columns (i.e., a column with a Reset At of Page) or columns that rely on page-dependent columns.

•	In the Before and After Parameter Form, and Before and After Report triggers, you can set the values of parameters (e.g., give them a value in an assignment statement, :COUNT1 = 15).  In the Before and After Report triggers, you can also set the values of report-level, placeholder columns.

•	In the Between Pages trigger, you cannot set the values of any data model objects.  Note also that the use of PL/SQL global variables to indirectly set the values of columns or parameters is not recommended.  If you do this, you may get unpredictable results.

•	If you run a report from Report Builder Runtime (i.e., not the command line or SRW.RUN_REPORT), you should commit database changes you make in the Before Parameter Form, After Parameter Form, and Validation triggers before the report runs.  When running in this way, these triggers will share the parent process' database connection.  When the report is actually executed, however, it will establish its own database connection.

•	A lexical reference cannot be used to create additional bind variables after the After Parameter Form trigger fires.  For example, suppose you have a query like the following (note that the WHERE clause is replaced by a lexical reference):

SELECT ENAME, SAL FROM EMP
&where_clause

If the value of the WHERE_CLAUSE parameter contains a reference to a bind variable, you must specify the value in the After Parameter Form trigger or earlier.  You would get an error if you supplied the following value for the parameter in the Before Report trigger.  If you supplied this same value in the After Parameter Form trigger, the report would run.

WHERE SAL = :new_bind


Procedure call syntax

  Related Topics

There are two types of procedures that are shipped with Report Builder:

•	those that take one parameter (a valid Report Builder command line for the executable being called)

•	those that take two parameters (a valid Report Builder command line for the executable being called, and the length of that string)

(The procedures that take two parameters are useful if your programming language does not handle null-terminated strings.)

Below are the names of the Report Builder C procedures:

Executable	Ptoc (1 param)	Proc (2 params)

RWCON60	RWCCON	RW2CON

RWRUN60--bit-mapped	RWCRRB	RW2RRB

RWRUN60--character mode	RWCRUN	RW2RUN

RWBLD60--bit-mapped	RWCSRB	RW2SRB

Examples in C

Examples of the RWRUN60 procedure calls are (illustrated here in C):

Executable	Procedure Name	Procedure Call Syntax

RWRUN60	RWCRRB	long rwcrrb
(bit-mapped)	( /*_ char _*/)

RWRUN60	RWCRUN	long rwcrun
(character mode)	( /*_ char _*/ )

RWRUN60	RW2RRB	long rw2rrb
(bit-mapped)	( /*_ char *, long * _*/ )

RWRUN60	RW2RUN	long rw2run
(character mode)	( /*_ char *, long * _*/ )

An example Report Builder RWRUN60 procedure call (in a typical C program) follows:

One-Parameter Call

long ret, rwcrun (); if (ret = rwcrun ("report=areport userid=scott/tiger myparam=AB") ) 	goto error;

Two-Parameter Call

long len, ret, rw2run (); len = 44;  if (ret = rw2run ("report=areport userid=scott/tiger myparam=AB", &len) ) 	goto error;

Usage Notes

•	Library RWOCI60.LIB is provided for the Windows 32-bit platforms (Windows95 or NT).  A sample C program (ocismp.c) showing how to make calls to the OCI library is provided in the SAMPLES directory.  Its makefile, ocismp.mak (for Microsoft Visual C++), is included for your reference.

•	If you create a new project, the following are the standard OCI files (located in %ORACLE_HOME%\REPORT30\OCI) you will need to add to the project, along with your C files:

rwbld60.res	resource file for Report Builder
rwoci.h	header file
rwoci60.lib	library of Report Builder
•	RWOCI60.DLL should be accessible in the current PATH setting.


Procedure call error checking

  Related Topics

If the procedure call encounters an error, it will return a positive number to your program; otherwise, it will return a zero.


Procedure call restrictions

  Related Topics

•	If a userid and password is included on the command line, as in the examples above, Report Builder will attempt to log on to that ORACLE account.

•	If the calling program has already logged on to ORACLE, a userid  and password should not be included in the command line, so that Report Builder will use the logon that is already active.

•	Report Builder will log off ORACLE only if it logged on.  If the calling program had previously logged on, the logon will still be active on return from Report Builder.

•	The ONSUCCESS and ONFAILURE keywords for RWBLD60 and RWRUN60 determine whether Report Builder performs a COMMIT, a ROLLBACK, or nothing after a report runs or fails.

•	The procedure call may be a maximum of 2047 alphanumeric characters.

•	The Report Builder procedure calls (e.g., RWCRUN) are written  in C.  Depending on your host language (Ada, C, COBOL, FORTRAN, Pascal, or PL/l) compiler, the way in which you pass arguments from your program to a C subroutine may differ.  Refer to your compiler documentation for more details on interfacing with C procedure calls.

•	When called, the executable runs the reports as a separate process or the same process depending on the SERVER and BACKGROUND command line arguments.  If you specify SERVER and BACKGROUND=NO, the report is run synchronously by the Reports Server.  If you specify SERVER and BACKGROUND=YES, the report is run asynchronously by the Reports Server.  If you do not specify SERVER and BACKGROUND=NO, the report is run in the user's application.  If you do not specify SERVER and BACKGROUND=YES, the report is run by the Reports Background Engine.


Procedure call example programs

  Related Topics

For a complete example of the call interface, look in $ORACLE_HOME/REPORT60/OCI/Samples.  You should also read the file named oci_info.txt in $ORACLE_HOME/REPORT60/OCI.

The examples listed below make procedure calls to the RWRUN60 executable.  Each program is written in a different ORACLE Programmatic Interface host language:

Ada

C

COBOL

FORTRAN

Pascal

PL/l

These example programs were run on VMS using standard VAX compilers, and linked with the Report Builder library.

Note: The exact syntax of your subroutine calls may differ depending on your host language compiler.


Ada example

  Related Topics 	  All Examples

with TEXT_IO; use TEXT_IO ;
procedure srwada  is

usr	: STRING(1..11) := "Scott/Tiger";
S	: STRING(1..160);
RES 	: STRING(1..10);
LEN 	: INTEGER;

function rwcrun ( S : string) return Integer;
pragma interface (C,rwcrun);
pragma import_function ( internal = RWCRUN ,
PARAMETER_TYPES = (STRING),
MECHANISM = (REFERENCE),
RESULT_MECHANISM = VALUE,
RESULT_TYPE = INTEGER);

package INT_IO is new INTEGER_IO (INTEGER); use INT_IO;
ret_code	: INTEGER;

begin
S(1..79) := "REPORT=T USERID=SCOTT/TIGER PARAMFORM=NO
  DESNAME=ADA.TXT DESTYPE=FILE BATCH=YES";
S(80) := standard.ASCII.nul;	-- null terminating
-- the string

PUT_LINE (" About to call rwcrun #1 ");
ret_code := rwcrun (S);
if ret_code = 0 then
  PUT_LINE(" Rwcrun was called successfully ");
else
  PUT_LINE(" the returned code is ");
put (ret_code);new_line;
  PUT_LINE (" Error occurred when Runform was called");
end if;

end srwada;


C example

  Related Topics 	  All Examples

#include <stdio.h>
long  ret,
rwcrun (),
rwcsql ();
main()
{
  char options[132];
  long len;
  strcpy(options,"userid=scott/tiger report=t batch=yes
  paramform=no destype=file desname=report.txt");
  printf("\nOptions are: %s", options);
  len=strlen (options);
  ret=rw2run(options);
  printf ("\nValue of return code is %d", ret);
  exit();
}


COBOL example

  Related Topics 	  All Examples

IDENTIFICATION DIVISION.
PROGRAM-ID. COBREP.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
*
01  OPTIONS.
  02  OPTION-TEXT	PIC X(132) VALUE "REPORT=SAMPLE1
USERID=SCOTT/TIGER BATCH=YES PARAMFORM=NO DESTYPE=FILE
DESNAME=SAMPLE1.TXT".
  02  FILLER 	PIC S9(4) COMP VALUE 0.
*
01  RETURN-CODE 	PIC S9(9) COMP.
PROCEDURE DIVISION.
MAIN-PROGRAM.
CALL "RWCRUN"
  USING BY REFERENCE OPTIONS
  GIVING RETURN-CODE.
DISPLAY "Return code after first call to rwcrun is "
RETURN-CODE
STOP RUN.


FORTRAN example

  Related Topics 	  All Examples

program fortran
 integer*4 status
 integer*4 rwcrun
 character*100 command
 command = 'report=test userid=system/manager batch=yes
1 destype=file desname=fortran.txt paramform=no'
 status = rwcrun (%REF(command))
 write(*,1) status
1 format(1x,I4)
 end


Pascal example

  Related Topics 	  All Examples

PROGRAM srwpas(input,output);
Type
short = [WORD]  -32768..32767;
OptType = packed array[1..256] of char;
[external] function rwcrun (var options : OptType) :
  short Extern;
Var
Options : OptType;
RetCode : short;
Begin
Options := 'USERID=SCOTT/TIGER BATCH=YES REPORT=PASCAL 	PARAMFORM=NO';
Options[56] := CHR(0);
RetCode := rwcrun(options);
Writeln ('Return code from first call is ', RetCode);
End.


PL/l example

  Related Topics 	  All Examples

PLI: PROCEDURE OPTIONS(MAIN);
DECLARE OPTIONS CHAR(100),
 PART1   CHARACTER(79) DEFINED OPTIONS,
 ENDCHAR CHARACTER(1) DEFINED OPTIONS POSITION (100);
DECLARE RWCRUN ENTRY (CHARACTER(100))  RETURNS (FIXED
 BINARY(15));
DECLARE RETCODE FIXED BINARY(15);
 PART1='USERID=SCOTT/TIGER BATCH=YES REPORT=T
 DESNAME=PLI.TXT DESTYPE=FILE PARAMFORM=NO';
 ENDCHAR = LOW(1);
PUT SKIP EDIT('Options are: ', OPTIONS) (A,A);
RETCODE = RWCRUN(OPTIONS);
PUT SKIP EDIT('Return Code is ', RETCODE) (A, B(15));
PUT SKIP(2) LIST('************');
END PLI;


Types of user exits

  Related Topics

You can write the following types of user exits:

ORACLE Precompiler user exits

OCI (ORACLE Call Interface) user exits

non-ORACLE user exits

You can also write a user exit that combines both the ORACLE Precompiler interface and the OCI.


ORACLE Precompiler user exits

An ORACLE Precompiler user exit incorporates the ORACLE Precompiler interface.  This interface supports the following:

•	You can write a subroutine in one of the host languages (Ada, C, COBOL, FORTRAN, Pascal, PL/l) and embed SQL commands.

•	The user exit can access ORACLE (via embedded SQL commands) and Report Builder variables, parameters, and columns.

Because of these features, you will write most of your user exits as ORACLE Precompiler user exits.

For more information on the ORACLE Precompiler interface, refer to your Programmer's Guide to the ORACLE Precompilers.

Note: Not all operating systems support all of the listed languages.


OCI (ORACLE Call Interface) user exits

An OCI user exit incorporates the ORACLE Call Interface.  This interface allows you to write a subroutine that contains calls to ORACLE.  A user exit that incorporates only the OCI (and not the ORACLE Precompiler interface) cannot access Report Builder' variables, parameters, and columns.

For more information on the OCI, refer to your Programmer's Guide to the ORACLE Call Interface.


Non-ORACLE user exits

A non-ORACLE user exit does not incorporate either the ORACLE Precompiler interface or the OCI.  For example, a non-ORACLE user exit might be written entirely in C.  By definition, a non-ORACLE user exit cannot access ORACLE or Report Builder variables, parameters, and columns.


Writing a user exit

To write a user exit, you will need to know the following information about user exits:

  Supported Functions

  Syntax of Passed User Exit Call

  Error Checking and Raising

Usage Notes

•	You cannot perform host language screen I/O from an ORACLE Precompiler user exit.  This restriction exists because the runtime routines that a host language uses to perform screen I/O conflict with the routines that Report Builder uses to perform its I/O.

•	This section applies specifically to ORACLE Precompiler user exits, because it is the type of user exit that you will use most often (it can access Report Builder' variables, parameters, and columns, and ORACLE data), and it is the type that Oracle Corporation recommends for most tasks.

•	This section does not cover how to write a user exit call (i.e., how to invoke the user exit within Report Builder).  For more information on how to write user exit calls, see "Calling a User Exit".


Supported functions

When you write a user exit using one of the ORACLE Precompiler host languages, the user exit can perform procedural operations via host language statements, and perform additional functions via the following types of statements:

Statement Types	Use
EXEC SQL	Performs SQL commands.
EXEC IAF GET	Passes values from Report Builder to a user exit.
EXEC IAF PUT	Passes values from a user exit to Report Builder.
EXEC ORACLE	Executes ORACLE Precompiler options.


EXEC SQL statements

An EXEC SQL statement is a SQL command, prefixed with "EXEC SQL."  EXEC SQL statements enable you to perform any SQL command in an ORACLE Precompiler user exit.  It is your means of selecting or manipulating data in the database from a user exit.

Syntax

EXEC SQL sql_statement;

where:

sql_statement	Is any valid ORACLE SQL statement, except for the restricted commands noted in this section.

You do not need to perform an explicit CONNECT in an ORACLE Precompiler user exit, because Report Builder establishes the connection automatically.  However, ORACLE does support concurrent connects.  For more information, refer to your Programmer's Guide to the ORACLE Precompilers.

Caution:  Avoid using  DDL  when you specify READONLY.  When you execute a DDL statement (e.g., via SRW.DO_SQL or a user exit), a COMMIT is automatically issued.  If you are using READONLY, this will prematurely end the transaction begun by SET TRANSACTION READONLY.  For more information, see "READONLY".

Usage Notes

•	The ONSUCCESS and ONFAILURE keywords for RWBLD60 and RWRUN60 determine whether Report Builder performs a COMMIT, a ROLLBACK, or nothing after a report runs or fails.  If you wish to COMMIT at any other time, you can do so in your user exit or in PL/SQL (after your user exit call, add SRW.DO_SQL('commit'); ).


EXEC IAF GET

An EXEC IAF GET statement passes a value from Report Builder to an ORACLE Precompiler user exit.  Specifically, it places the value of an Report Builder parameter or column into a host language variable.  Once Report Builder passes a value to a user exit, the user exit can use the value for calculation, manipulation, or update.

Syntax

EXEC IAF GET report_variable_1[, report_variable_2, ...] INTO :host_variable_1[, :host_variable_2, ...];

where:

report_ variable_n	Contains the name of the Report Builder parameter or column from which you are reading a value.

host_variable_n	Is the name of the host language variable into which you are reading a value.

Usage Notes

•	Report_variable_n can be a reference to any of the following items:

•	an unambiguous Report Builder parameter or column name (To get the current date, create a parameter with a Source of &DATE, then GET the parameter's value.  To get the current logical page number, call the SRW.GET_PAGE_NUM packaged function, then pass the value to the user exit via your user exit call.)

•	a host language variable (prefixed with a colon) whose value is any of the above bulleted items

•	If the column being passed has Value If Null specified, EXEC IAF GET will use it for any null values in the column.  If Value If Null is not specified, then no value is returned by EXEC IAF GET.  To guard against the latter case, you should set the value of the host variable prior to executing EXEC IAF GET such that you can tell whether the variable’s value was actually changed by EXEC IAF GET.

•	For possible restrictions on host language variables, refer to your Programmer's Guide to the ORACLE Precompilers.

•	If an Report Builder object's data is longer than 64,000 bytes, the value returned from an EXEC IAF GET is truncated to the left-most 64,000 bytes.


EXEC IAF PUT

An EXEC IAF PUT statement passes a value from an ORACLE Precompiler user exit to Report Builder.  Specifically, it places the value of a constant or the value of a host language variable into an Report Builder parameter or column.

Syntax

EXEC IAF PUT report_variable[, ...]  VALUES ({:host_variable | constant}[, ...]);

where:

report_variable	Is the name of the Report Builder parameter or column into which you are reading a value, or a host variable (prefixed with a colon) whose value is the name of an Report Builder parameter or column).

host_variable	Is the name of the host language variable from which you are reading a value.

constant	Is the constant that you are reading.

Usage Notes

•	Data that is longer than 64,000 bytes cannot be EXEC IAF PUT into an Report Builder object (the data will be truncated to the left-most 64,000 bytes).

•	You must represent host variables and constants in standard SQL format:

•	strings and constants are passed as is

•	dates are passed in the YYYYMMDDHH24MISS format

•	host variables are prefixed with a colon (:)

•	The following table provides examples:

Value	Result

Summit Sporting 	Is how the constant string value, Summit
Goods	Sporting Goods, is passed.

413.60	Is how the constant numeric value, 413.60, is
passed.

19910414083000	Is how the date value, April 14, 1991, 8:30
A.M., is passed.

:holder1	Is how the value of the host variable, holder1,
is passed.


EXEC ORACLE statements

An EXEC ORACLE statement is a statement that is not standard SQL and is used to execute ORACLE Precompiler options.  For more information, refer to your Programmer's Guide to the ORACLE Precompilers.

Usage Notes

Caution:  Avoid using  DDL when you specify READONLY.  When you execute a DDL statement (e.g., via SRW.DO_SQL or a user exit), a COMMIT is automatically issued.  If you are using "READONLY", this will prematurely end the transaction begun by SET TRANSACTION READONLY.

•	The ONSUCCESS and ONFAILURE keywords for RWBLD60 and RWRUN60 determine whether Report Builder performs a COMMIT, a ROLLBACK, or nothing after a report runs or fails.  If you wish to COMMIT at any other time, you can do so with your user exit.

•	You can perform host language file I/O from a user exit.


Syntax of a passed user exit call

Your user exit program will receive the user exit call as one string that contains first the user_exit_name and then optionally an argument_list.  Arguments in the argument_list are separated by one space.

Examples

The following call:

SRW.USER_EXIT('quota 10 20 Q4');

is passed to the user exit as:

'quota 10 20 Q4'

The following call:

SRW.USER_EXIT('quota');

is passed to the user exit as:

'quota'

Usage Notes

•	It is the responsibility of the user exit--not Report Builder--to parse the user exit call string.

•	If more than one space exits between arguments that are passed with the user exit name, Report Builder will delete the extra spaces before it passes the strings to the user exit.

For example, the following call:

   'quota 10     20  Q4'

is passed to the user exit as:

   'quota 10 20 Q4'


Raising errors from the user exit

In your user exit program, you can define an error message and raise it in Report Builder's message region by copying the error string in the SRWERB error buffer.

Note: Within Report Builder, you can define and raise an error message via PL/SQL.  For more information, see "Calling a User Exit".

Using the SRWERB error buffer

You can define an error message in the user exit by writing the error string into a named 256 byte buffer, SRWERB.  Report Builder initializes the SRWERB buffer when the report is executed.  If, on returning from a user exit, Report Builder finds the buffer non-empty (i.e., the first character in the buffer is not null), then Report Builder will raise an error, using what it finds in the buffer as the error message.


Implementing user exits

You can implement user exits in one of two ways:

•	Modify the sample source file (the easiest method)

•	Create a source file from the IAPXTB table

Note:  Modifying the sample source file is the easiest method.


Modifying the sample source file

To implement user exits, you can simply add entries to the sample source file, ue_xtb.c, for each user exit.  The location of this file varies by operating system.

Following is the sample source file:

/* Define the user exit table */
extern exitr iapxtb[] =  {  /* Holds exit routine pointers */     "UE_OK",         ue_ok, XITCC,
"UE_ERR",        ue_err, XITCC,
"UE_MB",         ue_mb,  XITCC,
"UE_EMP_PLAN",   ue_emp_plan,  XITCC,
(char *) 0, 0, 0         /* zero entry marks the end */
};

/* end iapxtb */

The first item in the entry is the name (inside double quotes) you will use in Report Builder to reference the user exit.  The second item is the actual name of the user exit routine.  The last item (XITCC) indicates that the user exit is called using C.  For other languages, you would use the following for this last item:

XITCOB /* COBOL */

XITFOR /* FORTRAN */

XITPLI /* PL/I */

XITPAS /* PASCAL */

XITAda /* ADA */

After modifying the source file, compile it and your user exit program. Next, link the resulting IAPXTB object file with the RWBLD60 and RWRUN60 executable(s).


Creating the source file from the IAPXTB table

To create the source file from the IAPXTB table:

1	Create an IAPXTB table.

2	Insert each user exit name (one row per user exit) into the IAPXTB table.

3	Generate a source file from the IAPXTB table and compile it with the program you wrote.  Link the resulting object modules with RWBLD60 and RWRUN60.

Before you can implement a user exit (on any operating system), you should have available the GENXTB program and GENXTB Form Builder form.

Note: The process of implementing a user exit is specific to each operating system.


Creating the IAPXTB table

Use the GENXTB program to create the IAPXTB table, the base table that will be used by the GENXTB Form Builder form. If you do not own Form Builder, create an IAPXTB table yourself using SQL*Plus.  For more information on how to create tables, see the ORACLE8 Server SQL Language Reference Manual.

Syntax

The IAPXTB table lists all of the user exits that you will link with Report Builder.  Below is a description of each column in the IAPXTB table:

Column Name	Description	Usage
XTB$XNM	NAME	This column specifies the name of the user exit.  (This is not necessarily the name of the file that contains the user exit.)  Note that some host languages are case sensitive.
XTB$XTY	TYPE	This column specifies the language in which the user exit is written.
XTB$REM	REMARKS	This column specifies a text string that describes the purpose of the user exit.  The string can have a maximum length of 80 characters.
XTB$CRE	CREATION	This column specifies the date that you created a record in the IAPXTB table.  When you commit a record, the GENXTB form automatically enters a value in this column.
XTB$MOD	MODIFY	This column specifies the date on which you last modified a record in the IAPXTB table. When you commit a record, the GENXTB form automatically enters a value in this column.
Note: You should keep text versions of your user exits in a separate IAPXTB table in case the table is accidentally deleted.


Inserting rows into the IAPXTB table

Use the GENXTB form, a Form Builder form, to insert descriptions of your user exits into the IAPXTB table.  If you do not have Form Builder, use SQL*Plus  to insert the rows (refer to your SQL*Plus documentation for details on how to insert rows into a table).

You must enter one row in the IAPXTB table for every user exit name.  (This condition is true for ORACLE Precompiler user exits whether a user exit is in a file that will be precompiled and compiled all by itself or with several other user exits.)  Also, you should maintain all production user exits for a system in one IAPXTB table.

Usage Notes

•	The GENXTB table must contain the names of all user exits you wish to use.  For example, if you already have a GENXTB table with Form Builder user exits in it, you need to add the Report Builder packaged user exits (i.e., RWECPF, RWEPLS, RWEATS, RWECAT, RWECTY), and any new user exits you create.


Generating the source file and compiling

Use the GENXTB program to read the information in the IAPXTB table and generate its source file.  This source file is the entry point file needed to link your user exits.

Compile the IAPXTB source file and your user exit program. Next, link the resulting IAPXTB object file with the RWBLD60 and RWRUN60 executable(s).


Building user exit DLLs on Windows NT and Windows 95

To build a user exit for Windows NT and Windows 95, you must build a DLL named R60XTB32.DLL.  (When doing this, you should follow all of the standard guidelines in your compiler manual.)

Example

The following example illustrates how to make the DLL with Microsoft Visual C++ for Windows 32-bit platforms.  (All the files mentioned in this example are located in $ORACLE_HOME\REPORT60\USEREXIT.)

1	In R60XTB32.MAK, update the LINK32_OBJS macro to include the list of your user exit object files.  If you are using embedded PRO/C constructs or calls to EXEC IAF, you also need to link SQLLIB18.LIB and SQXLIB18.LIB.

2	Modify the sample source file (ue_xtb.c) by adding an entry for each user exit.

3	Edit a copy of the sample file RWXTB60.DEF and add entries to export the user exit functions.

4	Make the new executable with the following command:

NMAKE -f RWXTB60.MAK all CFG=”rwxtb60 - Win32 Debug” \
INCLUDE=.;\msdev\include

\msdev\include is an example directory, you should use the path of your MSVC include directory.

CFG can also be “rwxtb60 - Win32 Release” to build the release DLL.

5	Move your new RWXTB60.DLL into the appropriate directory (e.g., %ORACLE_HOME%\bin).

Usage Notes

•	The name and location of the user exit DLL can differ from the default (rwxtb60.dll in %ORACLE_HOME%\bin).  To accomplish this, you add a new value to the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE key in your registry file:

•	Value Name:  REPORTS60_USEREXIT

•	Datatype:  REG_SZ

•	Value String:  the full path and name of your user exit DLL

•	You can use multiple user exit DLLs by adding the full paths and names of your DLLs to the Value strings of REPORTS60_USEREXIT and separating them with semicolons.


Calling a user exit

To call a user exit from Report Builder:

1	Write a user exit call

2	Check for and raise errors


Writing a user exit call

You can call the user exit from any place in which you can enter PL/SQL within Report Builder.  Use the following syntax:

Syntax

[SRW.REFERENCE(:object_name_1);] [SRW.REFERENCE(:object2_name_2); ...]; SRW.USER_EXIT('user_exit_name [argument_list]');

where:

object_name_n	Is the name of an Report Builder parameter or column whose value will be passed to the user exit in the user exit string.  This causes Report Builder to build a dependency list:  it will ensure that each referenced object will contain the most recently computed or fetched value before it is passed to the user exit.  Note:  You must reference each parameter or column separately.  For details, see "SRW.REFERENCE".

user_exit_name	Is the name of the user exit to which you are passing control.  The user exit name may be any length.  (On some operating systems, the name may be at most 6 characters.  Check with your system administrator.)

argument_list	Can contain the names of parameters and columns, constants, character strings, or any combination thereof, that you wish to pass to the user exit.  The argument list may be any length.  Note: The above syntax will need to be embedded in a PL/SQL program unit.

If you want your user exit calls to be of the same format as user exit calls in Form Builder, you can use SRW.USER_EXIT20 instead of SRW.USER_EXIT.

Examples

Assume you have written a user exit (named INTEGRAL) that computes the area under a curve, based on two points on the curve.  Also assume that you have two Report Builder columns (named POINT1 and POINT2) whose values contain the x and y coordinates of the two points.  To pass copies of the column values to the user exit, you must reference the column names using SRW.REFERENCE.  SRW.REFERENCE ensures that the values are computed before they are passed to the user exit.

Thus far, your PL/SQL should look like this:

srw.reference(:point1);

srw.reference(:point2);

Now, you need to define the user exit call.  To do so, you use the SRW.USER_EXIT procedure, and pass the following arguments:

•	the user exit name (In this case, the name is INTEGRAL.)

•	any arguments (In this case, the arguments are the Report Builder columns, POINT1 and POINT2.)

Now, your PL/SQL for the user exit call should look like this:

srw.reference(:point1);

srw.reference(:point2);

srw.user_exit('integral point1 point2');

Finally, assume that you want the user exit program to return (EXEC IAF PUT) the computed area into a Report Builder column named AREA.  To do this, you write a PL/SQL function and for its RETURN argument, reference AREA.

Thus, your user exit call should look like this:

   function compute_area return char is

   begin

      srw.reference(:point1);

      srw.reference(:point2);

      srw.user_exit('integral point1 point2');

   return(:area);

   end;

Notes:  You reference AREA as the RETURN argument to ensure that another user exit will not PUT a value into the AREA column after INTEGRAL does (i.e., all other user exit EXEC IAF PUTs into this column will occur before the INTEGRAL user exit fires).  Because column formulas must return a value, you must write a function instead of a procedure.

Usage Notes

•	User exit names must follow the rules of your operating system and host language.  Be aware that these rules might include case sensitivity rules.

•	Maximum length of the user_exit_name is 10 characters (on some operating systems the limit is 6 characters).  Maximum length of the argument_list is 230 characters.  Spaces are counted.  These limits may be operating-system dependent.  See your system administrator for exact limits.

•	Arguments must be separated by spaces only.  If more than one  space exists between arguments in the argument_list, Report Builder will delete the extra spaces before it passes the string to the user exit.

For example, the following call:

   'quota 10   20  Q4'

is passed to the user exit as:

   'quota 10 20 Q4'

•	To reference a literal double quote within an argument list, use \".  The \ will be deleted before the argument is passed.

•	If the argument_list contains the name of an Report Builder object (whose value you intend to pass to the user exit), you should reference the object name using the PL/SQL procedure, SRW.REFERENCE.  SRW.REFERENCE will ensure that the object contains the most recently computed or fetched value before it is passed to the user exit.  There is no guarantee, however, that a user exit for a layout object will be calculated on the page on which the layout object is printed.

•	If the user exit call is part of a PL/SQL value construct putting values into other objects, the value construct should RETURN the Report Builder object that owns the PL/SQL code.  For example, if you write a PL/SQL function in the Formula field of the EMP column, the function should RETURN the EMP column:  RETURN(:EMP);.  (This ensures that another user exit will not PUT a value into the object after the user exit returns its value into the object.)


Checking for and defining user exit errors in PL/SQL

In your PL/SQL code, you can check for errors, and define and raise an error message.

SRW.USER_EXIT_FAILURE

SRW.MESSAGE

Note: You can also define and raise a message in your user exit program.  For more information, see "Raising Errors from the User Exit".


Checking for errors using SRW.USER_EXIT_FAILURE

In PL/SQL, you can determine whether a user exit failed by using the PL/SQL packaged exception, "SRW.USER_EXIT_FAILURE".  This exception has a value of TRUE if the SRWERB buffer is non-empty; otherwise, it is FALSE.  For more information on the SRWERB buffer, see Raising errors from the user exit.

Examples

Assume you have a user exit called MYEXIT, and you want to check if it failed.  Your user exit call might look like that below:

begin
   srw.user_exit('myexit');
exception
   when srw.user_exit_failure then
   srw.message(2000, 'The user exit MYEXIT failed.');
   when others then
   srw.message (3000, 'Report error occurred before
user exit MYEXIT returned.');
end;

Note: In this example, the error checking is in the body portion of the PL/SQL code.  Alternatively, you could have put it in the EXCEPTION portion of the code.


Defining the error message using SRW.MESSAGE

In PL/SQL, you can define an error message and raise it in Report Builder message region with a PL/SQL packaged procedure, SRW.MESSAGE.  (Note:   You can also define and raise errors within the user exit program.  For more information, see Raising errors from the user exit.

SRW.MESSAGE has the following syntax:

SRW.MESSAGE (msg_number NUMBER, msg_text CHAR);

Thus, all you need to do is reference SRW.MESSAGE with any error number and string you wish.  Below are examples of using SRW.MESSAGE to raise an error.

Examples

Suppose you have a user exit named STORE to which you want to pass salary values from Report Builder.  To do so, you could write the following formula:

   function foo return boolean is
   begin
   if :sal >= 0 then
      srw.reference(:sal);
      srw.user_exit('store sal');
   else
      srw.message(100, 'Found a negative salary.  Check
        the EMP table.');
   end if;
   exception
   when srw.unknown_user_exit then
      srw.message(200, 'STORE user exit was unknown.
        Check if it''s linked.');
   when srw.user_exit_failure then
      srw.message(200, 'STORE user exit failed. Check
         its code.');
   return(true);
   end;

If the user exit fails and the user exit program does not write a message to the SRWERB buffer, SRW.USER_EXIT_FAILURE will be FALSE, and Report Builder will not raise an error message.  If the user exit program does write a message to the SRWERB buffer, then SRW.USER_EXIT_FAILURE will be TRUE, and Report Builder will raise the message, "STORE user exit failed. Check its code."

Assume you have a user exit named BIG_EXIT.  Assume also that BIG_EXIT contains code to check itself for errors in three different locations.  If it finds an error, it will return (EXEC IAF PUT) one of the following values:  A if portion A of BIG_EXIT failed, B if portion B of BIG_EXIT failed, and C if portion C of BIG_EXIT failed.  Your user exit call could look like this:

  Procedure multi_errors is
     function inner return char is
     begin
        srw.user_exit('big_exit');
     return(:error);
     end;
  begin
  if :error='A'
     srw.message(100, 'Portion A of BIG_EXIT failed.');
  elsif :error='B'
     srw.message(200, 'Portion B of BIG_EXIT failed.');
  else
     srw.message(300, 'Portion C of BIG_EXIT failed.');
  end if;
  end;


Packaged Report Builder user exits

  Related Topics

RWEATS

RWECAT

RWECPF

RWECTY

RWEPLS


RWEATS

This user exit converts an attribute value, stored in Report Builder's internal format, to an associated string retrieved from the Report Builder message file.  This user exit is used by Report Builder when documenting your reports stored in the database using File [image] Administration [image] Report on Reports.

Syntax

SRW.USER_EXIT('rweats source destination attribute_num');

where:

source	Is the table.column value to be converted.  If the specified source contains no value, the destination column will be blank.

destination	Is the name of the Report Builder object into which the converted value will be placed.

attribute_num	Is the attribute number of the Report Builder database table column.

Table	Column	Attributes	Description
SRW2_LAYOUT	UNITS	1	Report Unit of Measurement
SRW2_PARAM_FORM	UNITS	1	Parameter Form Unit of Measurement
SRW2_LAYOUT	ORIENT	2	Panel Print Order
SRW2_LAYOUT	RUN_FLAGS	3	Use Character Units in Designer
SRW2_LAYOUT	RUN_FLAGS	4	Use Character Units in Browser
SRW2_LAYOUT	RUN_FLAGS	5	Disable Host
SRW2_LAYOUT	RUN_FLAGS	6	Disable Split
SRW2_LAYOUT	RUN_FLAGS	7	Disable Zoom
SRW2_LAYOUT	RUN_FLAGS	8	Start in Zoom
SRW2_LAYOUT	RUN_FLAGS	9	Show Browser Title
SRW2_LAYOUT	RUN_FLAGS	10	Show Browser Hint Line
SRW2_LAYOUT	RUN_FLAGS	11	Show Browser Status
TOOL_PLSQL	TYPE	12	Report Trigger Type
SRW2_LAYOUT	SETTINGS	13	Display Settings-Report Section
SRW2_LAYOUT	SETTINGS	14	Display Settings-Field Display
SRW2_LAYOUT	SETTINGS	15	Display Settings-Show Comment Icons
SRW2_LAYOUT	SETTINGS	16	Display Settings-Show Names
SRW2_LAYOUT	SETTINGS	18	Display Settings-Show Field Outlines
SRW2_LAYOUT	SETTINGS	19	Display Settings-Show Boilerplate Outlines
SRW2_LAYOUT	SETTINGS	20	Display Settings-Show Frame Outlines
SRW2_LAYOUT	SETTINGS	21	Display Settings-Show Page Break Icons
SRW2_LAYOUT	SETTINGS	22	Display Settings-Show Page Protect Icons
SRW2_LAYOUT	SETTINGS	23	Display Settings-Show Keep w/ Anchoring Icons
SRW2_LAYOUT	SETTINGS	24	Display Settings-Show Anchors
SRW2_COLUMN	SOURCE_ID	25	Column Source
SRW2_COLUMN	COMPUTE_ID	25	Column Compute
SRW2_COLUMN	RESET_ID	25	Column Reset
SRW2_FRAME	GROUP_ID	25	Repeating Frame Group
SRW2_FIELD	SOURCE_ID	25	Field Source
SRW2_FIELD	PGN_RESET	25	Field Page Numbering Reset Repeating Frame
SRW2_COLUMN	DATA_TYPE	26	Column/Parameter Datatype
SRW2_COLUMN	FILE_TYPE	27	Column Format Type
SRW2_BOILERPLATE	GRAPH_TYPE	27	Boilerplate Format Type Plate
SRW2_FRAME	FORMATFLAG	28	Frame/RFrame Region
SRW2_FIELD	FORMATFLAG	28	Field Region
SRW2_BOILERPLATE	FORMATFLAG	28	Boilerplate Region
SRW2_OG_DOCUMENT	FORMATFLAG	28	Oracle Graphics Document Region
SRW2_FRAME	FORMATFLAG	29	Frame/RFrame Vertical Sizing
SRW2_FIELD	FORMATFLAG	29	Field Vertical Sizing
SRW2_BOILERPLATE	FORMATFLAG	29	Boilerplate Vertical Sizing
SRW2_OG_DOCUMENT	FORMATFLAG	29	Oracle Graphics Document Vertical Sizing
SRW2_FRAME	FORMATFLAG	30	Frame/RFrame Horizontal Sizing
SRW2_FIELD	FORMATFLAG	30	Field Horizontal Sizing
SRW2_BOILERPLATE	FORMATFLAG	30	Boilerplate Horizontal Sizing
SRW2_OG_DOCUMENT	FORMATFLAG	30	Oracle Graphics Document Horizontal Sizing
SRW2_FRAME	FORMATFLAG	31	Frame/RFrame Print Condition Type
SRW2_FIELD	FORMATFLAG	31	Field Print Condition Type
SRW2_BOILERPLATE	FORMATFLAG	31	Boilerplate Print Condition Type
SRW2_OG_DOCUMENT	FORMATFLAG	31	Oracle Graphics Document Print Condition Type
SRW2_FRAME	FORMATFLAG	32	Frame/RFrame Print Condition Object
SRW2_FIELD	FORMATFLAG	32	Field Print Condition Object
SRW2_BOILERPLATE	FORMATFLAG	32	Boilerplate Print Condition Object
SRW2_OG_DOCUMENT	FORMATFLAG	32	Oracle Graphics Document Print Condition Object
SRW2_FRAME	FORMATFLAG	33	Frame/RFrame Print Condition Default
SRW2_FIELD	FORMATFLAG	33	Field Print Condition Default
SRW2_BOILERPLATE	FORMATFLAG	33	Boilerplate Print Condition Default
SRW2_OG_DOCUMENT	FORMATFLAG	33	Oracle Graphics Document Print Condition Default
SRW2_FRAME	FORMATFLAG	34	Frame/RFrame Page Break Before
SRW2_FIELD	FORMATFLAG	34	Field Page Break Before
SRW2_BOILERPLATE	FORMATFLAG	34	Boilerplate Page Break Before
SRW2_OG_DOCUMENT	FORMATFLAG	34	Oracle Graphics Document Page Break Before
SRW2_FRAME	FORMATFLAG	35	Frame/RFrame Page Break After
SRW2_FIELD	FORMATFLAG	35	Field Page Break After
SRW2_BOILERPLATE	FORMATFLAG	35	Boilerplate Page Break After
SRW2_OG_DOCUMENT	FORMATFLAG	35	Oracle Graphics Document Page Break After
SRW2_FRAME	FORMATFLAG	36	Frame/RFrame Page Protect
SRW2_FIELD	FORMATFLAG	36	Field Page Protect
SRW2_BOILERPLATE	FORMATFLAG	36	Boilerplate Page Protect
SRW2_OG_DOCUMENT	FORMATFLAG	36	Oracle Graphics Document Page Protect
SRW2_FRAME	FORMATFLAG	37	Frame/RFrame Keep w/Anchoring Object
SRW2_FIELD	FORMATFLAG	37	Field Keep w/Anchoring Object
SRW2_BOILERPLATE	FORMATFLAG	37	Boilerplate Keep w/Anchoring Object
SRW2_OG_DOCUMENT	FORMATFLAG	37	Oracle Graphics Document Keep w/ Anchoring Object
SRW2_FIELD	ALIGNMENT	38	Field Justification
SRW2_BOILERPLATE	ALIGNMENT	38	Boilerplate Justification
SRW2_QUERY	MAX_ROWS	39	Query Maximum Rows
SRW2_GROUP	GLF_TYPE	40	Group Filter
SRW2_GROUP	CROSS_PROD	41	Group Cross Product
SRW2_GROUP	PRODUCT_ID	42	Group Within Cross Product
SRW2_COLUMN	FLAGS	43	Column Use in Break
SRW2_COLUMN	FLAGS	44	Column Read from File
SRW2_COLUMN	OPERATOR	45	Column Function
SRW2_FRAME	DIRECTION	46	Repeating Frame Print Direction
SRW2_FRAME	DIRECTION	47	Repeating Frame Column Mode
SRW2_FIELD	FORMATFLAG	48	Field Hidden
SRW2_FIELD	PGN_FLAGS	49	Field Page Numbering Include Header
SRW2_FIELD	PGN_FLAGS	50	Field Page Numbering Include Body
SRW2_FIELD	PGN_FLAGS	51	Field Page Numbering Include Trailer
SRW2_BOILERPLATE	TYPE	52	Boilerplate Type (Character-mode)
SRW_DISPLAY_TAG	FONTSTYLE	53	Font Style
SRW_DISPLAY_TAG	FONTWEIGHT	54	Font Boldness
SRW_DISPLAY_TAG	FONTSIZE	55	Font Size
SRW_DISPLAY_TAG	DASHSTYLE	56	Dash Appearance
SRW_DISPLAY_TAG	CAPSTYLE	57	Capital Letter Style
SRW_DISPLAY_TAG	JOINSTYLE	58	Joined Line Style
SRW_DISPLAY_TAG	LINEPAT	59	Line Pattern
SRW_DISPLAY_TAG	FILLPAT	59	Fill Pattern


RWECAT

This user exit concatenates strings, appending source to the end of destination.

Syntax

SRW.USER_EXIT('rwecat source destination');

where:

source	Is the string to be concatenated.

destination	Is the name of the Report Builder object into which the string will be placed.


RWECPF

This user exit copies the data in source and places the result in destination.

Syntax

SRW.USER_EXIT('rwecpf source destination');

where:

source	Is the name of the Report Builder object whose value is to be copied.

destination	Is the name of the Report Builder object into which the value will be placed.

Note: RWECPF is useful for LONGs, LONG RAWs, and RAWs because of PL/SQL's 256-character limit.  RWECPF supports 64,000 bytes.


RWECTY

This user exit converts column properties and source information into a column-type string retrieved from the Report Builder message file.  Input values should be the FLAGS and SOURCE columns from the SRW2_COLUMN table.  This user exit is used by Report Builder when documenting reports stored in the database using File [image] Administration [image] Report on Reports.

Syntax

SRW.USER_EXIT('rwecty flag source destination');

where:

flag	Is the FLAGS column value from the SRW2_COLUMN table for the object whose value is to be copied.

source	Is the name of the Report Builder object whose value is to be copied.

destination	Is the name of the Report Builder object into which the value will be placed.


RWEPLS

This user exit converts PL/SQL source stored in LONG RAW columns into PL/SQL source text.  This user exit is used by Report Builder when documenting your reports stored in the database using File [image] Administration [image] Report on Reports.

Syntax

SRW.USER_EXIT('rwepls source1 source2 destination');

where:

source1	Is the MODID of the source object (e.g., a field) from the Report Builder tables.

source2	Is the ID of the source object (e.g., a field) from the the Report Builder tables.

destination	Is a formula column of datatype Character that is assigned the text of the PL/SQL source.


Complete user exit example

  Related Topics 	  All Examples

This example illustrates the following:

  A Call to a User Exit

  The User Exit

A sample report that uses a user exit is shipped with Report Builder.  It is called userexit.rdf.  The location of the report may vary according to your operating system.


User exit call example

  Related Topics 	  All Examples

Assume you would like to call the UE_EMP_PLAN user exit.  From a formula column, you would enter the following function:

function CF_Set_PlanFormula return Number is
begin
/* Call User Exit to set the CP_PLAN Placeholder */
srw.user_exit('UE_EMP_PLAN CP_PLAN');
  return 1;
exception
  when srw.user_exit_failure then
/* User Exit did not return a string for this */
/* EMPNO value                                */     srw.message(1000,
       ' User Exit did not return plan for Empno: '||
       to_char(:Empno));
  :CP_Plan := 'No Plan';
  return 1;
end;


User exit example

  Related Topics 	  All Examples

Following is a user exit example.  This user exit can be found in the file ue_samp1.pc.

EXEC SQL INCLUDE SQLCA;

/* Define some local variables to be used in the testexit routine      below. */
EXEC SQL BEGIN DECLARE SECTION;
     varchar  targetcol[250];    /* name of target OR col */
     varchar  empid[50];         /* value of Empno OR col */
     varchar  plan[250];         /* Plan string */
EXEC SQL END DECLARE SECTION;#include <string.h>
#include <ue.h>
/*--------------------------------------------------------------+
 | ue_emp_plan:
 | ------------
 |
 | This is a PCC user exit that is meant to demonstrate on a very
 | simple level the interaction between a PCC user exit and an
 | Report Builder document.  It demonstrates the following
 | functionality:
 |  * Reading an Report Builder Column from within a User Exit
 |  * Setting an Report Builder Column from within a User Exit
 |  * Returning an error to Report Builder
 | The only assumptions it makes are that it is called
 | from an Report Builder document having the following columns:
 |
 |   empno  NUMBER    (Value read in User Exit)
 |
 | This (somewhat contrived) example looks up a predefined table
 | "ue_samp_plan", which associates different employees with a
 | text string that indicates their plans, a favorite quote or
 | personal philosophy. For example,
 |       Employee #                   Plan
 |       ----------                   ----
 |       7856            "Vacationing in Hawaii until Jan 1, 1995"
 |
 | In this user exit, we get the Employee Id from the report
 | column EMPNO, look up the "ue_samp_plan" table, get the
 | associated "plan" and set the <target> column specified in the
 | parameter string. To illustrate error handling,  we'll return
 | an error if the Employee Id does not exist in our table.
 |
 | The parameter string to this user exit should specify exactly
 | 1 identifier which specifies the Target (Report Builder) column
 | into which the "plan" is to be copied.  (This ilustrates the
 | use of EXEC IAF PUT with host variables)
 |
 | For e.g, SRW.USER_EXIT('ue_emp_plan PLAN') will result in
 |
 |    + Report Builder col EMPNO will be read into "Empld"
 |    + Report Builder col PLAN will be set with the "plan" string
 |      associated with the EmpId value.
 |    + If no match found, we raise an error.
 |
 | The Employee Ids in ue_samp_plan table match those in the
 | SCOTT/TIGER DEMO tables.
 |
 +--------------------------------------------------------------*/
typedef struct empplan
{
  int empid;
  char   *plan;
} empplan;
empplan ue_samp_plan[] =
{
  { 7369, "Vacationing in Hawaii from Jan 1, 1995"},
  { 7499, "Say No to Guns!"},
  { 7521, "Help starving musicians. Learn music!"},
  { 7566, "Electrons are 100% recyclable."},
  { 7654, "Impress CHRISTIE BRINKLEY w/ witty repartee on
           NP-Completeness"},
  { 7698, "Working on Production"},
  { 7782, "Desktop - Oracle 7 for Windows"},
  { 7788, "Because Its There"},
  { 7839, "Goal: Retire At 45"},
  { 7844, "Go Badgers!"},
  { 7876, "Famous Last Words - It Should Work!"},
  { 7900, "Attending IOUW - send email"}
  /* 7902 & 7934 not included to demonstrate error handling */
};

int ue_emp_plan(ue_options, ue_strlen)
char    *ue_options;        /* command line */
int     *ue_strlen;         /* length of cmd line */
{
    int i;
    char *sep = " "; /* Token separators for parsing ue_options */
    char *token;
   /*----------------------------------------------------------+
    | Set up name of target Oracle Report col into which we move
    | plan string
    |
    | Parm string gives us this name
    +-----------------------------------------------------------*/
    token = strtok(ue_options, sep);  /* Name of UE */
    token = strtok((char*) 0, sep);   /* Parameter - Target Col */

    (void) strcpy(targetcol.arr, token);
    targetcol.len = strlen(ue_options);

   /*------------------------------------------------------------+
    | Get EMPNO value - EXEC IAF GET. Note: empid is declared a
    | VARCHAR so implicit conversion of NUMBER to VARCHAR happens.
    +-----------------------------------------------------------*/

    EXEC IAF GET EMPNO INTO :empid;
    /*-------------------------------------------------+
     | Look up empid in ue_samp_plan table
     +-------------------------------------------------*/
    for (i=0; i<sizeof(ue_samp_plan)/sizeof(empplan); i++)
    {
        if (ue_samp_plan[i].empid == atoi(empid.arr))
        {
           /*
            | Found the empid, copy plan into target column.
            | Target col name is in host variable "targetcol"
            */
           plan.len = strlen(ue_samp_plan[i].plan);
           (void) strcpy(plan.arr, ue_samp_plan[i].plan);

           EXEC IAF PUT :targetcol VALUES (:plan);

           return 0;      /* successful return */
        }
    }
/*-------------------------------------------------------------+
 | Error Case: We didn't find a match
 |
 | Set SRWERB to raise SRW.USER_EXIT_FAILURE exception. See ue.h
 | for explanation.
 +-------------------------------------------------------------*/
    (void) strcpy(SRWERB, "Error - No Plan found");
    return 1;             /* Unsuccessful return */
}


HTML Attributes

  Restrictions 	  Related Topics

When designing a report for HTML output, you can assign Web attributes to the report.  To assign Web attributes, you use  SRW.SET_ATTR or the Set Attributes Procedures.  SRW.SET_ATTR is supported for compatibility with earlier releases, but it is highly recommended that you use the new, simplified procedures.

The following Web attributes are available for HTML output through SRW.SET_ATTR:

  HYPERLINK

  BOOKMARK

  BOOKMARK

  LINKTAG

  BEFREPORT_ESCAPE

  AFTREPORT_ESCAPE

  BEFPAGE_ESCAPE

  AFTPAGE_ESCAPE

  BEFFORM_ESCAPE

  AFTFORM_ESCAPE


PDF Attributes

  Restrictions 	  Related Topics

When designing a report for PDF output, you can assign Web attributes to the report.  To assign Web attributes to objects in your report, you use  SRW.SET_ATTR you use SRW.SET_ATTR in or the Set Attributes Procedures.  SRW.SET_ATTR is supported for compatibility with earlier releases, but it is highly recommended that you use the new, simplified procedures.

The following Web attributes are available for PDF output through SRW.SET_ATTR:

  HYPERLINK

  BOOKMARK

  ACTION

  LINKTAG


HTML Usage Notes

•	You can set Report Builder to automatically display your report output in your Web browser by clicking the Web Preview tool in the Live Previewer view.

•	Bookmarks cause multiple HTML files to be created.  One master file is created with two frames, one for bookmarks and one for the report output.  One HTML file is created for each of these frames.  The master document filename is the name specified in the DESNAME parameter.  The bookmark filename is desnameb.htm.  The report output filename is desnamed.htm.

•	Linked images, image fields, and charts in a report cause GIF files to be created and referenced from the HTML document.  Note that even if the linked boilerplate or image field refers to an external GIF file, a new GIF file is generated.

•	If an image is stored in the database, one GIF file may be generated for each occurrence of the image in the report.  If an image is stored in a file (e.g., imported images, linked boilerplate, or image fields that reference files), only one GIF file will be generated per image regardless of how many times it is repeated in the report.

•	Any GIF image files generated for HTML output have a number sequence (e.g. desname0.gif ... desname17.gif).

•	Buttons with text labels are converted to text.  Buttons with icons are converted to GIF files.  In either case, the link information is preserved.

•	A comment block in the master document contains the names of all of the files that are associated with the master document.

•	HTML has seven sizes for text.  The font sizes in the report are mapped according to the following table.  Note that the user can override the size specified in the HTML file from their browser.

Report Font Size	HTML Size
less than 8	1
8 through 9	2
10 through 12	3
13 through 15	4
16 through 20	5
21 through 30	6
more than 30	7

•	If the font used in the report is non-proportional, TeleType mode is turned on for the generated HTML file.

•	HTML does not have the concept of a page.  A separator line is placed between each page of the report.  Depending upon the browser, you may or may not need to scroll to see the entire report page.  Furthermore, if you print the HTML document from your browser, the printer will not necessarily print the separator lines at the bottom of each page.  If you do not want the separator line or you want to use a different separator line, you can use SRW.SET_AFTER_PAGE_HTML to change it.


HTML Restrictions

•	Objects cannot overlap one another.  For example, you could not have text on top of an image.

•	If objects overlap slightly (two characters or less), then the underneath object is truncated to prevent overlap.

•	If objects overlap significantly (or one is completely on top of the other), then the underneath object is removed altogether.  In this case, any linking information of the removed object is transferred using the same rules as if it were a frame (see the rules about frames below).

•	Text always takes precedence over horizontal lines, regardless of which is on top.  This prevents the line underneath a column label from eliminating the label text.

•	When multiple output files are generated (e.g., when bookmarks are used), any file except the master file will be overwritten without confirmation.  For example, GIF files and bookmark files would be overwritten without prompting.  HTML Usage Notes explain the situations in which multiple files are generated.

•	Report frames are not visually represented in the HTML output.  Any fill or border attributes of frames do not appear in HTML output.

•	If the frame in a report is the target of a link or a bookmark, that attribute is transferred to the visible object nearest to the upper left corner of the frame in HTML output.  If the frame object is a hyperlink, that attribute will be transferred to all the child (interior) objects that are not hyperlinks.  If the hyperlink attribute cannot be transferred to the child objects, the frame's hyperlink is lost.

•	The only drawn object supported in HTML is a solid, black, horizontal line.  The line width specified in the report may be honored depending upon the browser.  All other drawn objects (e.g., rectangles or circles) in the report layout will not show up in the HTML output.  Space for these drawn objects is reserved, but there is no visible representation in the HTML output.

•	Background (fill) and border (line) colors/patterns for text are not available in HTML.  Bold, italic, underline, and foreground (text) color are supported if the browser supports them.

•	The PDF action attribute is ignored for HTML output.

•	OLE objects are ignored when generating PDF or HTML, but space is reserved for these objects in the output.

•	Any browser customizations that have been made will affect how the generated HTML is displayed.


PDF Restrictions

•	For PDF output, the bit-mapped drivers (e.g., PostScript) for the currently selected printer are used to produce the output;  you must have a bit-mapped printer configured for the machine on which you are running the report.

•	OLE objects are ignored when generating PDF or HTML, but space is reserved for these objects in the output.

•	The Adobe Acrobat Reader has a maximum page width of 45 inches.  If your report has a page width greater than 45 inches and you generate PDF output, the Acrobat Reader will not display it.


Default HtmlWinHelp URL Topic