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 07/09/2007, 09h13   #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 [OAppli][forms 6i] Statut des enregistrements après POST

Bonjour,

Je travaille sur Oracle Application 11.5.9 avec forms 6i.
Dans un bloc multiligne basé sur une table, j'ai besoin de faire un appel à la procédure interne POST afin de lancer un algorithme spécifique.

L'ennui que je rencontre est qu'après un appel à POST, tous les enregistrements ont le statut QUERY donc je n'ai plus de moyen de savoir quels sont ceux qui existent en base de ceux qui n'existent pas.
Or, je souhaiterais autoriser l'utilisateur à supprimer uniquement les enregistrements qui n'existent pas en base ; ce qui m'est impossible dans l'état actuel.

Comment palier à cette conséquence assez facheuse (en stockant le ROWID et en basant mon bloc sur non plus une table mais une clause FROM ?).
Merci d'avance.

PS : je découvre Oracle Appli donc je ne peux pas me prononcer sur les spécificités de cette "couche".
__________________
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 07/09/2007, 14h35   #2
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut Magnus,

Il n'y pas mieux que la solution de plaineR, créer une table temporaire gérée par le pre-insert.

S'il existe dans ta table temporaire alors la suppression est permise sinon la suppression est interdite.
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 16h45   #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
Salut Salim,

Hum... je comprends l'idée mais malheureusement dans les structures informatiques "trop organisées / méthodologiques" on n'a généralement pas le droit de créer une table temporaire sans le justifier et que ce soit la SEULE solution...

Bref, la solution que je retiens actuellement - mais je suis preneur de toute amélioration - procède de la manière suivante :
- détection des lignes qui posent problème lors du lancement de l'algorithme spécifique après un appel à POST
- suppression sans condition de ces lignes non réellement insérées dans la base de données par un appel à CLEAR_FORM(NO_VALIDATE) et affichage d'un message d'erreur.

Au niveau de l'ergonomie, je te l'accorde, c'est très moyen.
Cependant, face :
- à l'incohérence de la consultation de :SYSTEM.RECORD_STATUS après un appel à POST
- à la désactivation automatique des lignes existantes en base par Oracle Application (?)
- au fait que RAISE FORM_TRIGGER_FAILURE n'est pas systématiquement bloquant
- ...
je trouve ma solution pas si mal

Merci de ton 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 07/09/2007, 17h30   #4
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut Magnus,

Il faut toujours trouver une solution avec les moyens de bord.

Bonne chance.
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h50.


 
 
 
 
Partenaires

Hébergement Web