Files
DECOMARMOL/PROYECTO/dsdir/dsprcs003.4gl
T
2026-09-22 20:38:51 -04:00

117 lines
2.7 KiB
Plaintext

#######################################################################
# SISTEMA : DOCUMENTACION DE SISTEMA
# PROGRAMA : DSPRCS003.4GL
# OBJETIVO : Relacion de Sistema Vs Menu.
# AUTOR : Tadeo A. Ferreras F.
# FECHA : JUNIO 14, 1995
########################################################################
DATABASE rayovac
GLOBALS
"dsprgb000.4gl"
FUNCTION dsprcs003()
OPTIONS
FORM LINE 8,
ERROR LINE 23,
PROMPT LINE 23
OPEN FORM dsfmcs003 FROM "dsfmcs002"
DISPLAY FORM dsfmcs003
CALL pantalla()
DISPLAY "dsprcs003" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Sistema Vs Programas" AT 6,30 ATTRIBUTE(BLACK)
CONSTRUCT criterio ON a.cod_sistema FROM cod_sistema
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET selec =
"SELECT UNIQUE a.* FROM dstb00003 a ",
"WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 1,2"
PREPARE comando FROM selec
DECLARE busca SCROLL CURSOR FOR comando
OPEN busca
FETCH FIRST busca INTO dstb03.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
RETURN
END IF
DISPLAY BY NAME dstb03.cod_sistema,dstb03.desc_sistema
MENU "OPCION"
COMMAND "Siguiente"
FETCH NEXT busca INTO dstb03.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb03.cod_sistema,dstb03.desc_sistema
COMMAND "Anterior"
FETCH PREVIOUS busca INTO dstb03.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb03.cod_sistema,dstb03.desc_sistema
COMMAND "Primero"
FETCH FIRST busca INTO dstb03.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb03.cod_sistema,dstb03.desc_sistema
COMMAND "Ultimo"
FETCH LAST busca INTO dstb03.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb03.cod_sistema,dstb03.desc_sistema
COMMAND "Ver" "Ver Programas del Sistema Cancelar"
DECLARE busca1 CURSOR FOR
SELECT UNIQUE a.programa,a.descripcion
FROM dstb00001 a
WHERE a.cod_sistema = dstb03.cod_sistema AND a.status_t IS NULL AND
a.programa[3,4] = "MN" ORDER BY 1
LET idx = 1
FOREACH busca1 INTO act2[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
DISPLAY ARRAY act2 TO act2_s.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
COMMAND "Retornar"
EXIT MENU
END MENU
END FUNCTION