216 lines
6.4 KiB
Plaintext
216 lines
6.4 KiB
Plaintext
{
|
|
==============================================================================
|
|
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 "<<<Buscando Informacion... Espere por Favor>>>" 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 "<<<Reporte Generandose... Espere por Favor>>>" 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
|