Créer un fichier HOLD structuré

Comment :

Référence :

Les fichiers HOLD structurés facilitent la migration de sources de données et de rapports entre environnements d'exploitation.

D'autres formats HOLD capturent les données à partir de sources originales et peuvent conserver certains éléments structurels implicites de la requête elle même. Toutefois, ils ne propagent pas la plupart des informations sur les sources de données originales accédées et leurs inter-relations avec le fichier maître ou la source de données HOLD. Toutefois, les fichiers HOLD structurés, extraient les données vers un structure qui reproduit les sources de données originales. Les requêtes suivantes faites en fonction du fichier HOLD peuvent utiliser ces relations de données conservées pour recréer les mêmes types de relations dans d'autres environnements ou dans d'autres types de sources de données.

Un fichier HOLD structuré peut être créé au format ALPHA, BINARY ou FOCUS :

Dans tous les cas, le fichier HOLD contient toutes les instances de segments originales requises pour fournir le rapport complet en fonction de la requête TABLE elle-même. Indépendamment de la commande d'affichage utilisée dans la requête originale (PRINT, LIST, SUM, COUNT), le fichier HOLD structuré est créé comme si la commande est PRINT. L'agrégation est ignorée.

Le fichier HOLD contient soit tous les champs de la structure identifiée par la requête qui servent à satisfaire la requête ou tous les champs d'affichage et les champs BY. Le fichier ne contient pas les champs DEFINE qui ne sont pas spécifiquement référencés dans la requête. Elle contient tous les champs nécessaires à l'évaluation de tout champ DEFINE référencé dans la requête.

Les fichiers HOLD structurés sont pris en charge uniquement pour les commandes TABLE et TABLEF. Ils peuvent être créés là où un fichier HOLD est pris en charge. Vous devez activer les fichier HOLD structurés dans une requête spécifique en lançant la commande ON TABLE SET EXTRACT dans la requête avant de créer le fichier HOLD structuré.


Haut de page

x
Syntaxe : Activer des fichiers HOLD structurés pour une requête
ON TABLE SET EXTRACT {ON|*|OFF}

où :

ON
active les fichiers HOLD structurés de cette requête et extrait tous les champs mentionnés dans la requête.
*
active les fichiers HOLD structurés de cette requête et indique qu'un bloc d'options d'extraction va suivre. Par exemple, vous pouvez exclure les champs spécifiques du fichier HOLD structuré. Pour plus d'informations, consultez Spécifier des options de génération de fichiers HOLD structurés .
OFF
désactive les fichiers HOLD structurés de cette requête. OFF est la valeur par défaut.

Haut de page

x
Syntaxe : Créer un fichier HOLD structuré

Avant d'émettre la commande HOLD, activez les fichiers HOLD structurés pour la requête en lançant la commande ON TABLE SET EXTRACT décrite dans Activer des fichiers HOLD structurés pour une requête. Puis émettez la commande HOLD pour créer le fichier HOLD structuré :

[ON TABLE] {HOLD|PCHOLD} [AS name] FORMAT {ALPHA|BINARY|FOCUS}

où :

name
est le nom du fichier HOLD. En cas d'omission, le nom devient HOLD par défaut.
FORMAT
est ALPHA, BINARY ou FOCUS.

Remarque : vous pouvez lancer la commande SET pour définir le format HOLD par défaut à ALPHA ou BINARY :

SET HOLDFORMAT=ALPHA
SET HOLDFORMAT=BINARY

Haut de page

x
Syntaxe : Spécifier des options de génération de fichiers HOLD structurés

Pour spécifier des options de création de l'extraction, telles que l'exclusion des champs spécifiques, utilisez l'option * de la commande SET EXTRACT :

ON TABLE SET EXTRACT *
EXCLUDE = (fieldname1, fieldname2, fieldname3 , ..., fieldnamen),$
FIELDS={ALL|EXPLICIT},$
ENDEXTRACT
ON TABLE HOLD AS name FORMAT {ALPHA|BINARY|FOCUS}

où :

EXCLUDE=(fieldname1, fieldname2, fieldname3,..., fieldnamen)
exclut les champs spécifiés du fichier HOLD
,$
est la syntaxe requise pour délimiter des éléments dans le bloc d'extraction.
ALL
inclut tous les champs réels et les champs DEFINE qui servent à exécuter la requête.
EXPLICIT
Inclut uniquement les champs réels et les champs DEFINE qui sont dans la liste d'affichage ou la liste de tri BY. Les champs DEFINE qui ne sont pas explicitement référencés et les champs qui servent à évaluer les DEFINE ne sont pas inclus.
ENDEXTRACT
termine le bloc d'extraction.



Exemple : Créer un fichier HOLD structuré au format ALPHA
TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT ON
ON TABLE HOLD FORMAT ALPHA
END

La requête génère le fichier maître HOLD suivant :

