In diesem Abschnitt: Vorgehensweise: |
Für einen PDF-, PS- oder HTML-Report können Sie das Attribut POSITION in einem StyleSheet verwenden, um die Anfangsposition für eine Kopf- oder Fußzeile festzulegen, wobei diese in einer Messgröße angegeben wird. Für HTML wird hierfür ein internes Cascading StyleSheet benötigt. Details über das Auwählen einer Ausrichtungsmethoden finden Sie in Eine Ausrichtungsmethode für Kopf- und Fußzeilenelemente auswählen.
Sie können das Attribut POSITION auch für einen PDF- oder PS-Report verwenden, um eine absolute oder relative Startposition für ein Element innerhalb einer Kopf- oder Fußzeile zu spezifizieren oder um ein Element in einer Kopf- oder Fußzeile mit einer Reportspalte auszurichten. Eine absolute Anfangsposition ist der Abstand zum linken Rand des Reports. Eine relative Anfangsposition ist der Abstand zum vorhergehenden Objekt. Für das erste Element in einer Kopfzeile ist dies der linke Rand des Reports.
In einem HTML-Report können Sie die darauf bezogene Syntax und ein internes Cascading Style Sheet verwenden, um ein Bild in einer Kopf- oder Fußzeile zu positionieren. Details über Bilder finden Sie in Die Reportseite layouten.
Verwenden Sie die folgende Syntax, um die Anfangsposition für eine gesamte Kopf- oder Fußzeile in Bezug auf den linken Rand eines Reports zu positionieren.
TYPE = headfoot, POSITION = position, $
Hierbei gilt:
Hinweis: In einem HTML-Report muss diese Syntax in Verbindung mit einem internen Cascading StyleSheet verwendet werden. Eine Abbildung finden Sie unter Eine Anfangsposition für eine Reportkopfzeile in HTML einstellen.
Diese Anfrage positioniert die Reportkopfzeile 1,25 Zoll vom linken Rand.
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
Die Ausgabe ist:
Die Anfrage erzeugt ein internes Cascading StyleSheet als Teil des HTML-Codes, was die Verwendung des Attributs POSITION ermöglicht, um eine Anfangsposition für die Kopfzeile (Verkaufsreport) 1,5 Zoll vom linken Rand anzugeben.
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
Die Ausgabe ist:
Verwenden Sie für einen PDF- oder PS-Report die folgende Syntax, um eine Anfangsposition für ein Kopf- oder Fußzeilenelement in Bezug auf das vorhergehende Element anzugeben.
TYPE = headfoot, [subtype,] POSITION = {+|-}option, $
Hierbei gilt:
LINE identifiziert eine Zeile über ihre Position in der Kopf- oder Fußzeile. Durch das Identifizieren individueller Zeilen können Sie jede Zeile anders formatieren.
Falls eine Kopf- oder Fußzeile aus mehreren Zeilen besteht und Sie eine StyleSheet-Deklaration anwenden, die LINE nicht angibt, wird die Deklaration auf alle Zeilen angewendet. Leerzeilen werden bei der Interpretation des Wertes von LINE mitgezählt.
ITEM identifiziert ein Element über seine Position in einer Zeile. Sie können, um eine Kopf- oder Fußzeile in Elemente zu unterteilen, die Platzmarkierung <+0> verwenden. Siehe Eine Reportkomponente in einem WebFOCUS StyleSheet identifizieren.
Gehen Sie folgendermaßen vor, um eine ITEM-Nummer für ein OBJECT zu bestimmen:
Wenn Sie eine Stylesheet-Deklaration anwenden, die ITEM angibt, wird vom Anfang jeder Zeile in der Kopf- oder Fußzeile und nicht nur vom Anfang der ersten Zeile an gezählt.
OBJECT identifiziert ein Element in einer Kopf- oder Fußzeile als Textfolge oder Feldwert. TEXT und FIELD sind gültige Werte. TEXT kann für Freitext oder eine Amper-Variable (&) des Dialogue Manager stehen.
Es ist nicht nötig, dass Sie OBJECT=TEXT angeben, es sei denn Sie formatieren sowohl Textfolgen als auch eingebettete Felder in derselben Kopf- oder Fußzeile.
Position ist der gewünschte Abstand, der für die absolute Positionierung durch das Attribut UNITS (der Default ist Zoll) angegeben wird.
+ platziert das Kopf- oder Fußzeilenelement mit dem spezifizierten Abstand rechts neben das vorangehende Element. Für das erste Element in einer Kopf- oder Fußzeile ist das vorhergehende Element der linke Rand des Reports.
- platziert das Kopf- oder Fußzeilenelement mit dem spezifizierten Abstand links neben das vorangehende Element. Dies ist hilfreich, falls Sie Bilder in einer Kopfzeile überlappen lassen möchten.
column_title richtet das Kopf- oder Fußzeilenelement mit dem ersten Zeichen der gewünschten Spalte aus.
Diese Anfrage verwendet die Platzmarkierung <+0>, um die Reportkopfzeile in drei Textfolgen zu unterteilen. Sie platziert die dritte Textfolge (1st Qtr 2001) 3 Zoll neben den linken Reportrand. Diese Methode kann sowohl in PDF- als auch in PS-Reports angewendet werden.
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
Die Ausgabe ist:
Diese Anfrage verwendet die Platzmarkierung <+0>, um die Reportkopfzeile in drei Textfolgen zu unterteilen. Sie platziert die dritte Textzeichenfolge (1st Qtr 2001) 1 Zoll rechts neben das vorangehende Element in der Kopfzeile. Zoll ist der Default der Messgröße. Diese Methode kann sowohl in PDF- als auch in PS-Reports angewendet werden.
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
Die Ausgabe ist:
Diese Anfrage verwendet die Platzmarkierung <+0>, um die Reportkopfzeile in drei Textfolgen zu unterteilen. Sie platziert die zweite Textfolge an der horizontalen Position, an der sich die Spalte UNITS (Stückabsatz) befindet. Diese Methode kann sowohl in PDF- als auch in PS-Reports angewendet werden.
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
Die Ausgabe ist:
Tipp: In dieser Anfrage wird die Spalte (UNTIS) durch ihren Namen definiert. Es gibt jedoch andere Möglichkeiten, um eine Spalte zu identifizieren, die Sie formatieren möchten. Siehe Eine Reportkomponente in einem WebFOCUS StyleSheet identifizieren.
Vorgehensweise: |
PRINTPLUS enthält Verbesserungen und zeigt Alternativen an, die von WebFOCUS angegeben werden. Sie können z. B. FOOTING nach SUBFOOT in Ihrem Report platzieren. PRINTPLUS gibt Ihnen die Flexibilität, exakt den von Ihnen gewünschten Report zu erstellen.
Der PRINTPLUS-Parameter muss auf ON gestellt sein, um die folgenden TABLE-Fähigkeiten zu verwenden:
Hinweis: PRINTPLUS wird von StyleSheets nicht unterstützt. In diesem Fall wird eine Warnmeldung angezeigt.
Geben Sie diesen Befehl ein:
SET PRINTPLUS = {ON|OFF}
Wenn PRINTPLUS aktiviert wurde, wird SUBFOOT zuerst angezeigt, gefolgt von 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
Die Ausgabe ist:
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 |
In HTML- und PDF-Reports, die proportional Schriftarten verwenden, können Sie verschiedene Arten von Platzmarkierungen verwenden, um die Positionierung der Kopf- und Fußzeilen sowie der Elemente darin näher zu bestimmen. Sie können, um die Steuerung zu maximieren, Platzmarkierungen mit anderen Ausrichtungsmethoden kombinieren. Siehe Eine Ausrichtungsmethode für Kopf- und Fußzeilenelemente auswählen.
Die folgenden Platzmarkierungen ermöglichen es Ihnen, Elemente zu positionieren und Elemente zu identifizieren, die formatiert werden sollen:
Um eine Kopf- oder Fußzeile in Elemente zu unterteilen, die separat formatiert werden können, platzieren Sie die Platzmarkierung <+0> hinter die Textfolge oder das Feld, das Sie angeben möchten. Sie fügt Ihrer Kopf- oder Fußzeile keine zusätzlichen Stellen hinzu. Genaues finden Sie unter Eine Reportkomponente in einem WebFOCUS StyleSheet identifizieren.
Um übersprungene Zeilen zu spezifizieren ist es am besten, wenn die </n>-Platzmarkierung in derselben Zeile wie der Text in der Anfrage angeordnet wird. Wenn Sie sie auf eine eigene Zeile platzieren, zählt WebFOCUS die Zeile, auf der sich die Platzmarkierung befindet, und die Anzahl der übersprungenen Zeilen, die Sie zuweisen. Details finden Sie in Die vertikale Position einer Kopf- oder Fußzeile steuern.
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.
Sie können auch Platzmarkierungen verwenden, um Kopfzeilen- und Fußzeilenelemente an festgelegten oder relativen Spaltenpositionen zu positionieren. Manche Platzmarkierungen steuern die Positionierung basierend auf der vordefinierten Breite eines Zeichens einer nichtproportionalen Schriftart. Dies ist eine Legacy-Formatierungsmethode, die für proportionale Schriftarten nicht unterstützt wird.
Diese Anfrage erzeugt einen HTML-Report, in dem die schließende runde Klammer und der Punkt in der Sortierkopfzeile direkt auf das Feld STORE_CODE bzw. STATE folgen. Dieses Verhalten wird gesteuert durch die <-1-Platzmarkierungen, die eine verhältnismäßige Anfangsposition zum vorhergehenden Objekt indizieren. Ohne diese Platzmarkierungen, die angeben, dass die Interpunktionszeichen auf die vorhergehenden Objekte folgen sollten, würde an jeder dieser Positionen in der Anzeige ein zusätzliches Leerzeichen angezeigt.
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
Dies ist die Teilausgabe:
In einem PDF-Report muss auf ein eingebettetes Feld in einer Kopf- oder Fußzeile ein Leerzeichen in der Anfrage folgen, damit es bei der Verarbeitung erkannt wird. Es kann jedoch sein, dass das Leerzeichen in der Ausgabe nicht gewünscht ist. Dieses Beispiel zeigt zwei Methoden für die Positionierung von Interpunktionszeichen direkt nach einem Feld in einem PDF-Report.
Die erste Methode verwendet das Attribut POSITION in einem StyleSheet, um die schließende runde Klammer direkt hinter den Wert STORE_CODE zu positionieren. Die zweite Methode verwendet die Platzmarkierung <-1, um den Punkt direkt hinter den Wert STATE zu positionieren. Die Messgröße POSITION basiert auf den Bezeichnungs-POINTS von UNITS. Durch Ausprobieren wurde herausgefunden, dass -7 Punkte die schließende runde Klammer an die richtige Stelle hinter dem Feld verschiebt, wobei die defaultmäßige proportionale Schriftart und Größe verwendet wird.
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
Die Ausgabe ist:
Ohne die Platzmarkierung und die Positionsmessgröße hätte die Ausgabe folgendermaßen ausgesehen:
Diese Anfrage verwendet die Schriftart Helvetica in der Größe 12 Punkte. Durch Ausprobieren wurde herausgefunden, dass der POSITION-Wert von -2 den Text in dieser Schriftart und Größe an die erforderliche Position verschiebt.
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
Tipp: Das Attribut POSITION kann nicht verwendet werden, um ein Kopfzeilenelement in einem HTML-Report zu positionieren. Sie können jedoch dasselbe Ergebnis auch erzielen, indem Sie die horizontalen Platzmarkierungen <-1 direkt hinter die Felder STORE_CODE und STATE platzieren. Fügen Sie zwischen dem Feld und dem Zeichen, das darauf folgt, kein Leerzeichen ein.
Die Ausgabe ist:
WebFOCUS |