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
|
TYPE typ_c_curseur IS REF CURSOR;
PROCEDURE proc1 (pio_c_curseur OUT typ_c_curseur)
IS
CURSOR v_c_donneur_manquant
IS
SELECT cont_code AS code_contrat, cont_libelle AS libelle_contrat,
'Tiers donneur manquant'AS erreur
FROM contrats
WHERE contrats.cont_actif =1
AND contrats.cont_isarchived =0
AND contrats.cont_pk NOT IN (SELECT cont_trs_cont_fk
FROM contrats_tiers
WHERE cont_trs_typ_trs ='PRENEUR');
TYPE t_bail_errone IS RECORD(
code_contrat VARCHAR2(200),
libelle_contrat VARCHAR2(200),
erreur VARCHAR2(200)
);
TYPE tab_t_bail_errone IS TABLE OF bail_errone INDEX BY BINARY_INTEGER;
mes_baux_err tab_t_bail_errone;
v_n_compteur INTEGER:=0;
BEGIN
OPEN v_c_donneur_manquant;
LOOP
BEGIN
v_n_compteur := v_n_compteur +1;
FETCH v_c_donneur_manquant
INTO mes_baux_err (v_n_compteur);
EXIT WHEN v_c_donneur_manquant%NOTFOUND;
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END;
END LOOP;
CLOSE v_c_donneur_manquant;
OPEN pio_c_curseur FOR
SELECT code_contrat, libelle_contrat, erreur
FROM mes_baux_err
ORDER BY code_contrat, libelle_contrat, erreur;
END proc1;
|
Partager