Parameter Validation
When you pass the Default parameter List to a form, Oracle Forms validates the individual parameters against the parameters defined in the called form as follows:
- Each parameter in the List must have been defined in the called form at
design time. If you pass an undefined parameter, OPEN_FORM, NEW_FORM, and
CALL_FORM will fail, and Oracle Forms will issue an error message: FRM-47023:
No such parameter named <parameter name> exists in <form module name>.
- The datatype and length of the parameter defined in the called form must
be compatible with the parameter value being passed. (Values in a parameter
List are untyped strings, whereas form parameters are declared as type CHAR,
NUMBER, or DATE.) If the parameter is incompatible with the value, OPEN_FORM,
NEW_FORM, or CALL_FORM will fail, and Oracle Forms will issue an error
message: FRM-47024: Parameter <parameter name> type does not match definition
in <name of called form>.
You can modify the Default parameter List by adding and deleting parameters with the Built-in procedures ADD_PARAMETER and DELETE_PARAMETER.
Parameter validation examples
/* To avoid a validation error, you can remove unwanted
** parameters from the List before passing it to a form.
** For example, if Form B requires only parameters p1 and
** p2, you could remove p3 from the List before passing
** the List to Form B.
*/
DECLARE
p_List PARAMLIST;
BEGIN
p_List := GET_PARAMETER_LIST('default');
DELETE_PARAMETER(p_List, 'p3');
OPEN_FORM('form_b', activate, no_session, 'default');
END;
Related topics
ADD_PARAMETER Built-in
DELETE_PARAMETER Built-in