{ ============================================================================== PROGRAMA : CGPRRP031 SISTEMA : CONTABILIDAD GENERAL Objetivo : LISTAR LAS CUENTAS PRESUPUESTADAS PROGRAMADOR : JUAN F. SOTO FECHA : SEPTIEMBRE 11, 1997 DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ============================================================================== } GLOBALS "cgprgb000.4gl" DEFINE p_ano CHAR(4) DEFINE p_mes SMALLINT DEFINE mayor_anal1 RECORD cuenta_no CHAR(8), descripcion CHAR(30), presupuesto DECIMAL(12,2), preal DECIMAL(12,2) END RECORD DEFINE fecha_inicial,fecha_final DATE FUNCTION cgprrp031() LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM cgfmrp031 FROM "cgfmrp031" DISPLAY FORM cgfmrp031 DISPLAY "cgprrp031" AT 4,3 DISPLAY " Presupuesto de Gastos " AT 6,28 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME p_ano,p_mes AFTER FIELD p_ano IF p_ano IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD p_ano END IF AFTER FIELD p_mes IF p_mes IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD p_mes END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF SELECT fecha_inicio,fecha_corte INTO fecha_inicial,fecha_final FROM prdtable WHERE ano = p_ano and mes = p_mes CONSTRUCT BY NAME criterio ON b.cuenta_no IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT UNIQUE b.cuenta_no,b.descripcion, ", " presupuesto ", "FROM cgtb00001 b, cgtb00023 c ", "WHERE b.status_t IS NULL AND b.cuenta_no = c.cuenta_no AND ", " c.mes = ? AND c.ano = ? AND c.status_t is null AND ", criterio clipped," ORDER BY 1" DISPLAY "<<>>" AT 19,14 ATTRIBUTE(blue) PREPARE comando FROM selec DECLARE busco CURSOR FOR comando OPEN busco USING p_mes,p_ano START REPORT presupuesto TO "C:\\archivo" DISPLAY "<<>>" AT 19,14 ATTRIBUTE(blue) WHILE status != NOTFOUND FETCH busco INTO mayor_anal1.* IF STATUS = NOTFOUND THEN EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE EXIT WHILE END IF LET mayor_anal1.preal = 0 SELECT SUM(a.debito-a.credito) INTO mayor_anal1.preal FROM cgtb00004 a WHERE a.cuenta_no = mayor_anal1.cuenta_no AND a.fecha BETWEEN fecha_inicial AND fecha_final AND a.status_t IS NULL IF mayor_anal1.preal IS NULL THEN LET mayor_anal1.preal = 0 END IF OUTPUT TO REPORT presupuesto(mayor_anal1.*) END WHILE FINISH REPORT presupuesto CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT presupuesto(x) DEFINE x RECORD cuenta_no CHAR(8), descripcion CHAR(30), presupuesto DECIMAL(12,2), preal DECIMAL(12,2) END RECORD, ppreal,diferencia DECIMAL(12,2), fecha2 DATE ## DEFINICION DE LAS VARIABLES DE IMPRESION DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE normal CHAR(2) DEFINE hora CHAR(5) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 77 LET hora = time ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS LET l = (132 - LENGTH(p_compania.nombre CLIPPED))/2 PRINT COLUMN 1, comp_on, negrillas_on, COLUMN 1, "cgprrp031", COLUMN l, p_compania.nombre CLIPPED, COLUMN 125, "PAG. ",pageno using "###" PRINT COLUMN 43, "SISTEMA DE CONTABILIDAD GENERAL", COLUMN 125, today using "dd/mm/yy" PRINT COLUMN 42, "PRESUPUESTO DE GASTOS COMPARATIVO", COLUMN 128, hora SELECT a.descrip INTO nombre_m FROM mestable a WHERE a.mes=p_mes PRINT COLUMN 1, " MES ",nombre_m PRINT COLUMN 1, "---------------------------------------------------", "---------------------------------------------------", "-------------------------------" PRINT COLUMN 100, "GASTO" PRINT COLUMN 1, "CUENTA", COLUMN 15, "DESCRIPCION", COLUMN 72, "PRESUPUESTADO", COLUMN 100, "REAL", COLUMN 117, "DIFERENCIA" PRINT COLUMN 1, "----------------------------------------------------", "----------------------------------------------------" , "-----------------------------" PRINT negrillas_off ## AQUI SE INDICA LA IMPRESION DEL DETALLE ON EVERY ROW PRINT COLUMN 1, x.cuenta_no ," ", x.descripcion CLIPPED, COLUMN 70, x.presupuesto USING "###,###,###.##", COLUMN 90, x.preal USING "###,###,###.##", COLUMN 110, x.presupuesto - x.preal USING "(((,(((,(((.##)" ON LAST ROW PRINT COLUMN 70, "--------------", COLUMN 90, "--------------", COLUMN 110, "--------------" PRINT COLUMN 70, SUM(x.presupuesto) USING "###,###,###.##", COLUMN 90, SUM(x.preal) USING "###,###,###.##", COLUMN 110, SUM(x.presupuesto - x.preal) USING "(((,(((,(((.##)" PRINT comp_off END REPORT