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 06/07/2007, 11h14   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 9
Points : 3
Points : 3
Par défaut Problème procédure client_text_io.put_line

Bonjour,

j'utilise Forms 10.1.2 et je souhaite créer un fichier texte sur le poste client.
j'utilise pour cela la librairie Webutil et notamment le package CLIENT_TEXT_IO.

la fonction CLIENT_TEXT_IO.FOPEN fonctionne correctement car le fichier est créé sur le poste client, par contre lorsque j'utilise CLIENT_TEXT_IO.PUT_LINE pour écrire dans le fichier, ça ne fonctionne pas. J'obtiens toujours un fichier vide.

Est ce un problème de paramétrage ou de droits ?

Merci d'avance pour votre aide

PS: la même procédure en utilisant le package TEXT_IO (au lieu de CLIENT_TEXT_IO) fonctionne correctement et crée bien le fichier (avec les données) sur le serveur d'application.
cyrilleEyes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2007, 11h26   #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
On peut avoir le code complet ?
__________________
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 06/07/2007, 11h41   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 9
Points : 3
Points : 3
voici le code complet - pour info, il s'agit d'un code que nous migrons de Forms6i vers Forms10. Le code fonctionne correctement avec Forms6i. De plus, j'ai vérifié que les SELECTS qui récupèrent les informations à écrire dans les fichiers ramènent bien des données.


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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
PROCEDURE lib_editer_courrier(p_crr_id VARCHAR2 DEFAULT NULL,p_maj_courrier VARCHAR2 DEFAULT 'O') IS
 
	V_RETOUR NUMBER;
	ERR_DATA_TXT EXCEPTION;
	v_uti_id utilisateur.code_utilisateur%type:=NAME_IN(':global.code_utilisateur');
	v_dos_num VARCHAR2(11);
	--v_tpc_id VARCHAR2(10);
	v_dst_id VARCHAR2(10);
 
 
	v_nom_fichier r_tp_fichier.fic_nom%type;
	v_data_courrier r_tp_fichier.fic_entete%type;
	v_ligne courrier.crr_ligne%type;
	v_nom_rep parametre.nom_parametre%type:='c:\temp';
 
	v_fichier_data client_text_io.file_type;
 
	v_edition number;
 
 
	V_FIC_DATA VARCHAR2(300);
	i						NUMBER;
	j						NUMBER;
	v_longueur	number;
BEGIN
 
		SELECT crr_dos_num, tpc_dst_id
		INTO v_dos_num,v_dst_id
		FROM courrier, r_tp_courrier
		WHERE crr_fl_edition='O'
		AND crr_id=p_crr_id
		AND crr_tpc_id=tpc_id;
 
				BEGIN
					--entête
					SELECT fic_nom, fic_entete, crr_ligne
					INTO v_nom_fichier, v_data_courrier, v_ligne
					FROM r_tp_fichier, r_tp_courrier,courrier
					WHERE tpc_id=crr_tpc_id
					AND tpc_fic_id=fic_id
					AND crr_id=p_crr_id;
 
				EXCEPTION
					WHEN OTHERS THEN 
							message(sqlerrm);pause;
							raise form_trigger_failure;
				END;	
 
--				FOR I IN 1..20
--				LOOP
				BEGIN
					V_FIC_DATA:=v_nom_rep||'\'||v_nom_fichier;
						v_fichier_data:=client_text_io.fopen(V_FIC_DATA, 'w');
					EXCEPTION
						WHEN OTHERS THEN
							V_RETOUR := LIB_OMES_MESSAGE('58');
							RAISE ERR_DATA_TXT;
							null;
					END;
--				END LOOP;
					--ligne entête
				client_text_io.put_line(v_fichier_data, v_data_courrier);
				-- ligne courrierTHEN
				-- longueur maximum du varchar utilisé dans le text_io.put_line
				v_longueur := 260;
 
				IF length(v_ligne)<= v_longueur then
						client_text_io.put_line(v_fichier_data, v_ligne);
 
				ELSE
						client_text_io.put(v_fichier_data, substr(v_ligne,1,v_longueur));
					  j:=floor(length(v_ligne)-1/v_longueur);
						FOR I in 1..J LOOP
								client_text_io.put(v_fichier_data, substr(v_ligne,v_longueur*i+1,v_longueur));
						END LOOP;
 
 
				END IF;
 
				client_text_io.fclose(v_fichier_data);
--				pkg_paiement.pro_ecrire_log(v_ligne,'DATA.txt');	
 
 
--  			v_edition:=lib_lancer_macro_word(p_crr_id, V_FIC_DATA);
v_edition := 0;
  			IF v_edition=0 THEN
					COMMIT;
  			ELSE
  				ROLLBACK;
  			END IF;
EXCEPTION
  WHEN ERR_DATA_TXT THEN
    NULL;
END
cyrilleEyes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2007, 14h32   #4
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
Vous êtes sur d'écrire quelque chose ?
Avez-vous essayé un simple put_line('xxxxxxxxxxxxxx') après l'ouverture du fichier ?
__________________
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 09/07/2007, 10h49   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 9
Points : 3
Points : 3
le put_line('xxxxx') ne fonctionne pas non plus.
cyrilleEyes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 11h23   #6
Invité de passage
 
Inscription : mai 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 1
Points : 1
Points : 1
Par défaut Problème identique

Bonjour,

je rencontre le même soucis avec forms10g avec client_text_io, mon fichier est bien créé mais aucune ligne n'est écrite.

Avez vous trouver la solution ?

D'avance merci.
wallace59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h06.


 
 
 
 
Partenaires

Hébergement Web