Bonjour à tous,
Je dois crééer plusieurs rapport expoter en Excell. Jusqu'à la pas de problème pour l'exportation mais j'aimerais pouvoir appeler une fonction en passant en paramètre le nom du champs que je dois extraire afin d'éviter de répéter toujours le même code pour chaque rapport.
Mon problème vient du fait que je n'arrive pas à joindre le contenu de ma variable au curseur de ma fonction.
La variable s'appelle v_field. dans laquelle est stocké le nom du champs
L'appel de la fonction se fait ainsi :
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 FUNCTION getRapport(schemalocal IN varchar2, ???v_field ) RETURN VARCHAR2 IS c_data CURSORTYPE; cur_rec table.frm_steinert%ROWTYPE; BEGIN v_curseur := 'SELECT * FROM '|| schemalocal ||'.frm_steinert ORDER BY patientid,dateconsultation'; OPEN c_data FOR v_curseur; FETCH c_data INTO cur_rec; WHILE (c_data % FOUND) LOOP -- Verifie si le patient est valide IF( utils.getValidPatient(schemalocal,cur_rec.patientid) = 'Y') THEN IF ( ???v_field IS NOT NULL ) THEN IF (v_cpt = 1) THEN v_date_debut := cur_rec.dateconsultation; v_date_visite := cur_rec.dateconsultation; v_s := utils.getpatientcode(schemalocal,cur_rec.patientid) ||tab; END IF; v_date := cur_rec.dateconsultation - v_date_visite; IF (v_date_visite = cur_rec.dateconsultation) THEN v_s1 := v_s1 || ???v_field ||tab; END IF; END IF; FETCH c_data INTO cur_rec; END LOOP;L'endroit ou j'ai mis ???v_field devrait être normalement cur_rec. + le contenu de la variable v_field
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 v_rapport VARCHAR2(50) := 'paco2'; v_final := v_final || utils.getRapport(schemalocal,v_rapport);
Merci d'avance pour votre aide
Partager