bonjour,

voila mon environnement est comme suit :
devsuite 10g (904019)
oas 10g (9042)
database 9207

j'ai un document type qui est une lettre qu'on doit envoyer à chacun de nos client.
ce document est constitué de 2 parties:
partie a : date du jour, nom du client
partie b : lette elle même


Je voudrais construire de facon dynamique un fichier contenant autant de pages que de client et chaque page devra avoir :
- partie a : info du client concerné
- partie b: lettre (prototype)

pour ce faire, j'ai delimite ma partie de la lettre (section répetetive avec des crochet).

et la pour chaque client :
- j'inserer son nom
- j'insere la partie répetetive (prototype) de ma lettre template
- j'insere un saut de page


tout les client sont dans le même fichier output , on les separent avec un saut de page.


voici mon code, mais ca me donne toujour en output un document vide :

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
DECLARE
		-- directory for template document
		c_template_dir VARCHAR2(300) := 'D:\RTM\AVIS_RETARD\TEMPLATE';
		-- template document name
		c_template_doc VARCHAR2(300) := 'LETTRE_RETARD.rtf';
		-- directory for output
		c_output_dir VARCHAR2(300) := 'D:\RTM\AVIS_RETARD\A_FAXER';
 
  -- FichierIntrouvable    EXCEPTION;
  -- PRAGMA exception_init ( FichierIntrouvable, -302000 );-
 
 		outFileName VARCHAR2(200);
		Load_File text_io.file_type;
		Out_file text_io.file_type;
		Str VARCHAR2(32767) := Null;
		counter NUMBER :=0;
		--INDICE NUMBER;
	  ligne_en_cours VARCHAR2(32767) := Null;
		lettre_repetitive long;
 
 
BEGIN
-- source file
	Load_File := text_io.fopen( c_template_dir ||'\'||c_template_doc,'r' );
	outFileName := 'LOT_DATEJOUR'||'.rtf';
	Out_file := text_io.fopen(c_output_dir||'\'||outFileName,'w' );
 
-- se positionner apres le début de la section
--RÉCUPERER LE DOCUMENT À REPÉTER POUR CHAQUE NOTAIRE
  text_io.get_line( Load_File, ligne_en_cours);
 
		while ligne_en_cours <> '[['
		loop
	    text_io.get_line( Load_File, ligne_en_cours);
    end loop;
 
	  text_io.get_line( Load_File, ligne_en_cours);
		while ligne_en_cours <>  ']]'
		loop
		  text_io.get_line( Load_File, ligne_en_cours);
		  lettre_repetitive := ligne_en_cours;
                                  text_io.put_line( Out_file, lettre_repetitive );
	  end loop;
 
    --inserer le saut de page
  text_io.get_line( Load_File, STR);
  Str := REPLACE( Str, '[sautpage]', '\par \page');
text_io.put_line( Out_file, Str );
 
/*		 
 
EXCEPTION WHEN NO_DATA_FOUND THEN
		text_io.fclose( Load_File );
		text_io.fclose( Out_file );
END;

et voici mon template (lettre prototype) :
date du jour
info client

---
[[
Bonjour,

cette lettre est pour vous informer que vous êtes en retard pour la période en cours.

Merci pour mettre à jour votre dossier.

salutations
]]
[sautpage]


merci pour votre aide et toute suggestion est la bienvenue