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 24/11/2011, 10h50   #1
Invité de passage
 
BASTI
Consultant informatique
Inscription : juin 2010
Messages : 42
Détails du profil
Informations personnelles :
Nom : BASTI
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : juin 2010
Messages : 42
Points : 3
Points : 3
Par défaut Déclaration dynamique selon user connecté

Bonjour,

j'ai une application à mettre à jours sous forms.
cette application sera utiliser par plusieurs utilisateurs chacun aura son login et mot de passe.

pour le moment, l'application est utiliser par l'utilisateur "USER1".

le code ci dessous est écrit spécifiquement pour l'utilisateur "USER1" sous un triger "When_button_pressed.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DECLARE
	 lv_retour    VARCHAR2(32000);
   b_ok BOOLEAN := FALSE;
    ftp_list USER1.FTP.t_string_table;
BEGIN
	 ftp_list := PKG_EDILABO_INTERFACE.ExtractFTPData('DEPOT');
   IF ftp_list.count > 0 THEN
   	FOR i IN 1..ftp_list.count LOOP
   	  IF i=1 THEN
   	  	 lv_retour := ftp_list(1);
      ELSE
         lv_retour := lv_retour||chr(10)||ftp_list(i); 	  	
      END IF;
   	END LOOP;
   END IF;
	 --set_editor_property('EDITEUR', TITLE, 'Liste des fichiers du répertoire de dépôt du SAS FTP');
	 :LS_DEPOT:=lv_retour;
	 GO_ITEM('LS_DEPOT');
	 DO_KEY('EDIT_TEXTITEM');
	 --show_editor( 'EDITEUR_DEPOT', lv_retour, lv_retour, b_ok );
EXCEPTION
   WHEN OTHERS THEN raise;   	
END;
Vous remarqué bien que la déclaration de la variable "ftp_list" se fait à travers l'utilisateur USER1, le problème quand je me connecte avec l'utilisateur "USER2" par exemple ça ne marche pas, je suis obliger à chaque fois de changer "USER1" par celui qui est connecter actuellement.
j'ai essayer de faire une déclaration simple sans introduire le USER1 vu que l'autre utilisateur utilise le même schéma qui contient le package "FTP" comme suit:
Code :
ftp_list FTP.t_string_table;
ça ne marche pas toujours
J'ai même créer un synonyme et grant to all pour ce package,
Code :
1
2
GRANT ALL PRIVILEGES ON ftp TO public ;
CREATE public synonym ftp FOR ftp;
toujours KO.

comment je peu faire pour que la déclaration "FTP_LIST" (voir code) soit adapté dynamiquement à l'utilisateur connecté.

Merci d'avance.
complicated est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2011, 11h15   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 530
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 530
Points : 6 460
Points : 6 460
Bonjour,
Vous pouvez avoir un user générique qui contient les objets partagés par les autres users, et donner le droit execute sur le package (plus le synonyme) à tous ceux qui l'utilisent.
__________________
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 24/11/2011, 17h44   #3
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
A priori, on ne peut pas faire ce genre de déclaration "dynamique" avec forms , car il compile dans un schémas !
Il faut faire un user générique avec
- les tables
- les packages
- etc...
Il faut ensuite donner les droits aux autres utilisateurs d'accéder aux objets de l'utilisateur générique et créer des synonymes 'public'

Il faut compiler les forms avec cet utilisateur 'générique' (inutile alors de préfixer)
L'utilisateur lambda ne sert alors qu'à la connexion lors du runtime.
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda 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 17h34.


 
 
 
 
Partenaires

Hébergement Web