Création d'un fichier HOLD

Comment :

Vous pouvez utiliser la commande HOLD pour créer des fichiers de sortie dans le but de faire de nombreuses choses :

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 .


Haut de page

x
Syntaxe : Créer un fichier HOLD

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ù :

HOLD
Extrait et sauvegarde la sortie de rapport. Binaire (BINARY) est le format par défaut utilisé lorsque la commande HOLD est lancée sans format explicite. La sortie est sauvegardée avec un fichier Master associé.

Remarque : vous pouvez changer le format de sortie par défaut à ALPHA en lançant la commande SET HOLDFORMAT.

hold_field
Est le nom du dernier champ d'affichage dans la requête.
AS filename
Spécifie un nom pour le fichier HOLD. Si vous ne spécifiez pas un nom de fichier, HOLD devient le nom par défaut. Comme chaque commande HOLD subséquente écrase le fichier HOLD précédant, il est recommandé de coder un nom de fichier distinct dans chaque requête afin de diriger les données extraites vers un autre fichier, empêchant ainsi l'écrasement du fichier par la prochaine commande HOLD.

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.

FORMAT fmt
Spécifie le format du fichier de sortie HOLD. Binaire (BINARY) est le format par défaut des serveurs de rapports.
  • Pour afficher sous forme de page web, choisissez : HTML, HTMTABLE, DHTML
  • Pour afficher sous forme de document imprimé, choisissez : PDF, PS
  • Pour utiliser le fichier dans un document de texte, choisissez : ALPHA, DOC, WP

    En plus, Developer Studio prend en charge : CLIP

  • Pour utiliser le fichier dans une application de feuille de calcul, choisissez : DIF, EXCEL, EXL97, EXL2K [PIVOT], LOTUS, SYLK, .
  • Pour utiliser le fichier dans une application de base de données, choisissez : COMMA, COM, COMT, DB, FUSION, INGRES, REDBRICK, SQL, SQLDBC, SQLORA, SQLINF, SQLMSS, SQLSYB, SQLODBC, TABT

    En plus, Developer Studio prend en charge : SQLMAC

  • Pour utiliser le fichier avec un programme 3-GL, choisissez : INTERNAL
  • Pour utiliser le fichier pour plus de reporting, choisissez : ALPHA, BINARY, FOCUS
  • Pour utiliser un fichier de transaction pour modifier une source de données, choisissez : ALPHA, BINARY
  • Pour utiliser un fichier d'analyse interactive sans être connecté à un serveur, sélectionnez : AHTML, APDF, FLEX

Pour plus de détails sur tous les formats disponibles, consultez Choix de formats de fichiers de sortie.

MISSING
Détermine si les champs avec l'attribut MISSING=ON dans le fichier Master s'étendent au fichier HOLD. MISSING ON est l'attribut par défaut. Si la commande HOLD spécifie MISSING OFF, les champs avec l'attribut MISSING ne s'étendent pas au fichier HOLD. Pour plus d'informations, consultez Gestion d'enregistrements avec des valeurs de champs manquantes. Vous pouvez aussi conculter le guide Développement d'applications de reporting pour les paramètres SET HOLDMISS, SET NULL et SET HNODATA, qui contrôlent la méthode de propagation des valeurs manquantes vers les fichiers alphanumériques, délimités par une virgule.

Haut de page

x
Syntaxe : Définir le format HOLD par défaut
SET HOLDFORMAT = {BINARY|ALPHA}

ou

ON TABLE SET HOLDFORMAT {BINARY|ALPHA}

où :

BINARY
Met le format du fichier HOLD par défaut à BINARY.
ALPHA
Met le format du fichier HOLD par défaut à ALPHA.


Exemple : Extrait de données vers un fichier HOLD

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.


Haut de page

x
Syntaxe : Interroger un fichier Master 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éé.



Exemple : Reporting contre un fichier Master HOLD

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