Daten in einem Report positionieren

In diesem Abschnitt:

Sie können Daten in einem Report positionieren, indem Sie eine Ausrichtung (rechts, links oder zentriert) einer Spalte auswählen oder, indem Sie angeben, ob Daten in einer Zelle umgebrochen werden sollen. Weitere Informationen über das Positionieren von Spalten auf der Seite finden Sie unter Die Reportseite layouten.


Nach oben

x
Den Umbruch von Reportdaten steuern

Vorgehensweise:

Referenz:

Sie können den Umbruch von Reportdaten in einem Report steuern und so Zeilenumbrüche in Reportzellen verhindern. Wenn Sie HTML-Ausgabe verwenden, werden die meisten Webbrowser Reportdaten automatisch umbrechen, wenn diese nicht in eine einzelne Zellenzeile passen.

Hierbei wird der Inhalt der Zelle auf die nächste Zeile verschoben. Ein Webbrowser bricht Daten auf der Basis der Algorithmus-Einstellungen um. Verwenden Sie das Attribut WRAP, wenn Sie Umbruch durch den Webbrowser unterdrücken möchten.

Per Default ist WRAP für HTML-Ausgabe auf ON gestellt, was es jedem einzelnen Browser ermöglicht, die Breite jeder Spalte im Report zu definieren. Für PDF-, PS-, DHTML- und PPT-Ausgabe ist WRAP per Default auf OFF eingestellt. Für diese positionierten Ausgabeformate, in denen die Position jedes Elements im Report explizit definiert ist, ist WRAP = ON kein gültiger Wert, aber es können bestimmte Breiten mit der Option n definiert werden.

Sie können in PDF- und PostScript-Reportausgabe den Zeilenabstand in umgebrochenen Zeilen mit dem WRAPGAP-Attribut steuern.

Daten in PDF-Reports umbrechen, die die OVER-Phrase verwenden

OVER ermöglicht die Anzeige eines Datensatzes über mehrere Zeilen in einem Report hinweg. Per Default ändert sich, wenn OVER in einer Anfrage definiert wurde, der Report von der Darstellung auf Spaltenebene zu einer Darstellung auf Zeilenebene. Die Feldtitel werden links neben jedem Wert angezeigt, und nicht in jeder Spalte oben. Dieses Layout wurde nicht so konzipiert, dass es auf eine bestimmte Weise ausgerichtet wird, sondern so, dass die Präsentation mehrerer Elemente in einem kleinen Bereich möglich ist. In vielen Fällen verwenden Reports, die Spalten übereinander platzieren, leere AS-Namen, damit die Spalten richtig ausgerichtet werden. Sie können das Attribut WRAP verwenden, um Daten in PDF-Reports umzubrechen, die OVER verwenden, und diese Methode funktioniert gut mit leeren AS-Namen.

Daten in PDF-Reports umbrechen, die die ACROSS-Phrase verwenden

In einer Anfrage, die ACROSS verwendet, wird in der Ausgabe jeder Wert des ACROSS-Feldes über den Datenspalten angezeigt, die auf diesen ACROSS-Wert zutreffen.

Wenn der ACROSS-Wert länger ist als die Breite seiner Spalte, können Sie den ACROSS-Wert innerhalb der Breite seiner zu Grunde liegenden Spalten umbrechen.

Per Default ist die Breite jeder ACROSS-Wertgruppe (der ACROSS-Wert und die Datenspalten darin) definiert als entweder die Summe der Breite der Datenspalten oder der längste ACROSS-Wert für diese Gruppe, je nachdem, was länger ist. Mit Umbruch wird die Größe jedes ACROSS-Umbruchs definiert basierend auf dieser Regel, einschließlich aller Datenspalten und nicht umgebrochener Across-Felder.

Die Breite jeder ACROSS-Spalte für eine gegebene ACROSS-Gruppe ist definiert als die Länge des längsten Werts für diese ACROSS-Gruppe. Es wird für jede Gruppe nur eine Breite verwendet, so dass in Gruppen, in denen die Werte kürzer sind als der längste Wert, eine größere rechte Lücke in der Zelle entsteht.

In Reports mit mehreren ACROSS-Feldern können Sie individuelle ACROSS-Felder oder alle umbrechen. Jeder designierte Wert wird innerhalb der definierten ACROSS-Gruppe umgebrochen.



x
Syntax: Den Umbruch von Reportdaten steuern

Verwenden Sie, um den Umbruch von Text in einem Report zu steuern, in einem StyleSheet die folgende Syntax:

TYPE=type, [subtype,] WRAP=value, $

Hierbei gilt:

type
Ist die Reportkomponente, die Sie verändern möchten, wie z. B. REPORT, HEADING oder TITLE.
subtype
Ist ein zusätzliches Attribut, wie z. B. COLUMN, ACROSS, ITEM usw., das benötigt wird, um die Reportkomponente, die Sie formatieren möchten, zu identifizieren. Siehe Eine Reportkomponente in einem WebFOCUS StyleSheet identifizieren für Informationen über die Angabe verschiedener Typen der Reportkomponenten.
Wert
Ist eines des Folgenden:

