Eine Unterabfragedatei oder eine sequentielle Datei mit HOLD FORMAT SQL_SCRIPT erstellen

Vorgehensweise:

Wenn der Befehl HOLD FORMAT SQL_SCRIPT in einer Anfrage mit einer relationalen Datenquelle verwendet wird, erzeugt er die SQL SELECT-Anweisung, die nötig ist, um die aktuelle Abfrage durchzuführen, und speichert sie im Anwendungsordner als eine Datei mit einer .sql-Erweiterung zusammen mit der Masterdatei und der Zugriffsdatei, die das SQL-Antwortset beschreiben.

Wenn der Befehl HOLD FORMAT SQL_SCRIPT in einer Anfrage mit einem anderen Datenquellentyp verwendet wird, führt er die aktuelle Abfrage aus und speichert die abgerufenen Werte im Anwendungsordner als eine sequentielle Datei mit einer .ftm-Erweiterung zusammen mit der Masterdatei, die die abgerufenen Daten beschreibt.

Sie können die Ausgabe von HOLD FORMAT SQL_SCRIPT als Zieldatei für die Funktion DB_INFILE verwenden. Informationen über die Funktion DB_INFILE finden Sie im Handbuch Funktionen verwenden.

Hinweis: Nachdem Sie die .sql-Datei und die begleitende Masterdatei haben, können Sie die .sql-Datei mit globalen Dialogue Manager-Variablen anpassen. Sie müssen diese globalen Variablen in der Masterdatei festlegen. Informationen dazu, wie Sie Masterdateien mit globalen Variablen parametrisieren, finden Sie im Handbuch Daten beschreibenmit der WebFOCUS-Sprache .


Nach oben

x
Syntax: Eine SQL-Skriptdatei oder sequentielle Datei mit HOLD FORMAT SQL_SCRIPT erstellen
ON TABLE HOLD AS script_name FORMAT SQL_SCRIPT

Hierbei gilt:

script_name

Ist der Name der .sql- oder .ftm-Datei, die als Ergebnis des HOLD FORMAT SQL_SCRIPT-Befehls erstellt wird.



Beispiel: Eine SQL-Skriptdatei mit HOLD FORMAT SQL_SCRIPT erstellen

Die folgende Anfrage mit der relationalen Datenquelle WF_RETAIL erstellt eine SQL-Skriptdatei in der baseapp-Anwendung:

APP HOLD baseapp
TABLE FILE wf_retail
SUM REGION STATECODE
BY REGION NOPRINT BY STATECODE NOPRINT
WHERE REGION EQ 'Central' OR 'NorthEast'
WHERE STATECODE EQ 'AR' OR 'IA' OR 'KS' OR 'KY' OR 'WY' OR 'CT' OR 'MA' OR 'NJ' OR 'NY' OR 'RI'
ON TABLE HOLD AS RETAIL_SCRIPT FORMAT SQL_SCRIPT
END

WF_RETAIL ist eine Musterdatenquelle, die Sie erstellen können, indem Sie auf eine Anwendung in der Reporting Server-Webkonsole rechtsklicken und Neu auswählen und dann Muster im Kontextmenü.

Das Ergebnis dieser Anfrage ist eine Skriptdatei namens retail_script.sql und eine zugehörige Master- und Zugriffsdatei.

Die Datei retail_script.sql enthält die folgende SQL SELECT-Anweisung:

SELECT   MAX(T11."REGION") AS E01,  MAX(T11."STATECODE") AS E02  FROM  wrd_dim_geography T11  WHERE  (T11."STATECODE" IN('AR', 'IA', 'KS', 'KY', 'WY', 'CT', 'MA', 'NJ', 'NY', 'RI')) AND  (T11."REGION" IN('Central', 'NorthEast'))  GROUP BY  T11."REGION", T11."STATECODE"

Die Masterdatei retail_script.mas folgt:

FILENAME=RETAIL_SCRIPT, SUFFIX=DB2     , $
  SEGMENT=RETAIL_SCRIPT, SEGTYPE=S0, $
    FIELDNAME=REGION, ALIAS=E01, USAGE=A15V, ACTUAL=A15V,
      MISSING=ON, $
    FIELDNAME=STATECODE, ALIAS=E02, USAGE=A2, ACTUAL=A2,
      MISSING=ON, $

Die Zugriffsdatei retail_script.acx folgt:

 SEGNAME=RETAIL_SCRIPT, CONNECTION=CON1, DATASET=RETAIL_SCRIPT.SQL, $


Beispiel: Eine sequentielle Datei mit HOLD FORMAT SQL_SCRIPT erstellen

Die folgende Anfrage mit der Datenquelle EMPLOYEE erstellt eine sequentielle Datei, die die Werte enthält, die von der Anfrage zusammen mit einer zugehörigen Masterdatei abgerufen werden:

APP HOLD baseapp 
TABLE FILE EMPLOYEE 
PRINT LAST_NAME FIRST_NAME 
WHERE DEPARTMENT EQ 'MIS' 
ON TABLE HOLD AS EMPVALUES FORMAT SQL_SCRIPT 
END

Die sequentielle Datei empvalues.ftm enthält die folgenden Daten:

SMITH           MARY        JONES           DIANE       MCCOY           JOHN        BLACKWOOD       ROSEMARIE   GREENSPAN       MARY        CROSS           BARBARA     

Die Masterdatei empvalues.mas folgt:

FILENAME=EMPVALUES, SUFFIX=FIX     , IOTYPE=BINARY, $ 
  SEGMENT=EMPVALUE, SEGTYPE=S0, $ 
    FIELDNAME=LAST_NAME, ALIAS=E01, USAGE=A15, ACTUAL=A16, $ 
    FIELDNAME=FIRST_NAME, ALIAS=E02, USAGE=A10, ACTUAL=A12, $

WebFOCUS