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 05/01/2007, 20h10   #1
Invité régulier
 
Inscription : novembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 61
Points : 6
Points : 6
Par défaut [Forms9i] variable globale

salut,
(Oracle Forms 9i)
je déclare une variable globale mais lorsque j'essaie d'affecter son contenue à un autre champs ça ne marche pas
un message d'erreur s'affiche(exception non traité)
poula est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 20h16   #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
Merci de donner plus d'infos, notament sur les instructions que vous utilisez.
__________________
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 05/01/2007, 21h03   #3
Invité régulier
 
Inscription : novembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 61
Points : 6
Points : 6
Par défaut détails variable globale

code (intialisation )
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
declare
 v_exist number(1);
  Al_id      ALERT ;
  LI$Bouton  pls_integer ;

begin
  SELECT 1
   INTO v_exist
   FROM super_utilisateur
   WHERE login1 = :connexion.LOGIN2
     AND mot_passe1 = :connexion.mot_passe2;
    go_block ('menu_super'); 
   
exception
   when no_data_found then
      
begin
	 
          SELECT 1
          INTO v_exist
          FROM utilisateur
          WHERE login = :connexion.login2
            AND mot_passe = :connexion.MOT_PASSE2;
        
            :GLOBAL.code := :connexion.code_actel;
       
          go_block ('menu_util'); 
       exception
            when no_data_found then
        BEGIN
Clear_Form(No_Validate);
END;    
  Al_id := Find_Alert( 'AL_OUI_NON' ) ;
  If Id_Null( Al_id ) Then
     Message('la boite d''alerte mon_alerte n''existe pas dans la forme');
     Raise Form_Trigger_Failure ;
  Else
     LI$Bouton := Show_Alert( 'AL_OUI_NON' ) ;
     If LI$Bouton = ALERT_BUTTON1 Then
     	begin        GO_BLOCK('Connexion');
        end;
     Else  
        DO_KEY('EXIT_FORM');
      
      End if ;
  end if;
 end loop;
      End ;
utilisation du variable globale
code
Code :
1
2
3
INSERT INTO non_table(..,code_actel)
VALUES (...,:non_bloc.code_act= :global.code)
commit;
poula est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 21h06   #4
Invité régulier
 
Inscription : novembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 61
Points : 6
Points : 6
Par défaut détails variable globale

code (intialisation )
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
declare
 v_exist number(1);
  Al_id      ALERT ;
  LI$Bouton  pls_integer ;

begin
  SELECT 1
   INTO v_exist
   FROM super_utilisateur
   WHERE login1 = :connexion.LOGIN2
     AND mot_passe1 = :connexion.mot_passe2;
    go_block ('menu_super'); 
   
exception
   when no_data_found then
      
begin
	 
          SELECT 1
          INTO v_exist
          FROM utilisateur
          WHERE login = :connexion.login2
            AND mot_passe = :connexion.MOT_PASSE2;
        
            :GLOBAL.code := :connexion.code_actel;
       
          go_block ('menu_util'); 
       exception
            when no_data_found then
        BEGIN
Clear_Form(No_Validate);
END;    
  Al_id := Find_Alert( 'AL_OUI_NON' ) ;
  If Id_Null( Al_id ) Then
     Message('la boite d''alerte mon_alerte n''existe pas dans la forme');
     Raise Form_Trigger_Failure ;
  Else
     LI$Bouton := Show_Alert( 'AL_OUI_NON' ) ;
     If LI$Bouton = ALERT_BUTTON1 Then
     	begin        GO_BLOCK('Connexion');
        end;
     Else  
        DO_KEY('EXIT_FORM');
      
      End if ;
  end if;
 end loop;
      End ;
utilisation du variable globale
code
Code :
1
2
3
INSERT INTO non_table(..,code_actel)
VALUES (...,:global.code)
commit;
poula est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 09h12   #5
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
Assurez-vous que vous exécutez bien la partie de code qui renseigne la globale. Sinon, celle-ci reste non initialisée et génère donc une erreur à la lecture.
Vous pouvez utiliser l'instruction Default_Value() pour donner une valeur défaut à une globale.
A votre place, je placerai un message de trace dans la partie qui renseigne cette globale.
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h23.


 
 
 
 
Partenaires

Hébergement Web