Files
2026-09-22 20:38:51 -04:00

122 lines
2.9 KiB
Plaintext

#######################################################################
# SISTEMA : DOCUMENTACION DE SISTEMA
# PROGRAMA : DSPRCS006.4GL
# OBJETIVO : Relacion de Tablas Vs Programas.
# AUTOR : Tadeo A. Ferreras F.
# FECHA : Octubre 17, 1995
########################################################################
DATABASE rayovac
GLOBALS
"dsprgb000.4gl"
FUNCTION dsprcs006()
OPTIONS
FORM LINE 8,
ERROR LINE 23,
PROMPT LINE 23
OPEN FORM dsfmcs006 FROM "dsfmcs006"
DISPLAY FORM dsfmcs006
CALL pantalla()
DISPLAY "dsprcs006" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Tablas Vs Programas" AT 6,30 ATTRIBUTE(BLACK)
### Creando criterio de Busqueda
CONSTRUCT criterio ON a.tabla FROM tabla
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
#### Buscando las tablas en la maestra
LET selec =
"SELECT UNIQUE a.tabla,a.descripcion FROM dstb00005 a ",
"WHERE (a.status_t IS NULL) AND ",criterio CLIPPED," ORDER BY 1"
PREPARE comando FROM selec
DECLARE busca SCROLL CURSOR FOR comando
OPEN busca
FETCH FIRST busca INTO dstb05.tabla,descripcion1
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
RETURN
END IF
DISPLAY BY NAME dstb05.tabla,descripcion1
### Menu para manejar las tablas
MENU "OPCION"
COMMAND "Siguiente"
FETCH NEXT busca INTO dstb05.tabla,descripcion1
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb05.tabla,descripcion1
COMMAND "Anterior"
FETCH PREVIOUS busca INTO dstb05.tabla,descripcion1
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb05.tabla,descripcion1
COMMAND "Primero"
FETCH FIRST busca INTO dstb05.tabla,descripcion1
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb05.tabla,descripcion1
COMMAND "Ultimo"
FETCH LAST busca INTO dstb05.tabla,descripcion1
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
DISPLAY BY NAME dstb05.tabla,descripcion1
COMMAND "Ver" "Ver Programas del Sistema Cancelar"
### Buscando los programas que manejan la tabla
DECLARE busca1 CURSOR FOR
SELECT UNIQUE a.programa,b.descripcion FROM dstb00006 a,dstb00001 b
WHERE (a.status_t IS NULL) AND (a.programa = b.programa) AND
(a.tabla = dstb05.tabla) ORDER BY 1
LET idx = 1
FOREACH busca1 INTO act2[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
### Desplegando los programas
DISPLAY ARRAY act2 TO act6_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