Cómo crear un archivo HOLD estructurado

Cómo:

Referencia:

Los archivos HOLD estructurados facilitan la migración de orígenes de datos e informes entre sistemas operativos.

Otros formatos HOLD capturan datos desde las fuentes originales y pueden mantener algunos elementos estructurales implícitos desde la propia solicitud. Sin embargo, no propagan la mayor parte de la información sobre las fuentes de datos originales a las que se accedió ni sus relaciones internas al archivo máster HOLD o sus orígenes de datos. Sin embargo, los archivos HOLD estructurados extraen los datos a una estructura paralela a las fuentes de datos originales. Posteriores solicitudes usando el archivo HOLD pueden usar esas relaciones de datos guardadas para recrear los mismos tipos de relaciones en otros entornos o en otros tipos de orígenes de datos.

Un archivo HOLD estructurado se puede crear en formato ALPHA, BINARY o FOCUS:

En todos los casos el archivo HOLD contiene todos los segmentos originales necesarios para el informe completo basado en la propia solicitud TABLE. Sea cual sea el comando de visualización usada en la solicitud original (PRINT, LIST, SUM, COUNT), el archivo HOLD estructurado se crea como si la solicitud utilizara PRINT. Se pasa por alto el paso de agregación.

El archivo HOLD contiene o todos los campos en la estructura identificada por la solicitud que se usan para cumplir con la solicitud, o todos los campos de visualización y campos BY. El archivo no contiene campos DEFINE que no hayan sido específicamente referenciados en la solicitud. Sí contiene todos los campos necesarios para evaluar cualquier campo DEFINE al que se haya hecho referencia en la solicitud.

Los archivos HOLD estructurados sólo están admitidos para comandos TABLE y TABLEF. Se pueden crear en cualquier sitio donde esté admitido un archivo HOLD. Debe activar los archivos HOLD estructurados en una solicitud específica al emitir el comando ON TABLE SET EXTRACT en la solicitud antes de crear el archivo HOLD estructurado.


Principio de página

x
Sintaxis: Cómo Activar archivos HOLD estructurados para una solicitud
ON TABLE SET EXTRACT {ON|*|OFF}

donde:

ON
Activa los archivos HOLD estructurados para esta solicitud y extrae todos los campos mencionados en la solicitud.
*
Activa los archivos HOLD estructurados para la solicitud, e indica que le sigue un bloque de opciones de extracción. Por ejemplo, puede excluir campos específicos del archivo HOLD estructurado. Para más información, consulte Cómo Especificar las opciones para generar archivos HOLD estructurados.
OFF
Desactiva los archivos HOLD estructurados para esta solicitud. OFF es el valor predeterminado.

Principio de página

x
Sintaxis: Cómo Crear un archivo HOLD estructurado

Antes de emitir el comando HOLD, active los archivos HOLD estructurados para la solicitud mediante el comando ON TABLE SET EXTRACT descrita en Cómo Activar archivos HOLD estructurados para una solicitud. Después emita el comando HOLD para crear el archivo HOLD estructurado:

[ON TABLE] {HOLD|PCHOLD} [AS name] FORMAT {ALPHA|BINARY|FOCUS}

donde:

name
Es el nombre del archivo HOLD. Si se omite, el nombre será HOLD por defecto.
FORMAT
Es ALPHA, BINARY o FOCUS.

Nota: Puede emitir un comando SET para establecer el formato HOLD por defecto a ALPHA o a BINARY:

SET HOLDFORMAT=ALPHA
SET HOLDFORMAT=BINARY

Principio de página

x
Sintaxis: Cómo Especificar las opciones para generar archivos HOLD estructurados

Para especificar opciones para crear la extracción, y como resultado, excluir campos específicos, utilice la opción * del comando SET EXTRACT:

ON TABLE SET EXTRACT *
EXCLUDE = (fieldname1, fieldname2, fieldname3 , ..., fieldnamen),$
FIELDS={ALL|EXPLICIT},$
ENDEXTRACT
ON TABLE HOLD AS name FORMAT {ALPHA|BINARY|FOCUS}

donde:

EXCLUDE=(fieldname1, fieldname2, fieldname3,..., fieldnamen)
Excluye los campos especificados del archivo HOLD.
,$
Es sintaxis necesaria para delimitar elementos en el bloque de extracción.
prefijo ALL
Incluye todos los campos reales y todos los campos DEFINE que se usan para ejecutar la solicitud.
EXPLICIT
Incluye sólo los campos reales y campos DEFINE que están en la lista de visualización o en la lista de campos de clasificación BY. Los campos DEFINE que no están referenciados explícitamente y los campos que se usan para evaluar DEFINEs, no están incluidos.
ENDEXTRACT
Termina el bloque de extracción.



Ejemplo: Cómo crear un archivo HOLD estructurado en formato ALPHA
TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT ON
ON TABLE HOLD FORMAT ALPHA
END

Esta solicitud genera el siguiente archivo máster HOLD:

FILENAME=HOLD    , SUFFIX=FIX     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=RECTYPE, ALIAS=R, USAGE=A3, ACTUAL=A3, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, ACTUAL=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, ACTUAL=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10, ACTUAL=A10, $
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, ACTUAL=A06, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=RECTYPE, ALIAS=1, USAGE=A3, ACTUAL=A3, $
    FIELDNAME=SALARY, ALIAS='SAL', USAGE=D12.2M, ACTUAL=A12, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, ACTUAL=A03, $

