Files
MBS/PROYECTO/cgdir/cgprrp031.4gl
T

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