Bonjour,
Extraits de la procédure:O_LIBELLE='Evénement familial pointant sur une union inexistante';
O_TABLE='EVENEMENTS_FAM';
for select a.EV_FAM_CLEF, a.EV_FAM_KLE_FAMILLE from EVENEMENTS_FAM a
where a.EV_FAM_KLE_DOSSIER = :i_kle_dossier
and not exists (
select * from T_UNION b
where b.KLE_DOSSIER = :i_kle_dossier
and b.UNION_CLEF = a.EV_FAM_KLE_FAMILLE
)
into :o_cle_table, :o_cle_fiche
Donc:
O_CLE_TABLE c'est EV_FAM_CLEF
O_CLE_FICHE c'est EV_FAM_KLE_FAMILLE
et la procédure a détecté que cet EV_FAM_KLE_FAMILLE n'avait pas de correspondance dans UNION_CLEF de la table T_UNION (où doivent être référencées toutes les unions)
En faisant comme Roger te dit, et si ta mémoire ne te fait pas défaut, tu pourras peu-être identifier par le type de l'évènement (MARR?), sa date et son lieu, à quelle union il aurait dû être rattaché. Ensuite le mieux est encore de supprimer cet évènement (mode=1 de la procédure PROC_INCOHERENCES ou le BOA qui sert d'interface à cette procédure), et de le recréer normalement dans ancestrologie (si tu sais à qui le rattacher).
A+
André