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 :
alors le bloc contient 4 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part SET_BLOCK_PROPERTY('PR0200', DEFAULT_WHERE, 'CH_MILL = 2005 AND AP_NOM LIKE ''1ères Cotes de Blaye''')
- si j'exécute la requête suivante sous SQLPlus :
elle me retourne 5 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM PR0200 WHERE CH_MILL = 2005 AND AP_NOM LIKE '1ères Cotes de Blaye'
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 :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
- 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...
Partager