FILENAME=HOLD    , SUFFIX=FIX     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=RECTYPE, ALIAS=R, USAGE=A3, ACTUAL=A3, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, ACTUAL=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, ACTUAL=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10, ACTUAL=A10, $
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, ACTUAL=A06, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=RECTYPE, ALIAS=1, USAGE=A3, ACTUAL=A3, $
    FIELDNAME=SALARY, ALIAS='SAL', USAGE=D12.2M, ACTUAL=A12, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, ACTUAL=A03, $

Notez que le champ RECTYPE généré pour les fichiers HOLD structurés ALPHA ou BINARY. Chaque enregistrement dans le fichier HOLD commence par RECTYPE pour indiquer le segment auquel il appartient dans la structure originale. Le segment racine contient RECTYPE-R. Les RECTYPE des autres segments sont des numéros séquentiels attribués de haut en bas, de gauche à droite.

Voici les premiers enregistrements dans le fichier HOLD :

R  STEVENS        ALFRED    PRODUCTION 25.00
1      11000.00A07
1      10000.00A07
R  SMITH          MARY      MIS        36.00
1      13200.00B14
R  JONES          DIANE     MIS        50.00
1      18480.00B03
1      17750.00B02
R  SMITH          RICHARD   PRODUCTION 10.00
1       9500.00A01
1       9050.00B01


Exemple : Créer un fichier HOLD au format FOCUS
TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT ON
ON TABLE HOLD FORMAT FOCUS
END

La requête génère le fichier maître HOLD suivant :

FILENAME=HOLD    , SUFFIX=FOC     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10, $
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=SALARY, ALIAS='SAL', USAGE=D12.2M, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, $


Exemple : Reconstruction d'un fichier HOLD structuré

La requête suivante reconstitue la source de données FOCUS d'origine du fichier HOLD structuré créé dans Créer un fichier HOLD structuré au format ALPHA :

TABLE FILE HOLD
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT ON
ON TABLE HOLD AS RECONST FORMAT FOCUS
END

La requête génère le fichier maître suivant :

FILENAME=RECONST    , SUFFIX=FOC     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10,
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=SALARY, ALIAS='SAL', USAGE=D12.2M, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, $

La requête suivante imprime la sortie de rapport :

TABLE FILE RECONST
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
END

La sortie est :

DEPARTMENT           SALARY  LAST_NAME        FIRST_NAME  JOBCODE  ED_HRS
----------           ------  ---------        ----------  -------  ------
MIS              $27,062.00  CROSS            BARBARA     A17       45.00
                 $25,775.00  CROSS            BARBARA     A16       45.00
                 $21,780.00  BLACKWOOD        ROSEMARIE   B04       75.00
                 $18,480.00  JONES            DIANE       B03       50.00
                             MCCOY            JOHN        B02         .00
                 $17,750.00  JONES            DIANE       B02       50.00
                 $13,200.00  SMITH            MARY        B14       36.00
                  $9,000.00  GREENSPAN        MARY        A07       25.00
                  $8,650.00  GREENSPAN        MARY        B01       25.00
PRODUCTION       $29,700.00  BANNING          JOHN        A17         .00
                 $26,862.00  IRVING           JOAN        A15       30.00
                 $24,420.00  IRVING           JOAN        A14       30.00
                 $21,120.00  ROMANS           ANTHONY     B04        5.00
                 $16,100.00  MCKNIGHT         ROGER       B02       50.00
                 $15,000.00  MCKNIGHT         ROGER       B02       50.00
                 $11,000.00  STEVENS          ALFRED      A07       25.00
                 $10,000.00  STEVENS          ALFRED      A07       25.00
                  $9,500.00  SMITH            RICHARD     A01       10.00
                  $9,050.00  SMITH            RICHARD     B01       10.00


Exemple : Exclusion de champs de fichiers HOLD structurés

Cette requête exclut le champ SALARY utilisé pour le enchaînement.

TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT *
EXCLUDE=(SALARY),$
ENDEXTRACT
ON TABLE HOLD FORMAT FOCUS
END

La requête génère le fichier maître HOLD suivant :

FILENAME=HOLD   , SUFFIX=FOC     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10, $
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, $

Haut de page

x
Référence : Eléments inclus dans un fichier HOLD structuré

Les fichiers HOLD structurés contiennent toutes les instances de segments originales requises pour compléter la requête TABLE ou TABLEF. Indépendamment de la commande d'affichage utilisée dans la requête originale (PRINT, LIST, SUM, ou COUNT), le fichier HOLD structuré est créé comme si la commande est PRINT.

Spécifiquement, le fichier d'extraction contient les éléments suivants :


Haut de page

x
Référence : Eléments non inclus dans un fichier HOLD structuré

Haut de page

x
Référence : Notes structurelles et de comportement

Notes structurelles

Notes d'optimisation SQL

Notes BY/ACROSS/FOR

Notes de mise en forme

Notes DBA

Reconstituer les fichiers d'extraction


WebFOCUS