Contrôle d'attributs dans les fichiers Master HOLD

Dans cette section :

Les commandes SET ASNAMES, SET HOLDLIST et SET HOLDATTR vous permettent de contrôler les attributs FIELDNAME, TITLE et ACCEPT dans les fichiers Master HOLD. Ces commandes sont lancées avant la requête de rapport et restent actives pendant toute la session, à moins que vous les modifiiez.

En plus, la commande SET HOLDSTAT vous permet d'inclure des commentaires et des informations DbA dans le fichier Master HOLD. Pour en savoir plus sur SET HOLDSTAT, reportez-vous au manuel Description de données en langage WebFOCUS . Pour en savoir plus sur les commandes SET, reportez-vous au manuel Développement d'applications de reporting .


Haut de page

x
Contrôle de noms de champ dans un fichier Master HOLD

Comment :

Référence :

Lorsque SET ASNAMES égale ON ou FOCUS, le littéral spécifié dans une phrase AS dans une requête de rapport est utilisé comme nom de champ dans un fichier Master HOLD. Cette commande contrôle également la façon dont les champs ACROSS sont nommés dans les fichiers HOLD.



x
Syntaxe : Contrôler des noms de champ dans un fichier Master HOLD
SET ASNAMES = [ON|OFF|MIXED|FOCUS]

où :

OFF
N'utilise pas le littéral spécifié dans une phrase AS comme nom de champ dans les fichiers HOLD, et n'influence pas la façon dont les champs ACROSS sont nommés.
ON
écrit le littéral spécifié en majuscules dans une phrase AS et le propage comme nom de champ dans le fichier Master HOLD. Crée des noms pour les champs ACROSS qui se composent de nom valeur AS concaténé au début de la valeur du champ ACROSS et contrôle la façon dont les champs ACROSS sont nommés dans les fichiers HOLD à tout format.
MIXED
utilise le littéral spécifié dans une phrase AS pour le nom du champ, en conservant la casse du nom AS, et crée des noms pour les champs ACROSS qui se composent de nom valeur AS concaténé au début de la valeur de champ ACROSS.
FOCUS
Utilise le littéral spécifié dans une phrase AS comme nom de champ et contrôle la façon dont les champs ACROSS sont nommés seulement dans les fichiers HOLD au format FOCUS. FOCUS est la valeur par défaut.


x
Référence : Notes d'utilisation pour le contrôle de noms de champ dans les fichiers HOLD


Exemple : Contrôle de noms de champ dans un fichier Master HOLD

Dans l'exemple suivant, SET ASNAMES=ON entraîne l'utilisation du texte dans la phrase AS comme noms de champ dans le fichier Master HOLD. Les deux champs dans le fichier Master HOLD, NATION et AUTOMOBILE, comprennent les données relatives à COUNTRY et CAR.

SET ASNAMES=ON
TABLE FILE CAR
PRINT CAR AS 'AUTOMOBILE'
BY COUNTRY AS 'NATION'
ON TABLE HOLD AS HOLD1
END

La requête génère le fichier Master suivant :

FILE=HOLD1, SUFFIX=FIX
 SEGMENT=HOLD1, SEGTYPE=S01,$
  FIELDNAME=NATION      ,ALIAS=E01   ,USAGE=A10  ,ACTUAL=A12     ,$
  FIELDNAME=AUTOMOBILE  ,ALIAS=E02   ,USAGE=A16  ,ACTUAL=A16     ,$


Exemple : Attribution de noms de champ uniques avec SET ASNAMES

La requête suivante génère un fichier Master HOLD avec un nom de champ unique pour SALES et un nom de champ unique pour AVE.SALES. Les champs SALES et AVE.SALES auraient les deux été nommés SALES, si SET ASNAMES n'a pas été utilisé.

SET ASNAMES=ON
TABLE FILE CAR
SUM SALES AND AVE.SALES AS 'AVERAGESALES'
BY CAR
ON TABLE HOLD AS HOLD2
END

La requête génère le fichier Master suivant :

FILE=HOLD2, SUFFIX=FIX
 SEGMENT=HOLD2, SEGTYPE=S01,$
  FIELDNAME=CAR             ,ALIAS=E01  ,USAGE=A16 ,ACTUAL=A16   ,$
  FIELDNAME=SALES           ,ALIAS=E02  ,USAGE=I6  ,ACTUAL=I04   ,$
  FIELDNAME=AVERAGESALES    ,ALIAS=E03  ,USAGE=I6  ,ACTUAL=I04   ,$


Exemple : Utilisation de SET ASNAMES avec la phrase ACROSS

La requête suivante génère un fichier Master HOLD avec le littéral CASH concaténé à chaque valeur de COUNTRY.

