####################################################################### # SISTEMA : DOCUMENTACION DE SISTEMA # PROGRAMA : DSPRCS003.4GL # OBJETIVO : Relacion de Sistema Vs Menu. # AUTOR : Tadeo A. Ferreras F. # FECHA : JUNIO 14, 1995 ######################################################################## DATABASE rayovac GLOBALS "dsprgb000.4gl" FUNCTION dsprcs003() OPTIONS FORM LINE 8, ERROR LINE 23, PROMPT LINE 23 OPEN FORM dsfmcs003 FROM "dsfmcs002" DISPLAY FORM dsfmcs003 CALL pantalla() DISPLAY "dsprcs003" AT 4,3 ATTRIBUTE(RED) DISPLAY "Sistema Vs Programas" AT 6,30 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 Programas del Sistema Cancelar" DECLARE busca1 CURSOR FOR SELECT UNIQUE a.programa,a.descripcion FROM dstb00001 a WHERE a.cod_sistema = dstb03.cod_sistema AND a.status_t IS NULL AND a.programa[3,4] = "MN" ORDER BY 1 LET idx = 1 FOREACH busca1 INTO act2[idx].* LET idx = idx + 1 END FOREACH CALL SET_COUNT(idx - 1) DISPLAY ARRAY act2 TO act2_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