Cómo crear un archivo HOLD

Cómo:

Puede utilizar el comando HOLD para crear archivos de salida de informe con toda una serie de propósitos:

Si su entorno admite el parámetro SET SAVEMATRIX, puede conservar la matriz interna de su último informe para mantenerla a disposición de comandos HOLD, SAVE y SAVB posteriores, cuando la solicitud vaya seguida de comandos de Dialogue Manager. Para más detalles sobre SAVEMATRIX, consulte el manual Cómo desarrollar aplicaciones de informes .


Principio de página

x
Sintaxis: Cómo Crear un archivo HOLD

Desde una solicitud de informe, utilice

ON TABLE HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]

o

hold_field HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]

donde:

HOLD
Extrae y guarda la salida de informe. BINARY es el formato predeterminado utilizado cuando se emite el comando HOLD sin un formato específico. La salida se guarda con un archivo maestro asociado.

Nota: Para cambiar el formato de salida predeterminado a ALPHA, emita el comando SET HOLDFORMAT.

hold_field
Es el nombre del último campo de visualización en la solicitud.
AS filename
Especifica un nombre para el archivo HOLD. Si no especifica un nombre de archivo, HOLD se convierte en el predeterminado. Dado que cada comando HOLD posterior anula el archivo HOLD anterior, se recomienda codificar un nombre de archivo distinto en cada solicitud para dirigir los datos extraídos a un archivo diferente, con lo que se evita que lo anule el próximo comando HOLD.

el nombre puede tener el número máximo de caracteres permitido por su sistema operativo. Para más información, consulte la sección Cómo nombrar un archivo máster en el manual Cómo describir datos con el lenguaje WebFOCUS.

FORMAT fmt
Especifica el formato del archivo de salida HOLD. BINARY es el formato predeterminado para servidores de informes.
  • Para mostrar como página web, elija: HTML, HTMTABLE, DHTML
  • Para mostrar como documento impreso, elija: PDF, PS
  • Para utilizarlo en un documento de texto, elija: ALPHA, DOC, WP

    Además, Developer Studio admite: CLIP

  • Para utilizarlo en una aplicación de hoja de estilo, elija: DIF, EXCEL, EXL97, EXL2K [PIVOT], LOTUS, SYLK
  • Para utilizarlo en una aplicación de base de datos, elija: COMMA, COM, COMT, DB2, DFIX, FOCUS, INGRES, REDBRICK, SQL, SQLDBC, SQLORA, SQLINF, SQLMSS, SQLSYB, SQLODBC, TAB, TABT, XFOCUS

    Además, Developer Studio admite: SQLMAC

  • Para utilizarlo con un programa 3-GL, elija: INTERNAL
  • Para utilizarlo para informes adicionales, elija: ALPHA, BINARY, FOCUS
  • Para utilizarlo como archivo de transacción para modificar un origen de datos, elija: ALPHA, BINARY
  • Para usar el análisis interactivo sin conexión a un servidor, escoja: AHTML, APDF, FLEX

Para más detalles sobre todos los formatos disponibles, vaya a Cómo seleccionar formatos de salida de archivos .

MISSING
Controla si los campos con el atributo MISSING=ON en el archivo máster pasan al archivo HOLD. MISSING ON es el atributo predeterminado. Si el comando HOLD especifica MISSING OFF, no pasan los campos con el atributo MISSING. Para obtener información relacionada, consulte Cómo manejar registros con valores de campo no disponibles. Consulte, también, el manual Cómo desarrollar aplicaciones de informes para los parámetros SET HOLDMISS, SET NULL y SET HNODATA, que controlan la forma en que los valores no disponibles se propagan a archivos alfanuméricos y archivos delimitados por comas.

Principio de página

x
Sintaxis: Cómo Establecer el formato HOLD predeterminado
SET HOLDFORMAT = {BINARY|ALPHA}

o

ON TABLE SET HOLDFORMAT {BINARY|ALPHA}

donde:

BINARY
Ajusta el formato de archivo HOLD predeterminado a BINARY.
ALPHA
Ajusta el formato de archivo HOLD predeterminado a ALPHA.


Ejemplo: Cómo extraer datos a un archivo HOLD

La siguiente solicitud extrae datos desde el origen de datos EMPLOYEE y crea un archivo 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

Se muestra el siguiente mensaje:

NUMBER OF RECORDS IN TABLE=  12 LINES=     12

Para mostrar el informe generado por esta solicitud, emita una solicitud de informe basada en el archivo HOLD.

Sugerencia: Si desea ver la información en el archivo máster HOLD antes de informar sobre él, puede emitir el comando de consulta ? HOLD.


Principio de página

x
Sintaxis: Cómo Consultar un archivo máster HOLD

Si la opción seleccionada de formato HOLD genera un archivo máster, puede emitir uno de los comandos siguientes para mostrar los campos, alias y formatos en el archivo máster HOLD:

? HOLD

Este comando muestra nombres de campos hasta 32 caracteres. Si un nombre de campo excede el límite de los 32 caracteres, un signo de mayor que (>) en la 32da. posición indica un nombre de campo más extenso.

Si le ha puesto un nuevo nombre al archivo HOLD con AS filename, utilice la sintaxis que sigue:

? HOLD filename

Sugerencia: Debe emitir la consulta HOLD ? en la misma sesión en que se cree el archivo HOLD.



Ejemplo: Cómo hacer informes sobre un archivo HOLD

En el siguiente archivo HOLD, los formatos mostrados son los valores del atributo FORMAT. Puede ver los valores del atributo ACTUAL si muestra el archivo máster HOLD con TED o cualquier otro editor de texto. Los formatos USAGE y ACTUAL para campos de texto especifican solamente la longitud de la primera línea de cada registro lógico en el archivo HOLD. El formato USAGE es el mismo que el formato de campo en el archivo máster original. El formato ACTUAL se redondea a un límite de palabras completo (interno), tal como se hace con campos alfanuméricos.

La siguiente solicitud contiene el comando de consulta ? HOLD, que muestra los campos, alias y formatos en el archivo máster relacionado y crea un archivo 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 salida es:

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

Ahora puede emitir la siguiente solicitud contra el archivo 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 salida es:

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