####################################################################### # 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 Para Actualizar 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