IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

[Forms]QUestion de conception sur ORACLE Form


Sujet :

Forms Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 40
    Points
    40
    Par défaut [Forms]QUestion de conception sur ORACLE Form
    Je souhaiterais développer d'une manière générale un menu sous form 9i (bientôt 10g) composé par exemple de A B C D et E
    où A, B, C, D serait appelé avec un call_form permettant d'accéder à des écrans de mise à jour et avec un open_form. L'accès à E permettrait d'accéder à des consultations en parallèle avec les écrans de mise à jour.
    Or quand je développe une pile d'écran avec call_form et que j'ouvre un autre écran avec open_form suivi d'un call_form à partir de ce dernier j'ai une erreur me précisant que je ne peux pas développer une autre pile FRM-41353.

    Mon but est en fait de développer deux chaines d'écrans indépendantes.
    Quelqu'un a t'il des idées ou a déjà rencontré ce problème ?
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    CALL_FORM ne permet aucune indépendance dans la mesure ou il est ouvert dans la même session que l'appelant et reste assujetti à ce dernier.
    Le seul moyen de lancer une autre forme indépendente est d'utiliser OPEN_FORM().
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par SheikYerbouti
    CALL_FORM ne permet aucune indépendance dans la mesure ou il est ouvert dans la même session que l'appelant et reste assujetti à ce dernier.
    Le seul moyen de lancer une autre forme indépendente est d'utiliser OPEN_FORM().
    Effectivement le seul moyen est de faire un open_form mais à partir ce dernier écran ouvert avec un open_form et une nouvelle session il 'est pas possible d'effectuer à nouveau un call_form ?

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Citation Envoyé par groy1
    Effectivement le seul moyen est de faire un open_form mais à partir ce dernier écran ouvert avec un open_form et une nouvelle session il 'est pas possible d'effectuer à nouveau un call_form ?
    Si, bien sur.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par SheikYerbouti
    Si, bien sur.
    Dans ce cas ou je ne m'explique pas très bien ou je n'ai pas vu l'astuce mais j'ai trois écrans A, B, C appelés successivement par des call_form et l'écran C ouvre l'écran D avec un open_form. Jusque là pas de problème mais lorsque l'écran D fait un call_form pour appeler un écran E l'erreur suivante apparait :FRM-41353 Cannot start another call form tant que A, B et C ne sont pas fermés.
    Merci

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    La note 1023141.6 sur metalink explique très bien ce problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par plaineR
    La note 1023141.6 sur metalink explique très bien ce problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Il n'y a donc pas d'autre solution que de fermer les écrans précédemment ouvert avec call_form. Ceci veut dire qu'on ne peut pas avoir deux branches distinctes d'écrans ouverts en 1er avec un open_form et ensuite avec call_form ?

  8. #8
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Oui c'est exactement ça.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connection d'une base de données sur oracle XE avec une application dévéloppée sur oracle forms
    Par nouhatahfouna dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 29/03/2010, 22h17
  2. faire LOV sur oracle forms 6i
    Par abd allah dans le forum Forms
    Réponses: 2
    Dernier message: 08/03/2010, 16h50
  3. Aide sur les checkbox sur Oracle Forms Builder
    Par lamouche8 dans le forum Forms
    Réponses: 3
    Dernier message: 03/04/2009, 13h42
  4. Aide sur oracle forms
    Par L3AJJALYA dans le forum Forms
    Réponses: 0
    Dernier message: 01/01/2009, 01h59
  5. Documentation sur oracle forms client /serveur
    Par essse dans le forum Forms
    Réponses: 9
    Dernier message: 23/04/2008, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo