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.deptno
III-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▲
Elle sert à incrémenter le numéro de la 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