Eine Kopfzeile, eine Fußzeile, einen Titel oder FML-Freitext identifizieren

In diesem Abschnitt:

Reportdaten sind umrahmt von Kopfzeilen, Fußzeilen und Titeln. Sie bieten Kontext für die Daten. Sie können in einem Report unter anderem die folgenden Kategorien von Kopfzeilen, Fußzeilen und Titeln identifizieren und formatieren:


Nach oben

x
Einen Spalten- oder Zeilentitel identifizieren

Vorgehensweise:

Innerhalb eines StyleSheets können Sie Spaltentitel und horizontale Sortierwerte (ACROSS) eines Reports identifizieren, um sie zu formatieren. Die folgenden Beispiele zeigen, wo sich Spaltentitel und horizontale Sortierwerte in einem Report befinden und welche TYPE-Werte Sie verwenden können, um sie zu identifizieren.

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

Hinweis: Da diese Anfrage nur zeigt, wie Sie Spaltentitel und horizontale Sortierwerte in einem Report identifizieren, wird das StyleSheet weggelassen.



x
Syntax: Einen Spaltentitel identifizieren
TYPE=TITLE, [COLUMN=column]

Hierbei gilt:

COLUMN

Wird verwendet, um einen oder mehrere Spaltentitel anzugeben. Wenn Sie dieses Attribut und den Wert weglassen, wird die Formatierung auf alle Reportspaltentitel angewendet.

column

Gibt die Spalte an, deren Titel Sie formatieren möchten. Informationen über Spaltenwerte finden Sie unter Eine gesamte Spalte identifizieren.



x
Syntax: Einen horizontalen Sortiertitel oder Wert identifizieren
TYPE={ACROSSTITLE|ACROSSVALUE}, [ACROSS=column]

Hierbei gilt:

ACROSSTITLE

Gibt einen horizontalen Sortiertitel (ACROSS) an.

ACROSSVALUE

Gibt einen horizontalen Sortierwert (ACROSS) an.

Obwohl horizontale Sortierwerte technisch gesehen keine Titel sind, erfüllen Sie oft die Funktion von Titeln, welche die Spaltentitel kategorisieren, die unter ihnen angezeigt werden.

ACROSS

Wird verwendet, um Titel oder Werte für ein bestimmtes horizontales Sortierfeld anzugeben. Wenn Sie dieses Attribut und den Wert weglassen, wird die Formatierung auf die Titel oder Werte der horizontalen Sortierfelder des Reports angewendet.

column

Gibt das horizontale Sortierfeld (ACROSS) an, dessen Titel oder Werte Sie formatieren möchten. Sie finden Sie unter Eine Zeile mit horizontalen Sortierdaten (ACROSS) identifizieren, welche Werte Sie diesem Attribut zuweisen können.



Beispiel: Spaltentitel und horizontale Sortierwerte (ACROSS) identifizieren

Im folgenden Beispiel wird beschrieben, wie Sie vertikale Sortiertitel, horizontale Sortiertitel und horizontale Sortierwerte identifizieren. Die vertikalen Sortiertitel (TYPE=TITLE) sind Manufacturing Plant, Quantity Sold und Product Cost, der horizontale Sortiertitel (TYPE=ACROSSTITLE) ist Year und die horizontalen Sortierwerte (TYPE=ACROSSVALUE) sind 2001, 2002 und TOTAL.

Nachfolgend wird auch dargestellt, wie Sie Drilldown-Werte den individuellen ACROSS-Werten von 2001 und 2002 zuweisen, und nicht den ROW-TOTAL-Werten von TOTAL. Die StyleSheet-Deklarationen in dieser Anfrage werden in Fettdruck angezeigt.

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

In der folgenden Abbildung ist die Reportausgabe zu sehen.



x
Syntax: Freitext in einem FML-Report identifizieren
TYPE=FREETEXT, LABEL={Rn|label}

Hierbei gilt:

n

Ist ein implizites Zeilenlabel. Zählen Sie, um den Wert von n zu bestimmen, die Zeilen bis zur und inklusive der gewünschten Zeile.

