Vorgehensweise: |
Sie können den HOLD-Befehl verwenden, um Reportausgabedateien für verschiedene Zwecke zu erstellen:
Die Ausgabemasterdatei enthält nur die Felder in der Reportanfrage. Die Felder in einer HOLD-Datei haben die ursprünglichen Namen, die in der Masterdatei angegeben wurden und die abgerufen werden, wenn der Report angezeigt oder ausgedruckt wird. Sie können die Feldnamen in der Ausgabemasterdatei mit der AS-Phrase und dem Befehl SET ASNAMES ändern. Siehe Feldnamen in einer HOLD-Masterdatei steuern.
Wenn Ihre Umgebung den SET-Parameter SAVEMATRIX unterstützt, können Sie die interne Matrix Ihres letzten Reports beibehalten, um sie für folgende HOLD-, SAVE- und SAVB-Befehle verfügbar zu machen, sollten der Anfrage Dialogue Manager-Befehle folgen. Details über SAVEMATRIX finden Sie im Handbuch Reportanwendungen entwickeln .
Innerhalb der Reportanfrage verwenden Sie:
ON TABLE HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]
oder
hold_field HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]
Hierbei gilt:
Hinweis: Ändern Sie das Default-Ausgabeformat zu ALPHA, indem Sie den SET HOLDFORMAT-Befehl ausgeben.
der Name kann die von Ihrem Betriebssystem maximal unterstützte Zeichenanzahl enthalten. Informationen finden Sie im Abschnitt Eine Masterdatei benennen im Handbuch Daten beschreiben mit der WebFOCUS-Sprache.
Darüber hinaus unterstützt Developer Studio: CLIP
Darüber hinaus unterstützt Developer Studio: SQLMAC
Genaueres über alle verfügbaren Formate finden Sie unter Ausgabedateiformate wählen.
SET HOLDFORMAT = {BINARY|ALPHA}
oder
ON TABLE SET HOLDFORMAT {BINARY|ALPHA}
Hierbei gilt:
In der folgenden Anfrage werden Daten aus der EMPLOYEE-Datenquelle extrahiert und eine HOLD-Datei erstellt.
TABLE FILE EMPLOYEE SUM CURR_SAL AND ED_HRS BY DEPARTMENT LIST CURR_SAL AND ED_HRS AND BANK_ACCT BY DEPARTMENT BY LAST_NAME BY FIRST_NAME ON TABLE HOLD END
Die folgende Meldung wird angezeigt:
NUMBER OF RECORDS IN TABLE= 12 LINES= 12
Um den Report anzuzeigen, der von dieser Anfrage erzeugt wird, geben Sie eine Reportanfrage mit der HOLD-Datei aus.
Tipp: Falls Sie die Informationen in der HOLD-Masterdatei betrachten möchten, bevor Sie mit ihr Reports erstellen, können Sie den Abfragebefehl ? ausgeben. HOLD.
Wenn die Option HOLD-Format, die Sie auswählen, eine Masterdatei erstellt, können Sie den folgenden Befehl ausgeben, um die Felder, Aliase und Formate in der HOLD-Masterdatei anzuzeigen:
? HOLD
Dieser Befehl zeigt Feldnamen mit bis zu 32 Zeichen an. Wenn ein Feldname länger als 32 Zeichen ist, wird durch eine spitze Klammer (>) an der 32. Stelle angezeigt, dass der Dateiname länger ist.
Verwenden Sie, falls Sie die HOLD-Datei mit AS filename umbenannt haben, die folgende Syntax:
? HOLD filename
Tipp: Sie müssen die ? HOLD-Abfrage in derselben Session ausgeben, in der die HOLD-Datei erstellt wird.
In der folgenden HOLD-Datei sind die angezeigten Formate die Werte des FORMAT-Attributs. Sie können die Werte des ACTUAL-Attributs einsehen, indem Sie die HOLD-Masterdatei mit TED oder einem Texteditor anzeigen. Die Formate USAGE und ACTUAL für Textfelder geben nur die Länge der ersten Zeile jedes logischen Datensatzes in der HOLD-Datei an. Das USAGE-Format und das Feldformat in der ursprünglichen Masterdatei sind identisch. Das ACTUAL-Format wird auf eine volle (interne) Wortbegrenzung aufgerundet (wie bei alphanumerischen Feldern).
Die folgende Anfrage enthält den Abfragebefehl ? HOLD, welcher die Felder, Aliase und Formate in der assoziierten Masterdatei anzeigt und eine HOLD-Datei erstellt.
TABLE FILE EMPLOYEE SUM CURR_SAL AND ED_HRS BY DEPARTMENT LIST CURR_SAL AND ED_HRS AND BANK_ACCT BY DEPARTMENT BY LAST_NAME BY FIRST_NAME ON TABLE HOLD END ? HOLD
Die Ausgabe ist:
NUMBER OF RECORDS IN TABLE= 12 | LINES= | 12 | ||
DEFINITION OF HOLD FILE: HOLD | ||||
FIELDNAME | ALIAS | FORMAT | ||
DEPARTMENT | E01 | A10 | ||
CURR_SAL | E02 | D12.2M | ||
ED_HRS | E03 | F6.2 | ||
LAST_NAME | E04 | A15 | ||
FIRST_NAME | E05 | A10 | ||
LIST | E06 | I5 | ||
CURR_SAL | E07 | D12.2M | ||
ED_HRS | E08 | F6.2 | ||
BANK_ACCT | E09 | I9S |
Sie können nun mit der HOLD-Datei die folgende Reportanfrage ausgeben:
TABLE FILE HOLD PRINT E07 AS 'SALARY OF,EMPLOYEE' AND LAST_NAME AND FIRST_NAME BY HIGHEST E03 AS 'TOTAL,DEPT,ED_HRS' BY E01 BY HIGHEST E08 AS 'EMPLOYEE,ED_HRS' END
Die Ausgabe ist:
TOTAL DEPT EMPLOYEE SALARY OF ED_HRS DEPARTMENT ED_HRS EMPLOYEE LAST_NAME FIRST_NAME ------ ---------- -------- --------- --------- ---------- 231.00 MIS 75.00 $21,780.00 BLACKWOOD ROSEMARIE 50.00 $18,480.00 JONES DIANE 45.00 $27,062.00 CROSS BARBARA 36.00 $13,200.00 SMITH MARY 25.00 $9,000.00 GREENSPAN MARY .00 $18,480.00 MCCOY JOHN 120.00 PRODUCTION 50.00 $16,100.00 MCKNIGHT ROGER 30.00 $26,862.00 IRVING JOAN 25.00 $11,000.00 STEVENS ALFRED 10.00 $9,500.00 SMITH RICHARD 5.00 $21,120.00 ROMANS ANTHONY .00 $29,700.00 BANNING JOHN
WebFOCUS |