ON aktiviert den Datenumbruch. ON ist der Defaultwert für HTML-Reportausgabe. Für PDF-, PS-, DHTML- und PPT-Reportausgabe ist WRAP per Default auf OFF eingestellt. Für diese positionierten Formate, in denen die Position jedes Elements im Report explizit definiert ist, ist WRAP = ON kein gültiger Wert, aber es können bestimmte Breiten mit der Option n definiert werden. Für HTML-Reports wird WRAP für alle Felder unterstützt. In PDF-Reports wird WRAP nur für eingebettete Feldern unterstützt, nicht für Text.

Hinweis: Diese Einstellung wird nicht unterstützt, wenn Sie WRAP mit OVER in PDF-Reportausgabe verwenden.

OFF deaktiviert den Datenumbruch. Dies ist der Defaultwert für PDF-, PS-, DHTML- und PPT-Reportausgabe.

n gibt einen speziellen numerischen Wert an, auf den die Spaltenbreite eingestellt werden kann. Der Werte entspricht der im UNITS-Parameter angegebenen Messgröße. Diese Einstellung wird unterstützt für den Umbruch von Daten in PDF-Reports, die die OVER-Phrase verwenden.

Hinweis: WRAP=ON und WRAP=n werden mit JUSTIFY nicht unterstützt.



Beispiel: Umbruch von Reportdaten in einem Webbrowser ermöglichen

Im folgenden Beispiel mit WRAP=ON werden Daten basierend auf der Funktionalität des Webbrowsers umgebrochen. Bitte beachten Sie, dass Sie, da der Wert der Default ist, WRAP=ON in der Syntax der Reportanfrage nicht angeben müssen.

TABLE FILE GGPRODS
PRINT SIZE UNIT_PRICE PACKAGE_TYPE
VENDOR_CODE VENDOR_NAME
BY PRODUCT_ID BY PRODUCT_DESCRIPTION
ON TABLE SET STYLE *
TYPE=REPORT, GRID=ON, $
ENDSTYLE
END

Hinweis: Umbruch wird bestimmt durch die Größe Ihres Browserfensters, so dass es sein kann, dass Sie Ihr Fenster verkleinern müssen, um zu sehen, wie im Beispiel die Daten umgebrochen werden, wie in der folgenden Abbildung.

Beachten Sie, dass Datensätze in der Spalte Anbietername umgebrochen und in einer zweiten Zeile fortgesetzt werden.



Beispiel: Den Umbruch von Reportdaten unterdrücken

In der folgenden Reportanfrage mit WRAP=OFF wird der Umbruch von Daten durch den Webbrowser unterdrückt:

TABLE FILE GGPRODS
PRINT SIZE UNIT_PRICE PACKAGE_TYPE
VENDOR_CODE VENDOR_NAME
BY PRODUCT_ID BY PRODUCT_DESCRIPTION
ON TABLE SET STYLE * 
TYPE=REPORT, WRAP=OFF, $ 
TYPE=REPORT, GRID=ON, $
ENDSTYLE
END

Die Ausgabe ist:



Beispiel: Spalten mit OVER umbrechen

Die folgende Anfrage mit der Datenquelle GGPRODS platziert die Spalte VENDOR_NAME auf eine neue Zeile mit der OVER-Phrase. Per Default ist der Umbruch deaktiviert und muss explizit im StyleSheet definiert werden:

TABLE FILE GGPRODS
PRINT SIZE UNIT_PRICE PACKAGE_TYPE OVER
VENDOR_NAME
BY PRODUCT_ID BY PRODUCT_DESCRIPTION
ON TABLE PCHOLD FORMAT PDF
END

Die Teilausgabe ist in der folgenden Abbildung zu sehen.

Die folgende Version der Anfrage aktiviert Umbruch und stellt eine Spaltenbreite von 1,5 für die Spalte VENDOR_NAME ein, was wegen der OVER-Phrase in eine neue Zeile platziert wurde:

TABLE FILE GGPRODS
PRINT SIZE UNIT_PRICE PACKAGE_TYPE OVER
VENDOR_NAME
BY PRODUCT_ID BY PRODUCT_DESCRIPTION
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, COLUMN=VENDOR_NAME, WRAP=1.5,$
ENDSTYLE
END

In der Teilausgabe ist zu sehen, dass die Spalte VENDOR_NAME jetzt umgebrochen wird. Beachten Sie, dass, wenn Sie WRAP ON aktivieren, der Wert OVER umgebrochen wird, und nicht der OVER TITLE:



x
Syntax: ACROSS-Werte umbrechen

Das Umbrechen von ACROSS-Werten wird unterstützt für HTML- und PDF-Ausgabeformate.

TYPE=ACROSSVALUE, [ACROSS={fieldname|Nn|An}] WRAP={OFF|ON} ,$

Hierbei gilt:

ACROSS
Wenn Sie eine Anfrage mit mehreren ACROSS-Feldern haben, können Sie jedes Feld mit dem ACROSS-Identifikator identifizieren. Sie müssen den ACROSS-Identifikator nur aufnehmen, wenn in Ihrer Anfrage mehrere ACROSS-Felder vorhanden sind.
fieldname
Gibt eine horizontale Sortierzeile über ihren Feldnamen an.
Nn
Identifiziert eine Spalte über ihre Position im Report. Zählen Sie, um diesen Wert zu bestimmen, die vertikalen Sortierfelder (BY), Anzeigefelder und ROW-TOTAL-Felder von links nach rechts, einschließlich der NOPRINT-Felder.
An
Gibt eine horizontale Sortierzeile über ihre Position in der Abfolge horizontaler Sortierzeilen an. Um diesen Wert zu bestimmen, zählen Sie horizontale Sortierfelder (ACROSS). Kann nicht im selben StyleSheet mit einer Feldnamenspezifikation kombiniert werden.
OFF
Deaktiviert den Umbruch von ACROSS-Werten. OFF ist der Defaultwert.
ON
Aktiviert den Umbruch von ACROSS-Werten.

Hinweis: WRAP=ON wird mit JUSTIFY nicht unterstützt.



Beispiel: ACROSS-Werte in PDF-Reportausgabe umbrechen

In der folgenden Anfrage mit der Datenquelle GGPRODS ist VENDOR_NAME ein ACROSS-Feld:

TABLE FILE GGPRODS
HEADING
" PRODUCT REPORT" 
" "
PRINT PRODUCT_ID UNIT_PRICE/D5
ACROSS VENDOR_NAME
BY SIZE
WHERE VENDOR_NAME GT 'B' AND VENDOR_NAME LT 'F'
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=REPORT, COLUMN=PRODUCT_ID, WIDTH=.25, $
TYPE=REPORT, COLUMN=UNIT_PRICE, WIDTH=.25, $
ENDSTYLE
END

Wie es in der folgenden Abbildung zu sehen ist, ist die Ausgabe zu breit für ein Panel, da manche der ACROSS-Feldwerte (Anbieternamen) länger sind als die Summe des Produktcodes und der Spalte Stückpreis darunter.

Die folgende Version der Anfrage bricht die ACROSS-Werte um (TYPE=ACROSSVALUE, WRAP=ON ,$):

TABLE FILE GGPRODS
HEADING
" PRODUCT REPORT" 
" "
PRINT PRODUCT_ID UNIT_PRICE/D5
ACROSS VENDOR_NAME
BY SIZE
WHERE VENDOR_NAME GT 'B' AND VENDOR_NAME LT 'F'
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=REPORT, COLUMN=PRODUCT_ID, WIDTH=.25, $
TYPE=REPORT, COLUMN=UNIT_PRICE, WIDTH=.25, $
TYPE = ACROSSVALUE, WRAP=ON,$ 
ENDSTYLE
END

Der Report passt jetzt in ein Panel, wie es in der folgenden Abbildung zu sehen ist.



x
Referenz: OVER mit leeren Spaltentiteln

Wenn OVER-Felder mit leeren AS-Namen definiert werden (der Wert des Titels der Spalte ist eingestellt auf leer ' '), können sie verwendet werden, um einen Report mit mehreren Datenzeilen zu erstellen, die in einem ausgerichteten Raster dargestellt werden.

In diesem Reporttyp werden die Spaltentitel normalerweise angegeben, indem der Seitenkopfzeile mehrere zugehörige Zeilen hinzugefügt werden, anstatt die Default-Titel zu verwenden, die links neben den Spaltenfeldwerten angezeigt werden. Um OVER-Felder mit eindeutigen Titeln anzuzeigen, die diese neuen Ausrichtungs-Features verwenden, können Sie die Spaltentitel in unabhängige Felder platzieren, und sie als Felder in die gegebene Anfrage aufnehmen.



Beispiel: OVER und WRAP mit leeren AS-Namen verwenden

Im folgenden Beispiel sehen Sie, wie Sie OVER mit leeren AS-Namen und WRAP verwenden, um einen Report mit mehreren Datenzeilen zu erstellen:

TABLE FILE GGPRODS
PRINT PACKAGE_TYPE AS '' SIZE  AS '' OVER
VENDOR_NAME AS '' 
BY PRODUCT_ID  AS '' 
BY PRODUCT_DESCRIPTION  AS ''
ON TABLE SUBHEAD
"Gotham Grinds"
"Products Details"
HEADING 
" Code <+0>Description<+0>Size  <+0>Package"
-*" <+0> <+0>Vendor"
" <+0>Vendor"
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, FONT=ARIAL, SIZE=10, SQUEEZE=ON,$
TYPE=REPORT, COLUMN=PACKAGE_TYPE, SQUEEZE=.5 ,$
TYPE=REPORT, COLUMN=VENDOR_NAME, WRAP=1 ,$
TYPE=REPORT, BORDER=ON, $
TYPE=HEADING, LINE=1, ITEM=1, BORDER=ON, $
TYPE=HEADING, LINE=1, ITEM=2, BORDER=ON, POSITION=PRODUCT_DESCRIPTION,$
TYPE=HEADING, LINE=1, ITEM=3, BORDER=ON, POSITION=SIZE ,$
TYPE=HEADING, LINE=1, ITEM=4, BORDER=ON, POSITION=PACKAGE_TYPE, $
TYPE=HEADING, LINE=2, ITEM=1, BORDER=ON, $
TYPE=HEADING, LINE=2, ITEM=2, BORDER=ON, POSITION=PACKAGE_TYPE,$
ENDSTYLE
END

In der Reportausgabe wurden Pakettyp und Paketgröße über den Anbieternamen platziert. Die Seitenkopfzeile enthält die entsprechenden Titel. In der Kopfzeile wurden auch die Titel Paket und Größe über den Titel Anbietername platziert. Beachten Sie, dass die Anbieternamen umgebrochen werden, um die Ausrichtung beizubehalten.



x
Referenz: OVER und WRAP mit nicht leeren Spaltentiteln

Die Breite sowohl des Spaltentitels als auch der Spaltendaten für jeden OVER-Wert wird bestimmt durch den einen SQUEEZE- oder WRAP-Wert. Die Breite des Titels ist automatisch identisch mit der Breite der umgebrochenen Datenspalte. Wenn der Spaltentitel länger ist als die für den Spaltenumbruch definierte Breite, können Sie entweder einen kürzeren Titel definieren oder Ihre Titel als OVER-Felder hinzufügen, deren Größe unabhängig angepasst werden kann.

In den folgenden Beispielen sehen Sie, wie Sie einen Report mit OVER und WRAP erstellen, der Spaltentitel hat, die länger sind als die vorgesehene WRAP-Größe.



Beispiel: OVER und WRAP mit Spaltentiteln verwenden

In der folgenden Anfrage werden zwei virtuelle Felder definiert, die die Spaltentitel für die Felder Produktname und Anbietername enthalten. Es wird dann jedes virtuelle Feld neben dem entsprechenden Datenfeld gedrucht und jedes erhält einen leeren AS-Namen. Das erste virtuelle Feld und Datenfeld werden über dem zweiten virtuellen Feld und Datenfeld platziert:

DEFINE FILE GGPRODS
TITLE_PROD/A20 = 'Product Description';
TITLE_VEND/A20 = 'Vendor Name';
END
TABLE FILE GGPRODS
PRINT TITLE_PROD AS '' PRODUCT_DESCRIPTION  AS '' OVER
TITLE_VEND AS '' VENDOR_NAME  AS '' 
BY PRODUCT_ID  AS '' 
ON TABLE SUBHEAD
"Gotham Grinds"
"Products Details"
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
TYPE=REPORT, FONT=ARIAL, SIZE=10, SQUEEZE=ON,$
TYPE=REPORT, COLUMN=TITLE_PROD , SQUEEZE=1.25 ,$
TYPE=REPORT, COLUMN=TITLE_VEND , SQUEEZE=1.25 ,$
TYPE=REPORT, COLUMN=PRODUCT_DESCRIPTION, WRAP=.75 ,$
TYPE=REPORT, COLUMN=VENDOR_NAME, WRAP=.75 ,$
TYPE=REPORT, BORDER=ON, $
ENDSTYLE
END

In der Ausgabe ist zu sehen, dass die Titel und Daten richtig ausgerichtet sind.



x
Syntax: Den Abstand zwischen umgebrochenen Zeilen steuern

Sie können das WRAPGAP-Attribut in einem StyleSheet verwenden, um den Abstand zwischen umgebrochenen Zeilen in PDF- und PostScript-Reportausgabe zu steuern.

type=component, WRAPGAP={ON|OFF|n}

Hierbei gilt:

Komponente
Ist die Komponente mit umgebrochenen Zeilen.
ON
Lässt keinen Platz zwischen umgebrochenen Zeilen. Wenn Sie ON angeben, entspricht dies 0.0 für n.
OFF
Platz zwischen umgebrochenen Daten in der nächsten Zeile. OFF ist der Defaultwert.
n
Ist eine Zahl größer oder gleich Null, die bestimmt, wie viel Platz zwischen umgebrochenen Zeilen gelassen werden soll (es wird die Messgröße verwendet, die mit dem UNITS-Attribut angegeben ist). Wenn Sie n auf Null stellen, wird kein Platz zwischen umgebrochenen Zeilen gelassen, was WRAPGAP=ON entspricht.


Beispiel: Den Abstand für umgebrochene Zeilen angeben

In der folgenden Anfrage ist Umbruch für die ADDRESS_LN3-Spalte des Reports aktiviert:

TABLE FILE EMPLOYEE                         
PRINT ADDRESS_LN3                           
BY LAST_NAME BY FIRST_NAME                  
WHERE LAST_NAME LE 'CROSS'                  
  ON TABLE PCHOLD FORMAT PDF    
ON TABLE SET PAGE NOPAGE                    
ON TABLE SET STYLE *                        
type=report, grid=on, $ 
type=data, topgap=0.2, bottomgap=0.2,  $    
type=data, wrapgap=off, $ 
type=REPORT, column=ADDRESS_LN3, wrap=1.0 ,$
END

Mit WRAPGAP=OFF wird jede umgebrochene Zeile in die nächste Reportzeile platziert:

Mit WRAPGAP=ON werden die umgebrochenen Zeilen direkt untereinander platziert:



x
Referenz: Verwendungshinweise für WRAPGAP

Sie können WRAPGAP nur für Spalten angeben, für die Umbruch aktiviert ist (das WRAP-Attribut oder der WRAP-Parameter ist auf ON oder eine Zahl eingestellt). Die Attribute TOPGAP und BOTTOMGAP bestimmen, wie viel vertikaler Platz unter und über einer Reportkomponente gelassen werden soll. Wenn Sie die Werte dieser Attribute erhöhen, wird eine Verringerung des Abstands zwischen umgebrochenen Zeilen deutlicher.


Nach oben

x
Den Umbruch mit anderen Methoden steuern

Vorgehensweise:

Referenz:

Zusätzlich zum WRAP-Parameter hängt der Textumbruch auch von den Attributen SQUEEZE und GRID ab. Sowohl SQUEEZE als auch GRID können als SET-Befehle oder StyleSheet-Attribute verwendet werden. Wenn Sie für diese zwei Attribute nicht die Defaultwerte verwenden, wirkt sich dies auf das Umbruchverhalten des Browsers aus.



x
Referenz: Befehle einstellen, die den Textumbruch eines Reports verändern

Die folgenden SET-Befehle wirken sich auf den Umbruch von Daten aus.

Befehl

Aktion

SET SQUEEZE=OFF

Zwingt den Browser, die gesamte Spaltenbreite anzuzeigen, und unterdrückt den Umbruch von Spaltendaten.

SET SQUEEZE=ON

Macht es möglich, dass der Browser sein eigenes Anzeigeverhalten anwendet. Wenn Browser-Einstellungen angegeben wurden, werden Spalten komprimiert auf die Länge des längsten Datenwerts, und Spaltendaten mit eingebetteten Leerstellen werden umgebrochen.

SET GRID=OFF

Unterdrückt den Umbruch von Daten automatisch.

SET GRID=ON

Hat keine Auswirkung auf den Umbruch oder die Komprimierung der Spaltenbreite.



x
Syntax: Den Umbruch mit SQUEEZE steuern

SQUEEZE kann entweder als SET-Parameter oder als StyleSheet-Attribut verwendet werden. Verwenden Sie in einem StyleSheet die folgende Syntax, um den Umbruch mit SQUEEZE zu steuern.

TYPE =type, SQUEEZE=value, $

Hierbei gilt:

type
Ist die Reportkomponente, die Sie verändern möchten, wie z. B. REPORT, HEADING oder TITLE.
Wert
Ist eines des Folgenden:

ON aktiviert den Datenumbruch.

OFF deaktiviert den Datenumbruch. Dies ist der Defaultwert.

n entspricht dem spezifischen numerischen Wert, auf den eine Spaltenbreite gestellt werden kann (nur bei PDF und PostScript gültig). Der Wert entspricht der im UNITS-Parameter angegebenen Messgröße.



x
Syntax: Den Umbruch mit SQUEEZE als SET-Befehl steuern

Um den Umbruch in einem Report mit dem Attribut SQUEEZE auf OFF eingestellt zu unterdrücken, verwenden Sie die folgende Syntax.

SET SQUEEZE=value, $

Hierbei gilt:

Wert
Ist eines des Folgenden:

ON aktiviert den Datenumbruch.

OFF deaktiviert den Datenumbruch. OFF ist der Defaultwert.

n entspricht dem spezifischen numerischen Wert, auf den eine Spaltenbreite gestellt werden kann (nur bei PDF und PostScript gültig). Der Wert entspricht der im UNITS-Parameter angegebenen Messgröße.

Hinweis: Falls der Datenwert breiter als die angegebene Breite einer Spalte ist, wird er bei PDF-Reports verborgen. Für Excel-Reports kann die Spaltenbreite angepasst werden, nachdem die Tabellenkalkulation erstellt wurde.



x
Referenz: Verwendungshinweise für WRAP und SQUEEZE

Nach oben

x
Reportspalten ausrichten

