IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

Problème procédure client_text_io.put_line


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    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.

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    On peut avoir le code complet ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Vous êtes sur d'écrire quelque chose ?
    Avez-vous essayé un simple put_line('xxxxxxxxxxxxxx') après l'ouverture du fichier ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut
    le put_line('xxxxx') ne fonctionne pas non plus.

  6. #6
    Invité de passage
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème procédure d'inscription
    Par Houbbba dans le forum Struts 1
    Réponses: 6
    Dernier message: 12/04/2007, 12h12
  2. Problème procédure Stockée + VBS
    Par gothard dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/02/2007, 16h39
  3. Réponses: 2
    Dernier message: 20/09/2006, 14h38
  4. problème procédure stockée
    Par hamham dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/04/2006, 12h33
  5. Problème procédure stockée + trie
    Par an_merle dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/02/2006, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo