Runtime Behaviors

Overview

This chapter covers the following topics:

Validation Models

Related Topics

Errors

Disabled Functions

Saving Changes

The user explicitly saves changes by invoking "File--> Save" from the menu, or by pressing the "Save" button on the toolbar.

Note: When the user selects a form to open from the Navigator, it is invoked in a separate database session and commit cycle. Thus, the Save action only applies to the current form from which it is applied.

Other methods of saving changes are described in the remainder of this section.

Save and Proceed

This function allows a user to save changes on the current set of records, then place the form in a mode ready to start the next transaction. Depending on the form, this may cause any of the following after the data itself is saved:

A "Save and Proceed" textual button may be coded in modal windows that need the functionality.

Next Step

This function is enabled when a form is opened by using the Processes tab in the Navigator. When selected, it saves any changes in the current form, closes it, and advances the current workflow process to the next sequential node.

Implicit Saves

Several types of actions require that data be saved to the database in order for the actions to be performed, or the action logically saves the changes automatically.

Buttons that perform the "Save" action

(OMS-76048) Often it is unusual to think of "saving" certain types of data, such as the parameters entered to run a report. In those cases, provide a button which replicates the save action, but is labeled consistently with the intent of the form. The "Save" entries on the menu and toolbar would, of course, perform the exact same function as the button.

Examples are:

Navigation Within Forms

Visual Indicators

The strongest visual indicator of navigation sequence is simply the layout. Follow a left-to-right, top-to-bottom scheme, except where the information is typically presented in a specific format (such as Addresses), and the navigation sequence would still be predictable.

Other indicators regarding navigation are as follows:

Navigation with the Keyboard

Navigation with the Mouse

Keyboard Navigation to Control Elements

Behavior of Next Block

Behavior of Previous Block

Forward Navigation from the last item of a Block

Previous Navigation from the first item of a Block

Tab or Region Navigation

Related Topics

Tab Regions

The Navigator

The Navigator (or "Navigate Window") is the means for opening another form while in an application. The Navigate window is always available during a session.

The Navigate Window

If the Navigate window is hidden behind another window or is minimized, choose View--> Show Navigator to bring it to the front.

The following figure is an example of a Navigate window that appears after signing on to Oracle E-Business Suite and choosing a Forms-based function. Users use this window to navigate to forms. The Navigate window is always present during a session of Oracle E-Business Suite using Oracle Forms and displays the name of the current responsibility as part of its window title.

the picture is described in the document text

Refer to the Oracle E-Business Suite Developer's Guide for information regarding functions and responsibilities. The three modes of the Navigator are briefly discussed in this chapter.

Functions

The Functions tab is the primary navigation mechanism. It enables the user to select a particular function and then open that form.

Each user can place up to 10 functions in the Top 10 list for rapid access.

Documents

The Documents tab shows records that were stored with the "Place on Navigator" menu option. This feature is only enabled in specific product forms.

Processes

The Processes tab shows workflow processes to which the current user has access, as well as running instances of them.

A user can launch a process, which then guides them through a specific transaction established by a System Administrator at their company. If a form is opened by using the Processes flow, selecting Next Step from the File menu advances the process to its next sequential step.

Linked Forms

Open Form

The Open Form feature of Oracle Forms allows two or more forms to run simultaneously, but independently of each other. The Navigator is the "launching pad" from which a user opens the screens associated with the current responsibility, and each form opened runs independently.

Specific behaviors of screens in this environment are as follows:

Developer-Defined Links

A developer may tie two or more forms together with the Open Form feature, when a related inquiry or entry form exists for the current form, and context can be passed. For example, it is very convenient to be able to open the Customers form directly from the Sales Orders form, in order to allow entry of a new customer while creating a new order, or to view details of a customer that has already been defined. These forms should be made available on the Tools or Special menu.

If there is a weak link between two forms, or one that would be used infrequently, do not provide a mechanism on the first form to directly invoke the second; the user can open that form easily from the Navigator instead.

Zoom

The Zoom feature allows customers to create links between Oracle E-Business Suite forms and forms they code. Oracle E-Business Suite ships with no Zooms defined, and the Zoom entry on the View menu is disabled. A customer may add their own code that enables this menu entry on a per-form or per-block basis. When the user selects this entry, the customer's code can execute any logic required, including opening another form and passing context to it. For more information, see the section on Zoom in the Oracle E-Business Suite Developer's Guide.

Call Form

Call Form is a Form Builder feature that allows one form to invoke another. While the second form is active, the first form is "suspended." Because of the modal nature of this invocation, and other technical problems, Oracle Application products can not use Call Form.

Disabled Functions

Functions that are never applicable during a session

Functions may not be available to a user for a variety of reasons:

These functions can be disabled as follows (in decreasing order of preference):

In extreme cases, an entire form may not be accessible. If this cannot be determined before opening the form, then when the form is run it should immediately show an error message, which exits the form when acknowledged.

Items that are disabled and enabled during a session

Certain items need to change their ability to accept user input while the form is running as context changes:

Disable as follows:

"Inappropriate" Functions

(OMS-76032) Standard Oracle Forms functions that do not apply in a particular situation are disabled. Examples of such functions are:

Such functions are disabled as follows:

Do not map a function to a "best guess" alternative. For example, do not map Next Record in a dialog block to be the same as Next Item.

Irreversible Actions

(OMS-76033) Any function that may cause irreversible data changes must prompt the user for confirmation. For example, the action of deleting a record might use the following confirmation: "Delete this Purchase Order? (Delete/Cancel)." More specific delete messages are used where appropriate.