Vorgehensweise:

Sie können Text innerhalb einer Spalte ausrichten, indem Sie angeben, ob Reportspalten linksbündig, rechtsbündig oder zentriert ausgerichtet werden sollen. Per Default werden alphanumerische Spalten linksbündig ausgerichtet und numerische Spalten rechtsbündig. Kopfzeilen- und Fußzeilenelemente werden linksbündig ausgerichtet. Sie können jedoch den Default mit dem JUSTIFY-Attribut ändern. Weiter Informationen über das Ausrichten von Spaltentiteln mit /R, /L und /C finden Sie unter Kopfzeilen, Fußzeilen, Titel und Labels verwenden.



x
Syntax: Eine Reportspalte ausrichten

Verwenden Sie, um eine Spalte linksbündig, rechtsbündig oder zentriert auszurichten, die folgende Syntax in einem StyleSheet:

TYPE=type, [subtype,] [COLUMN=column,] JUSTIFY=option, $

Hierbei gilt:

type
Ist die Reportkomponente, die Sie verändern möchten, wie z. B. REPORT, HEADING oder TITLE.
subtype
Ist ein zusätzliches Attribut, wie z. B. COLUMN, ACROSS, ITEM usw., das benötigt wird, um die Reportkomponente, die Sie formatieren möchten, zu identifizieren. Siehe Eine Reportkomponente in einem WebFOCUS StyleSheet identifizieren für Informationen über die Angabe verschiedener Typen der Reportkomponenten.
column
Ist die Spalte oder Spaltengruppe, die Sie ausrichten möchten. Dieses Attribut ist nur notwendig, wenn Sie eine bestimmte Spalte oder eine bestimmte Spaltengruppe ausrichten möchten. Wenn Sie dieses Attribut weglassen, wird der gesamte Report ausgerichtet.
option
Ist die Ausrichtung, die Sie auswählen möchten:

LEFT gibt an, dass die Spalte linksbündig ausgerichtet werden soll.

RIGHT gibt an, dass die Spalte rechtsbündig ausgerichtet werden soll.

CENTER gibt an, dass die Spalte zentriert werden soll.

Hinweis: JUSTIFY wird nicht unterstützt mit WRAP=ON oder WRAP=n.



Beispiel: Daten in einer Reportspalte ausrichten

Das folgende Beispiel zeigt die StyleSheet-Syntax, die verwendet wurde, um die Daten in der Spalte Anbietername zu zentrieren. Die Überschrift wird auch zentriert.

TABLE FILE GGPRODS
HEADING
"PRODUCT REPORT"
SUM UNITS BY PRODUCT_DESCRIPTION BY PRODUCT_ID BY VENDOR_NAME
ON TABLE SET STYLE * 
TYPE=REPORT, COLUMN=VENDOR_NAME, JUSTIFY=CENTER,  $
TYPE=HEADING, JUSTIFY=CENTER, $ 
TYPE=REPORT, GRID=OFF, $
ENDSTYLE
END

Die Ausgabe ist:


Nach oben

x
Feldbasierte Neuformatierung

Vorgehensweise:

Feldbasierte Neuformatierung ermöglicht es Ihnen, auf die einzelnen Zeilen in einem Report unterschiedliche Formate anzuwenden, indem Sie ein Feld verwenden, um das Format zu identifizieren, das auf die einzelne Zeile zutrifft. Sie können beispielsweise diese Methode verwenden, um das passende dezimale Währungsformat anzuwenden, wenn jede Zeile ein anderes Land darstellt.

Das Feld, das die Formatspezifikationen enthält, kann Folgendes sein:

Das Feld, das die Formate enthält, muss alphanumerisch sein und wenigstens acht Zeichen lang sein. Es werden nur die ersten acht Zeichen für die Formatierung verwendet.

Es kann sein, dass das feldbasierte Format eine Länge angibt, die länger ist als die Länge des ursprünglichen Feldes. Wenn jedoch die neue Länge mehr als ein Drittel länger ist als die ursprüngliche Länge, kann es sein, dass die Reportspaltenbreite nicht breit genut ist, um den Wert zu enthalten (wird durch Sternchen im Feld gekennzeichnet).

Sie können ein feldbasiertes Format auf jeden beliebigen Feldtyp anwenden. Es muss jedoch das neue Format kompatibel sein mit dem ursprünglichen Format:

Wenn das feldbasierte Format ungültig ist oder eine unzulässige Typkonvertierung angibt, wird das Feld mit Pluszeichen (++++) in der Reportausgabe angezeigt. Wenn das Formatfeld leer ist oder fehlt, wird der Wert ohne Neuformatierung angezeigt.



x
Syntax: Ein Formatfeld definieren und anwenden

Nachdem das Formatfeld definiert wurde, können Sie es in einer Reportanfrage anwenden:

TABLE FILE filename
displayfieldname/format_field[/just]
END

Hierbei gilt:

