Use page computations to assign a value to an identified item when a page is submitted or displayed. You can also use application-level computations to assign values to items. Most page-level computations populate page items. In contrast, most application-level computations populate application items.
Tip:
To learn more about execution behavior in the case of a validation error, see "What Happens When a Validation Fails?"A page computation assigns a value to an identified item when a page is displayed or submitted (rendered and processed).You create a page computation by running the Create Page Computation Wizard. For each computation, specify the item for which you are creating the computation and a computation type.
To create a page computation:
Navigate to the appropriate Page Definition. See "Accessing the Page Definition".
Access the Create Computation Wizard:
Tree view - Under the appropriate page rendering event (such as Before Header, After Header and so on), locate Computations. Right-click and select Create.
Component view - Under Computations, click the Create icon.
For Item Type, select where the computation executes and click Next. Location options include:
Item on This Page
Item on Another Page
Application Level Item
For Item, select the item and computation point:
Compute Item - Select the item the computation updates.
Sequence - Select the order of evaluation.
Computation Point - Select the point at which the computation executes. The computation point On New Instance executes the computation when a new session (or instance) is generated.
Computation Type - Select the method of computation you want to create.
Click Next.
In Computation, enter a computation that corresponds to the selected computation type and click Next.
On Condition, you can choose to make the computation conditional. To make a computation conditional, make a selection from the Condition Type list and enter text in the expression fields.
Click Create Computation.
A good example of using computations can be illustrated by a page containing form fields for entering phone numbers. In this example, the phone number is stored in one database column; however, the data entry form breaks the phone number into three components: area code, prefix, and line number. In this example, the page items are called P10_AREA_CODE
, P10_PREFIX
, and P10_LINE_NUMBER
.
Next, suppose you need to combine the values stored in these items into a single string. You could accomplish this by using an After Submit computation and store the combined values in an item called P10_PHONE_NUMBER
.
To create a computation to store the combined values of P10_AREA_CODE
, P10_PREFIX
, and P10_LINE_NUMBER
in new items:
Navigate to the appropriate Page Definition. See "Accessing the Page Definition".
Create an item named P10_PHONE_NUMBER
to store the combined values of P10_AREA_CODE
, P10_PREFIX
, and P10_LINE_NUMBER
. See "Differences Between Page Items and Application Items".
Access the Create Computation Wizard:
Tree view - Under the appropriate event, locate Computations. Right-click and select Create.
Component view - Under Computations, click the Create icon.
For Item Location, select Item on this Page and click Next.
For Computation, select P10_PHONE_NUMBER.
For Sequence, select the order of evaluation.
For Computation, you can create the following computation types:
Static Assignment:
For Computation Type, select Static Assignment and click Next.
Enter the following computation:
(&P10_AREA_CODE.) &P10_PREFIX.-&P10_LINE_NUMBER.
Click Next.
PL/SQL Function Body:
For Computation Type, select PL/SQL Function Body and click Next.
Enter the following computation:
DECLARE l_return_value VARCHAR2(300) DEFAULT NULL; BEGIN l_return_value := '('||:P10_AREA_CODE||')'||:P10_PREFIX||'-'||:P10_LINE_NUMBER; RETURN l_return_value; END;
Click Next.
SQL Query (return colon separated value):
For Computation Type, select SQL Query (return colon separated value) and click Next.
Enter the following computation:
SELECT '('||:P10_AREA_CODE||')'||:P10_PREFIX||'-'||:P10_LINE_NUMBER FROM DUAL
Click Next.
PLSQL Expression:
For Computation Type, select PLSQL Expression and click Next.
Enter the following computation:
'('||:P10_AREA_CODE||')'||:P10_PREFIX||'-'||:P10_LINE_NUMBER
Click Next.
Click Create.
Once you create a computation, you can edit it on the Edit Page Computation page.
To edit a page computation:
Navigate to the appropriate Page Definition. See "Accessing the Page Definition".
Access the Edit Page Computation page:
Tree view - Under the appropriate event, locate Computations. Right-click the computation name and select Edit.
Component view - Under Computations, select the computation name.
The Edit Page Computation page appears.
Edit the appropriate attributes.
Click Apply Changes.
You control when a computation executes under the Computation Point attributes by specifying a sequence and a computation point. The computation point On New Instance executes the computation when a new session (or instance) is generated.
Under Source, enter an expression or query to compute an item's value. In the event a computation fails, you can optionally define an error message in the Computation Error Message field.