525 lines
20 KiB
Plaintext
525 lines
20 KiB
Plaintext
{
|
|
==============================================================================
|
|
PROGRAMA : TEPRRP010
|
|
SISTEMA : Sistema de Tesoreria
|
|
Objetivo : Analisis del Cash Flow Real Comparativo
|
|
PROGRAMADOR : Tadeo A. Ferreras
|
|
FECHA : Diciembre 08, 1995
|
|
==============================================================================
|
|
}
|
|
GLOBALS
|
|
"teprgb000.4gl"
|
|
|
|
DEFINE datos_10 RECORD
|
|
codigo INTEGER,
|
|
descripcion CHAR(30),
|
|
tipo CHAR(2),
|
|
ano INTEGER,
|
|
mes INTEGER,
|
|
fecha1 DATE,
|
|
fecha2 DATE,
|
|
monto1 DECIMAL(12,4),
|
|
monto2 DECIMAL(12,4),
|
|
monto3 DECIMAL(12,4),
|
|
tipo1 CHAR(1)
|
|
END RECORD
|
|
DEFINE fecha_inicial,fecha_final DATE
|
|
DEFINE d,i,c,ano,ano2,mes,mes_2 INTEGER
|
|
DEFINE tasa DECIMAL(12,4)
|
|
DEFINE balance,balance1,balance2 INTEGER
|
|
DEFINE total_ig ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE total_ig1 ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE total_di ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE total_di1 ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE total_dl ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE total_dl1 ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE balan ARRAY[12] OF DECIMAL(12,4)
|
|
DEFINE balan1 ARRAY[12] OF DECIMAL(12,4)
|
|
|
|
FUNCTION teprrp010()
|
|
LET int_flag = FALSE
|
|
|
|
OPTIONS
|
|
FORM LINE 8
|
|
|
|
OPEN FORM tefmrp010 FROM "tefmrp010"
|
|
DISPLAY FORM tefmrp010
|
|
DISPLAY "teprrp010" AT 4,3 ATTRIBUTE(RED)
|
|
DISPLAY "Cash Flow Real Comparativo (Periodo de 3 Anos)" AT 6,17 ATTRIBUTE(BLACK)
|
|
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
CALL defecto(impresor) RETURNING imprime,letras.*,archivo
|
|
|
|
INPUT BY NAME ano,mes,tasa
|
|
ON KEY(CONTROL-P)
|
|
CALL busca_printer() RETURNING imprime,letras.*,archivo
|
|
|
|
AFTER FIELD ano
|
|
IF ano IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD ano
|
|
END IF
|
|
|
|
LET ano2 = ano - 2
|
|
|
|
AFTER FIELD mes
|
|
IF mes IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD mes
|
|
END IF
|
|
|
|
AFTER FIELD tasa
|
|
IF tasa IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD tasa
|
|
END IF
|
|
|
|
END INPUT
|
|
|
|
LET parametro = "D"
|
|
CALL elijeimpresion(parametro) RETURNING orden,destino,letras.*
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
SELECT a.valor/1000 INTO balance2 FROM tetb00007 a
|
|
WHERE a.ano = ano - 3
|
|
SELECT a.valor/1000 INTO balance1 FROM tetb00007 a
|
|
WHERE a.ano = ano - 2
|
|
SELECT a.valor/1000 INTO balance FROM tetb00007 a
|
|
WHERE a.ano = ano - 1
|
|
|
|
IF balance IS NULL THEN
|
|
LET balance = 0
|
|
END IF
|
|
|
|
IF balance1 IS NULL THEN
|
|
LET balance1 = 0
|
|
END IF
|
|
|
|
IF balance2 IS NULL THEN
|
|
LET balance2 = 0
|
|
END IF
|
|
|
|
FOR idx = 1 TO 12
|
|
LET total_ig[idx] = 0
|
|
LET total_ig1[idx] = 0
|
|
LET total_di[idx] = 0
|
|
LET total_di1[idx] = 0
|
|
LET total_dl[idx] = 0
|
|
LET total_dl1[idx] = 0
|
|
END FOR
|
|
|
|
LET selec =
|
|
"SELECT UNIQUE a.codigo,a.descripcion,a.tipo,b.ano,b.mes, ",
|
|
" b.fecha_inicio,b.fecha_corte ",
|
|
"FROM tetb00003 a,prdtable b ",
|
|
"WHERE (a.status_t IS NULL) AND (b.ano BETWEEN ? AND ?) AND ",
|
|
" (b.mes = ?) "
|
|
|
|
DISPLAY "<<<Buscando Informacion... Espere por Favor>>>" AT 19,14
|
|
ATTRIBUTE(BLUE)
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE busco CURSOR FOR comando
|
|
OPEN busco USING ano2,ano,mes
|
|
|
|
START REPORT reporte_10 TO archivo
|
|
|
|
DISPLAY "<<<Reporte Generandose... Espere por Favor>>>" AT 19,14
|
|
ATTRIBUTE(BLUE)
|
|
|
|
WHILE status != NOTFOUND
|
|
FETCH busco INTO datos_10.*
|
|
IF STATUS = NOTFOUND THEN
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
DISPLAY datos_10.tipo AT 21,30
|
|
|
|
IF datos_10.tipo = "IG" THEN
|
|
LET datos_10.tipo1 = "A"
|
|
END IF
|
|
IF datos_10.tipo = "DI" THEN
|
|
LET datos_10.tipo1 = "B"
|
|
END IF
|
|
IF datos_10.tipo = "DL" THEN
|
|
LET datos_10.tipo1 = "C"
|
|
END IF
|
|
LET datos_10.monto1 = 0
|
|
IF datos_10.ano = ano THEN
|
|
CASE
|
|
WHEN datos_10.codigo = 1
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto1 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia IN (1,7)) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 2
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto1 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 2) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 3
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto1 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 3) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 4
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto1 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 4) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 22
|
|
SELECT SUM(a.valor/1000) INTO datos_10.monto1 FROM tetb00004 a
|
|
WHERE (a.status_t IS NULL) AND (a.codigo=datos_10.codigo) AND
|
|
(a.ano = datos_10.ano AND a.mes = datos_10.mes)
|
|
EXIT CASE
|
|
OTHERWISE
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto1
|
|
FROM cgtb00005 a,tetb00006 b
|
|
WHERE a.cheque_no = b.cheque_no AND
|
|
a.status_t = "C" AND
|
|
a.cuenta_no = b.banco AND
|
|
b.codigo = datos_10.codigo AND
|
|
a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2
|
|
EXIT CASE
|
|
|
|
END CASE
|
|
ELSE
|
|
SELECT SUM(a.valor_real/1000) INTO datos_10.monto1
|
|
FROM tetb00005 a
|
|
WHERE (a.status_t IS NULL) AND (a.codigo = datos_10.codigo) AND
|
|
(a.ano = datos_10.ano AND a.mes = datos_10.mes)
|
|
|
|
END IF
|
|
|
|
IF datos_10.ano = ano - 1 THEN
|
|
CASE
|
|
WHEN datos_10.codigo = 1
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto2 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia IN (1,7)) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 2
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto2 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 2) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 3
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto2 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 3) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 4
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto2 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 4) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 22
|
|
SELECT SUM(a.valor/1000) INTO datos_10.monto2 FROM tetb00004 a
|
|
WHERE (a.status_t IS NULL) AND (a.codigo=datos_10.codigo) AND
|
|
(a.ano = datos_10.ano AND a.mes = datos_10.mes)
|
|
EXIT CASE
|
|
OTHERWISE
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto2
|
|
FROM cgtb00005 a,tetb00006 b
|
|
WHERE a.cheque_no = b.cheque_no AND
|
|
a.status_t = "C" AND
|
|
a.cuenta_no = b.banco AND
|
|
b.codigo = datos_10.codigo AND
|
|
a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2
|
|
EXIT CASE
|
|
|
|
END CASE
|
|
ELSE
|
|
SELECT SUM(a.valor_real/1000) INTO datos_10.monto2
|
|
FROM tetb00005 a
|
|
WHERE (a.status_t IS NULL) AND (a.codigo = datos_10.codigo) AND
|
|
(a.ano = datos_10.ano AND a.mes = datos_10.mes)
|
|
|
|
END IF
|
|
|
|
IF datos_10.ano = ano - 2 THEN
|
|
CASE
|
|
WHEN datos_10.codigo = 1
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto3 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia IN (1,7)) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 2
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto3 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 2) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 3
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto3 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 3) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 4
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto3 FROM tetb00001 a
|
|
WHERE (a.status_t IS NULL) AND (a.procedencia = 4) AND
|
|
(a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2)
|
|
EXIT CASE
|
|
|
|
WHEN datos_10.codigo = 22
|
|
SELECT SUM(a.valor/1000) INTO datos_10.monto3 FROM tetb00004 a
|
|
WHERE (a.status_t IS NULL) AND (a.codigo=datos_10.codigo) AND
|
|
(a.ano = datos_10.ano AND a.mes = datos_10.mes)
|
|
EXIT CASE
|
|
OTHERWISE
|
|
SELECT SUM(a.monto/1000) INTO datos_10.monto3
|
|
FROM cgtb00005 a,tetb00006 b
|
|
WHERE a.cheque_no = b.cheque_no AND
|
|
a.status_t = "C" AND
|
|
a.cuenta_no = b.banco AND
|
|
b.codigo = datos_10.codigo AND
|
|
a.fecha BETWEEN datos_10.fecha1 AND datos_10.fecha2
|
|
EXIT CASE
|
|
|
|
END CASE
|
|
ELSE
|
|
SELECT SUM(a.valor_real/1000) INTO datos_10.monto3
|
|
FROM tetb00005 a
|
|
WHERE (a.status_t IS NULL) AND (a.codigo = datos_10.codigo) AND
|
|
(a.ano = datos_10.ano AND a.mes = datos_10.mes)
|
|
|
|
END IF
|
|
|
|
DISPLAY datos_10.monto1 AT 21,35
|
|
|
|
IF datos_10.monto1 IS NULL THEN
|
|
LET datos_10.monto1 = 0
|
|
END IF
|
|
IF datos_10.monto2 IS NULL THEN
|
|
LET datos_10.monto2 = 0
|
|
END IF
|
|
IF datos_10.monto3 IS NULL THEN
|
|
LET datos_10.monto3 = 0
|
|
END IF
|
|
|
|
|
|
IF datos_10.tipo = "DI" THEN
|
|
LET datos_10.monto1 = datos_10.monto1 * tasa
|
|
END IF
|
|
IF datos_10.tipo = "DI" THEN
|
|
LET datos_10.monto2 = datos_10.monto2 * tasa
|
|
END IF
|
|
IF datos_10.tipo = "DI" THEN
|
|
LET datos_10.monto3 = datos_10.monto3 * tasa
|
|
END IF
|
|
OUTPUT TO REPORT reporte_10(datos_10.*)
|
|
END WHILE
|
|
FINISH REPORT reporte_10
|
|
#RUN imprime
|
|
CALL fdestino(destino,archivo,imprime)
|
|
CLEAR SCREEN
|
|
END FUNCTION
|
|
|
|
REPORT reporte_10(x)
|
|
DEFINE x RECORD
|
|
codigo INTEGER,
|
|
descripcion CHAR(30),
|
|
tipo CHAR(2),
|
|
ano INTEGER,
|
|
mes INTEGER,
|
|
fecha1 DATE,
|
|
fecha2 DATE,
|
|
monto1 DECIMAL(12,4),
|
|
monto2 DECIMAL(12,4),
|
|
monto3 DECIMAL(12,4),
|
|
tipo1 CHAR(1)
|
|
END RECORD
|
|
|
|
## DEFINICION DE LAS VARIABLES DE IMPRESION
|
|
DEFINE numero_ch CHAR(9),
|
|
descripcion CHAR(30),
|
|
detalle1,detalle2 CHAR(40)
|
|
DEFINE hora CHAR(5)
|
|
DEFINE nombre1 ARRAY[12] OF CHAR(10)
|
|
|
|
OUTPUT
|
|
## DEFINICION DE LOS MARGENES DE IMPRESION
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 3
|
|
ORDER BY x.tipo1,x.codigo,x.ano,x.mes
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
LET hora = time
|
|
LET nombre1[1] = " ENERO "
|
|
LET nombre1[2] = " FEBRERO "
|
|
LET nombre1[3] = " MARZO "
|
|
LET nombre1[4] = " ABRIL "
|
|
LET nombre1[5] = " MAYO "
|
|
LET nombre1[6] = " JUNIO "
|
|
LET nombre1[7] = " JULIO "
|
|
LET nombre1[8] = " AGOSTO "
|
|
LET nombre1[9] = "SEPTIEMBRE"
|
|
LET nombre1[10] = " OCTUBRE "
|
|
LET nombre1[11] = "NOVIEMBRE "
|
|
LET nombre1[12] = "DICIEMBRE "
|
|
|
|
## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS
|
|
LET d = (c-46)/2
|
|
PRINT COLUMN 1, letras.negrillas_on
|
|
PRINT COLUMN 1, "teprrp010",
|
|
COLUMN 17, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
|
COLUMN 73, "Pag. ",pageno using "###"
|
|
PRINT COLUMN 17, " Sistema de Tesoreria",
|
|
COLUMN 73, today using "dd/mm/yyyy"
|
|
PRINT COLUMN 17, " Cash Flow Real Comparativo",
|
|
COLUMN 76, hora
|
|
PRINT COLUMN 17, "Periodo de 3 Anos Y Expresados Em Miles (1000) "
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 1, "Periodo: Mes de ", nombre1[mes] CLIPPED,
|
|
" Del Ano ",ano - 2 USING "&&&&",
|
|
" Al ", ano USING "&&&&"
|
|
|
|
PRINT COLUMN 1, "--------------------------------------------------",
|
|
"------------------------------"
|
|
PRINT COLUMN 1, "Partida",
|
|
COLUMN 40, "Ano ", ano - 2 USING "&&&&",
|
|
COLUMN 55, "Ano ", ano - 1 USING "&&&&",
|
|
COLUMN 70, "Ano ", ano USING "&&&&"
|
|
PRINT COLUMN 1, "--------------------------------------------------",
|
|
"------------------------------"
|
|
|
|
BEFORE GROUP OF x.tipo1
|
|
IF x.tipo1 = "A" THEN
|
|
LET descripcion = "TOTAL INGRESO"
|
|
END IF
|
|
IF x.tipo1 = "B" THEN
|
|
LET descripcion = "TOTAL DESEMBOLSO INT."
|
|
END IF
|
|
IF x.tipo1 = "C" THEN
|
|
LET descripcion = "TOTAL DESEMBOLSO LOCAL"
|
|
END IF
|
|
BEFORE GROUP OF x.codigo
|
|
IF x.codigo = 1 THEN
|
|
PRINT COLUMN 1,letras.negrillas_on,"INGRESOS",letras.negrillas_off
|
|
PRINT COLUMN 1,letras.negrillas_on,"========",letras.negrillas_off
|
|
SKIP 1 LINE
|
|
END IF
|
|
IF x.codigo = 5 THEN
|
|
PRINT COLUMN 1,letras.negrillas_on,"DESEMBOLSOS",letras.negrillas_off
|
|
PRINT COLUMN 1,letras.negrillas_on,"===========",letras.negrillas_off
|
|
PRINT COLUMN 1,letras.negrillas_on,"DESEMBOLSOS INTERNACIONALES (",
|
|
"TASA UTILIZADA RD$",tasa USING "<<<,<<<.<<",")",
|
|
letras.negrillas_off
|
|
SKIP 1 LINE
|
|
END IF
|
|
IF x.codigo = 14 THEN
|
|
PRINT COLUMN 1,letras.negrillas_on,"DESEMBOLSOS LOCALES",
|
|
letras.negrillas_off
|
|
SKIP 1 LINE
|
|
END IF
|
|
PRINT COLUMN 1, x.codigo USING "###"," ",x.descripcion CLIPPED;
|
|
|
|
LET c = 39
|
|
## AQUI SE INDICA LA IMPRESION DEL DETALLE
|
|
|
|
AFTER GROUP OF x.codigo
|
|
PRINT COLUMN 35, GROUP SUM(x.monto3)
|
|
#WHERE x.ano = ano - 2 AND x.mes = mes
|
|
USING "#,###,###.####","|",
|
|
COLUMN 50, GROUP SUM(x.monto2)
|
|
#WHERE x.ano = ano - 1 AND x.mes = mes
|
|
USING "#,###,###.####","|",
|
|
COLUMN 65, GROUP SUM(x.monto1)
|
|
#WHERE x.ano = ano AND x.mes = mes
|
|
USING "#,###,###.####","|"
|
|
|
|
AFTER GROUP OF x.tipo1
|
|
PRINT COLUMN 40, "---------","|",
|
|
COLUMN 55, "---------","|",
|
|
COLUMN 70, "---------","|"
|
|
|
|
PRINT COLUMN 1, descripcion,
|
|
COLUMN 35, GROUP SUM(x.monto3)
|
|
#WHERE x.ano = ano - 2 AND x.mes = mes
|
|
USING "#,###,###.####","|",
|
|
COLUMN 50, GROUP SUM(x.monto2)
|
|
#WHERE x.ano = ano - 1 AND x.mes = mes
|
|
USING "#,###,###.####","|",
|
|
COLUMN 65, GROUP SUM(x.monto1)
|
|
#WHERE x.ano = ano AND x.mes = mes
|
|
USING "#,###,###.####","|"
|
|
ON LAST ROW
|
|
|
|
PRINT COLUMN 40, "---------","|",
|
|
COLUMN 55, "---------","|",
|
|
COLUMN 70, "---------","|"
|
|
|
|
|
|
IF x.tipo1 != "A" THEN
|
|
PRINT COLUMN 1, "TOTAL DESEMB. LOC. E INT.",
|
|
COLUMN 35, SUM(x.monto3)# WHERE x.ano = ano - 2 AND x.mes = mes
|
|
USING "#,###,###.####","|",
|
|
COLUMN 50, SUM(x.monto2) #WHERE x.ano = ano - 1 AND x.mes = mes
|
|
USING "#,###,###.####","|",
|
|
COLUMN 65, SUM(x.monto1) #WHERE x.ano = ano AND x.mes = mes
|
|
USING "#,###,###.####","|"
|
|
END IF
|
|
|
|
PRINT COLUMN 40, "---------","|",
|
|
COLUMN 55, "---------","|",
|
|
COLUMN 70, "---------","|"
|
|
|
|
PRINT COLUMN 1, "FLUJO OPERATIVO",
|
|
COLUMN 35, (SUM(x.monto3)) #WHERE x.ano=ano - 2 AND x.mes=mes)
|
|
USING "-,---,---.----","|",
|
|
COLUMN 50, (SUM(x.monto2)) #WHERE x.ano=ano - 1 AND x.mes=mes)
|
|
USING "-,---,---.----","|",
|
|
COLUMN 65, (SUM(x.monto1)) #WHERE x.ano=ano AND x.mes = mes)
|
|
USING "-,---,---.----","|"
|
|
|
|
PRINT COLUMN 1, "BALANCE INICIAL",
|
|
COLUMN 35, (SUM(x.monto3)) #WHERE x.ano=ano - 2 AND x.mes<mes)
|
|
+ balance2 USING "-,---,---.----","|",
|
|
COLUMN 50, (SUM(x.monto2)) #WHERE x.ano=ano - 1 AND x.mes<mes)
|
|
+ balance1 USING "-,---,---.----","|",
|
|
COLUMN 65, (SUM(x.monto1)) #WHERE x.ano=ano AND x.mes < mes)
|
|
+ balance USING "-,---,---.----","|"
|
|
|
|
PRINT COLUMN 40, "---------","|",
|
|
COLUMN 55, "---------","|",
|
|
COLUMN 70, "---------","|"
|
|
|
|
PRINT COLUMN 1, "BALANCE FINAL",
|
|
COLUMN 35, (SUM(x.monto3)) #WHERE x.ano=ano - 2 AND x.mes<=mes)
|
|
+ balance2 USING "-,---,---.----","|",
|
|
COLUMN 50, (SUM(x.monto2)) #WHERE x.ano=ano - 1 AND x.mes<=mes)
|
|
+ balance1 USING "-,---,---.----","|",
|
|
COLUMN 65, (SUM(x.monto1)) #WHERE x.ano=ano AND x.mes <= mes)
|
|
+ balance USING "-,---,---.----","|"
|
|
PRINT letras.comp_off,letras.negrillas_off
|
|
END REPORT
|