SET ASNAMES=ON
TABLE FILE CAR
SUM SALES AS 'CASH'
ACROSS COUNTRY
ON TABLE HOLD AS HOLD3
END

La requête génère le fichier Master suivant :

FILE=HOLD3, SUFFIX=FIX
 SEGMENT=HOLD3, SEGTYPE=S01,$
  FIELDNAME=CASHENGLAND     ,ALIAS=E01   ,USAGE=I6  ,ACTUAL=I04  ,$
  FIELDNAME=CASHFRANCE      ,ALIAS=E02   ,USAGE=I6  ,ACTUAL=I04  ,$
  FIELDNAME=CASHITALY       ,ALIAS=E03   ,USAGE=I6  ,ACTUAL=I04  ,$
  FIELDNAME=CASHJAPAN       ,ALIAS=E04   ,USAGE=I6  ,ACTUAL=I04  ,$
  FIELDNAME=CASHW GERMANY   ,ALIAS=E05   ,USAGE=I6  ,ACTUAL=I04  ,$

Sans la commande SET ASNAMES, chaque champ dans le fichier HOLD s'appelle COUNTRY.

Pour générer des noms de champ pour les valeurs ACROSS à inclure seulement la valeur de champ, utilisez la phrase AS suivie de deux guillemets simples, comme suit :

SET ASNAMES=ON
TABLE FILE CAR
SUM SALES AS ''
ACROSS COUNTRY
ON TABLE HOLD AS HOLD4
END

Voici le fichier Master résultant :

FILE=HOLD4, SUFFIX=FIX
 SEGMENT=HOLD4, SEGTYPE=S0,$
  FIELDNAME=ENGLAND    ,ALIAS=E01   ,USAGE=I6  ,ACTUAL=I04    ,$
  FIELDNAME=FRANCE     ,ALIAS=E02   ,USAGE=I6  ,ACTUALI04     ,$
  FIELDNAME=ITALY      ,ALIAS=E03   ,USAGE=I6  ,ACTUALI04     ,$
  FIELDNAME=JAPAN      ,ALIAS=E04   ,USAGE=I6  ,ACTUALI04     ,$
  FIELDNAME=W GERMANY  ,ALIAS=E05   ,USAGE=I6  ,ACTUALI04     ,$

Haut de page

x
Contrôle de champs dans un fichier Master HOLD

Comment :

Vous pouvez utiliser la commande SET HOLDLIST pour limiter les champs dans les fichiers Master HOLD à ceux qui s'affichent dans une requête.



x
Syntaxe : Contrôler des champs dans un fichier Master HOLD
SET HOLDLIST = {PRINTONLY|ALL|ALLKEYS|EXPLICIT}

où :

PRINTONLY
Indique que seulement les champs qui s'affichent dans le rapport sont compris dans le fichier HOLD généré. Les champs qui ne s'affichent pas dans une requête (ceux désignés comme champs NOPRINT explicitement ou implicitement), ne sont pas compris dans le fichier HOLD.
ALL
Indique que tous les champs d'affichage référencés dans une requête s'affichent dans un fichier HOLD, y compris les valeurs calculées. ALL est la valeur par défaut. OLD peut servir de synonyme de ALL.

Remarque : les champs de tri vertical (BY) spécifiés dans la requête avec l'option NOPRINT ne sont pas inclus dans le fichier HOLD même si HOLDLIST=ALL.

ALLKEYS
Propage tous les champs, y compris les champs NOPRINTed BY.

Le paramètre ALLKEYS permet la mise en cache de toutes les données nécessaires pour la manipulation d'un rapport actif.

EXPLICIT
inclut des champs dans le fichier HOLD ou PCHOLD explicitement omis de la sortie de rapport en utilisant l'option NOPRINT dans la requête, mais n'inclut de champ implicitement NOPRINTed. Par exemple, si un champ est reformaté dans la requête, il existe deux versions du champ, l'une avec le nouveau format et celle avec le format d'origine, implicitement NOPRINTed

Notez que SET HOLDLIST est aussi utilisable depuis une requête TABLE. Lorsqu'elle est utilisée avec MATCH, la commande SET HOLDLIST se comporte toujours comme si HOLDLIST égale ALL.



Exemple : Utilisation de HOLDLIST=ALL

Lorsque HOLDLIST égale ALL, la requête TABLE suivante génère un fichier HOLD comprenant tous les champs spécifiés, y compris les champs NOPRINT et les valeurs calculées avec la commande COMPUTE.

SET HOLDLIST=ALL
 
TABLE FILE CAR
PRINT CAR MODEL NOPRINT
COMPUTE TEMPSEATS=SEATS+1;
BY COUNTRY
ON TABLE HOLD
END
 
