Spufi
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 ---------+---------+---------+---------+---------+---------+---------+---------+