Cómo guardar una salida de informe en formato INTERNAL

Cómo:

Referencia:

Los archivos HOLD rellenan los valores de número completo binario y los valores de datos decimales empaquetados a un margen completo de palabra. Por ejemplo, se almacena un campo de número completo de tres dígitos (I3), como cuatro bytes en un archivo HOLD. Para que programas de tercera generación, tal como COBOL, puedan leer archivos HOLD de manera exacta, puede ser que necesite guardar los campos en el archivo HOLD sin cualquier relleno.

Para suprimir el relleno de campos en el archivo HOLD, debe reformatear los campos en la solicitud para conseguir reemplazar los formatos ACTUAL predeterminados que correspondan a los formatos USAGE en el archivo máster:


Principio de página

x
Sintaxis: Cómo Suprimir el relleno de campo en archivos HOLD
SET HOLDLIST = PRINTONLY
TABLE FILE filename 
display_command fieldname/[In|Pn.d]
.
.
ON TABLE HOLD AS name FORMAT INTERNAL
END

donde:

PRINTONLY
Resulta en que su solicitud de informe transmita el archivo HOLD con sólo los campos especificados mostrados en la salida del informe. Si no emite este ajuste, se incluye un campo extra que contiene la longitud de campo rellenada en el archivo HOLD. Consulte Cómo controlar campos en un archivo máster HOLD.
fieldname/[In|Pn.d]
Especifica longitudes correctas en formatos para campos de número entero y campos donde desea suprimir el relleno. Estos formatos sobrescriben los formatos ACTUAL utilizados para los formatos de visualización en el archivo máster. Consulte Las notas sobre el uso para suprimir el relleno de campos en archivos HOLD.

Fíjese que HOLD FORMAT INTERNAL no afecta ni el punto flotante de precisión doble (D) ni el punto flotante de precisión sencilla (F).

FORMAT INTERNAL
Guarda el archivo HOLD sin relleno para número entero especificado y campos decimales empaquetados.

Para una ilustración, consulte Cómo generar un archivo HOLD con HOLD FORMAT INTERNAL.


Principio de página

x
Referencia: Las notas sobre el uso para suprimir el relleno de campos en archivos HOLD


Ejemplo: Cómo generar un archivo HOLD sin HOLD FORMAT INTERNAL

En este ejemplo, los valores de ACTUAL para RETAIL_COST, DEALER_COST y SEATS se rellenan para una palabra completa. Los campos alfanuméricos también ocupan palabras completas.

TABLE FILE CAR
PRINT CAR COUNTRY RETAIL_COST DEALER_COST SEATS
ON TABLE HOLD AS DJG
END

Esta solicitud genera el siguiente archivo máster:

FILE=DJG, SUFFIX=FIX
 SEGMENT=DJG, SEGTYPE=S0
  FIELDNAME=CAR          ,ALIAS=E01  ,USAGE=A16  ,ACTUAL=A16    ,$
  FIELDNAME=COUNTRY      ,ALIAS=E02  ,USAGE=A10  ,ACTUAL=A12    ,$
  FIELDNAME=RETAIL_COST  ,ALIAS=E03  ,USAGE=D7   ,ACTUAL=D08    ,$
  FIELDNAME=DEALER_COST  ,ALIAS=E04  ,USAGE=D7   ,ACTUAL=D08    ,$
  FIELDNAME=SEATS        ,ALIAS=E05  ,USAGE=I3   ,ACTUAL=I04    ,$


Ejemplo: Cómo generar un archivo HOLD con HOLD FORMAT INTERNAL

En este ejemplo, DEALER_COST y RETAIL_COST se definen en el archivo máster como campos D, pero la solicitud anula RETAIL_COST como un campo I2 y DEALER_COST como un campo P3.

SET HOLDLIST=PRINTONLY
TABLE FILE CAR
PRINT CAR COUNTRY RETAIL_COST/I2 DEALER_COST/P3 SEATS/I1
ON TABLE HOLD AS HINT3 FORMAT INTERNAL
END

Esto genera el siguiente archivo máster:

FILE=HINT3, SUFFIX=FIX
 SEGMENT=HINT3, SEGTYPE=S0
  FIELDNAME=CAR          ,ALIAS=E01   ,USAGE=A16  ,ACTUAL=A16   ,$
  FIELDNAME=COUNTRY      ,ALIAS=E02   ,USAGE=A10  ,ACTUAL=A10   ,$
  FIELDNAME=RETAIL_COST  ,ALIAS=E03   ,USAGE=I6   ,ACTUAL=I02   ,$
  FIELDNAME=DEALER_COST  ,ALIAS=E04   ,USAGE=P4   ,ACTUAL=P02   ,$
  FIELDNAME=SEATS        ,ALIAS=E05   ,USAGE=I4   ,ACTUAL=I01   ,$

Los formatos ACTUAL para los campos anulados son I2, P2 y I1. DEALER_COST tiene un ACTUAL de P2 porque P3, la anulación de formato, significa que se pueden guardar tres dígitos mostrados en dos dígitos actuales. Compruebe que el campo alfanumérico tampoco esté relleno.


WebFOCUS