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.
FMLINFO('FORVALUE', output)
donde:
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.
Alfanumérico
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.
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
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 |