Comment : |
Vous pouvez utiliser la commande HOLD pour créer des fichiers de sortie dans le but de faire de nombreuses choses :
Le fichier Master de sortie ne contient que les champs dans la requête de rapport. Les champs dans un fichier HOLD ont les noms originaux spécifiés dans le fichier Master qui sont récupérés si le rapport s'affiche ou s'il est imprimé. Vous pouvez changer les noms de champ dans le fichier Master de sortie en utilisant la phrase AS conjointement avec la commande SET ASNAMES. Consultez Contrôle de noms de champ dans un fichier Master HOLD.
Si votre environnement supporte le paramètre SET, SAVEMATRIX, vous pouvez préserver la matrice interne de votre dernier rapport afin qu'elle soit disponible aux commandes HOLD, SAVE et SAVB subséquentes lorsque la requête est suivie par des commandes Dialogue Manager. Pour en savoir plus sur SAVEMATRIX, consultez Développement d'applications de reporting .
Dans une requête de rapport, utilisez
ON TABLE HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]
ou
hold_field HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]
où :
Remarque : vous pouvez changer le format de sortie par défaut à ALPHA en lançant la commande SET HOLDFORMAT.
le nom peut contenir un nombre de caractères s'élevant au maximum de caractères pris en charge par votre système d'exploitation. Pour plus d'informations, consultez la rubrique Nommer un fichier maître dans le manuel Décrire les donnéesEn langage WebFOCUS.
En plus, Developer Studio prend en charge : CLIP
En plus, Developer Studio prend en charge : SQLMAC
Pour plus de détails sur tous les formats disponibles, consultez Choix de formats de fichiers de sortie.
SET HOLDFORMAT = {BINARY|ALPHA}
ou
ON TABLE SET HOLDFORMAT {BINARY|ALPHA}
où :
La requête suivante extrait des données de la source de données EMPLOYEE et crée un fichier HOLD.
TABLE FILE EMPLOYEE SUM CURR_SAL AND ED_HRS BY DEPARTMENT LIST CURR_SAL AND ED_HRS AND BANK_ACCT BY DEPARTMENT BY LAST_NAME BY FIRST_NAME ON TABLE HOLD END
Le message suivant s'affiche :
NUMBER OF RECORDS IN TABLE= 12 LINES= 12
Pour afficher le rapport généré par cette requête, lancez une requête de rapport avec un fichier HOLD.
Conseil : si vous souhaitez afficher les informations dans le fichier maître avant de les utiliser pour créer un rapport, vous pouvez lancer la commande d'interrogation HOLD.
Si l'option de format HOLD que vous sélectionnez crée un fichier Master, vous pouvez lancer la commande suivante pour afficher les champs, alias et formats dans le fichier Master HOLD :
? HOLD
Cette commande affiche des noms de champ comptant jusqu'à 32 caractères. Si un nom de champ dépasse 32 caractères, un caret (>) à la 32ième position indique un nom de champ plus long.
Si vous avez renommé le fichier HOLD en utilisant AS filename, utilisez la syntaxe suivante :
? HOLD filename
Conseil : vous devez lancer l'interrogation HOLD lors de la même session dans laquelle le fichier HOLD est créé.
Dans le fichier HOLD suivant, les formats affichés sont les valeurs de l'attribut FORMAT. Vous pouvez afficher les valeurs de l'attribut ACTUAL en affichant le fichier Master HOLD au moyen de TED ou de tout éditeur de texte. Les formats USAGE et ACTUAL appliqués aux champs de texte ne spécifient que la longueur de la première ligne de chaque enregistrement logique dans un fichier HOLD. Le format USAGE est le même que le format de champ du fichier Master original. Le format ACTUAL est arrondi à une frontière de mot complète (interne), de la même façon que les champs alphanumériques.
La requête suivante comprend la commande d'interrogation HOLD, qui affiche les champs, alias et formats dans le fichier Master associé et qui crée un fichier HOLD.
TABLE FILE EMPLOYEE SUM CURR_SAL AND ED_HRS BY DEPARTMENT LIST CURR_SAL AND ED_HRS AND BANK_ACCT BY DEPARTMENT BY LAST_NAME BY FIRST_NAME ON TABLE HOLD END ? HOLD
La sortie est :
NUMBER OF RECORDS IN TABLE= 12 | LINES= | 12 | ||
DEFINITION OF HOLD FILE: HOLD | ||||
FIELDNAME | ALIAS | FORMAT | ||
DEPARTMENT | E01 | A10 | ||
CURR_SAL | E02 | D12.2M | ||
ED_HRS | E03 | F6.2 | ||
LAST_NAME | E04 | A15 | ||
FIRST_NAME | E05 | A10 | ||
LIST | E06 | I5 | ||
CURR_SAL | E07 | D12.2M | ||
ED_HRS | E08 | F6.2 | ||
BANK_ACCT | E09 | I9S |
Vous pouvez maintenant lancer la requête de rapport suivante contre le fichier HOLD :
TABLE FILE HOLD PRINT E07 AS 'SALARY OF,EMPLOYEE' AND LAST_NAME AND FIRST_NAME BY HIGHEST E03 AS 'TOTAL,DEPT,ED_HRS' BY E01 BY HIGHEST E08 AS 'EMPLOYEE,ED_HRS' END
La sortie est :
TOTAL DEPT EMPLOYEE SALARY OF ED_HRS DEPARTMENT ED_HRS EMPLOYEE LAST_NAME FIRST_NAME ------ ---------- -------- --------- --------- ---------- 231.00 MIS 75.00 $21,780.00 BLACKWOOD ROSEMARIE 50.00 $18,480.00 JONES DIANE 45.00 $27,062.00 CROSS BARBARA 36.00 $13,200.00 SMITH MARY 25.00 $9,000.00 GREENSPAN MARY .00 $18,480.00 MCCOY JOHN 120.00 PRODUCTION 50.00 $16,100.00 MCKNIGHT ROGER 30.00 $26,862.00 IRVING JOAN 25.00 $11,000.00 STEVENS ALFRED 10.00 $9,500.00 SMITH RICHARD 5.00 $21,120.00 ROMANS ANTHONY .00 $29,700.00 BANNING JOHN
WebFOCUS |