L’Option SPUFI

La première option du menu principal de DB2I est SPUFI (SQL Processor Using File Input).

SPUFI est principalement destiné aux programmeurs d’applications qui souhaitent tester les parties SQL de leurs programmes ou aux administrateurs qui souhaitent effectuer des opérations SQL.

SPUFI lit les instructions SQL contenues sous forme de texte dans un fichier séquentiel ou dans un membre d’un PDS, traite ces instructions et place les résultats dans une session de navigation ISPF. En spécifiant les ensembles de données d’entrée et de sortie et en sélectionnant les options appropriées, nous pouvons exécuter des instructions SQL en mode en ligne.

Voici un exemple d’écran SPUFI :

Vous devez entrer le nom de l’ensemble de données d’entrée et le nom de l’ensemble de données de sortie.

Ensemble de données d’entrée :

L’ensemble de données d’entrée doit être alloué avant d’appeler SPUFI. Il peut s’agir d’un membre d’un ensemble de données partitionné ou d’un ensemble de données séquentiel. Cela peut être vide et peut être modifié dans le cadre de la session SPUFI.

Il est recommandé de conserver un ensemble de données partitionné pour garder une trace des instructions SQL utilisées. Le jeu de données d’entrée peut être défini comme un jeu de données fixe et bloqué avec un LRECL de 80.

Les instructions SQL peuvent être écrites dans tous les octets sauf les 8 derniers de chaque enregistrement d’entrée ; cette zone est réservée aux numéros de séquence. Celui-ci peut contenir plusieurs instructions SQL, à condition qu’elles soient séparées par des points-virgules. Les commentaires sont précédés de deux traits d’union. Si le fichier d’entrée contient plusieurs instructions SQL, SPUFI arrête l’exécution de ces instructions dès qu’il rencontre une erreur dans l’une d’entre elles.

Exemples d’instructions SQL dans l’ensemble de données d’entrée comme suit :

-- Afficher la liste des produits avec la catégorie 'SPORT'​

SELECT NOM_PRODUIT, CATEGORIE ​ ​
  FROM PRODUIT​
 WHERE CATEGORIE = 'SPORT';​
Ensemble de données de sortie :

L’ensemble de données de sortie n’a pas besoin d’être alloué avant d’utiliser SPUFI. Si l’ensemble de données de sortie n’existe pas, SPUFI crée un ensemble de données séquentielles bloquées virtuelles avec un LRECL de 4092.

Le fichier de sortie contiendra une séquence de résultats, un pour chaque instruction (y compris le SQLCODE pertinent), suivi d’un résumé de l’exécution globale (y compris, en particulier, une indication quant à laquelle de Commit et Roll Back s’est produite). Certaines valeurs par défaut spécifiques doivent être définies pour l’ensemble de données de sortie.

Lorsque le SQL est exécuté et parcouru, un ensemble de données de sortie comme celui-ci apparaît :

Résultat d’une requête via SPUFI
Autres options:

Après avoir entré le nom de l’ensemble de données d’entrée et le nom de l’ensemble de données de sortie, nous devons spécifier les options suivantes.

CHANGE DEFAULTS : lorsque Y (YES) est spécifié, le panneau des valeurs par défaut SPUFI apparaît comme suit :

Contenu d’un écran TSO du SPUFI DEFAULTS

Options de « CURRENT SPUFI DEFAULTS » :

  1. En règle générale, les valeurs par défaut ne sont modifiées qu’une seule fois, la première fois que quelqu’un utilise SPUFI. ISPF enregistre les valeurs par défaut saisies d’une session à l’autre.
  2. Assurez-vous de spécifier les valeurs par défaut suivantes :
    Isolation Level : réglez toujours cette option sur CS (stabilité du curseur).(Remarque : vous étudierez en détail le niveau d’isolement dans vos prochaines sessions.)
    Max Select Lines : défini sur un nombre approprié. Si nous allons sélectionner parmi de grandes tables qui renvoient plus de 250 lignes, la valeur par défaut d’installation de 250 est insuffisante. SPUFI arrête de renvoyer des lignes après avoir atteint la limite spécifiée et émet un message l’indiquant.
  3. Toutes les autres valeurs par défaut de l’installation sont appropriées. Alors gardez-les tels quels.
  4. EXECUTE : lorsque Y est spécifié, le SQL du fichier d’entrée est lu et exécuté.
  5. AUTOCOMMIT : Lorsque Y est spécifié, un COMMIT est émis automatiquement après l’exécution réussie du SQL dans le fichier d’entrée. Lorsque vous spécifiez N, SPUFI vous demande si un COMMIT doit être émis. Si le COMMIT n’est pas émis, toutes les modifications sont annulées.
  6. BROWSE OUTPUT : Lorsque Y est spécifié, SPUFI vous place dans une session de navigation ISPF pour l’ensemble de données de sortie. Vous pouvez afficher les résultats du SQL qui a été exécuté.

Remarque : Spécifier Y pour toutes ces options (de 6 à 9) à l’exception de Modifier les valeurs par défaut (5) est courant.