Cómo: |
Puede utilizar el comando HOLD para crear archivos de salida de informe con toda una serie de propósitos:
El archivo máster de salida contiene sólo los campos en la solicitud de informe. Los campos en el archivo HOLD mantienen los nombres originalmente especificados en el archivo máster, que se recuperan si el informe se muestra o se imprime. Puede alterar Los nombres de campo en el archivo máster de salida mediante la frase AS en conjunto con el comando SET ASNAMES. Consulte Cómo controlar nombres de campo en un archivo máster.
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 .
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:
Nota: Para cambiar el formato de salida predeterminado a ALPHA, emita el comando SET HOLDFORMAT.
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.
Además, Developer Studio admite: CLIP
Además, Developer Studio admite: SQLMAC
Para más detalles sobre todos los formatos disponibles, vaya a Cómo seleccionar formatos de salida de archivos .
SET HOLDFORMAT = {BINARY|ALPHA}
o
ON TABLE SET HOLDFORMAT {BINARY|ALPHA}
donde:
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.
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.
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 |