Label

Ist ein explizites Zeilenlabel.



Beispiel: Freitext in einem FML-Report identifizieren

Im Folgenden wird beschrieben, wie Sie Freitext in einem FML-Report identifizieren. In diesem Beispiel sind die Zeilen "CASH ACCOUNTS" und "OTHER CURRENT ASSETS" der Freitext. Die relevanten StyleSheet-Deklarationen werden in Fettdruck angezeigt.

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

Die Ausgabe ist:


Nach oben

x
Eine Kopf- oder Fußzeile identifizieren

Vorgehensweise:

Innerhalb eines StyleSheets können Sie Kopf- und Fußzeilen sowie die individuellen Zeilen, Textfolgen und Felder eines Reports identifizieren, um sie zu formatieren.

Eine TABLE-Anfrage kann mehr als eine Seitenkopf- oder Seitenfußzeile haben. Für jede Kopf- oder Fußzeile kann eine WHEN-Klausel mit den Daten, die abgerufen werden, bestimmen, ob die Kopf- oder Fußzeile in der Reportausgabe angezeigt wird. Das StyleSheet-Attribut CONDITION ermöglicht es Ihnen, eine bestimmte WHEN-Klausel zu identifizieren, so dass Sie jede Kopf- oder Fußzeile separat stylen können.

Das folgende Code- und Ausgabe-Beispiel zeigt, wo eine Reportkopfzeile (TABHEADING), eine Seitenkopfzeile (HEADING), eine Sortierkopfzeile (SUBHEAD), eine Sortierfußzeile (SUBFOOT) und eine Reportfußzeile (TABFOOTING) sich in einem Report befinden und welche TYPE-Werte Sie verwenden, um sie zu identifizieren.

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

Die folgende Ausgabe gehört zum vorherigen Code-Beispiel:

Hinweis: Da diese Anfrage einfach nur zeigt, wie Sie verschiedene Kopf- und Fußzeilen identifizieren, wird das StyleSheet weggelassen.



x
Syntax: Eine Kopf- oder Fußzeile identifizieren
TYPE=headfoot, [BY=sortcolumn]

Hierbei gilt:

headfoot

Identifiziert eine Kopf- oder Fußzeile. Wählen Sie aus den folgenden Optionen aus:

TABHEADING ist eine Reportkopfzeile. Sie wird am Anfang des Reports einmal angezeigt und durch ON TABLE SUBHEAD erzeugt.

TABFOOTING ist eine Reportfußzeile. Sie wird am Ende des Reports einmal angezeigt und durch ON TABLE SUBFOOT erzeugt.

HEADING ist eine Seitenkopfzeile. Sie wird am Anfang jeder Reportseite angezeigt und durch HEADING erzeugt.

FOOTING ist eine Seitenfußzeile. Sie wird am Ende jeder Reportseite angezeigt und durch FOOTING erzeugt.

SUBHEAD ist eine Sortierkopfzeile. Sie wird am Anfang einer vertikalen Sortiergruppe (BY) (erzeugt durch ON sortfield SUBHEAD) angezeigt.

SUBFOOT ist eine Sortierfußzeile. Sie wird am Ende einer vertikalen Sortiergruppe (BY) (erzeugt durch ON sortfield SUBFOOT) angezeigt.

BY

Wenn es mehrere Sortierkopfzeilen und Sortierfußzeilen gibt, die jeweils mit einer anderen vertikalen Sortierspalte (BY) assoziiert sind, ermöglicht dies Ihnen herauszufinden, welches Sortierfußzeile Sie formatieren möchten.

Wenn es mehrere Sortierkopfzeilen oder Sortierfußzeilen gibt, die mit verschiedenen vertikalen Sortierspalten (BY) assoziiert sind und Sie dieses Attribut mit Wert weglassen, wird die Formatierung auf alle Sortierkopfzeilen und -fußzeilen angewendet.

sortcolumn

Gibt die vertikale Sortierspalte (BY) an, die mit einer der Reportsortierkopfzeilen oder -fußzeilen assoziiert ist.