display
Ist ein gültiger Anzeigebefehl.
fieldname
Ist ein Feld in der Anfrage, das neu formatiert werden soll.
format_field
Ist der Name des Feldes, das die Formate enthält. Wenn der Name des Formatfelds identisch ist mit einem expliziten Format, wird das explizite Format verwendet. Beispielsweise kann ein Feld namens I8 nicht für feldbasierte Neuformatierung verwendet werden, weil es als das explizite Format I8 interpretiert wird.
just
Ist eine Ausrichtungsoption (L, R oder C). Die Ausrichtungsoption kann vor oder hinter dem Formatfeld platziert werden, abgetrennt vom Format durch einen Schrägstrich.


Beispiel: Unterschiedliche Dezimalstellen für Währungswerte anzeigen
DEFINE FILE CAR
CFORMAT/A8 = DECODE COUNTRY('ENGLAND' 'D10.1' 'JAPAN' 'D10' ELSE 
'D10.2');
END
 
TABLE FILE CAR
SUM SALES/CFORMAT/C DEALER_COST/CFORMAT
BY COUNTRY
END

Die Ausgabe ist:

COUNTRY       SALES    DEALER_COST
-------     ---------  -----------
ENGLAND      12,000.0     37,853.0
FRANCE            .00     4,631.00
ITALY       30,200.00    41,235.00
JAPAN          78,030        5,512
W GERMANY   88,190.00    54,563.00

Nach oben

x
Datendarstellung

Vorgehensweise:

Referenz:

Um HTML-Reports aussagekräftiger zu gestalten, können Sie visuelle Repräsentationen ausgewählter Daten direkt in die Reportausgabe einfügen. Diese visuellen Darstellungen haben die Form von vertikalen bzw. horizontalen Balkendiagrammen, die Beziehungen und Trends zwischen Daten verdeutlichen. Details finden Sie unter Reportdaten anzeigen.



x
Referenz: Formatierungsoptionen für Datenvisualisierungs-Balkendiagramme

Sie können optionale Formatierungsattribute für Datenvisualisierungs-Balkendiagramme in der GRAPHTYPE-Deklaration angeben. Die folgende Tabelle listet die Formatierungsattribute und je eine Beschreibung auf:

Formatierungsattribut

Beschreibung

GRAPHCOLOR

Stellt die Farbe der Balkendiagramme ein.

GRAPHLENGTH

Stellt die Länge des längsten Balkendiagramms ein. Der Wert für GRAPHLENGTH bestimmt die Länge in Maßeinheiten (Zoll, Zentimeter, usw.) des längsten Balkendiagramms in einem vertikalen oder horizontalen Balkendiagramm.

Der Längenwert wird in den aktuallen Einheiten ausgedrückt, was mit dem StyleSheet-Attribute UNITS eingestellt wird. Der Wert GRAPHLENGTH wird dann in Pixel umgewandelt.

GRAPHWIDTH

Stellt die Breite der Balkendiagramme ein. Der Breitenwert wird in den aktuellen Einheiten ausgedrückt. Weitere Informationen über Einheiten finden Sie oberhalb unter GRAPHLENGTH.

Hinweis: Graphcolor=orange wird nicht unterstützt.



x
Syntax: Datenvisualisierungs-Formatierungsattribute einbeziehen
GRAPHTYPE=DATA, {COLUMN|ACROSSCOLUMN|FIELD}=identifier,
 [GRAPHCOLOR=graphcolor,] [GRAPHLENGTH=lengthvalue,]
 [GRAPHWIDTH=widthvalue,] $

Hierbei gilt:

GRAPHCOLOR
Gibt die Farbe der Balkendiagramme an. Schwarz ist die Default-Farbe, wenn Sie dieses Attribut in der Deklaration weglassen.
graphcolor

Steht für einen der folgenden Werte:

AQUA
BLACK
BLUE
FUCHSIA
GRAY
GREEN
LIME
MAROON
NAVY
OLIVE
PURPLE
RED
SILVER
TEAL
WHITE
YELLOW
GRAPHLENGTH
Gibt die Länge des längsten Balkendiagramms an. Die Default-Länge beträgt 60 Pixel für ein vertikales Balkendiagramm und 80 Pixel für ein horizontales Balkendiagramm.
lengthvalue
Stellt den Wert ein, der verwendet wird, um das vertikale oder das horizontale Balkendiagramm für den maximalen Datenwert in der assoziierten Reportspalte anzuzeigen. Dieser Wert muss eine positive Zahl sein.

Dieser Wert wird zu Beginn in den aktuallen Einheiten ausgedrückt (mit dem Attribut UNITS). Dieser Wert wird dann umgewandelt in die entsprechende Pixelanzahl.

GRAPHWIDTH
Gibt die Breite der Balkendiagramme in einem Report an.
widthvalue
Stellt den Wert ein, der verwendet wird, um die Breite der Balkendiagramme in einem Report anzuzeigen. Dieser Wert muss eine positive Zahl sein.

