Cómo: |
Puede definir un join dinámico en un archivo máster, por medio del atributo SEGTYPE. Existen dos tipos de joins dinámicos, definidos en un archivo máster: de uno a uno (SEGTYPE DKU) y de uno a varios (SEGTYPE DKM).
La diferencia entre los joins estáticos y los dinámicos reside en el almacenamiento, velocidad y flexibilidad:
Esto hace que los joins estáticos sean mucho más rápidos que los dinámicos, aunque más difíciles de cambiar. Puede redefinir o eliminar un join estático únicamente con el recurso REBUILD. Puede redefinir o eliminar un join dinámico en cualquier momento, modificando el archivo máster.
El join dinámico, especificado en el archivo máster, se define del mismo modo que el estático (descrito en Cómo Especificar un join único estático, exceptuando el valor del atributo SEGTYPE del segmento de referencia cruzada, que es DKU (dinámico, con claves, único) en un join de uno a uno, y DKM (dinámico, con claves, múltiple) en un join de uno a varios.
Por ejemplo:
SEGNAME = JOBSEG, SEGTYPE = DKU, PARENT = PAYINFO, CRFILE = JOBFILE, CRKEY = JOBCODE, $
Los segmentos enlazados, en un join dinámico, se declaran del mismo modo que en el join estático. En ambos casos, SEGTYPE tiene un valor de KLU para los segmentos únicos, enlazados, y de KL para los segmentos no únicos, enlazados.
El siguiente archivo máster incluye las secciones relevantes de EMPLOYEE y sus segmentos enlazados, aunque los joins estáticos han sido sustituidos por dinámicos (no aparecen los campos no esenciales ni los segmentos):
FILENAME = EMPLOYEE, SUFFIX = FOC, $ SEGNAME = EMPINFO, SEGTYPE = S1, $ FIELDNAME = EMP_ID, ALIAS = EID, FORMAT = A9, $ . . . SEGNAME = PAYINFO, SEGTYPE = SH1, PARENT = EMPINFO, $ FIELDNAME = JOBCODE, ALIAS = JBC, FORMAT = A3, $ . . . SEGNAME = JOBSEG, SEGTYPE = DKU, PARENT = PAYINFO, CRFILE = JOBFILE, CRKEY = JOBCODE, $ SEGNAME = SECSEG, SEGTYPE = KLU, PARENT = JOBSEG, CRFILE = JOBFILE, $ SEGNAME = SKILLSEG,SEGTYPE = KL, PARENT = JOBSEG, CRFILE = JOBFILE, $ SEGNAME = ATTNDSEG,SEGTYPE = DKM, PARENT = EMPINFO, CRFILE = EDUCFILE, CRKEY = EMP_ID, $ SEGNAME = COURSEG, SEGTYPE = KLU, PARENT = ATTNDSEG,CRFILE = EDUCFILE,$
WebFOCUS |