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] Afficher requête d'un bloc (40505)+conversion 4.5--6


Sujet :

Forms Oracle

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut [Forms] Afficher requête d'un bloc (40505)+conversion 4.5--6
    salut

    voici le topo:

    j'ai 2 blocs
    dans le trigger KEY-EXEQRY du bloc 1, j'effectue diverses opérations, puis je mets le focus sur le bloc 2 (go_block('bloc 2')

    là, c'est le trigger PRE-QUERY du bloc 2 qui prend a main, fait sa cuisine, puis le trigger du bloc 1 continue où il en était

    en l'occurence il fait un "execute query;"

    j'aimerais connaître la requête qu'il exécute à ce moment-là car ça plante...
    (j'ai l'erreur: "Pb sur bloc2.un_item => FRM-40505:ORACLE error:unable to perform query.")

    une idée?
    merci d'avance


    ps: c'est en Forms 6i, à savoir que la même form en 4.5 ne plante pas...

  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
    Ce message survient souvent lorsqu'il y a inconsistance entre les champs de votre bloc et ceux de la table sous-jacente.
    l'erreur fréquente est d'ajouter des champs non basés dans un bloc avec la fonction dupliquer. Le query ne trouve pas la correspondance de colonne de la table...
    Vérifiez chaque champ de votre bloc, s'il est basé ou non, son type, sa taille...

  3. #3
    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
    J'ai eu ce style de problème lorsqu'on a migré de forms 4.5 à forms 6. Le problème venait du fait que forms 6 est beaucoup plus rigoureux dans la gestion des datatypes que forms 4.5 (cf. propriétés type de données et longueur maxi, notamment).

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    je vais revérifier ce point...

    mais comment expliquer que cela fonctionne sous 4.5 et pas sous 6i?
    le code n'a pas été modifié entre les 2 mais j'ai déjà remarqué que forms 6 est moins permissif que son prédécesseur...

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Citation Envoyé par plaineR
    J'ai eu ce style de problème lorsqu'on a migré de forms 4.5 à forms 6. Le problème venait du fait que forms 6 est beaucoup plus rigoureux dans la gestion des datatypes que forms 4.5 (cf. propriétés type de données et longueur maxi, notamment).
    donc je dois vérifier les propriétés 1 par 1?

  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
    Eh oui, enfin au moins celles des items de ton bloc qui pose problème ! Bon courage !

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    rien de louche au niveau des propriétés...

    n'y a-t-il pas moyen de récupérer la requête et de l'afficher (avec du pl/sql indépendamment de forms) avant de faire l'execute query?
    y a sûrement une fonction qui fait ça...

  8. #8
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    Quand tu as cette erreur, si tu fais "SHIFT+F1" tu as le détail de l'erreur ?
    ou alors
    mis à part tracer ton application, je vois pas trop comment faire

  9. #9
    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
    As-tu essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bloc1.requete := get_block_property ('bloc1', last_query);

  10. #10
    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
    Si vous "zappez" temporairement le saut dans le boc2 "et votre "petite cuisine", l'execute query est-il correct dans le bloc 1 ?

  11. #11
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    @nounoursonne: ça marche pas...

    @plaineR: ça ne me ramène rien, et c'est bien mon pb...

    @Sheik: je dois laisser le focus sur le block2 sinon il est pas content (Cannot query records here)...

    mais j'ai inhibé la cuisine (en fait appel à une fonction dans une librairie qui est censée renseigner les valeurs du block 2 qui constituent la clause where), et ça change rien, vu que dans mon cas, la fonction ne renvoie rien...

    je vais pousser la comparaison entre la version 4.5 et la 6...

  12. #12
    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
    Ne serait-ce point un trigger POST-QUERY qui mettrait le désordre :

  13. #13
    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
    Vérifiez également que les champs de votre bloc n'ont pas changé de type suite à la migration.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2004
    Messages : 118
    Points : 90
    Points
    90
    Par défaut
    Bonjour à tous,

    Il est possible en Forms de faire afficher un inherit menu (propriété au niveau de la windows mettre à yes ) et de là tu as un menu déroulant HELP et dedans tu as DISPLAY ERROR. Celui ci va te donner l'instruction qu'il a executé et qui pose problème.

    A tester

  15. #15
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    erf! c bon!

    déjà, pour afficher la requête, il suffit de faire "message(:system.last_query);" 8)

    en fait, il n'y a aucun changement de type sur les items du bloc2, et c'est là le pb!

    un des items est basé sur une colonne date de la vue, celle-ci étant stockée en varchar2(16) ( to_char(DAT_MAJ,'DD/MM/YYYY HH24:MI'))
    cet item est de type char également et le format mask est le même
    tout cela paraît logique

    et bien ça marche en 4.5 mais plus en 6!

    en mettant l'item de type date et en supprimant le mask, ça fonctionne...

    bref, j'en ai marre de cette appli à la noix!

    merci à tous pour votre aide

  16. #16
    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 GoLDoZ
    ...
    un des items est basé sur une colonne date de la vue, celle-ci étant stockée en varchar2(16) ( to_char(DAT_MAJ,'DD/MM/YYYY HH24:MI'))
    cet item est de type char également et le format mask est le même
    tout cela paraît logique
    ...
    ah bon ? cela vous parait logique d'avoir un item de type CHAR basé sur une colonne de type DATE :

  17. #17
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Citation Envoyé par SheikYerbouti
    ah bon ? cela vous parait logique d'avoir un item de type CHAR basé sur une colonne de type DATE :
    euh...moi m'être mal exprimé?

    la colonne de la vue contient une date mais est de type varchar(16)
    et elle est renseignée par to_char(colonne_date_dune_autre_table,'DD/MM/YYYY HH24:MI')

    et donc en 4.5 l'item basé était de type char aussi avec le même mask

    mais en 6 il faut mettre un type date...

  18. #18
    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
    ben je ne comprend toujours pas...

    quel interêt de mettre un format sur une colonne VARCHAR2 déjà formattée ?

  19. #19
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    euh...dsl chuis fatigué aujourd'hui...

    c'est l'inverse, l'item était de type date avec un masque, et ça passait
    et avec 6, ça passe plus, donc j'ai supprimé le masque et mis le type char

  20. #20
    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
    C'est ce que je t'avais dit : forms6 n'aime pas les conversions implicites (alors que forms 4.5 les supportait). Je m'en suis tapé quelques unes à corriger et j'ai également maudit forms 6i !!!

    Par contre une petite précision :
    - :system.last_query ramène la dernière requête exécutée concernant la forme;
    - alors que get_block_property ('bloc1', last_query) ramène la dernière requête exécutée concernant ton bloc.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/01/2006, 18h51
  2. [FORMS]-afficher requete dans message
    Par sdiack dans le forum Oracle
    Réponses: 11
    Dernier message: 05/12/2005, 22h32
  3. [Form] Afficher/Masquer une zone de texte
    Par SpyesX dans le forum IHM
    Réponses: 14
    Dernier message: 01/12/2005, 01h13
  4. [Forms] Afficher une image stockée en base
    Par oramine dans le forum Forms
    Réponses: 12
    Dernier message: 01/02/2005, 14h14
  5. [forms] ref cursor associé à un bloc de données
    Par plaineR dans le forum Forms
    Réponses: 9
    Dernier message: 27/08/2004, 18h26

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