samedi 23 mai 2009

Génération du dessin d'une arborescence, en PL/SQL avec RPDF

 
Voici un exemple de génération d'une page PDF représentant une structure arborescente. On va utiliser la table Oracle EMP dont la particularité est que chaque fiche "pointe" sur une autre fiche de la même table: pour chacun des employés, on a le "manager" de cet employé.

On va utiliser une procédure nommée DrawEmp qui, de façon "récursive", "s'appelle" elle-même, pour tracer le "premier fils", puis le "frère" éventuel de cette fiche.

On souhaite également "tracer des lignes" reliant un "père" à tous ses "fils". Cela est effectué grace à la mémorisation dans une table PL/SQL de la position (x,y) du "père" au moment où il est dessiné.