1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| Problem Description:
====================
You are receiving the following error from Oracle Forms:
FRM-41353: Cannot start another call form.
Problem Explanation:
====================
A common cause of this error is you went to a peer form and performed a call
form. For example, you performed a CALL_FORM from a form that was opened with
the OPEN_FORM built-in:
CALL_FORM()
OPEN_FORM()
OPEN_FORM()
CALL_FORM() -> FRM-41353: Cannot start another call form.
[ Search Words: opening , calling ]
Solution Description:
=====================
FRM-41353 can occur because there are restrictions on CALL_FORM -> OPEN_FORM
interaction. An open form cannot execute the CALL_FORM procedure if a chain
of called forms has been initiated by another open form.
When you invoke multiple forms with OPEN_FORM and CALL_FORM in the same
application, there are certain restrictions you should be aware of:
Navigation:
Any attempt to navigate programmatically to a disabled form in a call form
stack is disallowed.
Calling Forms:
An open form cannot execute the CALL_FORM procedure if a chain of called
forms has been initiated by another open form.
For Example:
Form A executes CALL_FORM to call Form B. Form B then executes OPEN_FORM to
open Form C. Form C then opens Form D. Form B then calls Form E.
Form A Form C > Form D
| ^
| | OPEN_FORM
CALL_FORM | |
| |
V |
Form B --------^
| OPEN_FORM
|
CALL_FORM |
| V
V ( CALL_FORM here would cause FRM-41353 )
Form E Form F
Restrictions on Navigation:
---------------------------
In the above example, there are three active, navigable forms (E, C, and D),
and two disabled, non-navigable forms (A and B). Any attempt to navigate
programmatically to Form A or Form B will raise an error.
Restrictions on Calling Forms:
------------------------------
Together, Form A, Form B, and Form E represent the current call form stack in
the application. If Form C attempted to call a form with CALL_FORM, FRM-41353
would occur because of the restriction that an open form cannot issue a
CALL_FORM when there is an existing stack of called forms that was initiated
by another form (Form A, in this example).
Solution Explanation:
=====================
When you invoke a modal form by executing CALL_FORM, the calling form is
disabled until the operator exits the called form and returns to the calling
form. When a calling form is disabled, its windows are grayed out, and
operators are unable to set focus to items in the form. A called form can in
its turn call another form. The result is three forms loaded in memory, only
one of which is active and available to the operator. When successive forms
are loaded via the CALL_FORM procedure this way, the resulting module
hierarchy is known as the call form stack.
These restrictions on navigation and calling additional forms within the call
form stack are documented in the Oracle Forms 4.5 Advanced Techniques Manual,
Chapter 5.
Additional Information:
=======================
Oracle Documentation:
---------------------
Oracle Forms 4.5 Advanced Techniques Manual
Chapter 5, Multiple-Form Applications
Using CALL_FORM with OPEN_FORM |
Partager