Lire les valeurs de sélection d'un fichier

Comment :

Référence :

Au lieu de saisir des valeurs de test dans une phrase WHERE ou IF, vous pouvez les stocker dans un fichier et faire référence au fichier dans la requête de rapport. Vous pouvez, par la suite sélectionner des enregistrements selon des tests d'égalité ou d'inégalité effectués sur les valeurs stockées dans le fichier.

Cette méthode vous offre les avantages suivants :


Haut de page

x
Syntaxe : Lire la sélection de valeurs à partir d'un fichier : WHERE champ IN fichier
WHERE [NOT] fieldname IN FILE file

où :

fieldname
Est le nom du champ d'entrée. Il peut être tout champ réel ou temporaire dans la source de données.
file
Est le nom du fichier

Il s'agit du ddname attribué par une commande DYNAM ou TSO ALLOCATE pour z/OS.

Pour plus d'informations, consultez Notes d'utilisation à prendre en compte lors de la lecture de valeurs d'un fichier.


Haut de page

x
Syntaxe : Lire la sélection de valeurs à partir d'un fichier : opérateur de champ WHERE (fichier)
WHERE field1 operator1 (file1) [{OR|AND} field2 operator2 (file2) ... ]

où :

field1, field2

Est tout nom de champ ou alias valide.

operator1, operator2

Peut s'agir de l'opérateur EQ, IS, NE, ou IS-NOT.

file1, file1

Sont les noms des fichiers.

Il s'agit des ddnames attribués par une commande DYNAM ou TSO ALLOCATE pour z/OS.


Haut de page

x
Syntaxe : Lire les valeurs de sélection d'un fichier : IF
IF fieldname operator (file) [OR (file) ... ]

où :

fieldname
est tout nom ou alias de champ valides.
opérateur
Indique l'opérateur EQ, IS, NE ou IS-NOT (consultez Opérateurs pris en charge avec les tests WHERE et IF).
file
Est le nom du fichier

Il s'agit du ddname attribué par une commande DYNAM ou TSO ALLOCATE pour z/OS.


Haut de page

x
Référence : Notes d'utilisation à prendre en compte lors de la lecture de valeurs d'un fichier

Afin de pouvoir lire des critères de sélection dans un fichier, le fichier doit se conformer aux règles suivantes :



Exemple : Lire la sélection de valeurs à partir d'un fichier (WHERE champ IN fichier)

Créez un fichier appelé EXPER, qui contient les valeurs B141 et B142.

Cette requête utilise des critères de sélection du fichier EXPER. Tous les enregistrements pour lesquels le champ PRODUCT_ID a une valeur de B141 ou de B142 sont sélectionnés :

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

Si vous incluez les critères de sélection directement après la requête, la phrase WHERE spécifie les valeurs explicitement :

WHERE PRODUCT_DESCRIPTION EQ 'B141' or 'B142'

La sortie est :

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


Exemple : Lire les valeurs de sélection d'un fichier Avec l'opérateur de champ WHERE (fichier)

La requête suivante contre la source de données GGPRODS crée un fichier HOLD nommé EXPER1 qui contient les IDs des produits B141, B142, B143, et B144.

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                                                       

La requête suivante contre la source de données GGPRODS crée un fichier HOLD nommé EXPER2 qui contient les IDs des produits B144, F101, et F102.

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                                                       

La requête suivante sélectionne les valeurs qui existent dans EXPER1 et EXPER2.

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                                                    

La sortie est :

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


Exemple : Lire les valeurs de sélection d'un fichier (IF)

Créez un fichier appelé EXPER, qui contient les valeurs B141 et B142.

Cette requête utilise des critères de sélection du fichier EXPER. Tous les enregistrements pour lesquels le champ PRODUCT_ID a une valeur de B141 ou de B142 sont sélectionnés :

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

Si vous incluez les critères de sélection directement dans la requête, la phrase IF spécifie les valeurs explicitement :

IF PRODUCT_DESCRIPTION EQ 'B141' or 'B142'

La sortie est :

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

WebFOCUS