Das Sprachkonstrukt des REPORT-Blocks dient zum Formatieren und Anzeigen der Datenausgabe eines FUNCTION-Blocks. Diese Ausgabe besteht in der Regel aus Tabellendaten, obwohl jede gültige Kombination aus HTML-Befehlen, Makrovariablenverweisen und Funktionsaufrufen angegeben werden kann. Wahlfrei kann im REPORT-Block ein Tabellenname angegeben werden. Wenn kein Tabellenname angegeben wird, verwendet Net.Data die Tabellendaten aus der ersten Ausgabetabelle in der Parameterliste des FUNCTION-Blocks. Wenn Sie keine Tabelle im FUNCTION-Block angeben, verwendet Net.Data die Standardtabellendaten.
Der REPORT-Block besteht aus drei Teilen, die jeweils wahlfrei sind:
Wenn Sie keine Tabellenausgabe des ROW-Blocks anzeigen wollen, nehmen Sie keine Angaben im ROW-Block vor, oder übergehen Sie ihn ganz.
Innerhalb des REPORT-Blocks können Sie verschiedene von Net.Data bereitgestellte Variablen zum Zugriff auf die Daten in der Net.Data-Makroergebnistabelle verwenden. Diese Variablen sind im Abschnitt Variablen zur Tabellenverarbeitung beschrieben. Weitere Einzelheiten finden Sie im Abschnitt über die Berichtsvariablen (Report Variables) im Handbuch Net.Data Reference.
Wenn Sie Kopf- und Fußzeilendaten zur Verfügung stellen wollen, geben Sie den Text vor oder nach dem ROW-Block an. Net.Data verarbeitet alle Angaben, die vor einem ROW-Block angetroffen werden, und behandelt sie als Kopfdaten und behandelt alle Angaben nach dem ROW-Block als Fußzeilendaten. Wie beim HTML-Block behandelt Net.Data alle Angaben im Kopfdatenblock, ROW-Block und Fußzeilendatenblock, die nicht als Makrosprachkonstrukte erkannt werden, als HTML und sendet die HTML-Daten an den Browser.
Sie können außerdem Funktionen und Variablen im REPORT-Block verwenden.
Wenn Net.Data einen Standardbericht mit vorformatiertem Text ausgeben soll, geben Sie den REPORT-Block nicht in der Makrodatei an. Das Standardberichtsformat sieht folgendermaßen aus:
SHIPDATE | RECDATE | SHIPNO | ------------------------------------- 25/05/1997 | 30/05/1997 | 1495194B | ------------------------------------- 25/05/1997 | 28/05/1997 | 2942821G | -------------------------------------
Wenn Sie die HTML-Befehle anstelle des vorformatierten Textes verwenden wollen, setzen Sie DTW_HTML_TABLE auf den Wert YES.
Um die Ausgabe des Standardberichts zu inaktivieren, setzen Sie DTW_DEFAULT_REPORT auf den Wert NO oder geben einen leeren REPORT-Block an. Beispiel:
%REPORT{%}
Das folgende Beispiel zeigt, wie Sie Berichtsformate mit Hilfe spezieller Variablen und HTML-Befehle anpassen können. Es werden die Namen, Telefonnummern und Faxnummern aus der Tabelle CustomerTbl angezeigt:
%FUNCTION(DTW_SQL) custlist() { SELECT Name, Phone, Fax FROM CustomerTbl %REPORT{ <I>Phone Query Results:</I> <BR> ===================== <BR> %ROW{ Name: <B>$(V1)</B> <BR> Phone: $(V2) <BR> Fax: $(V3) <BR> ------------------------------ <BR> %} Total records retrieved: $(NUM_ROWS) %} %}
Der hieraus erstellte Bericht sieht im Web-Browser wie folgt aus:
Phone Query Results: ==================== Name: Doen, David Phone: 422-245-1293 Fax: 422-245-7383 ------------------------------ Name: Ramirez, Paolo Phone: 955-768-3489 Fax: 955-768-3974 ------------------------------ Name: Wu, Jianli Phone: 525-472-1234 Fax: 525-472-1234 ------------------------------ Total records retrieved: 3
Der Bericht wurde von Net.Data wie folgt generiert:
Sie können mehrere REPORT-Blöcke für gespeicherte Prozeduren zur Rückgabe mehrerer Ergebnismengen verwenden. Mehrere REPORT-Blöcke werden für gespeicherte Prozeduren nur bei Verwendung der Sprachumgebung DTW_SQL unterstützt. Im Abschnitt Aufrufen gespeicherter Prozeduren finden Sie Informationen darüber, wie mehrere Ergebnismengen von einer gespeicherten Prozedur zurückgegeben werden können.