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

117 lines
2.7 KiB
Plaintext

#######################################################################
# SISTEMA : DOCUMENTACION DE SISTEMA
# PROGRAMA : DSPRCS001.4GL
# OBJETIVO : Relacion de Sistema Vs Tablas
# AUTOR : Tadeo A. Ferreras F.
# FECHA : JUNIO 14, 1995
########################################################################
DATABASE rayovac
GLOBALS
"dsprgb000.4gl"
FUNCTION dsprcs001()
OPTIONS
FORM LINE 8,
ERROR LINE 23,
PROMPT LINE 23
OPEN FORM dsfmcs001 FROM "dsfmcs001"
DISPLAY FORM dsfmcs001
CALL pantalla()
DISPLAY "dsprcs001" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Sistema Vs Tablas" AT 6,31 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 Tablas del Sistema Cancelar"
DECLARE busca1 CURSOR FOR
SELECT UNIQUE a.tabla,b.descripcion
FROM dstb00006 a,dstb00001 c,OUTER dstb00005 b
WHERE c.cod_sistema = dstb03.cod_sistema AND c.programa = a.programa AND
a.tabla = b.tabla AND a.status_t IS NULL
LET idx = 1
FOREACH busca1 INTO act1[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
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