Auswahlwerte aus einer Datei lesen

Vorgehensweise:

Referenz:

Sie können literale Testwerte, anstatt sie in eine WHERE- oder IF-Phrase einzugeben, in einer Datei speichern und auf die Datei in der Reportanfrage verweisen. Sie können dann Datensätze basierend auf Gleichheits- oder Ungleichheitstests, die mit den Werten, die in der Datei gespeichert sind, durchgeführt wurden, auswählen.

Diese Methode hat folgende Vorteile:


Nach oben

x
Syntax: Auswählwerte aus einer Datei lesen: WHERE field IN file
WHERE [NOT] fieldname IN FILE file

Hierbei gilt:

fieldname
Ist der Name des Auswahlfeldes. Dies kann ein reales Feld oder ein Temporärfeld in der Datenquelle sein.
file
Ist der Name der Datei.

Dies ist der ddname, der zugewiesen wird von einem DYNAM- oder TSO ALLOCATE-Befehl für z/OS.

Weitere Informationen zu diesem Thema finden Sie unter Verwendungshinweise für das Lesen von Werten aus einer Datei.


Nach oben

x
Syntax: Auswählwerte aus einer Datei lesen: WHERE field operator (file)
WHERE field1 operator1 (file1) [{OR|AND} field2 operator2 (file2) ... ]

Hierbei gilt:

field1, field2

Sind gültige Feldnamen oder Aliase.

operator1, operator2

Kann einer der folgenden Operatoren sein: EQ, IS, NE oder IS-NOT.

file1, file1

Sie die Namen der Dateien.

Dies sind die ddnames, die zugewiesen werden von einem DYNAM- oder TSO ALLOCATE-Befehl für z/OS.


Nach oben

x
Syntax: Auswahlwerte aus einer Datei lesen: IF
IF fieldname operator (file) [OR (file) ... ]

Hierbei gilt:

fieldname
Ist ein beliebiger gültiger Feldname oder Alias.
Operator
Ist der Operator EQ, IS, NE oder IS-NOT (siehe Für WHERE- und IF-Tests unterstützte Operatoren).
file
Ist der Name der Datei.

Dies ist der ddname, der zugewiesen wird von einem DYNAM- oder TSO ALLOCATE-Befehl für z/OS.


Nach oben

x
Referenz: Verwendungshinweise für das Lesen von Werten aus einer Datei

Die Datei muss die folgenden Regeln erfüllen, damit aus ihr Auswahlkriterien gelesen werden können:



Beispiel: Auswählwerte aus einer Datei lesen (WHERE field IN file)

Erstellen Sie eine Datei namens EXPER, die die Werte B141 und B142 enthält.

Diese Anfrage verwendet Auswahlkriterien aus der EXPER-Datei. Alle Datensätze, in denen der Wert für PRODUCT_ID B141 oder B142 ist, werden ausgewählt:

TABLE FILE GGPRODS
SUM UNIT_PRICE
BY PRODUCT_DESCRIPTION
WHERE PRODUCT_ID IN FILE EXPER
END

Wenn Sie die Auswahlkriterien direkt in die Anfrage aufnehmen, gibt die WHERE-Phrase die Werte explizit an:

WHERE PRODUCT_DESCRIPTION EQ 'B141' or 'B142'

Die Ausgabe ist:

                     Unit 
Product              Price
-------              -----
French Roast         81.00
Hazelnut             58.00


Beispiel: Auswahlwerte aus einer Datei lesen mit WHERE field operator (file)

Die folgende Anfrage mit der GGPRODS-Datenquelle erstellt eine HOLD-Datei namens EXPER1, die die Produkt-IDs B141, B142, B143 und B144 enthält.

TABLE FILE GGPRODS                                        
BY PRODUCT_ID BY PRODUCT_DESCRIPTION                      
WHERE PRODUCT_ID EQ 'B141' OR 'B142' OR 'B143' OR 'B144'
ON TABLE HOLD AS EXPER1 FORMAT ALPHA                    
END                                                       

Die folgende Anfrage mit der GGPRODS-Datenquelle erstellt eine HOLD-Datei namens EXPER2, die die Produkt-IDs B144, F101 und F102 enthält.

TABLE FILE GGPRODS                                        
BY PRODUCT_ID BY PRODUCT_DESCRIPTION                      
WHERE PRODUCT_ID EQ 'B144' OR 'F101' OR 'F102'
ON TABLE HOLD AS EXPER2 FORMAT ALPHA                    
END                                                       

Die folgende Anfrage wählt die Werte aus, die in EXPER1 AND EXPER2 vorhanden sind.

TABLE FILE GGPRODS                                     
SUM PRODUCT_DESCRIPTION                                
BY PRODUCT_ID                                          
WHERE PRODUCT_ID EQ (EXPER1) AND PRODUCT_ID IS (EXPER2)
ON TABLE SET PAGE NOPAGE
END                                                    

Die Ausgabe ist:

Product         
Code     Product
-------  -------
B144     Kona   


Beispiel: Auswahlwerte aus einer Datei lesen (IF)

Erstellen Sie eine Datei namens EXPER, die die Werte B141 und B142 enthält.

Diese Anfrage verwendet Auswahlkriterien aus der EXPER-Datei. Alle Datensätze, in denen der Wert für PRODUCT_ID B141 oder B142 ist, werden ausgewählt:

TABLE FILE GGPRODS
SUM UNIT_PRICE
BY PRODUCT_DESCRIPTION
IF PRODUCT_ID IS (EXPER)
END

Wenn Sie die Auswahlkriterien direkt in die Anfrage aufnehmen, gibt die IF-Phrase die Werte explizit an:

IF PRODUCT_DESCRIPTION EQ 'B141' or 'B142'

Die Ausgabe ist:

                     Unit 
Product              Price
-------              -----
French Roast         81.00
Hazelnut             58.00

WebFOCUS