Désignation d'un en-tête, d'un pied de page, d'un titre ou du texte sans FML

Dans cette section :

Les données de rapport sont encadrées par les en-têtes, les pieds de page, et les titres. Ceci fournit le contexte pour les données. Vous pouvez identifier et formater de nombreux catégories d'en-têtes, pieds de page et titres dans un rapport, y compris :


Haut de page

x
Identification d'une colonne ou titre de ligne

Comment :

Vous pouvez, dans une feuille de style désigner les titres de colonne et les valeurs de tri horizontal (ACROSS) du rapport pour le formatage. L'exemple suivant illustre où figurent les titres de colonne et les valeurs de tri horizontal dans le rapport, et indique quelles valeurs pour l'attribut TYPE vous pouvez utiliser pour identifier ces composants.

TABLE FILE EMPLOYEE
SUM GROSS AND DED_AMT
ACROSS DEPARTMENT BY PAY_DATE
END

Remarque : la requête de rapport présentée ci-dessus ne sert qu'à illustrer où figurent les titres de colonne et les valeurs de tri horizontal dans le rapport ; la feuille de style en a été omise.



x
Syntaxe : Désigner un titre de colonne
TYPE=TITLE, [COLUMN=column]

où :

COLUMN

sert à spécifier un ou plusieurs titres de colonne. Si vous omettez cet attribut et cette valeur, le formatage s'applique à tous les titres de colonne du rapport.

column

spécifie la colonne dont vous souhaitez formater le titre. Pour obtenir la liste des valeurs de colonne, consultez Désigner une colonne.



x
Syntaxe : Désigner une valeur ou un titre de tri horizontal
TYPE={ACROSSTITLE|ACROSSVALUE}, [ACROSS=column]

où :

ACROSSTITLE

Spécifie un titre de tri horizontal (ACROSS) .

ACROSSVALUE

spécifie une valeur de tri horizontal (ACROSS).

Les valeurs de tri horizontal ne sont pas en principe des titres, mais elles servent souvent de titres qui classent les titres de colonne s'affichant en-dessous.

ACROSS

spécifie les titres ou valeurs d'un critère de tri horizontal en particulier. Si vous omettez cet attribut et cette valeur, le formatage s'applique à tous les titres ou valeurs de tous les critères de tri horizontal de tous les rapports.

column

spécifie le critère de tri horizontal (ACROSS) dont vous souhaitez formater le titre ou la valeur. Pour obtenir la liste des valeurs que vous pouvez assigner à cet attribut, consultez Désigner une ligne de données de tri horizontal (ACROSS).



Exemple : Désignation de titres de colonne et de valeurs de tri horizontal (ACROSS)

L'exemple de requête de rapport suivant illustre comment désigner des titres de tri vertical, des titres de tri horizontal et des valeurs de tri pour l'application d'un style. Les titres de tri vertical (TYPE=TITLE) sont Manufacturing Plant, Quantity Sold et Product Cost, le titre de tri horizontal (TYPE=ACROSSTITLE) est Year, et les valeurs de tri (TYPE=ACROSSVALUE) sont 2001, 2002 et TOTAL.

L'exemple démontre également comment assigner des valeurs de zoom en profondeur aux valeurs ACROSS individuelles (2001 et 2002) et non pas à la valeur ROW-TOTAL (TOTAL). La syntaxe de feuille de style pertinente s'affiche en caractères gras dans la requête.

TABLE FILE CENTORD
SUM QUANTITY AS 'Quantity,Sold' LINE_COGS/I9 AS 'Product,Cost'
BY PLANT
ACROSS YEAR
WHERE YEAR EQ '2001' OR '2002'
HEADING
"Plant Production Cost Analysis"
ON TABLE ROW-TOTAL AS 'TOTAL'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF,$ 
TYPE=TITLE, STYLE=BOLD, $
TYPE=ACROSSTITLE, STYLE=BOLD, $
TYPE=ACROSSVALUE, STYLE=BOLD+ITALIC, COLOR=BLUE, FOCEXEC=DETAILS, $
TYPE=ACROSSVALUE, COLUMN=N4, STYLE=BOLD, COLOR=RED, $
TYPE=ACROSSVALUE, COLUMN=ROWTOTAL(1), COLOR='BLACK',FOCEXEC=NONE, $ 
ENDSTYLE
END

