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.
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:
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,
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.
Partager