KLIST (Define a Composite Key)
| Free-Form Syntax | (no permitido-utilizar %KDS) |
| Código | Tipo Datos | Tipo Datos | Campo de resultado | Indicadores | ||
|---|---|---|---|---|---|---|
| klist | Nombre de KLIST | |||||
La operación KLIST es una operación declarativa que da un nombre a una lista de KFLDs. Esta lista se puede utilizar como argumento de búsqueda para recuperar registros de archivos que tienen una clave compuesta.
Puede especificar una KLIST en cualquier lugar de los cálculos. La entrada de nivel de control (posiciones 7 y 8) puede estar en blanco o puede contener un indicador L1 a L9 , un indicador LR o una entrada L0 para agrupar la sentencia dentro de la sección adecuada del programa. Las entradas del indicador de condicionamiento (posiciones de la 9 a la 11) no están permitidas. El factor 1 debe contener un nombre exclusivo.
- Si un argumento de búsqueda se compone de más de un campo (una clave compuesta), debe especificar una KLIST con varios KFLDs.
- Se puede especificar un nombre KLIST como argumento de búsqueda sólo para archivos descritos externamente.
- Una KLIST y sus campos KFLD asociados pueden aparecer en cualquier lugar de los cálculos.
- Una KLIST debe ir seguida inmediatamente de al menos un KFLD.
- Una KLIST finaliza cuando se encuentra una operación no KFLD.
- Un nombre KLIST puede aparecer en el factor 1 de una operación CHAIN, DELETE, READE, READPE, SETGT o SETLL.
- Se puede utilizar el mismo nombre KLIST como argumento de búsqueda para varios archivos, o se puede utilizar varias veces como argumento de búsqueda para el mismo archivo.
- Una KLIST en un procedimiento principal de ciclo sólo puede tener asociados KFLDs globales. Una KLIST en un subprocedimiento puede tener KFLDs locales y globales. Para obtener más información, consulte Ámbito de definiciones.
Para obtener más información, consulte Operaciones declarativas.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....
A* DDS source
A R RECORD
A FLDA 4
A SHIFT 1 0
A FLDB 10
A CLOCK# 5 0
A FLDC 10
A DEPT 4
A FLDD 8
A K DEPT
A K SHIFT
A K CLOCK#
A*
A* End of DDS source
A*
A***********************************************************************
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
*
* The KLIST operation indicates the name, FILEKY, by which the
* search argument can be specified.
*
C FILEKY KLIST
C KFLD DEPT
C KFLD SHIFT
C KFLD CLOCK#
El diagrama siguiente muestra el aspecto del argumento de búsqueda. Los campos DEPT, SHIFT y CLOCK# son campos clave de este registro.