Dieser Wert wird zu Beginn in den aktuallen Einheiten ausgedrückt (definiert durch das Attribut UNITS). Dieser Wert wird dann umgewandelt in die entsprechende Pixelanzahl.



x
Mehrzeilige An- und AnV-Felder

Vorgehensweise:

Mit StyleSheet-Attributen können Sie An-Felder (Zeichen) und AnV-Felder (Varchar) anzeigen, die in einem PDF- oder PostScript-Report auf mehreren Zeilen Zeilenumbrüche enthalten. Zeilenumbrüche können auf Zeilenvorschüben, Zeilenumschaltungen oder einer Kombination aus beidem basieren. Falls Sie diese StyleSheet-Attribute nicht hinzufügen, wird die ganze Linefeed- und Carriage-Return-Formatierung innerhalb dieser Felder ignoriert und alle Zeichen werden auf der gleichen Zeile angezeigt, die umgebrochen wird, damit diese bei der Breite des Reports passt.



x
Syntax: An- und AnV-Felder anzeigen, die auf mehreren Zeilen Zeilenumbrüche enthalten
TYPE=REPORT,LINEBREAK='type',$

Hierbei gilt:

REPORT
Ist der Reportkomponententyp. TYPE muss REPORT sein. Es kommt ansonsten zu einer Fehlermeldung.
'type'
Gibt an, dass in einen Report basierend auf Folgendem Zeilenumbrüche eingefügt werden:

LF fügt nach jedem Zeilenvorschub in An- und AnV-Feldern einen Zeilenumbruch ein.

CR fügt nach jedem Zeilenumschaltungszeichen in An- und AnV-Feldern einen Zeilenumbruch ein.

LFCR fügt nach jedem Zeilenvorschub in An- und AnV-Feldern, auf den ein Zeilenumschaltungszeichen folgt, einen Zeilenumbruch ein.

CRLF fügt nach jedem Zeilenumschaltungszeichen in An- und AnV-Feldern, auf das ein Zeilenvorschub folgt, einen Zeilenumbruch ein.

Hinweis: Das Format der Reportausgabe muss PDF oder PostScript sein.



Beispiel: Ein alphanumerisches Feld mit Zeilenumbrüchen in einem PDF-Report anzeigen

Die folgende Anfrage definiert ein benanntes alphanumerisches ANLB-Feld mit einem Semikolon (in einer EDCDIC-Umgebung) oder einem Zirkumflex (in einer ASCII-Umgebung) in der Mitte. Die CTRAN-Funktion ersetzt dann das Semikolon oder Zirkumflex mit einem Zeilenumschaltungszeichen und speichert diese Zeichenfolge in einem Feld namens ANLBC. In der Reportausgabe wird dieses Feld auf zwei Zeilen angezeigt:

DEFINE FILE EMPLOYEE                                
ANLB/A40 ='THIS IS AN An FIELD;WITH A LINE BREAK.'; 
ANLBC/A40 = CTRAN(40, ANLB, 094, 013  , ANLBC);     
END                                                 
TABLE FILE EMPLOYEE                                 
PRINT LAST_NAME ANLBC                                        
WHERE LAST_NAME EQ 'BLACKWOOD' 
ON TABLE HOLD FORMAT PDF                
ON TABLE SET STYLE *                               
TYPE=REPORT,LINEBREAK='CR',$                        
ENDSTYLE                                           
END

Die Ausgabe ist:



Beispiel: Ein alphanumerisches Feld mit einem Zeilenumbruch in einer Zwischenfußzeile verwenden

Die folgende Anfrage definiert ein benanntes alphanumerisches ANLB-Feld mit einem Semikolon in der Mitte. Die CTRAN-Funktion ersetzt dann das Semikolon (in einer EDCDIC-Umgebung) oder ein Zirkumflex (in einer ASCII-Umgebung) mit einem Zeilenumschaltungszeichen und speichert diese Zeichenfolge in einem Feld namens ANLBC. In der Zwischenfußzeile wird dieses Feld in zwei Zeilen angezeigt:

DEFINE FILE EMPLOYEE                                
ANLB/A40 ='THIS IS AN An FIELD;WITH A LINE BREAK.'; 
ANLBC/A40 = CTRAN(40, ANLB, 094, 013  , ANLBC);     
END                                                 
TABLE FILE EMPLOYEE                                 
PRINT FIRST_NAME                                    
BY LAST_NAME                                        
WHERE LAST_NAME EQ 'BLACKWOOD'                      
ON LAST_NAME SUBFOOT                                
  " "                                               
  " <ANLBC "                                        
ON TABLE HOLD FORMAT PDF                 
ON TABLE SET STYLE *                                
TYPE=REPORT,LINEBREAK='CR',$                        
ENDSTYLE                                            
END                                                 

Die Ausgabe ist:


WebFOCUS