FMLINFO: Cómo devolver valores de FOR

Cómo:

Lenguajes disponibles: informes

La función FMLINFO devuelve el valor de FOR asociado a cada fila de un informe de FML. FMLINFO permite usar el valor correspondiente de FOR en un comando COMPUTE, para hacer drill-downs y cambios de signo en cada fila del informe, incluso cuando la fila es una fila de resumen creado con una lista OR o un comando ADD de jerarquía del lenguaje de modelos financieros (FML, en sus siglas en inglés).

Nota: Puede usar el parámetro SET FORMULTIPLE=ON para activar un registro entrante y usarlo en más de una línea de un informe de FML.


Principio de página

x
Sintaxis: Cómo Retener valores de FOR en una solicitud de FML
FMLINFO('FORVALUE', output)

donde:

'FORVALUE'

Alfanumérico

Devuelve el valor de FOR asociado a cada fila de un informe de FML. Si la fila de FML se ha generado como suma de los registros de datos, mediante una frase OR, FMLINFO devuelve el primer valor de FOR especificado en la lista de valores. Si la frase OR ha sido generada por un comando ADD de jerarquía FML, FMLINFO devuelve el valor de FOR asociado al elemento principal especificado en el comando ADD.

output

Alfanumérico

Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.



Ejemplo: Cómo recuperar valores de FOR para filas de jerarquía FML

La siguiente solicitud crea un campo llamado PRINT_AMT que es el negativo del campo NAT_AMOUNT para los números de cuenta inferiores a 2500, en el origen de datos CENTSYSF. El origen de datos CENTGL contiene la información de jerarquía de CENTSYSF. Por tanto, CENTGL se une a CENTSYSF para la solicitud:

SET FORMULTIPLE = ON
JOIN SYS_ACCOUNT IN CENTGL TO ALL SYS_ACCOUNT IN CENTSYSF
TABLE FILE CENTGL
SUM NAT_AMOUNT/D10 IN 30
COMPUTE PRINT_AMT/D10 = IF FMLINFO('FORVALUE','A7') LT '2500'
     THEN 0-NAT_AMOUNT ELSE NAT_AMOUNT;
COMPUTE FORV/A4 = FMLINFO('FORVALUE', 'A4');
COMPUTE ACTION/A9  = IF FORV LT '2500'
      THEN 'CHANGED' ELSE 'UNCHANGED';
FOR GL_ACCOUNT
2000 WITH CHILDREN 2 ADD AS CAPTION
END

Nota: El valor principal, especificado en el comando WITH CHILDREN ADD (2000), se devuelve para la primera fila del informe. Cada fila posterior también se trata de una subsección de la jerarquía con un valor principal devuelto por FMLINFO:

                                   Month 
                                  Actual     PRINT_AMT  FORV  ACTION
                                  ------     ---------  ----  ------ 
Gross Margin                 -25,639,223    25,639,223  2000  CHANGED
  Sales Revenue              -62,362,490    62,362,490  2100  CHANGED
    Retail Sales             -49,355,184    49,355,184  2200  CHANGED
    Mail Order Sales          -6,899,416     6,899,416  2300  CHANGED
    Internet Sales            -6,107,890     6,107,890  2400  CHANGED
  Cost Of Goods Sold          36,723,267    36,723,267  2500  UNCHANGED
    Variable Material Costs   27,438,625    27,438,625  2600  UNCHANGED
    Direct Labor               6,176,900     6,176,900  2700  UNCHANGED
    Fixed Costs                3,107,742     3,107,742  2800  UNCHANGED



Ejemplo: Cómo usar FMLINFO con una frase OR

El valor de FOR imprimido para la línea de resumen es de 1010, aunque FMLINFO devuelve el primer valor especificado en la lista OR, 1030:

SET FORMULTIPLE = ON
TABLE FILE LEDGER 
SUM AMOUNT
COMPUTE RETURNEDFOR/A8 = FMLINFO('FORVALUE','A8');
FOR ACCOUNT
1010                  OVER 
1020                  OVER
1030                  OVER
BAR                   OVER
1030 OR 1020 OR 1010
END

La salida es:

 
AMOUNT
RETURNEDFOR
1010
1020
1030
 8,784
 4,494
 7,961
1010 
1020 
1030
 
------
---------
1010
21,239
1030

WebFOCUS