? HOLD

La sortie est :

NUMBER OF RECORDS IN TABLE=     18
LINE=          
18
DEFINITION OF HOLD FILE: HOLD
FIELDNAME
ALIAS
FORMAT
 
COUNTRY
E01
A10
CAR
E02
A16
MODEL
E03
A24
SEATS
E04
I3
TEMPSEATS
E05
D12.2


Exemple : Utilisation de HOLDLIST= PRINTONLY

Lorsque HOLDLIST égale PRINTONLY, la requête TABLE suivante génère un fichier HOLD comprenant uniquement les champs pouvant s'afficher dans la sortie de rapport :

SET HOLDLIST=PRINTONLY
 
TABLE FILE CAR
PRINT CAR MODEL NOPRINT
COMPUTE TEMPSEATS=SEATS+1;
BY COUNTRY
ON TABLE HOLD
END
 
? HOLD

La sortie est :

NUMBER OF RECORDS IN TABLE=    18    
LINES=     
18
DEFINITION OF HOLD FILE: HOLD
FIELDNAME
ALIAS
FORMAT
 
COUNTRY
E01
A10
CAR
E02
A16
TEMPSEATS
E03
D12.2


Exemple : Comparer les fichiers Master créés à l'aide des paramètres HOLDLIST différents

La requête suivante contre la source de données GGSALES a deux champs d'affichage reformatés (DOLLARS, UNITS). Le champ DOLLLARS est également un champ NOPRINT explicite. Le champ BY nommé CATEGORY est également un champ NOPRINT explicite :

SET HOLDLIST=ALL
TABLE FILE GGSALES
SUM UNITS/I5 DOLLARS/D12.2 NOPRINT
BY REGION BY CATEGORY NOPRINT
ON TABLE HOLD FORMAT FOCUS
END

L'exécution de la requête avec SET HOLDLIST=ALL génère le fichier Master HOLD suivant. Notez que les champs DOLLARS et UNITS sont inclus deux fois, une fois avec le format d'origine (qui aurait été implicitement NOPRINTed si le rapport avait été imprimé plutôt que maintenu) et une fois avec le nouveau format. Cependant, le champ NOPRINTed BY (CATEGORY) n'est pas inclus :

FILENAME=HOLD, SUFFIX=FOC     , $
  SEGMENT=SEG01, SEGTYPE=S1, $
    FIELDNAME=REGION, ALIAS=E01, USAGE=A11,
      TITLE='Region', DESCRIPTION='Region code', $
    FIELDNAME=UNITS, ALIAS=E02, USAGE=I08,
      TITLE='Unit Sales', DESCRIPTION='Number of units sold', $
    FIELDNAME=UNITS, ALIAS=E03, USAGE=I5,
      TITLE='Unit Sales', $
    FIELDNAME=DOLLARS, ALIAS=E04, USAGE=I08,
      TITLE='Dollar Sales', DESCRIPTION='Total dollar amount of reported sales', $
    FIELDNAME=DOLLARS, ALIAS=E05, USAGE=D12.2,
      TITLE='Dollar Sales', $

L'exécution de la requête avec SET HOLDLIST=ALLKEYS génère le fichier Master HOLD suivant. Notez que les champs DOLLARS et UNITS sont inclus deux fois, une fois avec le format d'origine, qui aurait été implicitement NOPRINTed si le rapport avait été imprimé plutôt que conservé et une fois avec le nouveau format. Le champ NOPRINTed BY (CATEGORY) est inclus :

FILENAME=HOLD, SUFFIX=FOC     , $
  SEGMENT=SEG01, SEGTYPE=S2, $
    FIELDNAME=REGION, ALIAS=E01, USAGE=A11,
      TITLE='Region', DESCRIPTION='Region code', $
    FIELDNAME=CATEGORY, ALIAS=E02, USAGE=A11,
      TITLE='Category', DESCRIPTION='Product category', $
    FIELDNAME=UNITS, ALIAS=E03, USAGE=I08,
      TITLE='Unit Sales', DESCRIPTION='Number of units sold', $
    FIELDNAME=UNITS, ALIAS=E04, USAGE=I5,
      TITLE='Unit Sales', $
    FIELDNAME=DOLLARS, ALIAS=E05, USAGE=I08,
      TITLE='Dollar Sales', DESCRIPTION='Total dollar amount of reported sales', $
    FIELDNAME=DOLLARS, ALIAS=E06, USAGE=D12.2,
      TITLE='Dollar Sales', $

L'exécution de la requête avec SET HOLDLIST=PRINTONLY génère le fichier Master HOLD suivant. Seuls les champs qui auraient été imprimés dans la sortie de rapport sont inclus : REGION et UNITS avec le nouveau format (I5). Tous les champs NOPRINTed affichés explicitement et implicitement sont exclus, y compris le champ NOPRINTed BY (CATEGORY) :

