Files
MBS/PROYECTO/vedir/veprrp013.4gl
T

672 lines
31 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : VEPRRP013
OBJETIVO : Analisis de Ventas Comparativo en Unidades
PROGRAMADOR : Lic. Abner Montalvo Zapata
FECHA REALIZACION : Enero 20, 1993
-------------------------------------------------------------------------------
}
GLOBALS "veprgb000.4gl"
DEFINE idx_zona, idx_mes_actual, idx_mes_ant, idx_pres_mes,
idx_pres_mes_a, idx_mes_ant_a, idx_mes_actual_a SMALLINT
DEFINE salir_zona, salir_mes_actual, salir_mes_ant, salir_pres_mes,
salir_pres_mes_a, salir_mes_ant_a,salir,
salir_mes_actual_a CHAR(1)
DEFINE select_mes_actual, select_mes_actual_a, select_vzonas,
select_mes_ant, select_mes_ant_a, select_pres_mes,
selec1,select_pres_mes_a CHAR(1000)
DEFINE mes_actual RECORD
zona CHAR(3),
ano CHAR(4),
mes SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cant_act DECIMAL(14,2),
cant_pres DECIMAL(14,2)
END RECORD
DEFINE captura RECORD
ano INTEGER,
mes INTEGER,
ventas CHAR(1)
END RECORD
DEFINE registro RECORD
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT
END RECORD
DEFINE ano_act, mes_act, ano_ant CHAR(2)
DEFINE mes_inicio CHAR(4)
DEFINE desc_mes1,desc_mes2,mes_nombre CHAR(13)
DEFINE zzona CHAR(3)
FUNCTION veprrp013()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21,
PROMPT LINE 14
OPEN FORM vefmrp013 FROM "vefmrp013"
DISPLAY FORM vefmrp013
CALL pantalla()
DISPLAY "veprrp013" AT 4,3
DISPLAY "Analisis de Ventas en Unidades" AT 6,25
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
INPUT BY NAME captura.*
AFTER FIELD ano
IF captura.ano is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD ano
END IF
AFTER FIELD mes
IF captura.mes is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD mes
END IF
SELECT a.descrip INTO desc_mes1 FROM mestable a
WHERE a.mes = 1
SELECT a.descrip INTO desc_mes2 FROM mestable a
WHERE a.mes = captura.mes
AFTER FIELD ventas
IF captura.ventas is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD ventas
END IF
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
IF captura.ano is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD ano
END IF
IF captura.mes is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD mes
END IF
IF captura.ventas is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD ventas
END IF
EXIT INPUT
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
CONSTRUCT criterio ON b.zona FROM zona
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LABEL pide:
PROMPT "1- Unisys 1354 2- IBM PRO"C:\\archivo" " FOR tipo_imp
IF tipo_imp != 1 AND tipo_imp != 2 THEN
LET numero_msg = -1301
CALL msg(numero_msg)
GOTO pide
END IF
# Busca las ventas reales del mes
LET ano_act = captura.ano USING "&&&&"
LET mes_act = captura.mes USING "&&"
LET idx_zona = captura.mes
LET idx_zona = idx_zona - 1
IF idx_zona = 0 THEN
LET idx_zona = 99
END IF
LET ano_ant = idx_zona using "&&"
DECLARE busca CURSOR FOR
SELECT UNIQUE c.cod_grupo,c.cod_tipo,c.cod_sec
FROM iptb00002 c
WHERE c.cod_n = 3 AND c.status_t IS NULL ORDER BY 1,2,3
OPEN busca
LET select_mes_actual =
"SELECT b.zona,e.ano,e.mes,c.cod_grupo,c.cod_tipo,c.cod_sec, ",
" sum(c.cantidad) ",
"FROM vetb00002 b, vetb00003 c, prdtable e ",
"WHERE e.ano BETWEEN ?-1 AND ? and e.mes <= ? and c.cod_n = 3 AND ",
" b.fecha_factura between e.fecha_inicio and e.fecha_corte and ",
" b.factura = c.factura and b.ventas = ? and ",criterio clipped,
" GROUP by 1,2,3,4,5,6 ORDER by 4,5,6,1,2,3 "
DISPLAY "<< Buscando Informaciones del Mes del Ano Actual >>"
AT 19,14 ATTRIBUTE (REVERSE)
PREPARE busca_mes_actual FROM select_mes_actual
DECLARE reg_mes_actual SCROLL CURSOR FOR busca_mes_actual
OPEN reg_mes_actual USING captura.ano,captura.ano,captura.mes,captura.ventas
IF tipo_imp = 2 THEN
START REPORT reporte_13 TO "C:\\archivo"
ELSE
START REPORT reporte_13 TO PIPE "lp -dcentral"
END IF
DISPLAY "<< Reporte Generandose ... Espere Por Favor >>"
AT 19,14
LET salir = "N"
WHILE salir = "N"
FETCH busca INTO registro.*
IF STATUS = NOTFOUND THEN
LET salir = "S"
EXIT WHILE
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LET idx = 1
LET salir_mes_actual = "N"
WHILE salir_mes_actual = "N"
FETCH ABSOLUTE idx reg_mes_actual INTO mes_actual.*
IF STATUS = NOTFOUND THEN
LET salir_mes_actual = "S"
LET idx = 1
EXIT WHILE
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LET idx = idx + 1
IF registro.cod_grupo = mes_actual.cod_grupo AND
registro.cod_tipo = mes_actual.cod_tipo AND
registro.cod_sec = mes_actual.cod_sec THEN
LET mes_actual.cant_pres = 0
SELECT SUM(a.cantidad*(b.porciento/100)) INTO mes_actual.cant_pres
FROM vetb00017 a,vetb00016 b
WHERE a.cod_n = 3 AND a.cod_grupo = mes_actual.cod_grupo AND
a.cod_tipo=mes_actual.cod_tipo AND a.cod_sec=mes_actual.cod_sec AND
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND
a.ano=mes_actual.ano AND a.mes=b.mes AND a.mes=mes_actual.mes AND
a.ventas = captura.ventas AND b.zona = mes_actual.zona
IF mes_actual.cant_pres IS NULL THEN
LET mes_actual.cant_pres = 0
END IF
IF mes_actual.cant_act IS NULL THEN
LET mes_actual.cant_act = 0
END IF
OUTPUT TO REPORT reporte_13(mes_actual.*)
END IF
END WHILE
END WHILE
FINISH REPORT reporte_13
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte_13(x)
DEFINE x RECORD
zona CHAR(3),
ano CHAR(4),
mes SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cant_act DECIMAL(14,2),
cant_pres DECIMAL(14,2)
END RECORD
DEFINE a SMALLINT
DEFINE vendedor,imp,imp1 CHAR (1)
DEFINE descrip_venta CHAR(22)
DEFINE doble_on CHAR(3)
DEFINE doble_off CHAR(3)
DEFINE negrillas_on CHAR(6)
DEFINE negrillas_off CHAR(6)
DEFINE comp_on CHAR(3)
DEFINE comp_off CHAR(3)
DEFINE doce CHAR(6)
DEFINE normal CHAR(6)
DEFINE hora CHAR(5)
DEFINE mes CHAR(15)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
ORDER BY x.zona,x.ano,x.mes,x.cod_grupo,x.cod_tipo,x.cod_sec
FORMAT
PAGE HEADER
IF tipo_imp = 2 THEN
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 80
ELSE
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 31
LET comp_off = ASCII 29
LET doce = ASCII 30
LET normal = ASCII 029
END IF
LET hora = time
LET lj = (126 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, comp_on,negrillas_on
PRINT COLUMN 1,"veprrp013",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 119, "Pag. ",pageno using "###"
PRINT COLUMN 40, " Sistema de Ventas ",
COLUMN 119, today using "dd/mm/yy"
PRINT COLUMN 40, " Analisis de Ventas en Unidades",
COLUMN 122, hora
PRINT COLUMN 1, negrillas_off
# SKIP 1 LINE
AFTER GROUP OF x.zona
IF captura.ventas = "1" THEN
SELECT descrip INTO descrip5 FROM vetb00008
WHERE cod_zona = x.zona
ELSE
SELECT nom_pais INTO descrip5 FROM cotb00018
WHERE cod_pais = x.zona
END IF
IF descrip5 IS NULL THEN
LET descrip5 = "SIN DESCRIPCION"
END IF
PRINT COLUMN 3, negrillas_on
IF captura.ventas = "1" THEN
PRINT COLUMN 1, "ZONA : ";
END IF
IF captura.ventas = "2" THEN
PRINT COLUMN 1, "PAIS : ";
END IF
PRINT COLUMN 8, descrip5
PRINT COLUMN 1, "MES : ", desc_mes2 CLIPPED,
" DEl ",captura.ano USING "&&&&",
negrillas_off
PRINT COLUMN 1, "|",
"----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"-----|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 29, "*** HEAVY DUTY ***",
COLUMN 55, "|",
COLUMN 66, "*** SUPER CELL ***",
COLUMN 91, "|",
COLUMN 99, "*** EXTRA POWER ***",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 20, "----------------------------------------",
"----------------------------------------",
"---------------------------|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 25, "D",
COLUMN 37, "C",
COLUMN 49, "AA",
COLUMN 55, "|",
COLUMN 61, "D",
COLUMN 73, "C",
COLUMN 85, "AA",
COLUMN 91, "|",
COLUMN 97, "D",
COLUMN 109, "C",
COLUMN 121, "AA",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
"----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"-----|"
PRINT COLUMN 1, "|PRESUPUESTO ", captura.ano USING "&&&&",
COLUMN 19, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=1 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 31, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=2 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 43, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=3 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 55, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=1 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 67, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=2 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 79, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=3 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 91, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=1 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 103, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=2 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 115, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=3 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 20, "----------------------------------------",
"----------------------------------------",
"---------------------------|"
PRINT COLUMN 1, "|REALES ",captura.ano USING "&&&&",
COLUMN 19, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 31, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 43, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 55, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 67, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 79, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 91, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 103, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 115, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes=captura.mes using "###,###,###",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 20, "----------------------------------------",
"----------------------------------------",
"---------------------------|"
PRINT COLUMN 1, "|REALES ",captura.ano-1 USING "&&&&",
COLUMN 19, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 31, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 43, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 55, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 100 AND
x.cod_sec<=199 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 67, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 100 AND
x.cod_sec<=199 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 79, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 100 AND
x.cod_sec<=199 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 91, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 300 AND
x.cod_sec<=399 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 103, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 300 AND
x.cod_sec<=399 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 115, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 300 AND
x.cod_sec<=399 AND x.ano=captura.ano-1
AND x.mes=captura.mes using "###,###,###",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
"----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"-----|"
SKIP 1 LINE
PRINT COLUMN 3, negrillas_on, "ACUMULADO MES : ",
desc_mes1 CLIPPED,"-",desc_mes2 CLIPPED,
" DEl ",captura.ano USING "&&&&",
negrillas_off
PRINT COLUMN 1, "|",
"----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"-----|"
PRINT COLUMN 1, "|PRESUPUESTO ", captura.ano USING "&&&&",
COLUMN 19, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=1 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 31, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=2 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 43, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=3 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 55, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=1 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 67, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=2 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 79, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=3 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 91, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=1 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 103, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=2 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 115, "|", GROUP SUM(x.cant_pres)
WHERE x.cod_grupo=3 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 20, "----------------------------------------",
"----------------------------------------",
"---------------------------|"
PRINT COLUMN 1, "|REALES ",captura.ano USING "&&&&",
COLUMN 19, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 31, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 43, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 200 AND
x.cod_sec <= 299 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 55, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 67, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 79, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 100 AND
x.cod_sec <= 199 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 91, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 103, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 115, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 300 AND
x.cod_sec <= 399 AND x.ano=captura.ano
AND x.mes<=captura.mes using "###,###,###",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
COLUMN 19, "|",
COLUMN 20, "----------------------------------------",
"----------------------------------------",
"---------------------------|"
PRINT COLUMN 1, "|REALES ",captura.ano-1 USING "&&&&",
COLUMN 19, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 31, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 43, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 200 AND
x.cod_sec<=299 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 55, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 100 AND
x.cod_sec<=199 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 67, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 100 AND
x.cod_sec<=199 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 79, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 100 AND
x.cod_sec<=199 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 91, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=1 AND x.cod_sec >= 300 AND
x.cod_sec<=399 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 103, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=2 AND x.cod_sec >= 300 AND
x.cod_sec<=399 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 115, "|", GROUP SUM(x.cant_act)
WHERE x.cod_grupo=3 AND x.cod_sec >= 300 AND
x.cod_sec<=399 AND x.ano=captura.ano-1
AND x.mes<=captura.mes using "###,###,###",
COLUMN 127, "|"
PRINT COLUMN 1, "|",
"----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"-----|"
SKIP TO TOP OF PAGE
ON LAST ROW
PRINT comp_off
END REPORT