La sortie est :



x
Syntaxe : Désigner du texte libre dans un rapport FML
TYPE=FREETEXT, LABEL={Rn|label}

où :

n

est une étiquette de ligne implicite. Pour déterminer la valeur de n, comptez le nombre de lignes jusqu'à et y compris la ligne désirée.

étiquette

Est une étiquette de ligne explicite.



Exemple : Désignation de texte libre dans un rapport FML

L'exemple de requête de rapport suivant illustre comment désigner le texte libre dans un rapport FML pour l'application d'un style. Dans cet exemple, les lignes "CASH ACCOUNTS" et "OTHER CURRENT ASSETS" constituent le texte libre. La syntaxe de feuille de style pertinente s'affiche en caractères gras dans la requête.

TABLE FILE LEDGER
SUM AMOUNT FOR ACCOUNT
" --- CASH ACCOUNTS ---" LABEL CA            OVER
1010 AS 'CASH ON HAND'                       OVER
1020 AS 'DEMAND DEPOSITS'                    OVER
1030 AS 'TIME DEPOSITS'                      OVER
" "                                          OVER
" --- OTHER CURRENT ASSETS ---" LABEL OCA    OVER
1100 AS 'ACCOUNTS RECEIVABLE'                OVER
1200 AS 'INVENTORY'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $ 
TYPE=FREETEXT, LABEL=CA, STYLE=BOLD, SIZE=12, $
TYPE=FREETEXT, LABEL=OCA, STYLE=BOLD, SIZE=12, $ 
ENDSTYLE
END

La sortie est :


Haut de page

x
Désigner un en-tête ou un pied de page

Comment :

Une feuille de style vous permet d'identifier les en-têtes et pieds de page d'un rapport, ainsi que les lignes individuelles, chaînes de texte et champs qui les composent, afin de les formater.

Une requête TABLE peut avoir plusieurs en-têtes ou pieds de page. Pour chaque en-tête ou pied de page, une clause WHEN contre les données récupérées peut déterminer ce que l'en-tête ou le pied de page affiche dans la sortie de rapport. L'attribut feuille de style CONDITION vous permet d'identifier une clause WHEN spécifique pour que vous définissiez séparément le style de chaque en-tête ou pied de page.

L'exemple suivant montre les parties du rapport qui correspondent au composants TABHEADING (en-tête de rapport), HEADING (en-tête), SUBHEAD (en-tête de tri), SUBFOOT (pied de page de tri) et TABFOOTING (pied de page de rapport). Il indique également quelles valeurs pour l'attribut TYPE vous pouvez utiliser pour désigner ces composants dans la syntaxe de feuille de style.

TABLE FILE EMPLOYEE
PRINT CURR_SAL HIRE_DATE
BY LAST_NAME
BY FIRST_NAME
ON TABLE SUBHEAD
"CONFIDENTIAL INFORMATION"
"SWIFTY INFORMATION GROUP - EMPLOYEE LIST BY DEPARTMENT"
HEADING CENTER
"</1>EMPLOYEE LIST FOR DEPARTMENT: <DEPARTMENT"
ON LAST_NAME SUBHEAD
"ID: <EMP_ID"
ON LAST_NAME SUBFOOT
"** REVIEW SALARY FOR <FIRST_NAME <LAST_NAME"
FOOTING
"CONFIDENTIAL INFORMATION"
ON TABLE SUBFOOT
"</1>***END OF REPORT***"
ON TABLE SET ONLINE-FMT STANDARD
END

La sortie est :

Remarque : la requête de rapport présentée ci-dessus ne sert qu'à illustrer où figurent différents types d'en-têtes et de pieds de page dans le rapport ; la feuille de style en a été omise



x
Syntaxe : Désigner un en-tête ou un pied de page
TYPE=headfoot, [BY=sortcolumn]

où :

headfoot

