{ ------------------------------------------------------------------- PROGRAMA : DSMNMT000 OBJETIVO : Menu de Mantenimientos del Sistema de Documentacion. PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Junio 09, 1995. -------------------------------------------------------------------- } GLOBALS "dsprgb000.4gl" FUNCTION dsmnmt000() DEFINE p_user CHAR(9) DEFINE luz CHAR(5) CALL opcion_pantalla3() MENU "Mantenimientos: " COMMAND "1" CALL seg000(1,"dsmnmt000") RETURNING luz IF luz = "azul" THEN CALL dsprmt001() CALL opcion_pantalla3() END IF COMMAND "2" CALL seg000(2,"dsmnmt000") RETURNING luz IF luz = "azul" THEN CALL dsprmt002() CALL opcion_pantalla3() END IF COMMAND "3" CALL seg000(3,"dsmnmt000") RETURNING luz IF luz = "azul" THEN CALL dsprmt003() CALL opcion_pantalla3() END IF COMMAND "4" CALL seg000(4,"dsmnmt000") RETURNING luz IF luz = "azul" THEN CALL dsprmt004() CALL opcion_pantalla3() END IF COMMAND "5" CALL seg000(5,"dsmnmt000") RETURNING luz IF luz = "azul" THEN CALL dsprmt005() CALL opcion_pantalla3() END IF COMMAND "Retornar" EXIT MENU END MENU END FUNCTION FUNCTION prd() LET a_ano = year(p_fechas) LET mes_control = MONTH(today) LET mes_calc = mes_control IF mes_calc = 01 THEN LET mes_calc = 13 LET a_ano = year(today - 32) END IF #Aqui la funcion se posicionaba en dos meses para el control del documento #LET mes_calc = mes_calc - 2 IF mes_calc <= 0 THEN LET mes_calc = 12 LET a_ano = year(today) - 1 END IF LET c_ano = year(today) {IF a_ano != c_ano THEN LET numero_msg = 59 CALL msg(numero_msg) LET bandera = 1 RETURN END IF} SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable WHERE fecha_corte >= p_fechas IF status = notfound THEN LET numero_msg = 58 CALL msg(numero_msg) LET bandera = 1 END IF SELECT MIN(dias_gracia) INTO dia FROM prdtable WHERE fecha_corte = fecha_c IF dia IS NULL THEN LET dia = 0 END IF SELECT a.usuario FROM seg0003 a WHERE a.usuario = USER IF status != notfound THEN LET fecha_c = fecha_c + dia END IF LET comp_fech = fecha_c LET comp_fech1 = TODAY IF comp_fech < comp_fech1 THEN LET numero_msg = 57 CALL msg(numero_msg) LET bandera = 1 END IF END FUNCTION FUNCTION opcion_pantalla3() OPTIONS PROMPT LINE 8, MESSAGE LINE 24 CLEAR SCREEN CALL pantalla() DISPLAY "Mantenimientos" AT 6,33 ATTRIBUTE(BLACK) DISPLAY "dsmnmt000" AT 4,3 ATTRIBUTE(RED) DISPLAY "1- Maestra de Sistema dsprmt001" AT 10,1 DISPLAY "2- Documentacion de Programas dsprmt002" AT 11,1 DISPLAY "3- Relacion Sistema y Menu dsprmt003" AT 12,1 DISPLAY "4- Creacion/Documentacion Tabla dsprmt004" AT 13,1 DISPLAY "5- Menu de Opciones dsprmt005" AT 14,1 #DISPLAY "S- Retorna Menu Anterior " AT 16,1 # ATTRIBUTE (BLACK) END FUNCTION