Beispiel: Eine Seitenkopfzeile und eine Reportfußzeile identifizieren

Nachfolgend sehen Sie, wie Sie eine Seitenkopfzeile identifizieren, die am Anfang jeder Reportseite angezeigt wird, und eine Reportfußzeile, die nur auf der letzten Seite des Reports angezeigt wird. Die relevanten StyleSheet-Deklarationen sind in der Anfrage markiert.

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

Die Ausgabe ist:



x
Syntax: Eine individuelle Zeile in einer Kopf- oder Fußzeile identifizieren
TYPE=type, LINE=line_#						

Hierbei gilt:

type

Identifiziert einen Kopf- oder Fußzeilentyp. Wählen Sie HEADING, FOOTING, TABHEADING, TABFOOTING, SUBHEAD oder SUBFOOT aus. Genaueres finden Sie unter Eine Kopf- oder Fußzeile identifizieren.

line_#

Identifiziert eine Zeile über ihre Position in der Kopf- oder Fußzeile.



Beispiel: Eine individuelle Zeile in einer Kopfzeile identifizieren

Im folgenden Beispiel ist zu sehen, wie Sie individuelle Zeilen in einer Kopfzeile formatieren. Zeile 1 des Kopfes (Sales Quantity Analysis) wird fett gedruckt und mit Punktgröße 11 formatiert. Zeile 2 des Kopfes (**Vertraulich**) wird fett gedruckt und in Rot angezeigt. Die relevanten StyleSheet-Deklarationen sind in der Anfrage markiert.

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

Die Ausgabe ist:



