Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2004, 09h52   #1
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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...
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 10h00   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
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...
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 10h07   #3
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
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).
__________________
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.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 10h09   #4
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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...
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 10h10   #5
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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?
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 10h17   #6
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
Eh oui, enfin au moins celles des items de ton bloc qui pose problème ! Bon courage !
__________________
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.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 11h05   #7
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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...
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 11h24   #8
Membre habitué

 
Avatar de Nounoursonne
 
Inscription : mai 2002
Messages : 257
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 257
Points : 145
Points : 145
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
Nounoursonne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 11h28   #9
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
As-tu essayé :
Code :
bloc1.requete := get_block_property ('bloc1', last_query);
__________________
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.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 11h33   #10
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Si vous "zappez" temporairement le saut dans le boc2 "et votre "petite cuisine", l'execute query est-il correct dans le bloc 1 ?
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 12h31   #11
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
@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...
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 13h42   #12
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Ne serait-ce point un trigger POST-QUERY qui mettrait le désordre :
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 14h01   #13
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Vérifiez également que les champs de votre bloc n'ont pas changé de type suite à la migration.
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 14h05   #14
Membre du Club
 
Inscription : février 2004
Messages : 116
Détails du profil
Informations personnelles :
Localisation : France, Maine et Loire (Pays de la Loire)

Informations forums :
Inscription : février 2004
Messages : 116
Points : 56
Points : 56
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
gaultier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 15h26   #15
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 15h33   #16
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
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 :
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 15h39   #17
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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...
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 15h49   #18
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
ben je ne comprend toujours pas...

quel interêt de mettre un format sur une colonne VARCHAR2 déjà formattée ?
__________________
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
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 16h14   #19
Membre éprouvé
 
Inscription : septembre 2004
Messages : 465
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 465
Points : 412
Points : 412
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
GoLDoZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2004, 16h30   #20
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
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 866
Points : 3 448
Points : 3 448
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.
__________________
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.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h18.


 
 
 
 
Partenaires

Hébergement Web