APP_FIND: Query-Find Utilities
Use the following routines to implement the Find Window functionality.
Related Essays: Query Find Windows (See page )
Summary
procedure APP_FIND.NEW(
block_name varchar2);
Description
This routine is called by the “New” button in a Find Window to return the user to a new record in the block on which the find is based.
Arguments (input)
block_name The name of the block the Find Window is based on
Summary
procedure APP_FIND.CLEAR;
Description
This routine is called by the “Clear” button in a Find Window to clear the Find Window.
Summary
procedure APP_FIND.CLEAR_DETAIL(
detail_block varchar2);
Description
This routine clears the result block of a find block (not a Find window). This action can only be performed from triggers that allow navigation.
Arguments (input)
detail_block The name of the block to be cleared
Example
APP_FIND.CLEAR_DETAIL(‘MYBLOCK’);
Summary
procedure APP_FIND.FIND(
block_name varchar2);
Description
This routine is called by the “Find” button in a Find Window to execute the Find.
Arguments (input)
block_name The name of the block the Find Window is based on
Summary
procedure APP_FIND.QUERY_RANGE(
low_value varchar2/date/number,
high_value varchar2/date/number,
db_item_name varchar2);
Description
This utility constructs the query criteria for ranges in a Find Window. Depending on the datatype of the low and high value, it creates a range of characters, dates, or numbers.
Arguments (input)
low_value The low value of the range high_value The high value of the range db_item_name The name of the item in the block that is being queried
Summary
procedure APP_FIND.QUERY_FIND(
lov_name varchar2);
procedure APP_FIND.QUERY_FIND(
block_window varchar2,
find_window varchar2,
find_block varchar2);
Description
These routines invoke either the Row-LOV or the Find Window. Call them from a user-named trigger “QUERY_FIND.”
Arguments (input)
lov_name The name of the Row-LOV block_window The name of the window the Find Window is invoked for find_window The name of the Find Window find_block The name of the block in the Find Window
APP_FIND.QUERY_FIND(’<块所在窗口名>’,’<查询窗口名>’,’<块名>’);
Execute_Query command is used to fetch all the records for current database data block in Oracle Forms, actually its executes query in current data block.
Syntax
EXECUTE_QUERY;
Clears the current block, opens a query, and fetches a number of selected records.
EXECUTE_QUERY (keyword_one VARCHAR2);
EXECUTE_QUERY(ALL_RECORDS) performs the same actions as EXECUTE_QUERY but Oracle Forms fetches all of the selected records.
EXECUTE_QUERY(keyword_two VARCHAR2);
EXECUTE_QUERY(ALL_RECORDS, FOR_UPDATE) performs the same actions as EXECUTE_QUERY but it lock all of the selected records immediately and fetches all of the selected records.
EXECUTE_QUERY(keyword_one VARCHAR2, keyword_two VARCHAR2);
EXECUTE_QUERY(keyword_one VARCHAR2, keyword_two VARCHAR2, locking VARCHAR2);
Can be set to NO_WAIT anytime that you use the FOR_UPDATE parameter. When you use NO_WAIT, Oracle Forms displays a dialog to notify the operator if a record cannot be reserved for update immediately. Without the NO_WAIT parameter, Oracle Forms keeps trying to obtain a lock without letting the operator cancel the process.
Example