Cómo controlar atributos en archivos máster HOLD

En esta sección:

Los comandos SET ASNAMES, SET HOLDLIST y SET HOLDATTR le permiten controlar los atributos FIELDNAME, TITLE y ACCEPT en archivos máster HOLD. Estos comandos se emiten antes de la solicitud de informe y permanecen activos durante la sesión, siempre que no los modifique.

Además, el comando SET HOLDSTAT le permite incluir comentarios e información DBA en el archivo máster HOLD. Para más información sobre SET HOLDSTAT, consulte el manual Cómo describir datos con el lenguaje WebFOCUS. . Para más detalles sobre comandos SET, consulte el manual Cómo desarrollar aplicaciones de informes .


Principio de página

x
Cómo controlar nombres de campo en un archivo máster

Cómo:

Referencia:

Cuando SET ASNAMES está activado, se emplea el literal, MIXED o FOCUS, especificado en una frase AS de una solicitud de informe como nombre de campo en un archivo máster HOLD. Este comando también controla los nombres de campos ACROSS en archivos HOLD.



x
Sintaxis: Cómo Controlar nombres de campo en un archivo máster
SET ASNAMES = [ON|OFF|MIXED|FOCUS]

donde:

OFF
No utiliza el literal especificado en una frase AS como nombre de campo en archivos HOLD y no afecta la manera en que se pone nombre a los campos ACROSS.
ON
Convierte el literal especificado en la frase AS a mayúsculas y lo propaga como nombre del campo en el archivo máster HOLD. Crea nombres para campos ACROSS que constan de un valor de nombre AS, concatenado al principio del valor del campo ACROSS, y controlan la nomenclatura de los campos ACROSS en archivos HOLD de cualquier formato.
MIXED
Emplea el literal especificado para el nombre de campo en una frase AS, reteniendo el uso de mayúsculas y minúsculas del nombre AS, y genera nombres para los campos ACROSS que constan del mismo valor de nombre AS, concatenado al principio del valor del campo ACROSS.
FOCUS
Utiliza el literal especificado en una frase AS como el nombre de campo y controla la manera en que se nombran los campos ACROSS solamente en archivos HOLD en formato FOCUS. FOCUS es el valor predeterminado.


x
Referencia: Notas sobre cómo controlar nombres de campo en archivos HOLD


Ejemplo: Cómo controlar nombres de campo en un archivo máster

En el siguiente ejemplo, SET ASNAMES=ON hace que se use el texto en la frase AS como nombres de campo en el archivo máster HOLD1. Los dos campos en el archivo máster HOLD1, NATION y AUTOMOBILE, contienen los datos para COUNTRY y CAR.

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

Esta solicitud genera el siguiente archivo máster:

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


Ejemplo: Cómo dar nombres distintivos con SET ASNAMES

La siguiente solicitud genera un archivo máster HOLD con un nombre de campo distintivo para SALES y uno para AVE.SALES. Tanto SALES como AVE.SALES se llamarán SALES si no se hubiera utilizado SET ASNAMES.

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

Esta solicitud genera el siguiente archivo máster:

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   ,$


Ejemplo: Cómo utilizar SET ASNAMES con una frase ACROSS

La siguiente solicitud genera un archivo máster HOLD con el literal CASH concatenado a cada valor de COUNTRY.

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

Esta solicitud genera el siguiente archivo máster:

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  ,$

Sin el comando SET ASNAMES, cada campo en el HOLD FILE se llama COUNTRY.

Para generar nombres de campos para valores ACROSS que incluyan solamente el valor de campo, utilice la frase AS seguida de dos comillas simples, como se muestra a continuación:

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

El archivo máster resultante tiene el siguiente aspecto:

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     ,$

Principio de página

x
Cómo controlar campos en un archivo máster HOLD

Cómo:

Puede utilizar el comando SET HOLDLIST para restringir los campos en los archivos máster HOLD sólo a aquellos que aparecen en una solicitud.



x
Sintaxis: Cómo Controlar campos en un archivo HOLD
SET HOLDLIST = {PRINTONLY|ALL|ALLKEYS|EXPLICIT}

donde:

PRINTONLY
Especifica que sólo aquellos campos que aparecerían en el informe se incluyan en el archivo HOLD generado. Los campos no mostrados en una solicitud (designados como campos NOPRINT, explícita o implícitamente) no están incluidos en el archivo HOLD.
prefijo ALL
Especifica que todos los campos de visualización mencionados en una solicitud aparezcan en un archivo HOLD, incluyendo los valores calculados. ALL es el valor predeterminado. Se puede utilizar OLD como sinónimo de ALL.

Nota: Los campos de clasificación vertical (BY), especificados en la solicitud con la opción NOPRINT, no están incluidos en el archivo HOLD, aun cuando HOLDLIST=ALL.

ALLKEYS
Propaga todos los campos, incluidos los campos NOPRINTed BY.

La propiedad ALLKEYS permite guardar todos los datos necesarios para manipular un informe activo, en la caché.

