Comment : |
Lorsqu'elle est utilisée dans une requête contre une source de données relationnelle, la commande HOLD FORMAT SQL_SCRIPT génère l'instruction SQL SELECT nécessaire pour exécuter la requête en cours et la stocke dans le dossier de l'application comme fichier avec une extension .sql ainsi que la paire Fichier maîte et Fichier d'accès qui décrit l'ensemble de réponses SQL.
Lorsqu'elle est utilisée dans une requête contre un autre type de source de données, la commande HOLD FORMAT SQL_SCRIPT exécute la requête en cours et stocke les valeurs récupérées dans le dossier de l'application comme fichier séquentiel avec une extension .ftm ainsi que le fichier maître qui décrit les données récupérées.
Vous pouvez utiliser la sortie de HOLD FORMAT SQL_SCRIPT comme fichier cible pour la fonction DB_INFILE. Pour plus d'informations sur la fonction DB_INFILE, consultez le manuel Utiliser les fonctions.
Remarque : une fois que vous disposez du fichier .sql et de son fichier maître d'accompagnement, vous pouvez personnaliser le fichier .sql avec des variables globales du Gestionnaire de dialogue. Vous devez déclarer ces variables globales dans le fichier maître. Pour plus d'informations sur le paramétrage des fichiers maîtres avec des variables globales, consutlez le manuel Description des données en langage WebFOCUS .
ON TABLE HOLD AS script_name FORMAT SQL_SCRIPT
où :
Est le nom du fichier .sql ou le fichier .ftm créé à la suite de la commande HOLD FORMAT SQL_SCRIPT.
La requête suivante contre la source données relationnelle WF_RETAIL crée un fichier script SQL dans l'application baseapp :
APP HOLD baseapp TABLE FILE wf_retail SUM REGION STATECODE BY REGION NOPRINT BY STATECODE NOPRINT WHERE REGION EQ 'Central' OR 'NorthEast' WHERE STATECODE EQ 'AR' OR 'IA' OR 'KS' OR 'KY' OR 'WY' OR 'CT' OR 'MA' OR 'NJ' OR 'NY' OR 'RI' ON TABLE HOLD AS RETAIL_SCRIPT FORMAT SQL_SCRIPT END
WF_RETAIL est un exemple de source de données que vous pouvez créer en effectuant un clic droit sur une application sur la console Web du serveur de rapports et en sélectionnant Nouveau puis Exemples à partir du menu contextuel.
Le résultat de cette requête est un fichier script nommé retail_script.sql et un fichier maître et d'accès correspondants.
Le fichier retail_script.sql contient l'instruction SQL SELECT suivante :
SELECT MAX(T11."REGION") AS E01, MAX(T11."STATECODE") AS E02 FROM wrd_dim_geography T11 WHERE (T11."STATECODE" IN('AR', 'IA', 'KS', 'KY', 'WY', 'CT', 'MA', 'NJ', 'NY', 'RI')) AND (T11."REGION" IN('Central', 'NorthEast')) GROUP BY T11."REGION", T11."STATECODE"
Le fichier maître retail_script.mas suit :
FILENAME=RETAIL_SCRIPT, SUFFIX=DB2 , $ SEGMENT=RETAIL_SCRIPT, SEGTYPE=S0, $ FIELDNAME=REGION, ALIAS=E01, USAGE=A15V, ACTUAL=A15V, MISSING=ON, $ FIELDNAME=STATECODE, ALIAS=E02, USAGE=A2, ACTUAL=A2, MISSING=ON, $
Le fichier d'accès retail_script.acx suit :
SEGNAME=RETAIL_SCRIPT, CONNECTION=CON1, DATASET=RETAIL_SCRIPT.SQL, $
La requête suivante contre la source de données EMPLOYEE crée un fichier séquentiel contenant les valeurs récupérées par la requête avec un fichier maître correspondant :
APP HOLD baseapp TABLE FILE EMPLOYEE PRINT LAST_NAME FIRST_NAME WHERE DEPARTMENT EQ 'MIS' ON TABLE HOLD AS EMPVALUES FORMAT SQL_SCRIPT END
Le fichier séquentiel empvalues.ftm comprend les données suivantes :
SMITH MARY JONES DIANE MCCOY JOHN BLACKWOOD ROSEMARIE GREENSPAN MARY CROSS BARBARA
Le fichier maître empvalues.ftm suit :
FILENAME=EMPVALUES, SUFFIX=FIX , IOTYPE=BINARY, $ SEGMENT=EMPVALUE, SEGTYPE=S0, $ FIELDNAME=LAST_NAME, ALIAS=E01, USAGE=A15, ACTUAL=A16, $ FIELDNAME=FIRST_NAME, ALIAS=E02, USAGE=A10, ACTUAL=A12, $
WebFOCUS |