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:
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.
TYPE=TITLE, [COLUMN=column]
Hierbei gilt:
Wird verwendet, um einen oder mehrere Spaltentitel anzugeben. Wenn Sie dieses Attribut und den Wert weglassen, wird die Formatierung auf alle Reportspaltentitel angewendet.
Gibt die Spalte an, deren Titel Sie formatieren möchten. Informationen über Spaltenwerte finden Sie unter Eine gesamte Spalte identifizieren.
TYPE={ACROSSTITLE|ACROSSVALUE}, [ACROSS=column]
Hierbei gilt:
Gibt einen horizontalen Sortiertitel (ACROSS) an.
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.
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.
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.
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.
TYPE=FREETEXT, LABEL={Rn|label}
Hierbei gilt:
Ist ein implizites Zeilenlabel. Zählen Sie, um den Wert von n zu bestimmen, die Zeilen bis zur und inklusive der gewünschten Zeile.
Ist ein explizites Zeilenlabel.
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:
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.
TYPE=headfoot, [BY=sortcolumn]
Hierbei gilt:
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.
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.
Gibt die vertikale Sortierspalte (BY) an, die mit einer der Reportsortierkopfzeilen oder -fußzeilen assoziiert ist.
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:
TYPE=type, LINE=line_#
Hierbei gilt:
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.
Identifiziert eine Zeile über ihre Position in der Kopf- oder Fußzeile.
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:
TYPE=type, [LINE=line_#], [OBJECT=TEXT], ITEM=item_#
Hierbei gilt:
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.
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.
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.
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...
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:
TYPE=type, [LINE=line_#], OBJECT=FIELD, [ITEM=item #]
Hierbei gilt:
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.
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.
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.
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:
TYPE = {HEADING|FOOTING}, CONDITION = n, ... ,$
Hierbei gilt:
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.
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 |