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 29/01/2008, 18h01   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 0
Points : 0
Par défaut Oracle Forms6i Gestion des messages Oracle

Bonjour à tous.

Je voudrais simplement vous demander, y a t'il une possibilité de gérer les messages oracle forms ?

C'est à dire, quand je quitte un formulaire Forms, celui-ci m'affiche un message 'Do you want to save the changes you have made ?', alors est ce je que je peux bien personnaliser ce message (par exmeple : afficher ce message en français ou changer les textes inclus).

Je vous remercie d'avance mille et une fois pour votre aide.

Respectueusement à vous.
macyas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 18h45   #2
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
Il suffit d'installer forms en français pour avoir les messages en français.

Sinon tu peux utiliser les triggers ON-ERROR et ON-MESSAGE
Lis l'aide en ligne de forms sur ces triggers pour comprendre leur fonctionnement.
__________________
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 30/01/2008, 17h54   #3
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 0
Points : 0
Par défaut Oracle Foms 6i Gestion des messages !

Bonjour,

Tout d'abord, je tiens à vous remercier infiniment pour votre aide.

Ben, avant tout je vous informe que je suis encore débutant en forms.
Voilà le code (ON-MESSAGE) que j'ai intégré :

declare
alert_button number;
lv_errtype varchar2(3) := message_type;
lv_errcod number := message_code;
lv_errtxt varchar2(80) := message_text;
begin
alert_button := Show_Alert ('Voulez-vous enregistrer les modifications apportées ?');
if alert_button = alert_button1 then
commit_form;
go_block('type_instruction');
execute_query;
msg_box_ok('Enregistrement efféctué avec succès');
new_form('DEMARRAGE');
else
msg_box_ok('Enregistrement annulé par l''utilisateur');
new_form('DEMARRAGE');
end if;
IF form_fatal or form_failure then
raise form_trigger_failure;
end if;

end;


Mais c'est pas ce que recherchais normalement, parce que je voulais changer le message afficher par oracle forms "Do you want to save the chages you have made ?".

Chose que j'ai pas pu encore faire

Je ne sais pas est que c'est possible déjà ou non!

Rappel : le problème est :

Quand je quitte un formulaire Forms, celui-ci m'affiche un message dont je voudrais bien le personnaliser !!!

Merci mille et une fois pour votre aide.

Respectueusement à Vous.
macyas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 18h17   #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
Si c'est UNIQUEMENT ce message, quand tu quittes un module, sur le trigger KEY-EXIT, tu peux faire:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
declare
  ret number;
begin  
  IF :system.form_status = 'CHANGED' then
    ret := show_alert('MONALERTE');
    IF ret = alert_bouton1 then
      commit_form;
    elsif ret = alert_bouton2 then
      clear_form(no_validate, full_rollback);
    else
      raise form_trigger_failure;
    end IF;
    exit_form;
  end IF;
end;
Après il faut que tu crées une alerte avec 3 boutons oui, non, annuler et le texte que tu souhaires. Mais le plus simple reste d'installer forms en français.

Pour tous les messages du types frm-xxxx, comme je te l'ai dit dans mon premier post tu peux les personnaliser avec les triggers ON-MESSAGE et ON-ERROR.
__________________
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 30/01/2008, 18h41   #5
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 0
Points : 0
Par défaut Oracle Foms 6i Gestion des messages !

Bonjour,

Je vous remercie bcp pour la réponse.

Je vais essayé, mais le fait d'installer Forms en Français (je voudrais bien afficher le message en Arabe par exemple). Donc pour cela, il fallait trés bien à ce que je passe par une personnalisation du message Forms.

Merci encore.
macyas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 19h34   #6
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 0
Points : 0
Par défaut Oracle Foms 6i Gestion des messages !

Re-bonjour,

Je vous remercie bcp pour votre aide.

Voilà le code :