Désigne un en-tête ou un pied de page. Vous pouvez choisir :

  • TABHEADING, un en-tête de rapport. Il s'affiche une fois au début du rapport ; il est généré par ON TABLE SUBHEAD.
  • TABFOOTING, un pied de page de rapport. Il s'affiche une fois à la fin du rapport ; il est généré par ON TABLE SUBFOOT.
  • HEADING, un en-tête de rapport. Il s'affiche en haut de chaque page de rapport ; il est généré par HEADING.
  • FOOTING, un pied de page. Il s'affiche en bas de chaque page de rapport ; il est généré par FOOTING.
  • SUBHEAD, qui désigne un en-tête de tri. Il s'affiche au début d'un groupe de tri vertical (BY) (généré par ON sortfield SUBHEAD).
  • SUBFOOT, qui désigne un pied de page de tri. Il s'affiche à la fin d'un groupe de tri vertical (BY) (généré par ON sortfield SUBFOOT).

BY

Lorsqu'un rapport contient plusieurs en-têtes de tri ou pieds de page de tri, dont chacune est associée à une différente colonne de tri vertical (BY), la commande BY vous permet d'identifier laquelle des en-têtes ou des pieds de page de tri vous souhaitez formater.

Si plusieurs en-têtes de tri ou pieds de page de tri sont associés à différentes colonnes de tri vertical (BY), et que vous omettez cet attribut et cette valeur, le formatage s'applique à tous les en-têtes et pieds de page de tri.

sortcolumn

spécifie la colonne de tri vertical (BY) associée à l'un des en-têtes ou des pieds de page de tri du rapport.



Exemple : Désignation d'un en-tête de page et d'un pied de page de rapport

