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

628 lines
22 KiB
Plaintext

{
----------------------------------------------------------------------------
PROGRAMA : CGPRRP030
OBJETIVO : PANORAMICO ANALISIS DE BENEFICIOS POR VENDEDOR Y COMPANIA
PROGRAMADOR: JUAN F. SOTO
FECHA : DICIEMBRE 10, 1996.
---------------------------------------------------------------------------
}
GLOBALS
"cgprgb000.4gl"
DEFINE p_ano,p_mes SMALLINT,
fecha1,fecha2 DATE
DEFINE cost_vta RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad INTEGER
END RECORD
FUNCTION cgprrp030()
DEFINE vendedor RECORD
sec_vend SMALLINT,
nombre CHAR(20),
apellido CHAR(20),
cod_cia LIKE vetb00002.cod_cia,
bruto DECIMAL(12,2),
neto DECIMAL(12,2),
costo_venta DECIMAL(12,2),
salario DECIMAL(12,2),
comision DECIMAL(12,2),
descuento DECIMAL(12,2)
END RECORD
OPTIONS
FORM LINE 9,
ERROR LINE 24
OPEN FORM cgfmrp030 FROM "cgfmrp030"
DISPLAY FORM cgfmrp030
CALL pantalla()
DISPLAY "cgprrp030" AT 4,3
DISPLAY "Panoramico Analisis De Beneficos Por Vendedor Y Cia" AT 6,13
LET tipo_papel = 2
CALL msgrp000(tipo_papel)
INPUT BY NAME p_ano,p_mes
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT BY NAME criterio ON a.cod_cia,b.num_emp
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET selec=
"SELECT UNIQUE b.num_emp , ",
" b.nom1_emp,b.apell1_emp,a.cod_cia ",
"FROM vetb00002 a,adtb00003 b ",
"WHERE a.sec_vend = b.num_emp AND ",criterio clipped,
" AND (b.status_t IS NULL OR b.status_t IN ('I')) ",
"ORDER BY 1,4 "
PREPARE comando FROM selec
DECLARE busca CURSOR FOR comando
OPEN busca
START REPORT ana_cia TO PIPE "lp"
DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14
WHILE STATUS != NOTFOUND
FETCH busca INTO vendedor.*
IF STATUS = NOTFOUND THEN
EXIT WHILE
END IF
OUTPUT TO REPORT ana_cia(vendedor.*)
END WHILE
FINISH REPORT ana_cia
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT ana_cia(x)
DEFINE x RECORD
sec_vend SMALLINT,
nombre CHAR(20),
apellido CHAR(20),
cod_cia LIKE vetb00002.cod_cia,
bruto DECIMAL(12,2),
neto DECIMAL(12,2),
costo_venta DECIMAL(12,2),
salario DECIMAL(12,2),
comision DECIMAL(12,2),
descuento DECIMAL(12,2)
END RECORD,
comp_on,doce,normal,negrillas_on,negrillas_off CHAR(3),
nombre_mes CHAR(12)
DEFINE bruto,descuento,costo_v,salario,comision,total_g,neto,beneficio_b
ARRAY [12] OF DECIMAL(12,2),
t_bruto,t_descuento,t_costo_v,t_salario,t_comision,t_total_g,t_neto,
t_beneficio_b,t_beneficio_n,t_regalia DECIMAL(12,2),
porc_v,regalia,bonificacion,tt_bruto,tt_descuento,tt_costo_v,
tt_salario,tt_comision,tt_total_g,tt_neto,tt_beneficio_b,
t_costo,tt_beneficio_n,tt_regalia DECIMAL(12,2),
l SMALLINT
OUTPUT
LEFT MARGIN 0
FORMAT
PAGE HEADER
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET normal = ASCII 029
LET doce = ASCII 30
LET comp_on = ASCII 31
SELECT a.descrip INTO nombre_mes FROM mestable a WHERE a.mes = p_mes
PRINT COLUMN 1, comp_on,negrillas_on,"cgprrp030",
COLUMN 90, "R A Y .O. V A C D O M I N I C A N A, S. A.",
COLUMN 200, "PAGINA: ",PAGENO USING "###"
PRINT COLUMN 1, "JFS",
COLUMN 90, "ANALISIS BENEFICIO POR VENDEDOR Y COMPANIA",
COLUMN 197,TODAY USING "DD/MM/YY"
PRINT COLUMN 90, "CORRESPONDIENTE AL PERIODO ENERO - ",nombre_mes clipped,
"/",p_ano using "####",
COLUMN 197, TIME
PRINT
"----------------------------------------------------------------------------",
"---------------------------------------------------------------------------------------------------------------------------------------------"
LET l = 40
FOR idx =1 TO p_mes
LET l = l + 14
END FOR
PRINT COLUMN l," TOTAL",
COLUMN l+14, " TOTAL"
LET l = 40
FOR idx =1 TO p_mes
SELECT a.descrip INTO nombre_mes FROM mestable a WHERE a.mes = idx
PRINT COLUMN l, nombre_mes clipped;
LET l = l + 14
END FOR
PRINT COLUMN l," ACTUAL",
COLUMN l+14, "ANTERIOR"
PRINT
"----------------------------------------------------------------------------",
"---------------------------------------------------------------------------------------------------------------------------------------------",negrillas_off
BEFORE GROUP OF x.sec_vend
PRINT COLUMN 1,negrillas_on,"VENDEDOR: ","(",x.sec_vend using "<<<<",")",
x.nombre clipped," ",x.apellido,negrillas_off
SKIP 1 LINE
BEFORE GROUP OF x.cod_cia
SKIP 1 LINE
IF x.cod_cia = "1" THEN
PRINT COLUMN 1, "PRODUCTOS LOCALES"
ELSE
PRINT COLUMN 1, "PRODUCTOS IMPORTADOS"
END IF
LET t_costo = 0
LET t_bruto = 0
LET t_descuento = 0
LET t_neto = 0
LET t_comision = 0
LET t_salario = 0
LET t_beneficio_b = 0
LET t_beneficio_n = 0
LET t_regalia = 0
LET t_costo_v = 0
LET tt_total_g = 0
LET t_total_g = 0
LET tt_costo_v = 0
FOR idx = 1 TO 12
LET total_g[idx] = 0
LET bruto[idx] = 0
LET neto[idx] = 0
LET comision[idx] = 0
LET costo_v[idx] = 0
LET beneficio_b[idx] = 0
LET salario[idx] = 0
END FOR
# BUSCA E IMPRIME LAS VENTAS BRUTAS
DISPLAY "BUSCANDO VENTAS BRUTAS" AT 17,19
PRINT COLUMN 9, "Ventas Brutas";
LET l = 40
FOR idx = 1 TO p_mes
SELECT SUM(a.sub_total) INTO x.bruto
FROM vetb00002 a,prdtable b
WHERE (a.factura=a.factura AND
a.cod_cia=x.cod_cia AND
a.ventas = "1" AND
a.sec_vend = x.sec_vend AND
a.fecha_factura between b.fecha_inicio AND b.fecha_corte AND
a.status_t IS NULL AND
a.sec_cliente = a.sec_cliente) AND
b.mes = idx AND
b.ano = p_ano
IF x.bruto IS NULL THEN
LET x.bruto = 0
END IF
LET bruto[idx] = x.bruto
LET t_bruto = t_bruto + bruto[idx]
PRINT COLUMN l,x.bruto USING "##,###,###";
LET l = l + 14
END FOR
PRINT COLUMN l, t_bruto USING "##,###,###";
DISPLAY " " AT 17,19
DISPLAY "BUSCANDO VENTAS BRUTAS DEL ANO ANTERIOR" AT 17,19
# Busca Ventas Brutas Del Ano Anterior
SELECT MIN(fecha_inicio) INTO fecha1
FROM prdtable
WHERE ano = p_ano -1
SELECT fecha_corte INTO fecha2
FROM prdtable
WHERE ano = p_ano -1 and
mes = p_mes
SELECT SUM(a.sub_total) INTO tt_bruto
FROM vetb00002 a
WHERE (a.factura=a.factura AND
a.cod_cia=x.cod_cia AND
a.ventas = "1" AND
a.sec_vend = x.sec_vend AND
a.fecha_factura between fecha1 AND fecha2 AND
a.status_t IS NULL AND
a.sec_cliente = a.sec_cliente)
PRINT COLUMN l+14, tt_bruto USING "##,###,###"
#-----------------------------------------------------------------------
# BUSCA E IMPRIME EL DESCUENTO
DISPLAY " " AT 17,19
DISPLAY "BUSCANDO DESCUENTO" AT 17,19
PRINT COLUMN 9, "MENOS:Descuentos S/Ventas";
LET l = 40
FOR idx = 1 TO p_mes
SELECT SUM(a.monto_desc) INTO x.descuento
FROM vetb00002 a,prdtable b
WHERE (a.factura=a.factura AND
a.cod_cia=x.cod_cia AND
a.ventas = "1" AND
a.sec_vend = x.sec_vend AND
a.fecha_factura between b.fecha_inicio AND b.fecha_corte AND
a.status_t IS NULL AND
a.sec_cliente = a.sec_cliente) AND
b.mes = idx AND
b.ano = p_ano
IF x.descuento IS NULL THEN
LET x.descuento = 0
END IF
LET descuento[idx] = x.descuento
LET t_descuento = t_descuento + descuento[idx]
PRINT COLUMN l,x.descuento USING "##,###,###";
LET l = l + 14
END FOR
PRINT COLUMN l, t_descuento USING "##,###,###";
SELECT SUM(a.monto_desc) INTO tt_descuento
FROM vetb00002 a
WHERE (a.factura=a.factura AND
a.cod_cia=x.cod_cia AND
a.ventas = "1" AND
a.sec_vend = x.sec_vend AND
a.fecha_factura between fecha1 AND fecha2 AND
a.status_t IS NULL AND
a.sec_cliente = a.sec_cliente)
PRINT COLUMN l+14, tt_descuento USING "##,###,###"
#---------------------------------------------------------------------------
# BUSCA E IMPRIME LAS VENTAS NETAS
SKIP 1 LINE
PRINT COLUMN 9, "Ventas Netas";
LET l = 40
FOR idx = 1 TO p_mes
LET x.neto = bruto[idx] - descuento[idx]
LET neto[idx] = x.neto
LET t_neto = t_neto + neto[idx]
PRINT COLUMN l,x.neto USING "##,###,###";
LET l = l + 14
END FOR
LET tt_neto = tt_bruto - tt_descuento
PRINT COLUMN l, t_neto USING "##,###,###",
COLUMN l+14, tt_neto USING "##,###,###"
#---------------------------------------------------------------------------
# BUSCA EL COSTO DE VENTA
DISPLAY "BUSCANDO COSTO DE VENTA" AT 17,19
PRINT COLUMN 9, "MENOS:Costo De Venta";
LET l = 40
FOR idx = 1 TO p_mes
LET t_costo = 0
DECLARE busca_cos CURSOR FOR
SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
SUM(b.cantidad)
FROM vetb00002 a,vetb00003 b,prdtable c
WHERE
(a.factura = b.factura AND
a.cod_cia = x.cod_cia AND
a.ventas = "1" AND
a.sec_vend = x.sec_vend AND
a.fecha_factura BETWEEN c.fecha_inicio AND c.fecha_corte AND
a.status_t IS NULL and
a.sec_cliente = a.sec_cliente) and
c.mes = idx and c.ano = p_ano
GROUP BY 1,2,3,4
ORDER BY 1,2,3,4
FOREACH busca_cos INTO cost_vta.*
LET x.costo_venta = 0
IF cost_vta.cod_n = 3 THEN
SELECT a.costo_lq INTO x.costo_venta
FROM cttb00036 a,prdtable b
WHERE (a.fecha_lq BETWEEN b.fecha_inicio AND b.fecha_corte AND
a.ventas = "1" AND
a.cod_n = cost_vta.cod_n AND
a.cod_grupo = cost_vta.cod_grupo AND
a.cod_tipo = cost_vta.cod_tipo AND
a.cod_sec = cost_vta.cod_sec) AND
b.mes = idx AND b.ano = p_ano
ELSE
SELECT a.labor+a.material+a.gasto_ind INTO x.costo_venta
FROM iptb00004 a
WHERE a.mes_fin = 12 AND a.ano = 1996 AND
a.cod_n = cost_vta.cod_n AND
a.cod_grupo = cost_vta.cod_grupo AND
a.cod_tipo = cost_vta.cod_tipo AND
a.cod_sec = cost_vta.cod_sec
END IF
IF x.costo_venta IS NULL THEN
LET x.costo_venta = 0
END IF
{
PRINT cost_vta.cod_n using "&"," ",cost_vta.cod_grupo using "&"," ",
cost_vta.cod_tipo using "&&"," ",cost_vta.cod_sec using "&&&"," ",
cost_vta.cantidad using "##,###,###"," ",x.costo_venta using "###.###"
}
LET t_costo = t_costo + (cost_vta.cantidad*x.costo_venta)
END FOREACH
LET costo_v[idx]= t_costo
LET t_costo_v = t_costo_v + costo_v[idx]
PRINT COLUMN l, t_costo USING "##,###,###";
LET l = l + 14
END FOR
PRINT COLUMN l, t_costo_v USING "##,###,###";
DISPLAY " " AT 17,19
DISPLAY "BUSCANDO EL COSTO DE VENTAS DEL ANO ANTERIOR " AT 17,19
# BUSCA EL COSTO DE VENTAS DEL ANO ANTERIOR
FOR idx = 1 TO p_mes
DECLARE busca_acos CURSOR FOR
SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
SUM(b.cantidad)
FROM vetb00002 a,vetb00003 b,prdtable c
WHERE
(a.factura = b.factura AND
a.cod_cia = x.cod_cia AND
a.ventas = "1" AND
a.sec_vend = x.sec_vend AND
a.fecha_factura BETWEEN c.fecha_inicio AND c.fecha_corte AND
a.status_t IS NULL and
a.sec_cliente = a.sec_cliente) and
c.mes = idx and c.ano = p_ano - 1
GROUP BY 1,2,3,4
LET t_costo = 0
FOREACH busca_acos INTO cost_vta.*
LET x.costo_venta = 0
IF cost_vta.cod_n = 3 THEN
SELECT a.costo_lq INTO x.costo_venta
FROM cttb00036 a,prdtable b
WHERE (a.fecha_lq BETWEEN b.fecha_inicio AND b.fecha_corte AND
a.ventas = "1" AND
a.cod_n = cost_vta.cod_n AND
a.cod_grupo = cost_vta.cod_grupo AND
a.cod_tipo = cost_vta.cod_tipo AND
a.cod_sec = cost_vta.cod_sec) AND
b.mes = idx AND b.ano = p_ano - 1
ELSE
SELECT a.labor+a.material+a.gasto_ind INTO x.costo_venta
FROM iptb00004 a
WHERE a.mes_fin = 12 AND a.ano = p_ano - 1 AND
a.cod_n = cost_vta.cod_n AND
a.cod_grupo = cost_vta.cod_grupo AND
a.cod_tipo = cost_vta.cod_tipo AND
a.cod_sec = cost_vta.cod_sec
END IF
IF x.costo_venta IS NULL THEN
LET x.costo_venta = 0
END IF
LET t_costo = t_costo + (cost_vta.cantidad*x.costo_venta)
END FOREACH
LET tt_costo_v = tt_costo_v + t_costo
END FOR
PRINT COLUMN l+13, tt_costo_v USING "###,###,###"
DISPLAY " " AT 17,19
#----------------------------------------------------------------------
# BENEFICIO BRUTO
SKIP 1 LINE
PRINT COLUMN 9, "Beneficio Bruto";
LET l = 40
FOR idx = 1 TO p_mes
LET beneficio_b[idx] = neto[idx] - costo_v[idx]
LET t_beneficio_b = t_beneficio_b + beneficio_b[idx]
PRINT COLUMN l, beneficio_b[idx] USING "##,###,###";
LET l = l + 14
END FOR
LET tt_beneficio_b = tt_neto - tt_costo_v
PRINT COLUMN l, t_beneficio_b USING "##,###,###",
COLUMN l+14, tt_beneficio_b USING "##,###,###"
#----------------------------------------------------------------------
# IMPRIME EL PORCENTAJE VENTAS NETAS
PRINT COLUMN 9, "% S/Ventas Netas";
LET l = 40
FOR idx = 1 TO p_mes
LET porc_v = 0
IF neto[idx] != 0 THEN
LET porc_v = (beneficio_b[idx]/neto[idx]) * 100
END IF
PRINT COLUMN l, porc_v USING "##,###,###";
LET l = l + 14
END FOR
PRINT COLUMN l+14, (tt_beneficio_b/tt_neto) * 100 USING "##,###,###"
{
#----------------------------------------------------------------------
# GASTOS DIRECTOS
# BUSQUEDA DEL SALARIO DEL VENDEDOR
DISPLAY "BUSCANDO SALARIO NORMAL" AT 17,19
SKIP 1 LINE
PRINT COLUMN 5,negrillas_on, "GASTOS DIRECTOS",negrillas_off
SKIP 1 LINE
PRINT COLUMN 9, "Salario Normal";
LET l = 40
FOR idx = 1 TO p_mes
SELECT SUM(a.valor) INTO x.salario
FROM notb00008 a ,notb00010 b
WHERE b.mes = idx AND
b.ano = p_ano AND
a.num_emp = x.sec_vend AND
a.cod_mov = 1 AND
a.num_nomi = b.num_nomi AND
b.tipo_emp = "Q"
IF x.salario IS NULL THEN
LET x.salario = 0
END IF
LET total_g[idx] = total_g[idx] + x.salario
LET t_total_g = t_total_g + total_g[idx]
LET salario[idx] = x.salario
LET t_salario = t_salario + x.salario
PRINT COLUMN l, x.salario USING "##,###,###";
LET l = l + 14
END FOR
# Busca el Salario del Ano Anterior
SELECT SUM(a.valor) INTO tt_salario
FROM notb00016 a ,notb00010 b
WHERE b.mes <= p_mes AND
b.ano = p_ano -1 AND
(a.num_emp = x.sec_vend AND
a.cod_mov = 1 AND
a.num_nomi = b.num_nomi) AND
b.tipo_emp = "Q"
IF tt_salario IS NULL THEN
LET tt_salario = 0
END IF
LET tt_total_g = tt_total_g + tt_salario
PRINT COLUMN l,t_salario USING "##,###,###",
COLUMN l+14, tt_salario USING "##,###,###"
#-----------------------------------------------------------------------
# BUSCA LA COMISION PAGADA EN EL MES PARA EL VENDEDOR
DISPLAY "BUSCANDO COMISIONES S/VENTAS" AT 17,19
PRINT COLUMN 9, "Comisiones S/Ventas";
LET l = 40
FOR idx = 1 TO p_mes
SELECT SUM(a.valor) INTO x.comision
FROM notb00008 a ,notb00010 b
WHERE b.mes = idx AND
b.ano = p_ano AND
a.num_emp = x.sec_vend AND
a.cod_mov = 40 AND
a.num_nomi = b.num_nomi AND
b.tipo_emp = "Q"
IF x.comision IS NULL THEN
LET x.comision = 0
END IF
LET total_g[idx] = total_g[idx] + x.comision
LET t_total_g = t_total_g + total_g[idx]
LET comision[idx] = x.comision
LET t_comision = t_comision + x.comision
PRINT COLUMN l, x.comision USING "##,###,###";
LET l = l + 14
END FOR
SELECT SUM(a.valor) INTO tt_comision
FROM notb00016 a ,notb00010 b
WHERE b.mes <= p_mes AND
b.ano = p_ano - 1 AND
(a.num_emp = x.sec_vend AND
a.cod_mov = 40 AND
a.num_nomi = b.num_nomi) AND
b.tipo_emp = "Q"
IF tt_comision IS NULL THEN
LET tt_comision = 0
END IF
LET tt_total_g = tt_total_g + tt_comision
PRINT COLUMN l,t_comision USING "##,###,###",
COLUMN l+14, tt_comision USING "##,###,###"
#-----------------------------------------------------------------------
# REGALIA, BONIFICACION
PRINT COLUMN 9, "Regalia, Bonifi.";
LET l = 40
FOR idx = 1 TO p_mes
LET regalia = (salario[idx] + comision[idx]) / p_mes
LET bonificacion = (((salario[idx] + comision[idx]) / 23.83) * 60)/p_mes
LET total_g[idx] = total_g[idx] + bonificacion + regalia
LET t_total_g = t_total_g + total_g[idx]
LET t_regalia = t_regalia + regalia + bonificacion
PRINT COLUMN l, regalia+bonificacion USING "##,###,###";
LET l = l + 14
END FOR
# BUSCA BONIFICACION DEL ANO
SELECT a.valor INTO bonificacion
FROM notb00016 a ,notb00010 b
WHERE
b.ano = p_ano AND
(a.num_emp = x.sec_vend AND
a.cod_mov = 33 AND
a.num_nomi = b.num_nomi) AND
b.tipo_emp = "Q"
# BUSCA REGALIA DEL ANO ANTERIOR
SELECT a.valor INTO tt_regalia
FROM notb00016 a ,notb00010 b
WHERE b.mes = 12 AND
b.ano = p_ano - 1 AND
(a.num_emp = x.sec_vend AND
a.cod_mov = 32 AND
a.num_nomi = b.num_nomi) AND
b.tipo_emp = "Q"
LET tt_total_g = tt_total_g + tt_regalia + bonificacion
PRINT COLUMN l, t_regalia USING "##,###,###",
COLUMN l+14, bonificacion + tt_regalia USING "##,###,###"
#-----------------------------------------------------------------------
# ASIGNACION DE VEHICULOS, DEPRECIACION, MANTENIMIENTO, VIAJES Y DIETAS
PRINT COLUMN 9, "Asignacion Vehiculo"
PRINT COLUMN 9, "Depreciacion Vehiculo"
PRINT COLUMN 9, "Mantenimiento Vehiculo"
PRINT COLUMN 9, "Viajes y Dietas"
#-----------------------------------------------------------------------
SKIP 1 LINE
PRINT COLUMN 9, "TOTAL GASTOS" ;
LET l = 40
FOR idx = 1 TO p_mes
PRINT COLUMN l, total_g[idx] USING "##,###,###";
LET l = l + 14
END FOR
PRINT COLUMN l,t_total_g USING "##,###,###",
COLUMN l+14, tt_total_g USING "##,###,###"
PRINT COLUMN 9,"% S/VENTAS NETAS";
LET l = 40
FOR idx = 1 TO p_mes
IF neto[idx] != 0 THEN
PRINT COLUMN l, (total_g[idx]/neto[idx]) * 100 USING "##,###,###";
END IF
LET l = l + 14
END FOR
PRINT COLUMN l, (t_total_g/t_neto) * 100 USING "##,###,###",
COLUMN l+14, (tt_total_g/tt_neto) * 100 USING "##,###,###"
LET l = 40
PRINT COLUMN 9,"% S/VENTAS BRUTAS";
FOR idx = 1 TO p_mes
IF bruto[idx] != 0 THEN
PRINT COLUMN l, (total_g[idx]/bruto[idx]) * 100 USING "##,###,###";
END IF
LET l = l + 14
END FOR
PRINT COLUMN l,(t_total_g/t_bruto) * 100 USING "##,###,###",
COLUMN l+14, (tt_total_g/tt_bruto) * 100 USING "##,###,###"
PRINT
"----------------------------------------------------------------------------",
"---------------------------------------------------------------------------------------------------------------------------------------------"
PRINT COLUMN 9, "BENEFICIO NETO";
LET l = 40
FOR idx = 1 TO p_mes
LET t_beneficio_n = t_beneficio_n + (beneficio_b[idx]-total_g[idx])
PRINT COLUMN l, beneficio_b[idx] - total_g[idx] USING "##,###,###";
LET l = l + 14
END FOR
PRINT COLUMN l, t_beneficio_n USING "##,###,###",
COLUMN l+14, tt_beneficio_b - tt_total_g USING "##,###,###"
PRINT COLUMN 9,"% S/VENTAS NETAS";
LET l = 40
FOR idx = 1 TO p_mes
IF beneficio_b[idx]-total_g[idx] != 0 THEN
PRINT COLUMN l, ((beneficio_b[idx]-total_g[idx]) / neto[idx]) * 100
USING "##,###,###";
END IF
LET l = l + 14
END FOR
LET tt_beneficio_n = tt_beneficio_b - tt_total_g
PRINT COLUMN l, (t_beneficio_n / t_neto) * 100 USING "##,###,###",
COLUMN l+14, (tt_beneficio_n / t_neto) *100 USING "##,###,###"
PRINT
"----------------------------------------------------------------------------",
"---------------------------------------------------------------------------------------------------------------------------------------------"
}
AFTER GROUP OF x.cod_cia
PRINT
"----------------------------------------------------------------------------",
"---------------------------------------------------------------------------------------------------------------------------------------------"
AFTER GROUP OF x.sec_vend
SKIP TO TOP OF PAGE
END REPORT