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