EXPLICIT
Incluye los campos de los archivos HOLD y PCHOLD omitidos explícitamente en la salida del informe, por medio de la opción NOPRINT en la solicitud, pero no aquellos designados con un NOPRINT explícito. Por ejemplo, si se modifica el formato de un campo en la solicitud, habrá dos versiones del campo, la versión con el formato nuevo y la del formato original, designado con un NOPRINT implícito.

Tenga en cuenta que también se puede emitir SET HOLDLIST desde dentro de una solicitud TABLE. Cuando se utiliza con MATCH, SET HOLDLIST siempre se comporta como si HOLDLIST estuviera ajustado para ALL.



Ejemplo: Cómo utilizar HOLDLIST=ALL

Cuando HOLDLIST ha sido ajustado a ALL, la siguiente solicitud TABLE genera un archivo HOLD que contiene todos los campos especificados, incluyendo campos NOPRINT y valores calculados con el comando COMPUTE.

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

La salida es:

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


Ejemplo: Cómo utilizar HOLDLIST= PRINTONLY

Cuando HOLDLIST ha sido ajustado a PRINTONLY, la siguiente solicitud TABLE genera un archivo HOLD que contiene solamente campos que aparecerían en salida de informe:

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

La salida es:

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


Ejemplo: Cómo comparar archivos máster creados mediante distintas propiedades HOLDLIST

La siguiente solicitud, basada en el origen de datos GGSALES, tiene dos campos de visualización (DOLLARS, UNITS) cuyo formato ha sido modificado. Además, el campo DOLLARS también es un campo NOPRINT. El campo BY llamado CATEGORY también se trata de un campo NOPRINT explícito:

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

Si ejecuta la solicitud con SET HOLDLIST=ALL, se genera el siguiente archivo máster HOLD. Tenga en cuenta que los campos DOLLARS y UNITS se han incluido dos veces, una con el formato original (designado implícitamente como NOPRINT, si el informe se hubiese imprimido en lugar de retenido) y otra con el formato nuevo. Sin embargo, el campo BY designado como NOPRINT (CATEGORY) no está incluido:

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', $

Si ejecuta la solicitud con SET HOLDLIST=ALLKEYS, se genera el siguiente archivo máster HOLD. Tenga en cuenta que los campos DOLLARS y UNITS se han incluido dos veces, una con el formato original, designado implícitamente como NOPRINT, si el informe se hubiese imprimido en lugar de retenido, y otra con el formato nuevo. Sin embargo, el campo BY designado como NOPRINT (CATEGORY) está incluido:

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', $

Si ejecuta la solicitud con SET HOLDLIST=PRINTONLY, se genera el siguiente archivo máster HOLD. Los únicos campos que hubieran aparecido realmente en la salida del informe están incluidos: REGIONS y UNITS, con el formato nuevo (I5). Se excluyen todos los campos NOPRINT explícitos e implícitos, incluido el campo 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', $

Si ejecuta la solicitud con SET HOLDLIST=EXPLICIT, se genera el siguiente archivo máster HOLD. Los campos que hubieran aparecido realmente en la salida del informe están incluidos y, por tanto, son campos NOPRINT explícitos (el campo de visualización DOLLARS y el campo BY CATEGORY). Los campos NOPRINT implícitos (DOLLARS y UNITS en su formato original) quedan omitidos:

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', $

Principio de página

x
Cómo controlar los atributos TITLE y ACCEPT en el archivo máster HOLD

Cómo:

El comando SET HOLDATTR controla si los atributos TITLE y ACCEPT en el archivo máster original se propagan al archivo máster HOLD. SET HOLDATTR no afecta la manera en que se nombran los campos en el archivo máster HOLD.

Tenga en cuenta que si un campo en un origen de datos carece del atributo TITLE especificado en el archivo máster, pero existe una frase AS especificada para el campo en una solicitud de informe, el campo correspondiente en el archivo HOLD se nombra de acuerdo con la frase AS.



x
Sintaxis: Cómo Controlar los atributos TITLE y ACCEPT
SET HOLDATTR =[ON|OFF|FOCUS]

donde:

ON
Utiliza el atributo TITLE tal como se especifica en el archivo máster original en archivos HOLD en cualquier formato. El atributo ACCEPT se propaga al archivo máster HOLD sólo cuando se trata de archivos HOLD en formato FOCUS.
OFF
No usa los atributos TITLE o ACCEPT desde el archivo máster original en el archivo máster HOLD.
FOCUS
Usa los atributos TITLE y ACCEPT sólo para los archivos HOLD en formato FOCUS. FOCUS es el valor predeterminado.


Ejemplo: Cómo controlar los atributos TITLE y ACCEPT en un archivo máster HOLD

En este ejemplo, el archivo máster para el origen de datos CAR especifica los atributos TITLE y 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',$
.
.
.

Con SET HOLDATTR=FOCUS, la solicitud siguiente

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

genera este archivo máster HOLD:

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