Cómo codificar una jerarquía FML en un editor de texto

Cómo:

Puede codificar manualmente la relación entre los campos principal y secundario de un archivo máster y, opcionalmente, proporcionar los subtítulos descriptivos de los informes, en vez de utilizar los valores de campos jerárquicos especificados.


Principio de página

x
Sintaxis: Cómo Especificar una jerarquía entre campos de un archivo máster
FIELD=parentfield,...,PROPERTY=PARENT_OF, REFERENCE=[seg.]hierarchyfld, $
DEFINE name/fmt=expression;,PROPERTY=PARENT_OF,REFERENCE=hierarchyfld, $

donde:

parentfield

Es el campo principal de la jerarquía.

PROPERTY=PARENT_OF

Identifica al campo como elemento principal del campo citado en una jerarquía.

Puede especificar atributos en todos los campos. Por tanto, puede definir varias jerarquías en un solo archivo máster. Sin embargo, los campos individuales solo pueden tener un elemento principal. Si varios campos presentan atributos PARENT_OF para el mismo campo de la jerarquía, se considera el elemento principal al primer campo hallado al atravesar la estructura de arriba abajo y de izquierda a derecha.

seg

Es la ubicación del segmento del campo de la jerarquía. Obligatorio cuando hay más de un segmento con un campo llamado hierarchyfield.

hierarchyfld

Es el campo secundario de la jerarquía.

PARENT_OF también está permitido en los campos virtuales del archivo máster:

DEFINE name/fmt=expression;,PROPERTY=PARENT_OF,REFERENCE=hierarchyfld ,$

Principio de página

x
Sintaxis: Cómo Asignar subtítulos descriptivos a los valores de los campos de una jerarquía

Los siguientes atributos especifican un subtítulo para el campo de una jerarquía, en un archivo máster:

FIELD=captionfield,...,PROPERTY=CAPTION, REFERENCE=[seg.]hierarchyfld,$
 ,$ 

donde:

captionfield

Es el nombre del campo que contiene el texto descriptivo de cada campo de la jerarquía. Por ejemplo, si el Id. del empleado es el campo de jerarquía, el texto descriptivo que aparecerá en el informe puede ser el apellido, en lugar del Id.

PROPERTY=CAPTION

Significa que este campo contiene un subtítulo descriptivo que aparecerá en lugar de los valores del campo de jerarquía.

Puede especificar un subtítulo para cada campo, aunque cada campo individual solo puede tener un subtítulo. Si varios campos presentan atributos CAPTION para el mismo campo de jerarquía, se considerará el subtítulo al primer elemento principal hallado al atravesar la estructura de arriba abajo y de izquierda a derecha.

seg

Es la ubicación del segmento del campo de leyenda o subtítulo. Obligatorio cuando hay más de un segmento con un campo llamado hierarchyfield.

hierarchyfld

Es el campo de jerarquía.

CAPTION también está permitido en los campos virtuales del archivo máster:

DEFINE name/format=expression;,PROPERTY=CAPTION,REFERENCE=hierarchyfld ,$ 


Ejemplo: Cómo definir una jerarquía en un archivo máster

El archivo máster CENTGL contiene una jerarquía de diagrama de cuentas. El campo GL_ACCOUNT_PARENT es el campo padre de la jerarquía. El campo GL_ACCOUNT es el campo de jerarquía. El campo GL_ACCOUNT_CAPTION puede usarse como leyenda descriptiva del campo de jerarquía.

FILE=CENTGL     ,SUFFIX=FOC
SEGNAME=ACCOUNTS,SEGTYPE=S01
FIELDNAME=GL_ACCOUNT,           ALIAS=GLACCT,  FORMAT=A7,
          TITLE='Ledger,Account', FIELDTYPE=I, $
FIELDNAME=GL_ACCOUNT_PARENT,    ALIAS=GLPAR,   FORMAT=A7,
          TITLE=Parent,
          PROPERTY=PARENT_OF, REFERENCE=GL_ACCOUNT, $
FIELDNAME=GL_ACCOUNT_TYPE,      ALIAS=GLTYPE,  FORMAT=A1,
          TITLE=Type,$
FIELDNAME=GL_ROLLUP_OP,         ALIAS=GLROLL,  FORMAT=A1,
          TITLE=Op, $
FIELDNAME=GL_ACCOUNT_LEVEL,     ALIAS=GLLEVEL, FORMAT=I3,
          TITLE=Lev, $
FIELDNAME=GL_ACCOUNT_CAPTION,   ALIAS=GLCAP,   FORMAT=A30,
          TITLE=Caption,
          PROPERTY=CAPTION, REFERENCE=GL_ACCOUNT, $
FIELDNAME=SYS_ACCOUNT,          ALIAS=ALINE,   FORMAT=A6,
          TITLE='System,Account,Line', MISSING=ON, $

El origen de datos CENTSYSF contiene datos financieros a nivel de detalle. Se trata de datos financieros no consolidados de una corporación ficticia, CenturyCorp. Ha sido diseñado para estar separado de la base de datos CENTGL como si viniera de un sistema de contabilidad externo. Utiliza un sistema de línea de cuenta diferente (SYS_ACCOUNT) que se puede unir al campo SYS_ACCOUNT de CENTGL. Se emplean signos naturales para los datos (los gastos son positivos y los ingresos, negativos).

FILE=CENTSYSF     ,SUFFIX=FOC
SEGNAME=RAWDATA   ,SEGTYPE=S2
FIELDNAME=SYS_ACCOUNT   ,  ,A6       , FIELDTYPE=I,
            TITLE='System,Account,Line', $
FIELDNAME=PERIOD        ,  ,YYM      , FIELDTYPE=I,$
FIELDNAME=NAT_AMOUNT    ,  ,D10.0    , TITLE='Month,Actual', $
FIELDNAME=NAT_BUDGET    ,  ,D10.0    , TITLE='Month,Budget', $
FIELDNAME=NAT_YTDAMT    ,  ,D12.0    , TITLE='YTD,Actual',   $
FIELDNAME=NAT_YTDBUD    ,  ,D12.0    , TITLE='YTD,Budget',   $

WebFOCUS