Cómo guardar y recuperar resultados de informe intermedios

En esta sección:

Varios informes requieren resultados desarrollados en informes previos. Esto sólo se puede cumplir si se proporciona un lugar para guardar valores intermediarios. Un ejemplo es la necesidad de calcular la ganancia neta en un extracto de ingresos antes de calcular el capital en un balance. FML puede guardar filas seleccionadas desde uno o más modelos al fijarlos a un archivo de trabajo. A continuación, puede recoger las filas publicadas desde el archivo de trabajo y volver a usarlas.

El archivo de trabajo predeterminado es FOCPOST. Este es un archivo delimitado por comas, desde el cual puede informar directamente si hay un archivo máster FOCPOST disponible. Para utilizar el archivo de trabajo en una solicitud, debe asignar un nombre físico al FOCPOST ddname antes de Ejecute el informe que fija los datos y debe asignar de nuevo antes de Ejecute el informe que recoge los datos.

Puede asignar el nombre físico al archivo emitiendo un comando FILEDEF en Windows, y UNIX, o un comando TSO ALLOCATE o DYNAM ALLOCATE en z/OS, antes de ejecutar la solicitud. Puede crear un comando FILEDEF mediante el Asistente de asignación.

Aunque no puede preparar un informe FML completo usando los datos que suministra directamente en su solicitud, puede preparar un informe completo usando los datos almacenados en un archivo de trabajo delimitado por comas.


Principio de página

x
Cómo fijar datos

Cómo:

Puede guardar cualquier fila TAG, RECAP o DATA al fijar la salida a un archivo. Puede usar estas filas como si proviniesen de una fila DATA.

Se procesa la fila de la forma usual en el informe, dependiendo de sus otras opciones y después se fija. Primero se escribe la etiqueta de la fila, seguida por los valores numéricos de las columnas, cada uno separado por una coma y terminando con el carácter final ($). Para más información, consulte Cómo fijar filas a un archivo de trabajo.

Nota: Sólo se fijan los campos mostrados actualmente en la salida del informe. Los campos que no aparezcan impresos (por ejemplo, los campos especificados con la opción NOPRINT, campos extra creados al cambiar el formato de los campos en la solicitud o los campos ímplicitos por su uso en un cálculo) no quedan fijados.



x
Sintaxis: Cómo Fijar datos a un archivo

La sintaxis para guardar cualquier fila TAG, RECAP o DATA es:

POST [TO ddname]

donde:

ddname

Es el nombre lógico que asigna al archivo de trabajo donde fija los datos.

Añada esta sintaxis a cualquier fila que desea fijar al archivo de trabajo.



Ejemplo: Cómo fijar filas a un archivo de trabajo

La siguiente solicitud crea un informe FML y fija dos filas de etiquetas en el archivo de trabajo LEDGEOUT.

FILEDEF LEDGEOUT DISK [APP]\LEDGEOUT.DAT
DEFINE FILE LEDGER
CUR_YR/I5C=AMOUNT;
LAST_YR/I5C=.87*CUR_YR - 142;
END
TABLE FILE LEDGER
SUM CUR_YR LAST_YR
FOR ACCOUNT 
1100 LABEL AR POST TO LEDGEOUT OVER 
1200 LABEL INV POST TO LEDGEOUT 
END

La salida se muestra en la siguiente imagen.

informe



x
Sintaxis: Cómo Recoger datos desde un archivo de trabajo

Puede recuperar filas fijadas desde cualquier archivo de trabajo y las utiliza como si se proporcionaran en una fila DATA al añadir la frase a continuación a una solicitud FML.

DATA PICKUP [FROM ddname] id1 [OR id2 ...] [LABEL label] [AS 'text']

donde:

ddname

Es el nombre lógico del archivo de trabajo desde dónde recupera los datos.

id

Es la etiqueta que se le asignó en el archivo de trabajo a la fila fijada de datos que ahora se recoge.

label

Es la etiqueta que desea asignar a los datos que recoge.

Aunque no es obligatorio, puede hacer que la etiqueta asignada a los datos elegidos coincida con la etiqueta (Id.) de los datos fijados.

Puede incluir frases LABEL y AS, pero no funciona WHEN EXISTS.

Nota: Los campos recuperados se mapean a todos los campos (imprimidos o no) en el repositorio de la memoria del informe (matriz interna). Si la matriz contiene columnas que no se corresponden con los campos del archivo fijado, puede ocurrir un alineamiento incorrecto de los valores recuperados. Por ejemplo, si reformatea un campo en la solicitud PICKUP, ese campo quedará representado por dos columnas en la matriz interna. Sin embargo, el archivo fijado sólo tendrá un valor que represente a ese campo y los valores recuperados no se mapearán correctamente a las columnas asociadas en la matriz.



Ejemplo: Cómo recoger datos desde un archivo de trabajo

En el ejemplo siguiente, los datos en el origen de datos LEDGER y en el archivo de trabajo LEDGEOUT se utilizan en el cálculo RECAP. Para ver cómo se generó este archivo, consulte Cómo fijar filas a un archivo de trabajo.

Sugerencia: Debe asignar un nombre lógico al archivo emitiendo un comando FILEDEF en Windows y UNIX, o un comando DYNAM ALLOCATE en z/OS, antes de ejecutar la solicitud. Puede crear un comando FILEDEF mediante el Asistente de asignación.

DEFINE FILE LEDGER
CUR_YR/I5C=AMOUNT;
LAST_YR/I5C=.87*CUR_YR - 142;
END
TABLE FILE LEDGER
SUM CUR_YR LAST_YR
FOR ACCOUNT
1010 TO 1030 AS 'CASH' LABEL CASH   OVER 
DATA PICKUP FROM LEDGEOUT AR AS 'ACCOUNTS RECEIVABLE' LABEL AR   OVER 
DATA PICKUP FROM LEDGEOUT INVAS 'INVENTORY' LABEL INV            OVER
BAR                                 OVER
RECAP CUR_ASSET/I5C = CASH + AR + INV;
END

La salida se muestra en la siguiente imagen.

informe

Se puede usar la línea a continuación para recoger la suma de las dos cuentas desde LEDGEOUT.

DATA PICKUP FROM LEDGEOUT AR OR INV
AS 'ACCTS REC AND INVENTORY'

Nota: Dado que las filas en un archivo PICKUP se almacenan en formato delimitado por comas, se pueden introducir ya sea desde una fijación previa o directamente por un usuario.


WebFOCUS