FILENAME=HOLD , SUFFIX=FOC     , $
  SEGMENT=SEG01, SEGTYPE=S1, $
    FIELDNAME=REGION, ALIAS=E01, USAGE=A11,
      TITLE='Region', DESCRIPTION='Region code', $
    FIELDNAME=UNITS, ALIAS=E02, USAGE=I5,
      TITLE='Unit Sales', $

L'exécution de la requête avec SET HOLDLIST=EXPLICIT génère le fichier Master HOLD suivant. Les champs qui auraient été imprimés dans la sortie de rapport sont inclus de même que les champs NOPRINTed affichés explicitement (le champ d'affichage DOLLARS et le champ BY CATEGORY). Les champs NOPRINTed affichés implicitement (DOLLARS et UNITS avec leurs formats originaux) sont omis :

FILENAME=HOLD, SUFFIX=FOC     , $
  SEGMENT=SEG01, SEGTYPE=S2, $
    FIELDNAME=REGION, ALIAS=E01, USAGE=A11,
      TITLE='Region', DESCRIPTION='Region code', $
    FIELDNAME=CATEGORY, ALIAS=E02, USAGE=A11,
      TITLE='Category', DESCRIPTION='Product category', $
    FIELDNAME=UNITS, ALIAS=E03, USAGE=I5,
      TITLE='Unit Sales', $
    FIELDNAME=DOLLARS, ALIAS=E04, USAGE=D12.2,
      TITLE='Dollar Sales', $

Haut de page

x
Contrôle des attributs TITLE et ACCEPT dans le fichier Master HOLD

Comment :

La commande SET HOLDATTR contrôle si les attributs TITLE et ACCEPT dans le fichier Master original sont propagés vers le fichier Master HOLD. SET HOLDATTR n'influence pas la façon dont les champs sont nommés dans le fichier Master HOLD.

Notez que si l'attribut TITLE n'est pas spécifié dans le fichier Master pour un champ dans une source de données, mais qu'il y a une phrase AS spécifiée pour le champ dans une requête de rapport, le champ correspondant dans le fichier HOLD est nommée en fonction de la phrase AS.



x
Syntaxe : Contrôler les attributs TITLE et ACCEPT
SET HOLDATTR =[ON|OFF|FOCUS]

où :

ON
Utilisation de l'attribut TITLE comme il est spécifié dans le fichier Master original des fichiers HOLD à tout format. L'attribut ACCEPT est propagé au fichier Master HOLD uniquement pour les fichiers au format FOCUS.
OFF
N'utilise pas les attributs TITLE et ACCEPT du fichier Master original dans le fichier Master HOLD.
FOCUS
Utilise les attributs TITLE et ACCEPT uniquement pour les fichiers HOLD au format FOCUS. FOCUS est la valeur par défaut.


Exemple : Contrôler les attributs TITLE et ACCEPT dans les fichiers Master HOLD

Dans cet exemple, le fichier Master de la source de données CAR spécifie les attributs TITLE et ACCEPT :

FILENAME=CAR2, SUFFIX=FOC
SEGNAME=ORIGIN, SEGTYPE=S1
  FIELDNAME =COUNTRY, COUNTRY, A10, TITLE='COUNTRY OF ORIGIN',
             ACCEPT='CANADA' OR 'ENGLAND' OR 'FRANCE' OR 'ITALY' OR
                    'JAPAN' OR 'W GERMANY',
             FIELDTYPE=I,$
SEGNAME=COMP, SEGTYPE=S1, PARENT=ORIGIN
  FIELDNAME=CAR, CARS, A16, TITLE='NAME OF CAR',$
.
.
.

En utilisant SET HOLDATTR=FOCUS, la requête suivante

SET HOLDATTR = FOCUS
TABLE FILE CAR2
PRINT CAR
BY COUNTRY ON TABLE HOLD FORMAT FOCUS AS HOLD5
END

génère le fichier Master suivant :

FILE=HOLD5, SUFFIX=FOC
 SEGMENT=SEG01, SEGTYPE=S02
  FIELDNAME=COUNTRY ,USAGE=E01   ,ACTUAL=A10
      TITLE='COUNTRY OF ORIGIN',
      ACCEPT=CANADA ENGLAND FRANCE ITALY JAPAN 'W GERMANY',$
  FIELDNAME=FOCLIST ,USAGE=E02   ,ACTUAL=I5     ,$
  FIELDNAME=CAR     ,USAGE=E03   ,ACTUAL=A16    ,
      TITLE='NAME OF CAR' ,$

WebFOCUS