The delete action, invoked by selecting Delete from the Edit pull-down menu or by selecting the Delete button on the toolbar, is the standard way for the user to permanently remove records, whether the actual processing behind the scenes involves 1 or 100 records and whether it will be done online or in a batch job. A button with a more specific label (such as "Purge Journal") may be included if it clarifies the action, but this is always done in addition to enabling the standard invocation mechanisms (the menu and toolbar).

The default button within the confirmation window should be the one that confirms the action. Only in cases where the action (if accidentally taken) has the potential to be exceptionally destructive should the default be to cancel the action. The confirmation may explain that it will be deleted in a job later.

Running Totals

Field Ranges (From/To Field Pairs)

A pair of fields used to represent a range has specific cosmetics and behaviors.

Behaviors

Any time component that may be seen on the actual database column being queried should be ignored if the Find fields merely allow a date entry.

Single-Record Blocks

Range fields may be painted one of two ways: horizontally with a single prompt (such as "Hire Dates") in front of the "From" field and a dash between the fields as in "Hire Dates _____ - ____", or vertically stacked with the prompts From (the upper field) and To with a region frame and title that describes the range (such as "Hire Dates").

the picture is described in the document text

In the example above, the prompt for the combined range fields is plural, and the separator between the fields is a dash (boilerplate, not a prompt) centered on three character cells between the two fields of the range. This is the recommended style. Note that the "To" field must have either a hidden prompt or Hint Text because it has no visible prompt of its own.

The style in the following example should only be used if a vertical orientation is aesthetically better or required for translation reasons.

the picture is described in the document text

Note that in this example, each field must have Hint Text that combines the frame title and field prompt.

If multiple field ranges exist, and the fields are of different widths, try to arrange them with the From fields and the To fields stacked as shown in the following picture:

the picture is described in the document text

Note that each field must have Hint Text, such as "Hire Dates: From."

Multi-Record Blocks

In multi-record blocks, range fields are always adjacent fields with the prompts From and To, with a spanning region title for the range contents, as shown in the following example:

the picture is described in the document text

Currency

Currency Code

(OMS-76038) Display the currency code rather than the symbol associated with the currency.

(OMS-76045) Always put the currency code before amounts on forms, letting the value's general label (for example, "Amount") apply to both the currency code and the amount fields. Do this for both input and display-only cases.

the picture is described in the document text

the picture is described in the document text

Note: The currency field must still have either a hidden prompt or Hint Text.

Alternatively if all the amounts on the window are in the same currency, you can use a single separate field labeled "Currency" to indicate the currency type for amounts on that window.

The currency code can be left off completely (as shown below) if only functional currency is supported for that command.

the picture is described in the document text

The prompt for the currency code field can be omitted in a multi-row display-only block.

Field Alignment

(OMS-76039) Currency codes are start-aligned.

(OMS-76040) Currency amounts are end-aligned.

Decimal character (Radix)

Currency amounts must be displayed with the appropriate decimal character. For example, the comma is the appropriate decimal character for German currency (9.123,45) whereas for American currency the appropriate decimal character would be the period (9,123.45).

Field Widths

The numeric field widths that are standard for certain Oracle E-Business Suite fields (typically 1.2" or 1.6") are sufficiently large to handle all necessary group separators, decimal characters, and bevels around the field.

Leave 0.4" for the currency field.

Negative Formatting

The format for negative numbers is determined by the profile option "Currency:Negative Format." The default identifier is a hyphen ( - ) preceding the currency amount, as in "-23." Other display possibilities are 23-, <23>, (23), and [23].

Note: Fields with negative values may also be color-coded if highlighting them is useful.

Validation Messages

If a user changes the currency code when its associated amount(s) are already entered (nonzero), the user should be warned with a message to verify that the amount is correct for the new currency. This is particularly important because in some cases precision may be truncated by the currency change.

If changing the currency code causes an overflow in the amount field(s) (the amount is larger than the acceptable number of digits), blank out the amount(s) and display a message telling the user what has been done. If the amounts cannot be blanked out (such as if the amounts show in saved child records), instead present an error when the currency code field is changed and force its correction or do the change only from a dialog box so the child records can be changed.

Places where extra precision is needed

There are a few places where in the input of prices, quantities, and costs the user may require extra precision beyond the normal precision displayed for a value. In those places allow the decimal point to float as needed and display the amount of precision the user enters. This will upset the numeric alignment in multi-row displays, so it should be done only where such extra precision input may be necessary.

Multiple-Record Selection

Multiple-record blocks may allow a user to take an action on several records at once. For instance, a screen designed to post Journals allows selection of any number of records, and then invoking the "Post" function operates on all the currently selected records.

Behaviors

Highlighting Information

In certain cases, it may be desirable to make a value or even an entire row stand out to the user. The following are methods for making data stand out from the information around it:

Printing

The "Print..." action from the File menu may invoke either of the following responses:

Examples:

Long-Running Processes

Long-running processes should be handled in the following ways:

Ordering of Displayed Records

This section gives recommendations for allowing a user to specify the order (ascending or descending, for example) of queried records. In general, these ideas are intended to go into a form's Find window, if it has one.

Requerying Records After Changing Order By

In the cases where "Order By" is specified directly on the Results window (not in the Find window), changing the "Order By" should bring up a message "Reorder records now?" with choices Yes and No (with Yes as the default). If the user chooses Yes, the previous query is run so that the user can see the reordered data.

Record History...

A user chooses "Help -> Record History" in order to see the information automatically supplied by the Applications Object Library "WHO" columns, such as:

These fields are not shown on the form unless they are critical attributes of the entity.

For information on maintaining WHO information, see the Oracle E-Business Suite Developer's Guide.

About Oracle Applications...

To see basic information about the product being run select "Help -> About Oracle Applications..." from the pull-down menu bar. The About Oracle Applications window provides details about the version of the Oracle E-Business Suite components, login information, and information about the current form and environment.