Cuando un ítem es seleccionado, el valor de la variable GML_LUM.LU_SET%
es localizada dentro de la variable GML.SET%. GML es llamado para preparar la
plantilla GML_TPL$, y el GML LUM es llamado para traer el texto del look-up
control que generó el evento. GML LUM localiza el texto dentro de la
plantilla GML_TPL$ variable GML_TPL.COL$[n]. El [n] es la suma de los valores
en las variables GML_LUM.COL%[GML_LUM.LU_SET%] y GML_LUM.LOC%[GML_LUM.LU_SET%].
El número de la fila del evento es localizado en la variable GML_TPL.ROW_N%.
El procedimiento POPULATE es entonces ejecutado para actualizar el texto en
la celda del grid principal.
7760 REM +-----------------+
7770 REM ! ITEM SELECTED !
7780 REM +-----------------+
7790 CASE 2
7800 GML.SET%=GML_LUM.LU_SET%
7810 CALL "GML::TPL_PREP"
7820 CALL "GML::LUM_GET_TEXT"
7830 CALL "GML::POPULATE"
7840 BREAK
Cuando el evento es generado por un list closed (CASE 3) o una cancelación
del proceso de selección (CASE 4), GML LUM es llamado para ocultar el
control.
7850 REM +---------------+
7860 REM ! LIST CLOSED !
7870 REM +---------------+
7880 CASE 3
7890 REM +-------------------------------+
7900 REM ! SELECTION PROCESS CANCELLED !
7910 REM +-------------------------------+
7920 CASE 4
7930 CALL "GML::LUM_HIDE"
7940 BREAK
Cuando el evento es generado por el cambio de selección (CASE 5) no
son acciones necesarias, y la subrutina termina.
7950 REM +---------------------+
7960 REM ! SELECTION CHANGED !
7970 REM +---------------------+
7980 CASE 5
7990 BREAK
8000 SWEND
8010 RETURN
Listando la subrutina LUM_LOOK_UP
7620 LUM_LOOK_UP:
7630 REM +----------------------+
7640 REM ! FIND LOOK-UP INDEX !
7650 REM +----------------------+
7660 GML_LUM.EVENT_ID%=EVENT.ID%
7670 GML_LUM.EVENT_CONTEXT%=EVENT.CONTEXT%
7680 CALL "GML::LUM_FIND"
7690 IF GML_LUM.LU_SET%=0 THEN GOTO 8010
7700 SWITCH NOTICE.CODE%
7710 REM +---------------+
7720 REM ! LIST OPENED !
7730 REM +---------------+
7740 CASE 1
7750 BREAK
7760 REM +-----------------+
7770 REM ! ITEM SELECTED !
7780 REM +-----------------+
7790 CASE 2
7800 GML.SET%=GML_LUM.LU_SET%
7810 CALL "GML::TPL_PREP"
7820 CALL "GML::LUM_GET_TEXT"
7830 CALL "GML::POPULATE"
7840 BREAK
7850 REM +---------------+
7860 REM ! LIST CLOSED !
7870 REM +---------------+
7880 CASE 3
7890 REM +-------------------------------+
7900 REM ! SELECTION PROCESS CANCELLED !
7910 REM +-------------------------------+
7920 CASE 4
7930 CALL "GML::LUM_HIDE"
7940 BREAK
7950 REM +---------------------+
7960 REM ! SELECTION CHANGED !
7970 REM +---------------------+
7980 CASE 5
7990 BREAK
8000 SWEND
8010 RETURN
|