232 lines
6.0 KiB
Plaintext
232 lines
6.0 KiB
Plaintext
#######################################################################
|
|
# SISTEMA : DOCUMENTACION DE SISTEMA
|
|
# PROGRAMA : DSPRMT004.4GL
|
|
# OBJETIVO : Consulta de Documentacion de Programas de cada Sistema
|
|
# AUTOR : Tadeo A. Ferreras F.
|
|
# FECHA : JUNIO 14, 1995
|
|
########################################################################
|
|
DATABASE rayovac
|
|
GLOBALS
|
|
"dsprgb000.4gl"
|
|
|
|
FUNCTION dsprcs004()
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
PROMPT LINE 23
|
|
|
|
OPEN FORM dsfmcs004 FROM "dsfmmt002"
|
|
DISPLAY FORM dsfmcs004
|
|
CALL pantalla()
|
|
DISPLAY "dsprcs004" AT 4,3 ATTRIBUTE(RED)
|
|
DISPLAY "Documentacion de Programa" AT 6,27 ATTRIBUTE(BLACK)
|
|
|
|
CONSTRUCT criterio ON a.programa,a.cod_sistema,a.num_emp,a.numero_act
|
|
FROM programa,cod_sistema,num_emp,numero_act
|
|
|
|
IF int_flag THEN
|
|
ERROR "(2) OPERACION CANCELADA"
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
LET selec = "SELECT a.* FROM dstb00001 a WHERE a.status_t IS NULL AND ",
|
|
criterio CLIPPED," AND a.status_t IS NULL ORDER BY 1"
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE busca SCROLL CURSOR FOR comando
|
|
OPEN busca
|
|
|
|
FETCH FIRST busca INTO dstb01.*
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
ERROR "(3) REGISTRO NO EXISTE"
|
|
RETURN
|
|
END IF
|
|
|
|
SELECT a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a
|
|
WHERE a.num_emp = dstb01.num_emp
|
|
LET nombre = nombre1 CLIPPED," ",apellido1 CLIPPED
|
|
DISPLAY BY NAME dstb01.programa THRU dstb01.numero_act,nombre
|
|
|
|
MENU "OPCION"
|
|
COMMAND "Siguiente"
|
|
FETCH NEXT busca INTO dstb01.*
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
ERROR "(3) REGISTRO NO EXISTE"
|
|
END IF
|
|
|
|
SELECT a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a
|
|
WHERE a.num_emp = dstb01.num_emp
|
|
LET nombre = nombre1 CLIPPED," ",apellido1 CLIPPED
|
|
DISPLAY BY NAME dstb01.programa THRU dstb01.numero_act,nombre
|
|
|
|
COMMAND "Anterior"
|
|
FETCH PREVIOUS busca INTO dstb01.*
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
ERROR "(3) REGISTRO NO EXISTE"
|
|
END IF
|
|
|
|
SELECT a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a
|
|
WHERE a.num_emp = dstb01.num_emp
|
|
LET nombre = nombre1 CLIPPED," ",apellido1 CLIPPED
|
|
DISPLAY BY NAME dstb01.programa THRU dstb01.numero_act,nombre
|
|
|
|
COMMAND "Primero"
|
|
FETCH FIRST busca INTO dstb01.*
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
ERROR "(3) REGISTRO NO EXISTE"
|
|
END IF
|
|
|
|
SELECT a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a
|
|
WHERE a.num_emp = dstb01.num_emp
|
|
LET nombre = nombre1 CLIPPED," ",apellido1 CLIPPED
|
|
DISPLAY BY NAME dstb01.programa THRU dstb01.numero_act,nombre
|
|
|
|
COMMAND "Ultimo"
|
|
FETCH LAST busca INTO dstb01.*
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
ERROR "(3) REGISTRO NO EXISTE"
|
|
END IF
|
|
|
|
SELECT a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a
|
|
WHERE a.num_emp = dstb01.num_emp
|
|
LET nombre = nombre1 CLIPPED," ",apellido1 CLIPPED
|
|
DISPLAY BY NAME dstb01.programa THRU dstb01.numero_act,nombre
|
|
|
|
COMMAND "Ver" "Presione <ESC> Para Actualizar <Ctrl-C> Para Cancelar"
|
|
|
|
CALL entradas01()
|
|
CALL procesos01()
|
|
CALL salidas01()
|
|
CALL tablas01()
|
|
|
|
COMMAND "Retornar"
|
|
EXIT MENU
|
|
END MENU
|
|
END FUNCTION
|
|
|
|
FUNCTION entradas01()
|
|
|
|
OPEN WINDOW dsprwd001 AT 9,4 WITH FORM "dsfmwd001"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 1,COMMENT LINE LAST)
|
|
|
|
LET selec1 =
|
|
"SELECT a.linea_no,a.entradas FROM dstb00002 a ",
|
|
"WHERE a.programa = ? AND a.numero_act = ? ORDER BY 1 "
|
|
|
|
PREPARE com_a FROM selec1
|
|
DECLARE busca1 CURSOR FOR com_a
|
|
OPEN busca1 USING dstb01.programa,dstb01.numero_act
|
|
|
|
LET p = 1
|
|
WHILE STATUS != NOTFOUND
|
|
FETCH busca1 INTO linea_no[p],arr_ent[p]
|
|
IF STATUS = NOTFOUND THEN
|
|
EXIT WHILE
|
|
END IF
|
|
LET p = p + 1
|
|
END WHILE
|
|
CALL SET_COUNT(p - 1)
|
|
|
|
DISPLAY ARRAY arr_ent TO arr_ent1.*
|
|
LET curr = ARR_CURR()
|
|
|
|
CLOSE WINDOW dsprwd001
|
|
END FUNCTION
|
|
|
|
FUNCTION procesos01()
|
|
|
|
OPEN WINDOW dsprwd002 AT 9,4 WITH FORM "dsfmwd002"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 1,COMMENT LINE LAST)
|
|
|
|
LET selec1 =
|
|
"SELECT a.linea_no,a.proceso FROM dstb00002 a ",
|
|
"WHERE a.programa = ? AND a.numero_act = ? ORDER BY 1 "
|
|
|
|
PREPARE com_2 FROM selec1
|
|
DECLARE busca2 CURSOR FOR com_2
|
|
OPEN busca2 USING dstb01.programa,dstb01.numero_act
|
|
|
|
LET p = 1
|
|
WHILE STATUS != NOTFOUND
|
|
FETCH busca2 INTO linea_no[p],arr_pro[p]
|
|
IF STATUS = NOTFOUND THEN
|
|
EXIT WHILE
|
|
END IF
|
|
LET p = p + 1
|
|
END WHILE
|
|
CALL SET_COUNT(p - 1)
|
|
|
|
DISPLAY ARRAY arr_pro TO arr_pro1.*
|
|
LET curr = ARR_CURR()
|
|
|
|
CLOSE WINDOW dsprwd002
|
|
END FUNCTION
|
|
|
|
FUNCTION salidas01()
|
|
|
|
OPEN WINDOW dsprwd003 AT 9,4 WITH FORM "dsfmwd003"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 1,COMMENT LINE LAST)
|
|
|
|
LET selec1 =
|
|
"SELECT a.linea_no,a.salida FROM dstb00002 a ",
|
|
"WHERE a.programa = ? AND a.numero_act = ? ORDER BY 1 "
|
|
|
|
PREPARE com_s FROM selec1
|
|
DECLARE busca3 CURSOR FOR com_s
|
|
OPEN busca3 USING dstb01.programa,dstb01.numero_act
|
|
|
|
LET p = 1
|
|
WHILE STATUS != NOTFOUND
|
|
FETCH busca3 INTO linea_no[p],arr_sal[p]
|
|
IF STATUS = NOTFOUND THEN
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET p = p + 1
|
|
END WHILE
|
|
|
|
CALL SET_COUNT(p - 1)
|
|
|
|
DISPLAY ARRAY arr_sal TO arr_sal1.*
|
|
LET curr = ARR_CURR()
|
|
|
|
CLOSE WINDOW dsprwd003
|
|
END FUNCTION
|
|
|
|
FUNCTION tablas01()
|
|
|
|
OPEN WINDOW dsprwd006 AT 9,4 WITH FORM "dsfmwd006"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 1,COMMENT LINE LAST)
|
|
|
|
LET selec1 =
|
|
"SELECT a.tabla FROM dstb00006 a WHERE a.programa = ? AND ",
|
|
" a.numero_act = ? ORDER BY 1 "
|
|
PREPARE com_t FROM selec1
|
|
DECLARE busca4 CURSOR FOR com_t
|
|
OPEN busca4 USING dstb01.programa,dstb01.numero_act
|
|
|
|
LET p = 1
|
|
WHILE STATUS != NOTFOUND
|
|
FETCH busca4 INTO arr_tab[p]
|
|
IF STATUS = NOTFOUND THEN
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET p = p + 1
|
|
END WHILE
|
|
|
|
CALL SET_COUNT(p - 1)
|
|
|
|
DISPLAY ARRAY arr_tab TO arr_tab1.*
|
|
LET curr = ARR_CURR()
|
|
|
|
CLOSE WINDOW dsprwd006
|
|
END FUNCTION
|