x
Syntax: Eine Textfolge in einer Kopf- oder Fußzeile identifizieren
TYPE=type, [LINE=line_#], [OBJECT=TEXT], ITEM=item_#						

Hierbei gilt:

type

Identifiziert einen Kopf- oder Fußzeilentyp. Wählen Sie HEADING, FOOTING, TABHEADING, TABFOOTING, SUBHEAD oder SUBFOOT aus. Genaueres finden Sie unter Eine Kopf- oder Fußzeile identifizieren.

line_#

Identifiziert eine Zeile über ihre Position in der Kopf- oder Fußzeile. Sie müssen das LINE-Attribut nur mit einbeziehen, wenn Sie eine mehrzeilige Kopf- oder Fußzeile haben.

TEXT

Formatiert nur Textfolgen und Dialogue Manager-Variablen (auch &variables genannt). Es ist nicht nötig, dass Sie OBJECT=TEXT in Ihrer Deklaration verwenden, es sei denn Sie formatieren sowohl Textfolgen als auch eingebettete Felder in derselben Kopf- oder Fußzeile.

item_#

Identifiziert ein Element über seine Position in einer Zeile.

Wenn Sie Formatierung auf verschiedene Teile einer fortlaufenden Textfolge, die in einer Zeile angezeigt wird, anwenden müssen, dann können Sie die Kopf- oder Fußzeile mit Platzmarkierungen in mehrere Teile aufteilen. Fügen Sie die Platzmarkierung hinter der Textfolge ein, die Sie angeben möchten. Die Platzmarkierung <+0> fügt Ihrer Kopf- oder Fußzeile keine zusätzlichen Stellen hinzu. Wenn Sie Platzmarkierungen verwenden, wird der Text wie folgt unterteilt:

Ein Beispiel finden Sie unter Eine Textfolge in einer Kopfzeile mit Platzmarkierungen identifizieren.

Hinweis: Wenn auf eine schließende Platzmarkierung direkt eine öffnende folgt (><), wird zwischen den Platzmarkierungen eine Leerstelle platziert (> <). Dies muss beachtet werden, wenn Formatierung angewendet wird.

Der Positionswert hängt auch davon ab, ob Sie das OBJECT-Attribut verwenden. Wenn Sie...

  • ... OBJECT=TEXT verwenden, zählen Sie nur die Textfolgen von links nach rechts.
  • ... kein OBJECT verwenden, zählen Sie die Textfolgen und eingebetteten Feldwerte von links nach rechts.


Beispiel: Eine Textfolge in einer Kopfzeile mit Platzmarkierungen identifizieren

Im Folgenden wird beschrieben, wie Sie mit Platzmarkierungen verschiedene Formatierungen auf Textfolgen in einer Kopfzeile anwenden. Die Platzmarkierungen, die in diesem Beispiel verwendet werden sind <+0>, da sie keine zusätzlichen Leerstellen hinzufügen. Die relevanten StyleSheet-Deklarationen sind in der Anfrage markiert.

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

Die Ausgabe ist:



x
Syntax: Ein eingebettetes Feld in einer Kopf- oder Fußzeile identifizieren
TYPE=type, [LINE=line_#], OBJECT=FIELD, [ITEM=item #]

Hierbei gilt:

type

Identifiziert einen Kopf- oder Fußzeilentyp. Wählen Sie HEADING, FOOTING, TABHEADING, TABFOOTING, SUBHEAD oder SUBFOOT aus. Genaueres finden Sie unter Eine Kopf- oder Fußzeile identifizieren.

line_#

Identifiziert eine Zeile über ihre Position in der Kopf- oder Fußzeile. Sie müssen das LINE-Attribut nur mit einbeziehen, wenn Sie eine mehrzeilige Kopf- oder Fußzeile haben.

item_#

Identifiziert ein Element über seine Position in einer Zeile.

Falls Sie mehr als ein eingebettetes Feld in einer Kopf- oder Fußzeile haben, müssen Sie das Feld, das Sie formatieren möchten, über die Elementnummer angeben. Zählen Sie die Elemente von links nach rechts. Zählen Sie Textfelder nicht mit. Sie müssen die Elementnummer nicht angeben, wenn es nur ein eingebettetes Feld in der Kopf- oder Fußzeile gibt.

Hinweis: BORDER-Optionen werden für bestimmte ITEMS in einer HEADING, FOOTING, SUBHEAD, SUBFOOT nicht unterstützt.



Beispiel: Eingebettete Felder in einer Kopfzeile identifizieren

Im Folgenden wird beschrieben, wie Sie ein eingebettetes Feld in einer Kopfzeile formatieren. Beachten Sie, dass die Elementnummer in der StyleSheet-Deklaration nicht angegeben ist, da es nur ein eingebettetes Feld in der Kopfzeile gibt. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.

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

Die Ausgabe ist:



x
Syntax: Eine bestimmte Kopf- oder Fußzeile basierend auf einer WHEN-Klausel identifizieren
TYPE = {HEADING|FOOTING}, CONDITION = n, ... ,$

Hierbei gilt:

n

Ist die Nummer der WHEN-Bedingung in der Kopf- oder Fußzeile von oben nach unten. Wenn nichts angegeben ist, trifft die Formatierung auf alle Kopf- und Fußzeilen zu.



Beispiel: Mehrere Kopfzeilen mit WHEN stylen

Die folgende Anfrage zeigt eine Seite für jeden Angestellten mit Informationen zum Gehalt und dem Jobcode für diesen Angestellten an. Die erste WHEN-Bedinung trifft zu, wenn der Angestellte weiblich ist. Die zweite WHEN-Bedinung trifft zu, wenn der Angestellte männlich ist. Die dritte WHEN-Bedinung trifft zu, wenn die Abteilung MIS ist. Die vierte WHEN-Bedinung trifft zu, wenn die Abteilung PRODUCTION ist. Die StyleSheet-Deklarationen enthalten Styling-Elemente für die zweite und die dritte Bedingung:

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                                         

Im StyleSheet für die Anfrage sind Kopfzeilen, die wegen der ersten Bedingung angezeigt werden, kursiv, und Kopfzeilen, die wegen der dritten Bedingung angezeigt werden, in Fettdruck.

Die erste Seite der Ausgabe ist für einen männlichen Angestellten, weshalb die Begrüßungszeile kursiv ist:

Die zweite Seite der Ausgabe ist für einen Angestellten in der Abteilung MIS, weshalb die Signaturzeile in Fettdruck ist:


WebFOCUS