L'exemple de requête de rapport suivant illustre comment désigner un en-tête de page (qui s'affiche en haut de chaque page de rapport) et un pied de page de rapport (qui s'affiche uniquement sur la dernière page du rapport) pour l'application d'un style. Les déclarations de feuille de style pertinentes sont mises en surbrillance dans la requête.

TABLE FILE CENTORD
HEADING
"Sales Quantity and Amount by Plant"
SUM QUANTITY LINEPRICE  
BY PLANT 
ON TABLE SUBFOOT
" "
"***End of Report***"
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $ 
TYPE=HEADING, FONT=TIMES, SIZE=12, STYLE=BOLD,$
TYPE=TABFOOTING, JUSTIFY=CENTER, STYLE=BOLD, SIZE=11,$ 
ENDSTYLE
END

La sortie est :



x
Syntaxe : Désigner une ligne individuelle dans un en-tête ou un pied de page
TYPE=type, LINE=line_#						

où :

type

désigne un type particulier d'en-tête ou de pied de page. Vous pouvez sélectionner parmi HEADING, FOOTING, TABHEADING, TABFOOTING, SUBHEAD ou SUBFOOT. Pour plus de détails, consultez Désigner un en-tête ou un pied de page.

trait_#

désigne une ligne selon sa position dans l'en-tête ou le pied de page.



Exemple : Désignation d'une ligne individuelle dans un en-tête

L'exemple de requête de rapport suivant illustre comment désigner des lignes individuelles dans un en-tête pour l'application d'un style. La ligne d'en-tête 1 (Sales Quantity Analysis) est formatée de sorte à s'afficher en caractères gras, corps 11. La ligne d'en-tête 2 (**Confidential**) est formatée de sorte à s'afficher en caractères rouges. Les déclarations de feuille de style pertinentes sont mises en surbrillance dans la requête.

TABLE FILE CENTORD
HEADING
"Sales Quantity Analysis"
"**Confidential**"
" "
SUM QUANTITY
ACROSS YEAR
BY PLANT
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $ 
TYPE=HEADING, LINE=1, SIZE=11, STYLE=BOLD,$
TYPE=HEADING, LINE=2, COLOR=RED, STYLE=BOLD,$ 
TYPE=HEADING, JUSTIFY=CENTER,$
ENDSTYLE
END

La sortie est :



x
Syntaxe : Désigner une chaîne de texte dans un en-tête ou un pied de page
TYPE=type, [LINE=line_#], [OBJECT=TEXT], ITEM=item_#						

où :

type

désigne un type particulier d'en-tête ou de pied de page. Vous pouvez sélectionner parmi HEADING, FOOTING, TABHEADING, TABFOOTING, SUBHEAD ou SUBFOOT. Pour plus de détails, consultez Désigner un en-tête ou un pied de page .

trait_#

désigne une ligne selon sa position dans l'en-tête ou le pied de page. Il n'est nécessaire d'inclure l'attribut LINE que si l'en-tête ou le pied de page est multi-lignes.

TEXT

formate uniquement les chaînes de texte et les variables Dialogue Manager (également appelées &variables). Il n'est nécessaire d'inclure OBJECT=TEXT dans la syntaxe de feuille de style que si vous formatez des chaînes de texte et des champs incorporés dans le même en-tête ou pied de page.

élément_#

désigne une ligne selon sa position dans l'en-tête ou le pied de page.

Si vous souhaitez formater plusieurs parties d'une chaîne de texte qui s'affiche sur une seule ligne, vous pouvez utiliser des signes de localisation pour diviser l'en-tête ou le pied de page en parties multiples. Il suffit de positionner le signe de localisation après la chaîne de texte que vous souhaitez désigner. Le signe de localisation <+0> n'ajoute pas d'espaces supplémentaires à votre en-tête ou pied de page. Lors de l'utilisation de signes de localisation, le texte se divise de la façon suivante :

Pour voir un exemple, consultez Désignation d'une chaîne de texte dans un en-tête à l'aide de signes de localisation.

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.

La valeur de position varie aussi selon que vous utilisez l'attribut OBJECT ou non. Si vous utilisez :

  • OBJECT=TEXT, comptez les chaînes de texte de gauche à droite.
  • Aucun OBJECT, comptez les chaînes de texte et les valeurs de champ incorporées de gauche à droite.


Exemple : Désignation d'une chaîne de texte dans un en-tête à l'aide de signes de localisation

L'exemple de requête de rapport suivant illustre comment appliquer différents styles à des chaînes de texte dans un en-tête à l'aide de signes de localisation. Les signes de localisation utilisés dans cet exemple sont <+0>, car ils n'ajoutent pas d'espaces. Les déclarations de feuille de style pertinentes sont mises en surbrillance dans la requête.

TABLE FILE CENTORD
HEADING
"Third Quarter,<+0>2002:<+0> Sales Quantity Analysis"
SUM QUANTITY  BY PLANT
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $ 
TYPE=HEADING, OBJECT=TEXT, ITEM=1, STYLE=BOLD+UNDERLINE, SIZE=12, $
TYPE=HEADING, OBJECT=TEXT, ITEM=2, COLOR=BLUE, SIZE=12,
     STYLE=BOLD+UNDERLINE, $
TYPE=HEADING, OBJECT=TEXT, ITEM=3, STYLE=ITALIC,$ 
ENDSTYLE
END

La sortie est :



x
Syntaxe : Désigner un champ incorporé dans un en-tête ou un pied de page
TYPE=type, [LINE=line_#], OBJECT=FIELD, [ITEM=item #]

où :

type

désigne un type particulier d'en-tête ou de pied de page. Vous pouvez sélectionner parmi HEADING, FOOTING, TABHEADING, TABFOOTING, SUBHEAD ou SUBFOOT. Pour plus de détails, consultez Désigner un en-tête ou un pied de page .

trait_#

désigne une ligne selon sa position dans l'en-tête ou le pied de page. Il n'est nécessaire d'inclure l'attribut LINE que si l'en-tête ou le pied de page est multi-lignes.

élément_#

désigne une ligne selon sa position dans l'en-tête ou le pied de page.

Si un en-tête ou un pied de page contient plusieurs champs incorporés, vous devez spécifier le champ à formater en fournissant son numéro d'élément. Vous devez compter les éléments de gauche à droite ; n'incluez pas de champs de texte. Vous ne devez pas inclure de champs texte dans le compte. Il n'est pas nécessaire de spécifier le numéro d'élément si l'en-tête ou le pied de page ne contient qu'un seul champ incorporé.

Remarque : les options BORDER ne sont pas prises en charge avec les éléments spécifiques dans un HEADING, FOOTING, SUBHEAD, SUBFOOT.



Exemple : Désignation de champs incorporés dans un en-tête

L'exemple de requête de rapport suivant illustre comment désigner un champ incorporé dans un en-tête pour l'application d'un style. Notez que le numéro d'élément n'est pas spécifié dans la déclaration de feuille de style car il n'y a qu'un seul champ incorporé dans l'en-tête. La déclaration de feuille de style pertinente est mise en surbrillance dans la requête.

TABLE FILE CENTORD
HEADING
"Sales For <YEAR By Plant"
SUM QUANTITY  BY PLANT
WHERE YEAR EQ 2000  
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=HEADING, OBJECT=TEXT, COLOR=BLUE,$ 
TYPE=HEADING, OBJECT=FIELD, COLOR=RED, STYLE=BOLD,$ 
ENDSTYLE
END

La sortie est :



x
Syntaxe : Désigner un en-tête ou un pied de page spécifique selon une clause WHEN
TYPE = {HEADING|FOOTING}, CONDITION = n, ... ,$

où :

n

est le nombre de conditions WHEN dans l'en-tête ou le pied de page de haut en bas. A défaut de spécification, le formatage s'applique à tous les en-têtes et pieds de page.



Exemple : Appliquer un style à des en-têtes multiples avec WHEN

La requête suivante affiche une page pour chaque employé avec ses informations de salaire et de code de travail. La première condition WHEN s'applique si l'employé est du sexe féminin. La deuxième condition WHEN s'applique si l'employé est du sexe masculin. La troisième condition WHEN s'applique si le service est MIS. La quatrième condition WHEN s'applique si le service est PRODUCTION. Les déclarations de feuille de style comprennent des éléments de style pour la deuxième et troisième condition :

DEFINE FILE EMPLOYEE                                             
GENDER/A1 = DECODE FIRST_NAME(ALFRED 'M' RICHARD 'M' JOHN 'M'    
  ANTHONY 'M' ROGER 'M' MARY 'F' DIANE 'F' JOAN 'F' ROSEMARIE 'F'
  BARBARA 'F');                                                  
MIXEDNAME/A15 = LCWORD(15, LAST_NAME, MIXEDNAME);                
NAME/A16 = MIXEDNAME||',';                                       
END                                                              
                                                                 
TABLE FILE EMPLOYEE                                              
PRINT LAST_NAME NOPRINT GENDER NOPRINT NAME NOPRINT         
HEADING                                                          
"Dear Ms. <NAME"                                                 
   WHEN GENDER EQ 'F';                                           
HEADING                                                          
"Dear Mr. <NAME>"                                                
      WHEN GENDER EQ 'M';                                        
HEADING                                                           
" "                                                 
HEADING                                             
"This is to inform you that your current salary is "
"<CURR_SAL and <CURR_JOBCODE>is your job code."
" "                                                 
"Sincerely,"                                       
HEADING                                             
"Barbara Cross "                                   
  WHEN DEPARTMENT EQ 'MIS';                         
HEADING                                             
"John Banning   "                                  
  WHEN DEPARTMENT EQ 'PRODUCTION' ;                 
WHERE LAST_NAME NE 'BANNING' OR 'CROSS'             
BY EMP_ID NOPRINT PAGE-BREAK                        
ON TABLE SET PAGE NOPAGE
ON TABLE PCHOLD FORMAT PDF     
ON TABLE SET STYLE *                     
TYPE=HEADING, CONDITION=2, STYLE=ITALIC,$
TYPE=HEADING, CONDITION=3, STYLE=BOLD,$  
ENDSTYLE                                 
END                                         

Dans la feuille de style pour la requête, les lignes d'en-tête affichées à cause de la première condition sont en italiques et les lignes d'en-tête affichées à cause de la troisième condition sont en gras.

La première page da la sortie est pour un employé du sexe masculin, donc la ligne de salutation est en italique :

La deuxième page de la sortie est pour un employé dans le service MIS, donc la ligne signature est en caractères gras :


WebFOCUS