{ ---------------------------------------------------------------- PROGRAMA : CGMNMT000 OBJETIVO : Menu de Mantenimientos del Sistema de Contabilidad PROGRAMADOR : Ing. Juan Soto. FECHA REALIZACION : Septiembre 27, 1993. ---------------------------------------------------------------- } GLOBALS "cgprgb000.4gl" MAIN DEFER INTERRUPT CALL cgmnmt000() END MAIN FUNCTION cgmnmt000() DEFINE p_user CHAR(9) DEFINE luz CHAR(5) OPTIONS PROMPT LINE 8, HELP FILE "cgpray000.exe", HELP KEY CONTROL-W, MESSAGE LINE 24 CLEAR SCREEN CALL pantalla() DISPLAY "Mantenimientos" AT 6,33 DISPLAY "cgmnmt000" AT 4,3 ATTRIBUTE(blue) DISPLAY " 1- Catalogo de Cuentas cgprmt001" AT 10,1 DISPLAY " 2- Entradas de Diario cgprmt004" AT 11,1 DISPLAY " 3- Elim. Fis. Ent De Diario cgprmt006" AT 12,1 DISPLAY " 4- Maestra Entradas De Diario cgprmt010" AT 13,1 #DISPLAY " 5- Presupusto De Gastos cgprmt017" AT 14,1 DISPLAY "S- Retorna Menu Anterior " AT 21,1 ATTRIBUTE (BOLD) LET opcion = NULL LABEL vuelve: PROMPT " OPCION: " FOR opcion HELP 2 LET opcion = upshift(opcion) IF opcion != "S" THEN SELECT unique @usuario INTO p_user FROM seg0001 WHERE @usuario = user CALL seg000(p_user,opcion,"cgmnmt000") RETURNING luz IF luz = "roja" THEN ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION" GOTO vuelve END IF END IF CASE WHEN opcion = "1" CALL cgprmt001() CALL cgmnmt000() WHEN opcion = "2" CLEAR SCREEN CALL cgprmt004() CALL cgmnmt000() WHEN opcion = "3" CALL cgprmt006() CALL cgmnmt000() WHEN opcion = "4" CALL cgprmt010() CALL cgmnmt000() {WHEN opcion = "5" CALL cgprmt017() CALL cgmnmt000()} WHEN opcion = "S" or opcion = "s" RETURN OTHERWISE CALL cgmnmt000() END CASE END FUNCTION # Desplega pantalla con logo de la compania FUNCTION pantalla() DEFINE fecha CHAR(8), hora char(5) SELECT * INTO p_compania.* FROM companias LET l = (80 - LENGTH(p_compania.nombre CLIPPED))/2 LET fecha = today USING "dd/mm/yy" LET hora = time DISPLAY p_compania.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,blue) DISPLAY fecha AT 4,70 ATTRIBUTE (blue) DISPLAY "Sistema de Contabilidad General" AT 5,24 DISPLAY hora AT 6,73 ATTRIBUTE(blue) CALL fgl_drawbox(5,79,3,1) CALL fgl_drawbox(1,79,22,1) END FUNCTION # Funcion que chequea los errores FUNCTION integridad() IF sqlca.sqlcode < 0 THEN LET numero_msg = sqlca.sqlcode CALL msg(numero_msg) DISPLAY numero_msg AT 23,70 LET bandera = 1 LET status = 0 SLEEP 2 RETURN END IF RETURN END FUNCTION FUNCTION prd() DEFINE controla CHAR(1) LET a_ano = year(today) 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 status = notfound THEN LET numero_msg = 58 CALL msg(numero_msg) LET bandera = 1 END IF 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