Dans cette section : Comment : |
Dans un rapport PDF, PS ou HTML, vous pouvez utiliser l'attribut POSITION dans une feuille de style pour spécifier la position de début d'un en-tête ou d'un pied de page, exprimée comme une unité de mesure. Pour HTML, cette capacité exige une feuille de style en cascade interne. Pour plus de détails sur la méthode d'alignement, consultez Choix d'une méthode d'alignement pour les éléments d'en-tête ou pied de page.
En outre, pour un rapport PDF ou PS, vous pouvez utiliser l'attribut POSITION pour spécifier la position de début absolue ou relative d'un élément au sein d'un en-tête ou d'un pied de page ou aligner un élément d'en-tête ou de pied de page avec une colonne de rapport. Une position de début absolue est la distance de la marge gauche du rapport. Une position de début relative est la distance de l'objet précédent. La position de début du premier élément sur une ligne d'en-tête est la marge gauche du rapport.
Dans un rapport HTML, vous pouvez utiliser la syntaxe associée et une feuille de style en cascade interne pour positionner une image dans un en-tête ou un pied de page. Pour plus de détails sur les images, consultez Mise en page de la page de rapport.
Utilisez la syntaxe suivante pour spécifier une position de début pour un en-tête ou un pied de page par rapport à la marge gauche d'un rapport.
TYPE = headfoot, POSITION = position, $
où :
Remarque : dans un rapport HTML, cette syntaxe doit être utilisée conjointement avec une feuille de style en cascade interne. Pour voir une illustration, consultez Définition d'une position de début pour un en-tête de rapport dans HTML.
Cette requête positionne l'en-tête de rapport à 1,25 pouces (3,17 centimètres) de la marge gauche.
SET ONLINE-FMT=PDF
TABLE FILE GGSALES
PRINT BUDDOLLARS DOLLARS
BY STCD
WHERE BUDDOLLARS GE 25000
WHERE STCD EQ 'R1019'
ON TABLE SUBHEAD
"Sales Report"
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET SQUEEZE ON
ON TABLE SET STYLESHEET *
TYPE = TABHEADING, POSITION = 1.25, $
ENDSTYLE
END
La sortie est :
Cette requête génère une feuille de style en cascade interne comme partie de son code HTML, ce qui permet l'utilisation de l'attribut POSITION pour spécifier une position de début pour l'en-tête Sales Report, à 1,5 pouces (3,8 centimètres) de la marge gauche.
SET ONLINE-FMT = HTML TABLE FILE GGSALES PRINT BUDDOLLARS DOLLARS BY STCD WHERE BUDDOLLARS GE 25000 WHERE STCD EQ 'R1019' ON TABLE SUBHEAD "Sales Report" " " ON TABLE SET PAGE-NUM OFF ON TABLE SET HTMLCSS ON ON TABLE SET STYLESHEET * TYPE=REPORT, GRID=OFF, $ TYPE = TABHEADING, POSITION = 1.5, $ ENDSTYLE END
La sortie est :
Pour un rapport PDF ou PS, utilisez la syntaxe suivante pour spécifier la position de début pour l'élément d'en-tête ou de pied de page par rapport à l'élément précédent.
TYPE = headfoot, [subtype,] POSITION = {+|-}option, $
où :
LINE, qui identifie une ligne selon sa position dans un en-tête ou pied de page. L'identification des lignes individuelles vous permet de formater chaque ligne différement.
Si un en-tête ou un pied de page contient des lignes multiples et que vous appliquez une déclaration de feuille de style qui ne spécifie pas LINE, la déclaration s'applique à toutes les lignes. Les lignes vierges sont comptées en interprétant la valeur de LINE.
ITEM, qui identifie un élément en fonction de sa position sur une ligne. Pour diviser une ligne d'en-tête ou de pied de page en éléments, vous pouvez utiliser le signe de localisation <+0>. Consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.
Pour déterminer le numéro d'élément (ITEM_#) pour un objet (OBJECT), suivez ces directives :
Si vous appliquez une déclaration de feuille de style précisant ITEM, le nombre est compté du début de chaque ligne de l'en-tête ou du pied de page et pas seulement du début de la première ligne.
OBJECT, qui identifie en élément dans un en-tête ou pied de page en tant que chaîne de texte ou valeur de champ. Les valeurs valables sont TEXT et FIELD. TEXT peut représenter du texte libre ou une variable esperluette (&) du Gestionnaire de dialogue.
Il n'est pas nécessaire de spécifier OBJECT=TEXT à moins que vous stylisiez des chaînes de texte et des champs intégrés dans un même en-tête ou pied de page.
position, qui est la distance voulue, exprimée par l'attribut UNITS (l'unité de mesure par défaut est pouces) pour le positionnement absolu.
+ commence l'élément d'en-tête ou de pied de page à la distance spécifiée à droite de l'élément précédent. Pour le premier élément d'en-tête ou de pied de page, l'élément précédent sert de marge gauche.
- commence l'en-tête ou le pied de page à la distance spécifiée à gauche de l'élément précédent. Cela est utile si vous souhaitez superposer les images dans un en-tête.
column_title aligne l'en-tête ou le pied de page sur le premier caractère de la colonne spécifiée.
Cette requête utilise le signe de localisation <+0> pour diviser l'en-tête de rapport en trois chaînes de texte. Elle commence la troisième chaîne de texte, 1st Qtr 2001, à 3 pouces (7,62 centimètres) de la marge gauche du rapport. Cette technique s'emploie pour les rapports PDF et PS.
SET ONLINE-FMT = PDF TABLE FILE GGSALES SUM UNITS DOLLARS BY CATEGORY BY PRODUCT ON TABLE SUBHEAD "Sales Report - <+0>All Products<+0> 1st Qtr 2001" " " ON TABLE SET PAGE-NUM OFF ON TABLE SET SQUEEZE ON ON TABLE SET STYLESHEET * TYPE = TABHEADING, OBJECT = TEXT, ITEM=1, SIZE = 12, STYLE = BOLD, $ TYPE = TABHEADING, OBJECT = TEXT, ITEM=2, STYLE = BOLD, $ TYPE = TABHEADING, OBJECT = TEXT, ITEM=3, POSITION = 3, $ ENDSTYLE END
La sortie est :
Cette requête utilise le signe de localisation <+0> pour diviser l'en-tête de rapport en trois chaînes de texte. Elle commence la troisième chaîne de texte, 1st Qtr 2001, à un pouce à droit de l'élément précédent sur la ligne d'en-tête. L'unité de mesure par défaut est pouces. Cette technique s'emploie pour les rapports PDF et PS.
SET ONLINE-FMT = PDF TABLE FILE GGSALES SUM UNITS DOLLARS BY CATEGORY BY PRODUCT ON TABLE SUBHEAD "Sales Report - <+0>All Products<+0> 1st Qtr 2001" " " ON TABLE SET PAGE-NUM OFF ON TABLE SET SQUEEZE ON ON TABLE SET STYLESHEET * TYPE = TABHEADING, OBJECT = TEXT, ITEM=1, SIZE = 12, STYLE = BOLD, $ TYPE = TABHEADING, OBJECT = TEXT, ITEM=2, STYLE = BOLD, $ TYPE = TABHEADING, OBJECT = TEXT, ITEM=3, POSITION = +1, $ ENDSTYLE END
La sortie est :
Cette requête utilise le signe de localisation <+0> pour diviser l'en-tête de rapport en trois chaînes de texte. Elle commence la deuxième chaîne de texte à la position horizontale où se trouve la colonne UNITS (Unit Sales). Cette technique s'emploie pour les rapports PDF et PS.
SET ONLINE-FMT = PDF TABLE FILE GGSALES SUM UNITS DOLLARS BY CATEGORY BY PRODUCT ON TABLE SUBHEAD "Sales Report - <+0>All Products<+0> 1st Qtr 2001" " " ON TABLE SET PAGE-NUM OFF ON TABLE SET SQUEEZE ON ON TABLE SET STYLESHEET * TYPE = TABHEADING, LINE=1, ITEM=2, POSITION=UNITS, $ ENDSTYLE END
La sortie est :
Conseil : dans cette requête, la colonne (UNITS) est identifiée nominativement. Cependant, il y a d'autres moyens d'identifier une colonne que vous souhaitez formater. Consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.
Comment : |
PRINTPLUS comprend des mises en valeur pour afficher des alternatives offertes par WebFOCUS. Par exemple, vous pouvez placer un pied de page (FOOTING) après un pied de page secondaire (SUBFOOT) dans votre rapport. PRINTPLUS fournit de la flexibilité pour produire le rapport exact que vous désirez.
Le paramètre PRINTPLUS doit être activé (ON) pour utiliser les capacités TABLE suivantes :
Remarque : PRINTPLUS n'est pas supportée pour les feuilles de style. Si vous essayez de l'employer de cette manière, un message d'erreur est généré.
Lancez la commande
SET PRINTPLUS = {ON|OFF}
Lorsque PRINTPLUS est activée, le pied de page secondaire (SUBFOOT) s'affiche le premier, suivi du pied de page (FOOTING).
SET PRINTPLUS = ON TABLE FILE CAR PRINT CAR MODEL BY SEATS BY COUNTRY IF COUNTRY EQ ENGLAND OR FRANCE OR ITALY ON TABLE SUBFOOT " " " SUMMARY OF CARS IN COUNTRY BY SEATING CAPACITY" FOOTING " RELPMEK CAR SURVEY " ON TABLE SET STYLE * TYPE=REPORT,GRID=OFF,$ END
La sortie est :
SEATS | COUNTRY | CAR | MODEL |
----- | ------- | — | ----- |
2 | ENGLAND | TRIUMPH | TR7 |
ITALY | ALFA ROMEO | 2000 GT VELOCE | |
ALFA ROMEO | 2000 SPIDER VELOCE | ||
MASERATI | DORA 2 DOOR | ||
4 | ENGLAND | JAGUAR | V12XKE AUTO |
JENSEN | INTERCEPTOR III | ||
ITALY | ALFA ROMEO | 2000 4 DOOR BERLINA | |
5 | ENGLAND | JAGUAR | XJ12L AUTO |
FRANCE | PEUGEOT | 504 4 DOOR | |
SUMMARY OF CARS IN COUNTRY BY SEATING CAPACITY | |||
RELPMEK CAR SURVEY |
Vous pouvez employer plusieurs types de signes de localisation pour affiner le positionnement d'en-têtes et de pieds de page, ainsi que des éléments qui composent ceux-ci, dans les rapports HTML et PDF utilisant les polices proportionnelles. Pour une maîtrise maximale, vous pouvez combiner des signes de localisation avec d'autres techniques d'alignement. Consultez Choix d'une méthode d'alignement pour les éléments d'en-tête ou pied de page.
Les signes de localisation suivants vous permettent de positionner des éléments et d'identifier des éléments à formater :
Pour diviser un en-tête ou un pied de page en éléments à formater individuellement, positionnez le signe de localisation <+0> après la chaîne de texte ou le champ que vous souhaitez spécifier. Le signe de localisation n'ajoute pas d'espaces supplémentaires à votre en-tête ou pied de page. Pour plus d'informations, consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.
Pour spécifier des lignes sautées dans un en-tête ou un pied de page, positionnez le signe de localisation </n> sur la même ligne que le texte dans la requête. Si vous positionnez le signe de localisation sur une ligne tout seul, WebFOCUS compte la ligne où il se trouve en plus du nombre de lignes ignorées que vous spécifiez. Pour plus de détails, consultez Contrôle du positionnement vertical d'un en-tête ou d'un pied de page.
Remarque : lorsqu'une balise de fin est suivie immédiatement par une balise de début (><), un élément de texte est placé entre les deux signes de localisation (> <). Veuillez prendre cela en considération lors du formatage.
Vous pouvez aussi utiliser les signes de localisation pour positionner des éléments d'en-tête et de pied de page à des emplacements de colonne fixes et relatifs. Plusieurs signes de localisation contrôlent le positionnement basé sur la largeur pré-définie d'un caractère dans une police à espacement constant. Cela est une technique de formatage qui n'est pas prise en charge par les polices proportionnelles.
Cette requête génère un rapport HTML dans lequel la parenthèse de clôture et le point dans l'en-tête de tri s'affichent juste après les champs STORE_CODE et STATE, respectivement. Ce comportement est contrôlé par le signe de localisation <-1, qui indique une position de début relative de l'objet précédent. En l'absence de signes de localisation indiquant que les caractères de ponctuation doivent suivre les objets précédents, un espace supplémentaire s'affiche dans chacune de ces positions.
SET ONLINE-FMT = HTML SET PAGE-NUM = OFF JOIN STORE_CODE IN CENTCOMP TO STORE_CODE IN CENTORD
TABLE FILE CENTCOMP
HEADING
"Century Corporation Orders Report </1"
PRINT PROD_NUM QUANTITY LINEPRICE
BY STORE_CODE NOPRINT
BY ORDER_NUM
ON STORE_CODE SUBHEAD
"Century Corporation orders for store <STORENAME <0X
(store # <STORE_CODE<-1 ) in <STATE|.</1"
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
ENDSTYLE
END
La sortie partielle est :
Dans un rapport PDF, un champ incorporé dans un en-tête ou un pied de page doit être suivi d'un espace dans la requête afin d'être reconnu pour le traitement. Cependant, il se peut que l'espace ne soit pas voulu dans la sortie. Cet exemple présente deux techniques pour positionner des caractères de ponctuation juste après un champ dans un rapport PDF ou PS.
La première technique utilise l'attribut POSITION dans une feuille de style pour positionner le parenthèse de clôture juste après la valeur STORE_CODE. La deuxième technique utilise le signe de localisation <-1 pour positionner le point juste après la valeur STATE. La dimension de POSITION est basée sur la spécification d'unité, POINTS. Des expériences ont démontré que la valeur de -7 points entraîne le déplacement de la parenthèses de clôture au bon emplacement après le champ, en utilisant la police et la taille par défaut proportionnelles.
SET ONLINE-FMT = PDF SET PAGE-NUM = OFF JOIN STORE_CODE IN CENTCOMP TO STORE_CODE IN CENTORD TABLE FILE CENTCOMP HEADING "Century Corporation Orders Report" PRINT PROD_NUM QUANTITY LINEPRICE BY STORE_CODE NOPRINT BY ORDER_NUM ON STORE_CODE SUBHEAD "Century Corporation orders for store <STORENAME (store # <STORE_CODE ) in <0X <STATE <-1 . </1" ON TABLE SET STYLE * TYPE=REPORT, GRID=OFF, UNITS=POINTS, $ TYPE=SUBHEAD, OBJECT=TEXT, ITEM=3, POSITION= -7, $ ENDSTYLE END
La sortie est :
Sans le signe de localisation et la dimension de position, voici à quoi ressemble la sortie :
Cette requête utilise la police Helvetica 12 points. Des expériences ont démontré que la valeur de -2 entraîne le déplacement du texte dans cette police et taille au bon emplacement.
SET ONLINE-FMT = PDF SET PAGE-NUM = OFF JOIN STORE_CODE IN CENTCOMP TO STORE_CODE IN CENTORD TABLE FILE CENTCOMP HEADING "CENTURY CORPORATION ORDERS REPORT" PRINT PROD_NUM QUANTITY LINEPRICE BY STORE_CODE NOPRINT WHERE STORE_CODE EQ '1003NY' OR '1003CT' OR '1003NJ' BY ORDER_NUM ON STORE_CODE SUBHEAD "CENTURY CORPORATION ORDERS FOR STORE <STORENAME (store # <STORE_CODE)<0X IN <STATE <-1 . </1" ON TABLE SET STYLE * TYPE=REPORT, GRID=OFF, UNITS=POINTS, FONT='Helvetica', SIZE=12, $ TYPE=SUBHEAD, OBJECT=TEXT, ITEM=3, POSITION= -2, $ ENDSTYLE END
Conseil : vous ne pouvez pas employer l'attribut POSITION pour positionner un élément d'en-tête dans un rapport HTML. Cependant, vous pouvez obtenir le même résultat en positionnant les signes de localisation horizontaux <-1 juste après les champs STORE_CODE et STATE. Il ne faut pas ajouter d'espaces entre le champ et le caractère qui le suit.
La sortie est :
WebFOCUS |