declare
ret number;
begin
IF :system.form_status = 'CHANGED' then
ret := show_alert('MESSAGE');
IF ret = alert_button1 then
commit_form;
go_block('type_instruction');
execute_query;
msg_box_ok('Modifications ont bien été enregistrées avec succès');
new_form('DEMARRAGE');
elsif ret = alert_button2 then
clear_form(no_validate, full_rollback);
msg_box_ok('Modifications annulées');
new_form('DEMARRAGE');
else
raise form_trigger_failure;
end IF;
exit_form;
end IF;
new_form('DEMARRAGE');
end;

J'ai une petite question : lorsque je clique sur le Bouton1, oracle enregistre et m'affiche le message 'Modifications ont bien été enregistrées avec succès',,, sauf que juste après, il m'affiche un message oracle forms quio dit que : "FRM-40400 : Transaction completed: 1 record applied and saved"

Est-il possible d'éviter à ce que ce message soit affiché ou peut être qu'il foudra ajouter une ligne de code ???

Je tiens vraiment à vous remercier mille et une fois.

Respectueusement à vous.
macyas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 09h26   #7
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
Ou il faut modifier le niveau de message avec la variable system.message_level :
Code :
1
2
3
:system.message_level := 5;
commit_form;
:system.message_level := 0;
Une autre solution consiste à le gérer dans le trigger ON-MESSAGE.
__________________
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 31/01/2008, 13h04   #8
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 0
Points : 0
Par défaut Oracle Foms 6i Gestion des messages !

Bonjour,

Comme d'habitude, je tiens à vous remercier bcp pour votre aide.

Je vous informe que ça a marché, mais j'ai une petite question concernant le même souci, c'est lorsque je clique sur Annuler : je voudrais bien avoir le formulaire avec l'état initial(avant que je fasse les modifs).

Alors j'ai pensé à faire ça mais ça n'a pas marché :

else
raise form_trigger_failure;
select count(*) into n from type_instruction;
if n=0 then
msg_box('La liste est vide');
end if;
go_block('type_instruction');
execute_query;



Ou s'il y a autre solution qui fait un rafraîchissement du formulaire!!

Merci et excellente journée à Vous.

Respectueusement à vous.
macyas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 13h32   #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
La seule solution pour raffraichier le formulaire est de faire un execute_query. Tu retrouveras les valeurs telles quelles sont dans la base.
__________________
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 31/01/2008, 16h58   #10
Invité de passage
 
Inscription : janvier 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 13
Points : 0
Points : 0
Par défaut Oracle Foms 6i Gestion des messages !

Citation:
Envoyé par plaineR Voir le message
La seule solution pour raffraichier le formulaire est de faire un execute_query. Tu retrouveras les valeurs telles quelles sont dans la base.
Bonjour,

Je suis parfaitement d'accord avec vous du fait qu'il faut faire un EXECUTE QUERY pour avoir les valeures telles sont dans la base, mais, je l'ai intégré avant et ça n'a pas marché, alors, je ne sais pas est ça a une relation avec le code du bouton SUPPRIMER(par exemple) ou non, en outre, peut être que dans le code du bouton ANNULER,manquera quelque chose.

Code SUPPRIMER : WHEN BUTTON PRESSED :
Code :
1
2
3
4
5
6
7
8
9
10
 
begin
       commit_form;
       go_block('type_instruction');
       execute_query;
       msg_box_ok('Enregistrement efféctué avec succès');
exception
       when others then
       msg_box_ok('Erreur lors de la mise à jour');
end;
Et le code du bouton Fermer, trés exactement lorsque je clique sur Annuler lors du message est :
Code :
1
2
3
4
5
6
7
raise form_trigger_failure;
SELECT count(*) INTO n FROM type_instruction;
IF n=0 then
       msg_box('La liste est vide');
end IF;
      go_block('type_instruction');
      execute_query;
J'espère fort que j'ai bien formulé exactement mon souci.

Merci.

Respectueusement à vous (plaineR).
macyas 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 13h04.


 
 
 
 
Partenaires

Hébergement Web