Spufi

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 19 juin 2019 à 13:11 et modifiée en dernier par Bob08 (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Spufi

Informations
Développé par IBMVoir et modifier les données sur Wikidata

Spufi (SQL Processing Using File Input) est un logiciel créé par IBM pour s'interfacer avec leur système de gestion de base de données DB2 for z/OS. Il est accessible à partir de TSO/ISPF depuis le menu primaire DB2I.

SPUFI permet l'entrée directe de requêtes SQL dans l'environnement TSO, à l'image d'un client SQL, plutôt que de les intégrer dans un programme.

Utilisation

Bien qu'il s'agisse essentiellement d'un outil interactif, SPUFI fonctionne avec deux datasets (L'équivalent z/OS d'un fichier sur les autres systèmes d'exploitation). Dans l'écran principal de SPUFI (Fig. 1) on spécifie un dataset en entrée (1) et un dataset en sortie (2), ils peuvent être renseignés une fois puis réutilisés autant que désiré.

                           SPUFI                              SSID: DSN   
===>                                                                       
                                                                           
Enter the input data set name:        (Can be sequential or partitioned)   
 1  DATA SET NAME ... ===> 'MON.DATASET.SQLIN'   (1)                           
 2  VOLUME SERIAL ... ===>            (Enter if not cataloged)             
 3  DATA SET PASSWORD ===>            (Enter if password protected)        
                                                                           
Enter the output data set name:       (Must be a sequential data set)      
 4  DATA SET NAME ... ===> 'MON.DATASET.SQLOUT'  (2)                                  
                                                                           
Specify processing options:                                                
 5  CHANGE DEFAULTS   ===> YES        (Y/N - Display SPUFI defaults panel?)
 6  EDIT INPUT ...... ===> YES        (Y/N - Enter SQL statements?)        
 7  EXECUTE ......... ===> YES        (Y/N - Execute SQL statements?)      
 8  AUTOCOMMIT ...... ===> YES        (Y/N - Commit after successful run?) 
 9  BROWSE OUTPUT ... ===> YES        (Y/N - Browse output data set?)      
                                                                           
For remote SQL processing:                                                 
10  CONNECT LOCATION  ===>                                                 

Fig. 1


Une fois l'écran principal validé, l'éditeur ISPF s'ouvre sur le dataset en entrée et permet à l'utilisateur de saisir les requêtes SQL à soumettre. En quittant l'éditeur ISPF, le menu primaire SPUFI réapparaît. Après validation, SPUFI soumet le contenu du dataset. Le résultat est placé dans le dataset de sortie et l'éditeur ISPF s'ouvre en mode "browse" sur ce dataset permettant à l'utilisateur de lire le résultat.

Comme SPUFI utilise des datasets en entrée et en sortie, il est possible de pré-remplir les requêtes SQL et d'utiliser les résultats en édition en accédant indépendamment aux datasets hors de SPUFI. L'utilisation de datasets permet aussi de conserver un historique des requêtes SQL passés.

Exemple

Requête SQL dans le dataset en entrée

Requête avec commentaire.

  File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help            
-------------------------------------------------------------------------------
EDIT       MON.DATASET.SQLIN  - 01.05                      Columns 00001 00072 
Command ===> ________________________________________________ Scroll ===> CSR  
****** ***************************** Top of Data ******************************
000001 -- Afficher la liste des employes du departement 'ACHAT'
000002 
000003   SELECT NOM, PRENOM, AGE 
000004     FROM EMP
000005    WHERE DEPARTEMENT = 'ACHAT'
000006    ORDER BY NOM, PRENOM, AGE;

Résultat dans le dataset en sortie

Résultat type pour cette requête.

   Menu  Utilities  Compilers  Help                                             
 -------------------------------------------------------------------------------
 BROWSE    MON.DATASET.SQLOUT                         Line 00000000 Col 001 080 
 Command ===> ________________________________________________ Scroll ===> CSR  
********************************* Top of Data **********************************
---------+---------+---------+---------+---------+---------+---------+---------+
  SELECT NOM, PRENOM, AGE 
    FROM EMP
   WHERE DEPARTEMENT = 'ACHAT'
   ORDER BY NOM, PRENOM, AGE;
---------+---------+---------+---------+---------+---------+---------+---------+
NOM        PRENOM      AGE                                                                                
---------+---------+---------+---------+---------+---------+---------+---------+
DURIER     JULIEN      28
DURIEUX    SOPHIE      32
DURIN      PIERRE      29
DURMAR     MARC        44
DUROCHER   LOUISE      36
DSNE610I NUMBER OF ROWS DISPLAYED IS 5                                          
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0                     
---------+---------+---------+---------+---------+---------+---------+---------+

Liens externes