Eine HOLD-Datei erstellen

Vorgehensweise:

Sie können den HOLD-Befehl verwenden, um Reportausgabedateien für verschiedene Zwecke zu erstellen:

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 .


Nach oben

x
Syntax: Eine HOLD-Datei erstellen

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:

HOLD
Extrahiert und speichert die Reportausgabe. BINARY ist das Defaultformat, das verwendet wird, wenn der HOLD-Befehl ohne explizite Formatangaben ausgegeben wird. Die Ausgabe wird mit einer assozierten Masterdatei gespeichert.

Hinweis: Ändern Sie das Default-Ausgabeformat zu ALPHA, indem Sie den SET HOLDFORMAT-Befehl ausgeben.

hold_field
Ist der Name des letzten Anzeigefeldes in der Anfrage.
AS filename
Gibt einen Namen für die HOLD-Datei an. Wenn Sie keinen Dateinamen angeben, wird HOLD zum Default. Da nachfolgende HOLD-Befehle die vorherige HOLD-Datei überschreiben, wird empfohlen, in jeder Anfrage einen eindeutigen Dateinamen zu codieren, um die extrahierten Daten an eine separate Datei weiterzuleiten. Damit wird verhindert, dass sie vom nächsten HOLD-Befehl überschrieben werden.

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.

FORMAT fmt
Gibt das Format der HOLD-Ausgabedatei an. BINARY ist das Defaultformat für Reporting Server.
  • Wählen Sie, um sie als Webseite anzuzeigen: HTML, HTMTABLE, DHTML
  • Wählen Sie eines der folgenden Formate, um die Ausgabe als gedrucktes Dokument anzuzeigen: PDF, PS
  • Wählen Sie eines der folgenden Formate, um die Ausgabe in einem Textdokument zu verwenden: ALPHA, DOC, WP

    Darüber hinaus unterstützt Developer Studio: CLIP

  • Wählen Sie eines der folgenden Formate aus, um die Ausgabe in einer Tabellenkalkulationsanwendung zu verwenden: DIF, EXCEL, EXL97, EXL2K [PIVOT], LOTUS, SYLK
  • Wählen Sie eines der folgenden Formate, um die Ausgabe in einer Datenbankanwendung zu verwenden: COMMA, COM, COMT, DB2, DFIX, FOCUS, INGRES, REDBRICK, SQL, SQLDBC, SQLORA, SQLINF, SQLMSS, SQLSYB, SQLODBC, TAB, TABT, XFOCUS

    Darüber hinaus unterstützt Developer Studio: SQLMAC

  • Wählen Sie, um die Ausgabe in einem 3-GL-Programm zu verwenden, das folgende Format aus: INTERNAL
  • Wählen Sie, um die Ausgabe für zusätzliche Reports zu verwenden, eines der folgenden Formate aus: ALPHA, BINARY, FOCUS
  • Wählen Sie, um die Ausgabe als eine Transaktionsdatei zur Änderung einer Datenquelle zu verwenden, eines der folgenden Formate aus: ALPHA, BINARY
  • Wählen Sie für die interaktive Analyse ohne Verbindung zum Server eines der folgenden Formate aus: AHTML, APDF, FLEX

Genaueres über alle verfügbaren Formate finden Sie unter Ausgabedateiformate wählen.

MISSING
Steuert, ob Felder mit dem Attribut MISSING=ON in der Masterdatei in die HOLD-Datei übertragen werden sollen. MISSING ON ist das Default-Attribut. Wenn der HOLD-Befehl MISSING OFF angibt, werden Felder mit dem MISSING-Attribut nicht übertragen. Weitere Informationen zu diesem Thema finden Sie unter Datensätze mit fehlenden Feldwerten verarbeiten. Weitere Informationen finden Sie im Handbuch Reportanwendungen entwickeln für die Parameter SET HOLDMISS, SET NULL und SET HNODATA, die bestimmen, wie fehlende Werte an alphanumerische und Kommabegrenzte Dateien weitergereicht werden.

Nach oben

x
Syntax: Das Default-HOLD-Format einstellen
SET HOLDFORMAT = {BINARY|ALPHA}

oder

ON TABLE SET HOLDFORMAT {BINARY|ALPHA}

Hierbei gilt:

BINARY
Stellt das Default-HOLD-Dateiformat auf BINARY ein.
ALPHA
Stellt das Default-HOLD-Dateiformat auf ALPHA ein.


Beispiel: Daten in eine HOLD-Datei extrahieren

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.


Nach oben

x
Syntax: Eine HOLD-Masterdatei abfragen

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.



Beispiel: Reports mit einer HOLD-Masterdatei erstellen

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