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

122 lines
3.0 KiB
Plaintext

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