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 22/03/2007, 15h31   #1
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Par défaut [forms 10g] BUG avec SET_BLOCK_PROPERTY ?

Bonjour tout le monde,

Je rencontre un problème sur forms 10g avec l'instruction SET_BLOCK_PROPERTY et l'argument DEFAULT_WHERE qui se traduit de la manière suivante :
- si je modifie la clause where d'un bloc nommé PR0200 basé sur la table PR0200 par l'instruction suivante :
Code :
SET_BLOCK_PROPERTY('PR0200', DEFAULT_WHERE, 'CH_MILL = 2005 AND AP_NOM LIKE ''1ères Cotes de Blaye''')
alors le bloc contient 4 lignes
- si j'exécute la requête suivante sous SQLPlus :
Code :
1
2
3
SELECT *
FROM PR0200
WHERE CH_MILL = 2005 AND AP_NOM LIKE '1ères Cotes de Blaye'
elle me retourne 5 lignes

Qu'est ce qui peut expliquer ce fait sachant que :
- j'ai identifié 1 ligne sur 1182 qui ne peut pas être récupérée lors d'un SET_BLOCK_PROPERTY
- j'ai essayé avec un autre schéma et le phénomène est aussi rare et aléatoire mais il se produit aussi
- il n'existe pas de trigger POST-QUERY dans cet écran
- le trigger contenant l'invocation de SET_BLOCK_PROPERTY se termine avec ce code :
Code :
1
2
3
4
5
6
 
...
  SET_BLOCK_PROPERTY('PR0200', DEFAULT_WHERE, LC_clause_where);
  EXECUTE_QUERY;
lc_tmp := get_block_property('pr0200', default_where);
END;
et que si j'observe la valeur de la variable lc_tmp avec le déboggueur alors il s'agit de la même clause qui retourne 1 ligne de plus sous SQLPlus
- j'ai patché la DS en 9043 il y a environ 3 semaines
- ...

Je suis en train de chercher sur Metalink mais, a priori, il n'existe aucun BUG lié directement à DEFAULT_WHERE

J'apprécie toute aide...
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 15h36   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
c'est pas tout simplement le paramètre du bloc avec le nombre de lignes affichées qui bloquerait... t'as pas un ascenseur ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 15h50   #3
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Bien essayé Fred mais je dispose d'un ascenseur et de toute manière je peux visualiser une 15aine de lignes sans utiliser d'asceseurs
Une autre idée ?
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 15h58   #4
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
Salut Magnus,

N'aurais-tu pas une contrainte au niveau d'un item qui ferait que forms ne peut pas te ramener le champs ?
exemple :
un item required et la valeur pour cette colonne est null dans la base
une popliste / check box qui ne contient pas la valeur qui est en base
...

Revoilà orafrance
__________________
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 22/03/2007, 16h10   #5
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Hello plaineR,

TRES bonne suggestion, en particulier, le coup des checkbox avec une valeur en dehors de celle autorisée.
Je vais chercher ça mais ça va me prendre un certain temps.

Tu ne sais pas s'il existe une sorte de raccourci clavier tel que F6 pour une requête invalide, permettant de déterminer si des lignes ne peuvent pas être récupérées (et encore mieux : combien il y en a) ?

Merci de votre réactivité les gars.
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 16h11   #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
Citation:
Envoyé par Magnus
Tu ne sais pas s'il existe une sorte de raccourci clavier tel que F6 pour une requête invalide, permettant de déterminer si des lignes ne peuvent pas être récupérées (et encore mieux : combien il y en a) ?
Pas à ma connaissance.
__________________
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 22/03/2007, 16h12   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par Magnus
Tu ne sais pas s'il existe une sorte de raccourci clavier tel que F6 pour une requête invalide, permettant de déterminer si des lignes ne peuvent pas être récupérées (et encore mieux : combien il y en a) ?
Tu peux faire une trace sinon

plaineR yes... orafrance is back
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 16h15   #8
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
I M P R E S S I O N A N T !

C'est exactement ça plaineR : il existe une colonne dans cette table correspondant à une case à cochée dont les valeurs valides sont 'O' et 'N'.
En particulier, NULL est interdit.
Evidemment, pour la ligne que je ne pouvais pas récupérer, le contenu de cette colonne était NULL.

Un UPDATE + COMMIT après et la ligne apparaissait soudainement dans le bloc.
J'en pleurerai d'admiration si je n'étais pas un homme...

[EDIT]
Fred, la trace est un sujet récurrent dont je connais pas grand chose et je crois que je vais aller faire un tour sur les tutos de dvp...
[/EDIT]

Merci encore à vous.
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus 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 15h13.


 
 
 
 
Partenaires

Hébergement Web