I. Problématique▲
Lorsque on veut faire la rotation d'un champ en reports, cette dernière provoque l'erreur suivante
Error: REP 3103
Text: Only text and graphical boilerplates can be rotated.
II. Solution▲
Vu que reports autorise la rotation d'un texte, pour résoudre ce problème, on utilise un texte et on met dans ce dernier la référence du champ
&nom_champs (nom_champ : les champs qui figurent dans la requête par exemple : &dname, &deptno… ) qu'on souhaite afficher en vertical.Voici la méthode à suivre :
2.1- Création d'un texte.
2.2- Mettre dans le texte la référence du champ &nom_champ qu'on souhaite afficher en vertical.
2.3- Faire la rotation du texte.
Rappel: La référence lexicale (&) peut être utilisée pour changer la police d'un mot dans une phrase
Exemple : ch1 apparaît avec une fonte, le 2ème ch2 apparaît avec une autre fonte.
Sur le modèle de présentation, on rajoute un texte avec l'outil texte (A) et on met dedans :
&ch1 &ch2
III. Exemple▲
On crée un rapport qui affiche pour chaque département ses employés. Le département est affiché verticalement.
III-A. La requête ▲
SELECT empno, ename, sal, comm,
DECODE (dept.deptno,
NULL, NULL,
dept.deptno || ' - ' || dname
) dname
FROM emp, dept
WHERE emp.deptno = dept.deptno
ORDER BY dept.deptnoIII-B. Le modèle de présentation▲
III-C. Le résultat ▲
IV. Bonus ▲
Comment colorer les lignes paires dans une liste des employés?
Voici la méthode à suivre :
IV-A. La colonne de réserve : cp_n_ligne▲
IV-B. La colonne récapitulative : cs_somme_ligne▲
Elle sert à déterminer le numéro de la ligne courante.
IV-C. Modèle de présentation▲
Mettre dans la partie PLSQL de l'encadrement itératif R_emp (apparaît en rouge dans la figure 5-3) qui prend sa source de g_empno,
le code suivant :
FUNCTION r_empformattrigger
RETURN BOOLEAN
IS
BEGIN
IF MOD (:cs_somme_ligne, 2) = 0
THEN
srw.set_foreground_fill_color ('GRAY28');
srw.set_fill_pattern ('solid');
END IF;
RETURN (TRUE);
END;IV-D. Le résultat ▲
V. Le rapport de test ▲
Un fichier zip contient le rapport de test DEPT_VERTICAL.RDF.
DEPT_VERTICAL.zip
VI. Idée originale et remerciements ▲
L'idée originale de la rotation des champs provient du site metalink
Lien Metalink
Chaleureux remerciements à M. Sheik Yerbouti, Mlle Denise Samkocwa, Developpez.com et l'équipe SGBD