Fíjese que el campo RECTYPE generado por los archivos HOLD estructurados ALPHA o BINARY. Cada registro en el archivo HOLD comienza por RECTYPE para indicar el segmento al que pertenecía en la estructura original. El segmento raíz tiene RECTYPE=R. Los RECTYPE para otros segmentos son números secuenciales asignados de arriba a abajo, de izquierda a derecha.

A continuación verá los primeros registros en el archivo HOLD:

R  STEVENS        ALFRED    PRODUCTION 25.00
1      11000.00A07
1      10000.00A07
R  SMITH          MARY      MIS        36.00
1      13200.00B14
R  JONES          DIANE     MIS        50.00
1      18480.00B03
1      17750.00B02
R  SMITH          RICHARD   PRODUCTION 10.00
1       9500.00A01
1       9050.00B01


Ejemplo: Cómo crear un archivo HOLD estructurado en formato FOCUS
TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT ON
ON TABLE HOLD FORMAT FOCUS
END

Esta solicitud genera el siguiente archivo máster HOLD:

FILENAME=HOLD    , SUFFIX=FOC     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10, $
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=SALARY, ALIAS='SAL', USAGE=D12.2M, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, $


Ejemplo: Cómo reconstituir un archivo HOLD estructurado

La solicitud a continuación reconstituye la fuente de datos FOCUS original a partir del archivo HOLD estructurado creado en Cómo crear un archivo HOLD estructurado en formato ALPHA:

TABLE FILE HOLD
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT ON
ON TABLE HOLD AS RECONST FORMAT FOCUS
END

Esta solicitud genera el siguiente archivo máster:

FILENAME=RECONST    , SUFFIX=FOC     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10,
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=SALARY, ALIAS='SAL', USAGE=D12.2M, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, $

La siguiente solicitud imprime la salida del informe:

TABLE FILE RECONST
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
END

La salida es:

DEPARTMENT           SALARY  LAST_NAME        FIRST_NAME  JOBCODE  ED_HRS
----------           ------  ---------        ----------  -------  ------
MIS              $27,062.00  CROSS            BARBARA     A17       45.00
                 $25,775.00  CROSS            BARBARA     A16       45.00
                 $21,780.00  BLACKWOOD        ROSEMARIE   B04       75.00
                 $18,480.00  JONES            DIANE       B03       50.00
                             MCCOY            JOHN        B02         .00
                 $17,750.00  JONES            DIANE       B02       50.00
                 $13,200.00  SMITH            MARY        B14       36.00
                  $9,000.00  GREENSPAN        MARY        A07       25.00
                  $8,650.00  GREENSPAN        MARY        B01       25.00
PRODUCTION       $29,700.00  BANNING          JOHN        A17         .00
                 $26,862.00  IRVING           JOAN        A15       30.00
                 $24,420.00  IRVING           JOAN        A14       30.00
                 $21,120.00  ROMANS           ANTHONY     B04        5.00
                 $16,100.00  MCKNIGHT         ROGER       B02       50.00
                 $15,000.00  MCKNIGHT         ROGER       B02       50.00
                 $11,000.00  STEVENS          ALFRED      A07       25.00
                 $10,000.00  STEVENS          ALFRED      A07       25.00
                  $9,500.00  SMITH            RICHARD     A01       10.00
                  $9,050.00  SMITH            RICHARD     B01       10.00


Ejemplo: Cómo excluir campos de un archivo HOLD estructurado

Esta solicitud excluye el campo SALARY usado para secuenciación:

TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME JOBCODE ED_HRS
BY DEPARTMENT
BY HIGHEST SALARY
ON TABLE SET EXTRACT *
EXCLUDE=(SALARY),$
ENDEXTRACT
ON TABLE HOLD FORMAT FOCUS
END

Esta solicitud genera el siguiente archivo máster HOLD:

FILENAME=HOLD   , SUFFIX=FOC     , $
  SEGMENT=EMPINFO, SEGTYPE=S0, $
    FIELDNAME=LAST_NAME, ALIAS='LN', USAGE=A15, $
    FIELDNAME=FIRST_NAME, ALIAS='FN', USAGE=A10, $
    FIELDNAME=DEPARTMENT, ALIAS='DPT', USAGE=A10, $
    FIELDNAME=ED_HRS, ALIAS='OJT', USAGE=F6.2, $
  SEGMENT=PAYINFO, SEGTYPE=S0, PARENT=EMPINFO, $
    FIELDNAME=JOBCODE, ALIAS='JBC', USAGE=A3, $

Principio de página

x
Referencia: Elementos incluidos en un archivo HOLD estructurado

Los archivos HOLD estructurados contienen todos los casos de segmentos necesarios para completar la solicitud TABLE o TABLEF. Sea cual sea el comando de visualización usado en la solicitud original (PRINT, LIST, SUM o COUNT), el archivo HOLD estructurado se creará como si el comando fuera PRINT.

Para ser específicos, el archivo de extracción contiene los siguientes elementos:


Principio de página

x
Referencia: Elementos no incluidos en un archivo HOLD estructurado

Principio de página

x
Referencia: Notas estructurales y de comportamiento

Notas estructurales

Notas de optimización de SQL

Notas BY/ACROSS/FOR

Notas de formateo

Notas DBA

Cómo reconstituir archivos de extracción


WebFOCUS