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

817 lines
26 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : VEPRRP010
OBJETIVO : Relacion de ventas diarias y acumuladas
PROGRAMADOR : Ing. Juan Soto (Johnny)
FECHA REALIZACION : Enero 08, 1993
MODIFICADO POR : Ing. Juan Soto (Johnny)
FECHA MODIFICACION : Julio 25, 1995
DESCRIPCION : En los QUERYS se le agrego un JOIN para que buscara los
registros que su fecha de creacion sea mayor a
1994-01-01 08:00
-------------------------------------------------------------------------------
}
GLOBALS "veprgb000.4gl"
DEFINE peri2,periodo,act,ant,hoy CHAR(4)
FUNCTION veprrp010()
DEFINE opcion CHAR(1)
DEFINE mes_ini CHAR(6)
DEFINE mes_fin CHAR(2)
DEFINE select_dia,select_zona,select_cliente,select_pilas CHAR(1000)
DEFINE p_mes,idx_d,registros,cuenta,peri,idx_t,idx_o,idx_e,idx_p,idx_m
SMALLINT
DEFINE n_encontre,p_ventas,esta,encontre,salir2,salir1,salir CHAR(1)
DEFINE ventas_dia RECORD
ventas CHAR(1),
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad_vend INTEGER,
precio DECIMAL(12,2),
prima LIKE vetb00002.prima_us
END RECORD
DEFINE vtas_acum RECORD
ventas CHAR(1),
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad_vend INTEGER,
precio DECIMAL(12,2),
prima LIKE vetb00002.prima_us
END RECORD
DEFINE ano_ant RECORD
ventas CHAR(1),
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad_pres INTEGER,
precio DECIMAL(12,2),
prima DECIMAL(8,2)
END RECORD
DEFINE ventas RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
descrip_esp CHAR(30),
unidad_med CHAR(4) ,
sub_control SMALLINT,
ventas CHAR(1),
cantidad_vend INTEGER,
valor DECIMAL(12,2),
cantidad_Pres INTEGER,
valor_pres DECIMAL(12,2),
unidad_acum DECIMAL(12,2),
valor_acum DECIMAL(12,2),
unidad_ant DECIMAL(12,2),
valor_ant DECIMAL(12,2),
codigo CHAR(7),
grupo_venta CHAR(1)
END RECORD
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM vefmrp010 FROM "vefmrp010"
DISPLAY FORM vefmrp010
CALL pantalla()
DISPLAY "veprrp010" AT 4,3
DISPLAY "Ventas Diarias y Acumuladas" AT 6,26
LET tipo_papel = 2
CALL msgrp000(tipo_papel)
LET rango.fech_in = today
INPUT BY NAME rango.fech_in,p_mes WITHOUT DEFAULTS
AFTER FIELD p_mes
IF p_mes is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD p_mes
END IF
IF p_mes > 12 THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD p_mes
END IF
AFTER FIELD fech_in
IF rango.fech_in is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_in
END IF
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
# Busca Los Movimientos de las Facturas
LET hoy = MONTH(rango.fech_in)
LET mes_ini = rango.fech_in
LET ant = year(rango.fech_in) - 1
LET act = YEAR(rango.fech_in)
LET periodo = act[3,4],p_mes using "&&"
LET peri2 = ant[3,4],p_mes using "&&"
LET peri = periodo
# Buscando Pilas vendias del ano actual
LET select_pilas =
"SELECT b.ventas,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
" sum(a.cantidad),sum(a.cantidad * a.precio*b.prima_us) ",
"FROM vetb00003 a,vetb00002 b ,prdtable c ",
"WHERE (b.fecha_factura between c.fecha_inicio and ?) and c.mes = ? and ",
" c.ano = ? and (a.factura = b.factura) and (b.sec_vend != 8888) and ",
" b.status_t is null and a.fech_crea > datetime (1994-01-01 08:00) ",
" year to minute GROUP BY 1,2,3,4,5 ORDER BY 1,2,3,4 "
DISPLAY "<< Estoy Buscando Ventas Del Ano Actual... Espere Por Favor. >>"
AT 19,14 ATTRIBUTE (BOLD,REVERSE)
PREPARE busca_act FROM select_pilas
DECLARE act SCROLL CURSOR FOR busca_act
OPEN act USING rango.fech_in,p_mes,act
# Buscando Pilas vendias del ano anterior
LET select_zona =
"SELECT b.ventas,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
"sum(a.cantidad),sum(a.cantidad * a.precio*b.prima_us) ",
"FROM vetb00003 a,vetb00002 b ,prdtable c ",
"WHERE b.fecha_factura between c.fecha_inicio and c.fecha_corte and ",
" c.mes = ? and ",
" c.ano = ? and ",
" a.factura = b.factura and ",
" b.status_t is null and ",
" a.fech_crea > datetime (1994-01-01 08:00) year to minute ",
"GROUP BY 1,2,3,4,5 ",
"ORDER BY 1,2,3,4 "
DISPLAY "<< Estoy Buscando Ventas Ano Anterior ... Espere Por Favor. >>"
AT 19,14 ATTRIBUTE (BOLD,REVERSE)
PREPARE busca_ant FROM select_zona
DECLARE ant SCROLL CURSOR FOR busca_ant
OPEN ant USING p_mes,ant
DISPLAY "<< Estoy Buscando Ventas Del Dia... Espere Por Favor. >>"
AT 19,14 ATTRIBUTE (BOLD,REVERSE)
LET select_dia =
"SELECT a.ventas,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec, ",
" sum(b.cantidad),sum(b.cantidad * b.precio*a.prima_us) ",
"FROM vetb00002 a,vetb00003 b ",
" WHERE (a.factura = b.factura) and ",
"(a.fecha_factura = ?) and ",
"(a.sec_vend != 8888) and ",
"a.status_t is null and ",
" b.fech_crea > datetime (1994-01-01 08:00) year to minute ",
" GROUP BY 1,2,3,4,5 ",
" ORDER BY 1,2,3,4,5 "
PREPARE busca_dia FROM select_dia
DECLARE movi_dia SCROLL CURSOR FOR busca_dia
OPEN movi_dia USING rango.fech_in
# Busqueda de los codigos
LET select_cliente =
"SELECT unique d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,",
"d.descrip_esp,d.unidad_med,' ' ",
" FROM iptb00002 d ",
" WHERE d.cod_n = a.cod_n and ",
" d.cod_grupo = a.cod_grupo and ",
" d.cod_tipo = a.cod_tipo and ",
" d.cod_sec = a.cod_sec ",
" and d.status_t is null ",
" ORDER BY 2,3,4,5"
PREPARE busca_movi FROM select_cliente
DECLARE movi_curs SCROLL CURSOR FOR busca_movi
OPEN movi_curs
START REPORT acumuladas TO "jh"
DISPLAY " "
AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
SELECT count(*) INTO registros FROM iptb00002
WHERE (cod_n = 3 or cod_n = 6 or cod_n = 9)
LET n_encontre = null
LET cuenta = 0
LET identifica = null
LET verdad = null
LET idx = 1
LET idx_o = 1
LET idx_d = 1
LET salir1 = "N"
LET idx_t = 1
WHILE salir1 != "S"
FETCH ABSOLUTE idx_t movi_curs INTO ventas.*
IF STATUS = NOTFOUND THEN
LET idx_t = 1
LET idx = 1
LET idx_o = 1
LET idx_p = 1
LET ventas.ventas = "2"
IF identifica = "S" THEN
LET salir1 = "S"
EXIT WHILE
ELSE
LET identifica = "S"
# LET idx_t = idx_t + 1
CONTINUE WHILE
END IF
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
IF ventas.ventas is null THEN
LET ventas.ventas = "1"
END IF
IF identifica = "S" THEN
LET ventas.ventas = "2"
END IF
LET idx_t = idx_t + 1
LET cuenta = cuenta + 1
LET salir = "N"
WHILE salir != "S"
FETCH ABSOLUTE idx_d movi_dia INTO ventas_dia.*
IF status = notfound THEN
LET idx_d = 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_d = idx_d + 1
IF ventas_dia.cod_n = ventas.cod_n and
ventas_dia.cod_grupo = ventas.cod_grupo and
ventas_dia.cod_tipo = ventas.cod_tipo and
ventas_dia.cod_sec = ventas.cod_sec and
ventas_dia.ventas = ventas.ventas THEN
display ventas.cod_n, ventas.cod_grupo at 18,1
LET ventas.cantidad_vend = ventas_dia.cantidad_vend
LET ventas.valor = ventas_dia.precio
LET idx_d = 1
EXIT WHILE
ELSE
LET ventas.cantidad_vend = 0
LET ventas.valor = 0
END IF
END WHILE
LET salir = "N"
WHILE salir != "S"
FETCH ABSOLUTE idx act INTO vtas_acum.*
IF status = notfound THEN
LET idx = 1
EXIT WHILE
END IF
LET idx = idx + 1
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
IF vtas_acum.cod_n = ventas.cod_n and
vtas_acum.cod_grupo = ventas.cod_grupo and
vtas_acum.cod_tipo = ventas.cod_tipo and
vtas_acum.cod_sec = ventas.cod_sec and
vtas_acum.ventas = ventas.ventas THEN
LET ventas.unidad_acum = vtas_acum.cantidad_vend
LET ventas.valor_acum = vtas_acum.precio
END IF
END WHILE
LET salir = "N"
WHILE salir != "S"
FETCH ABSOLUTE idx_o ant INTO ano_ant.*
IF status = notfound THEN
LET idx_o = 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_o = idx_o + 1
LET ventas.unidad_ant = 0
LET ventas.valor_ant = 0
IF ano_ant.cod_n = ventas.cod_n and
ano_ant.cod_grupo = ventas.cod_grupo and
ano_ant.cod_tipo = ventas.cod_tipo and
ano_ant.cod_sec = ventas.cod_sec and
ano_ant.ventas = ventas.ventas THEN
LET idx_o = 1
LET ventas.unidad_ant = ano_ant.cantidad_pres
LET ventas.valor_ant = ano_ant.precio
EXIT WHILE
ELSE
LET ventas.unidad_ant = 0
LET ventas.valor_ant = 0
END IF
END WHILE
LET ventas.codigo = ventas.cod_n using "&",
ventas.cod_grupo using "&",
ventas.cod_tipo using "&&",
ventas.cod_sec using "&&&"
LET ventas.grupo_venta = ventas.codigo[5]
IF ventas.unidad_acum is null THEN
LET ventas.unidad_acum = 0
END IF
IF ventas.valor_acum is null THEN
LET ventas.valor_acum = 0
END IF
IF ventas.valor is null THEN
LET ventas.valor = 0
END IF
IF ventas.unidad_ant is null THEN
LET ventas.unidad_ant = 0
END IF
IF ventas.valor_ant is null THEN
LET ventas.valor_ant = 0
END IF
IF ventas.cantidad_vend is null THEN
LET ventas.cantidad_vend = 0
END IF
OUTPUT TO REPORT acumuladas(ventas.*,p_mes,p_mes)
IF cuenta >= registros THEN
LET ventas.ventas = "2"
END IF
LET ventas.cantidad_vend = 0
LET ventas.valor = 0
LET ventas.cantidad_pres = 0
LET ventas.valor_pres = 0
LET ventas.unidad_acum = 0
LET ventas.valor_acum = 0
LET ventas.unidad_ant = 0
LET ventas.valor_ant = 0
END WHILE
FINISH REPORT acumuladas
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT acumuladas(x,peri1,p_mes1)
DEFINE x RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
descrip_esp CHAR(30),
unidad_med CHAR(4) ,
sub_control SMALLINT,
ventas CHAR(1),
cantidad_vend INTEGER,
valor DECIMAL(12,2),
cantidad_Pres INTEGER,
valor_pres DECIMAL(12,2),
unidad_acum DECIMAL(12,2),
valor_acum DECIMAL(12,2),
unidad_ant DECIMAL(12,2),
valor_ant DECIMAL(12,2),
codigo CHAR(7),
grupo_venta CHAR(1)
END RECORD,
p_mes1 SMALLINT
DEFINE vendedor,imp,imp1 CHAR (1)
DEFINE nombre,tipo1 CHAR(21)
DEFINE nombre_mes1,nombre_dia,nombre_mes CHAR(11)
DEFINE descrip_zone CHAR(30)
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(3)
DEFINE normal CHAR(6)
DEFINE hora CHAR(5)
DEFINE t_cantidad_pres,t_valor_pres,t_t_cantidad_pres,t_t_valor_pres,
t_t_t_cantidad_pres, t_t_t_valor_pres,g_cantidad_vend,g_valor_vend,
g_unidad_acum,g_valor_acum,g_g_cantidad_vend,g_g_valor_vend,
g_g_unidad_acum,g_g_valor_acum,g_g_g_cantidad_vend,g_g_g_valor_vend,
g_g_g_unidad_acum,g_g_g_valor_acum,g_unidad_ant,g_valor_ant,
g_g_unidad_ant,g_g_valor_ant,g_g_g_unidad_ant,g_g_g_valor_ant,
t1_cantidad_pres,t1_valor_pres,g1_cantidad_vend,g1_valor_vend,
g1_unidad_acum,g1_valor_acum,g1_unidad_ant,g1_valor_ant
DECIMAL(12,2)
DEFINE peri1,d,m,i SMALLINT
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 4
ORDER BY x.ventas,x.grupo_venta,x.sub_control,x.codigo
FORMAT
PAGE HEADER
LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 71
LET negrillas_off = ASCII 27, ASCII 72
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27, ASCII 77
LET normal = ASCII 27, ASCII 80
LET hora = time
LET lj = (162 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, comp_on,negrillas_on
PRINT COLUMN 1, "veprrp010",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 155, "Pag. ",pageno using "###"
PRINT COLUMN 74, "Sistema de Ventas ",
COLUMN 153, today using "dd/mm/yyyy"
PRINT COLUMN 67, "Ventas Diarias y Acumuladas ",
COLUMN 158, hora
SKIP 1 LINES
LET d = WEEKDAY(rango.fech_in)
LET m = MONTH(rango.fech_in)
LET d = d + 1
CALL meses()
LET nombre_mes = mes1[m]
LET nombre_mes1 = mes1[p_mes1]
CALL f_dias()
LET nombre_dia = dias[d]
PRINT COLUMN 1, "Dia: ",nombre_dia clipped," ",
DAY(rango.fech_in) using "<<<"," ",
"de ",nombre_mes clipped," de ",YEAR(rango.fech_in)
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------" ,
"--------------------------------------------------" ,
"-------------"
PRINT COLUMN 58, "D i a r i a",
COLUMN 80, "Acumulada de ",nombre_mes1 clipped,
COLUMN 114, "Presupuesto Mes",
COLUMN 140, "Ano Anterior de ",nombre_mes1 clipped
PRINT COLUMN 2, "P r o d u c t o",
COLUMN 50, "Unidades",
COLUMN 69, "Valor",
COLUMN 80, "Unidades",
COLUMN 98, "Valor",
COLUMN 111, "Unidades",
COLUMN 126, "Valor",
COLUMN 139, "Unidades",
COLUMN 159, "Valor"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------" ,
"--------------------------------------------------" ,
"-------------", negrillas_off
IF t_cantidad_pres is null THEN
LET t_cantidad_pres = 0
LET t1_cantidad_pres = 0
END IF
IF t_valor_pres is null THEN
LET t_valor_pres = 0
LET t1_valor_pres = 0
END IF
IF t_t_cantidad_pres is null THEN
LET t_t_cantidad_pres = 0
END IF
IF t_t_valor_pres is null THEN
LET t_t_valor_pres = 0
END IF
IF t_t_t_cantidad_pres is null THEN
LET t_t_t_cantidad_pres = 0
END IF
IF t_t_t_valor_pres is null THEN
LET t_t_t_valor_pres = 0
END IF
BEFORE GROUP OF x.ventas
SKIP 1 LINE
IF x.ventas = "1" THEN
LET nombre = "L O C A L"
ELSE
LET nombre = "E X P O R T A C I O N"
END IF
PRINT COLUMN 7,negrillas_on, nombre,negrillas_off
SKIP 1 LINE
AFTER GROUP OF x.codigo
SELECT sum(cantidad),sum(valor) INTO x.cantidad_pres,x.valor_pres
FROM vetb00017
WHERE mes=peri1 and ventas=x.ventas and cod_n=x.cod_n and cod_grupo=x.cod_grupo
and cod_tipo = x.cod_tipo and cod_sec = x.cod_sec AND ano = act
IF x.cantidad_pres is null THEN
LET x.cantidad_pres = 0
END IF
IF x.valor_pres is null THEN
LET x.valor_pres = 0
END IF
PRINT COLUMN 1, x.cod_n using "&","-",
COLUMN 3, x.cod_grupo using "&","-",
COLUMN 5, x.cod_tipo using "&&","-",
COLUMN 8, x.cod_sec using "&&&",
COLUMN 13, x.descrip_esp," ",x.unidad_med clipped,
COLUMN 46, x.cantidad_vend using "#,###,###.##",
COLUMN 60, x.valor using "###,###,###.##",
COLUMN 74, x.unidad_acum using "###,###,###.##",
COLUMN 90, x.valor_acum using "###,###,###.##",
COLUMN 105, x.cantidad_pres using "###,###,###.##",
COLUMN 120, x.valor_pres using "###,###,###.##",
COLUMN 135, x.unidad_ant using "###,###,###.##",
COLUMN 150, x.valor_ant using "###,###,###.##"
LET t1_cantidad_pres = t1_cantidad_pres + x.cantidad_pres
LET t1_valor_pres = t1_valor_pres + x.valor_pres
IF g1_valor_vend is null THEN
LET g1_cantidad_vend = 0
LET g1_valor_vend = 0
LET g1_unidad_acum = 0
LET g1_valor_acum = 0
LET g1_unidad_ant = 0
LET g1_valor_ant = 0
END IF
LET g1_cantidad_vend = g1_cantidad_vend + x.cantidad_vend
LET g1_valor_vend = g1_valor_vend + x.valor
LET g1_unidad_acum = g1_unidad_acum + x.unidad_acum
LET g1_valor_acum = g1_valor_acum + x.valor_acum
LET g1_unidad_ant = g1_unidad_ant + x.unidad_ant
LET g1_valor_ant = g1_valor_ant + x.valor_ant
AFTER GROUP OF x.sub_control
SKIP 1 LINE
PRINT COLUMN 6, "SUB-TOTAL ",x.sub_control clipped,
COLUMN 45, g1_cantidad_vend using "#,###,###.##",
COLUMN 59, g1_valor_vend using "###,###,###.##",
COLUMN 73, g1_unidad_acum using "###,###,###.##",
COLUMN 89, g1_valor_acum using "###,###,###.##",
COLUMN 104, t1_cantidad_pres using "###,###,###.##",
COLUMN 119, t1_valor_pres using "###,###,###.##",
COLUMN 134, g1_unidad_ant using "###,###,###.##",
COLUMN 149, g1_valor_ant using "###,###,###.##"
LET t_cantidad_pres = t_cantidad_pres + t1_cantidad_pres
LET t_valor_pres = t_valor_pres + t1_valor_pres
LET t1_valor_pres = 0
LET t1_cantidad_pres = 0
IF g_valor_vend is null THEN
LET g_cantidad_vend = 0
LET g_valor_vend = 0
LET g_unidad_acum = 0
LET g_valor_acum = 0
LET g_unidad_ant = 0
LET g_valor_ant = 0
END IF
LET g_cantidad_vend = g1_cantidad_vend + g_cantidad_vend
LET g_valor_vend = g1_valor_vend + g_valor_vend
LET g_unidad_acum = g1_unidad_acum + g_unidad_acum
LET g_valor_acum = g1_valor_acum + g_valor_acum
LET g_unidad_ant = g1_unidad_ant + g_unidad_ant
LET g_valor_ant = g1_valor_ant + g_valor_ant
LET g1_cantidad_vend = 0
LET g1_valor_vend = 0
LET g1_unidad_acum = 0
LET g1_valor_acum = 0
LET g1_unidad_ant = 0
LET g1_valor_ant = 0
SKIP 1 LINE
AFTER GROUP OF x.grupo_venta
IF x.grupo_venta = "1" THEN
LET tipo1 = "SUPERCELL"
END IF
IF x.grupo_venta = "2" THEN
LET tipo1 = "H. DUTY"
END IF
IF x.grupo_venta = "3" THEN
LET tipo1 = "ALKALINAS"
END IF
IF x.grupo_venta = "4" THEN
LET tipo1 = "LAMPARAS"
END IF
IF x.grupo_venta = "5" THEN
LET tipo1 = "FOCOS"
END IF
IF x.grupo_venta = "6" THEN
LET tipo1 = "BOMBILLOS"
END IF
IF x.grupo_venta = "7" THEN
LET tipo1 = "EXIBIDORES"
END IF
PRINT COLUMN 1, negrillas_on,
COLUMN 9, "TOTAL ",tipo1 clipped,
COLUMN 48, g_cantidad_vend using "#,###,###.##",
COLUMN 62, g_valor_vend using "###,###,###.##",
COLUMN 76, g_unidad_acum using "###,###,###.##",
COLUMN 92, g_valor_acum using "###,###,###.##",
COLUMN 107, t_cantidad_pres using "###,###,###.##",
COLUMN 122, t_valor_pres using "###,###,###.##",
COLUMN 137, g_unidad_ant using "###,###,###.##",
COLUMN 152, g_valor_ant using "###,###,###.##",
negrillas_off
LET t_t_cantidad_pres = t_t_cantidad_pres + t_cantidad_pres
LET t_t_valor_pres = t_t_valor_pres + t_valor_pres
LET t_cantidad_pres = 0
LET t_valor_pres = 0
IF g_g_valor_vend is null THEN
LET g_g_cantidad_vend = 0
LET g_g_valor_vend = 0
LET g_g_unidad_acum = 0
LET g_g_valor_acum = 0
LET g_g_unidad_ant = 0
LET g_g_valor_ant = 0
END IF
LET g_g_cantidad_vend = g_g_cantidad_vend + g_cantidad_vend
LET g_g_valor_vend = g_g_valor_vend + g_valor_vend
LET g_g_unidad_acum = g_g_unidad_acum + g_unidad_acum
LET g_g_valor_acum = g_g_valor_acum + g_valor_acum
LET g_g_unidad_ant = g_g_unidad_ant + g_unidad_ant
LET g_g_valor_ant = g_g_valor_ant + g_valor_ant
LET g_cantidad_vend = 0
LET g_valor_vend = 0
LET g_unidad_acum = 0
LET g_valor_acum = 0
LET g_unidad_ant = 0
LET g_valor_ant = 0
SKIP 1 LINE
AFTER GROUP OF x.ventas
IF x.ventas = "1" THEN
LET nombre = "L O C A L"
ELSE
LET nombre = "E X P O R T A C I O N"
END IF
SKIP 1 LINE
PRINT COLUMN 7, negrillas_on,"TOTAL ",nombre clipped,
COLUMN 48, g_g_cantidad_vend using "#,###,###.##",
COLUMN 62, g_g_valor_vend using "###,###,###.##",
COLUMN 76, g_g_unidad_acum using "###,###,###.##",
COLUMN 92, g_g_valor_acum using "###,###,###.##",
COLUMN 107, t_t_cantidad_pres using "###,###,###.##",
COLUMN 122, t_t_valor_pres using "###,###,###.##",
COLUMN 137, g_g_unidad_ant using "###,###,###.##",
COLUMN 152, g_g_valor_ant using "###,###,###.##",
negrillas_off
LET t_t_t_cantidad_pres = t_t_t_cantidad_pres + t_t_cantidad_pres
LET t_t_t_valor_pres = t_t_t_valor_pres + t_t_valor_pres
LET t_t_cantidad_pres = 0
LET t_t_valor_pres = 0
IF g_g_g_valor_vend is null THEN
LET g_g_g_cantidad_vend = 0
LET g_g_g_valor_vend = 0
LET g_g_g_unidad_acum = 0
LET g_g_g_valor_acum = 0
LET g_g_g_unidad_ant = 0
LET g_g_g_valor_ant = 0
END IF
LET g_g_g_cantidad_vend = g_g_g_cantidad_vend + g_g_cantidad_vend
LET g_g_g_valor_vend = g_g_g_valor_vend + g_g_valor_vend
LET g_g_g_unidad_acum = g_g_g_unidad_acum + g_g_unidad_acum
LET g_g_g_valor_acum = g_g_g_valor_acum + g_g_valor_acum
LET g_g_g_unidad_ant = g_g_g_unidad_ant + g_g_unidad_ant
LET g_g_g_valor_ant = g_g_g_valor_ant + g_g_valor_ant
LET g_g_cantidad_vend = 0
LET g_g_valor_vend = 0
LET g_g_unidad_acum = 0
LET g_g_valor_acum = 0
LET g_g_unidad_ant = 0
LET g_g_valor_ant = 0
IF x.ventas = "1" THEN
SKIP TO TOP OF PAGE
END IF
ON LAST ROW
SKIP 1 LINE
PRINT COLUMN 7, negrillas_on,"TOTAL GENERAL ",
COLUMN 47, g_g_g_cantidad_vend using "##,###,###.##",
COLUMN 62, g_g_g_valor_vend using "###,###,###.##",
COLUMN 76, g_g_g_unidad_acum using "###,###,###.##",
COLUMN 92, g_g_g_valor_acum using "###,###,###.##",
COLUMN 107, t_t_t_cantidad_pres using "###,###,###.##",
COLUMN 122, t_t_t_valor_pres using "###,###,###.##",
COLUMN 137, g_g_g_unidad_ant using "###,###,###.##",
COLUMN 152, g_g_g_valor_ant using "###,###,###.##",
negrillas_off
LET t_t_t_cantidad_pres = 0
LET t_t_t_valor_pres = 0
LET g_g_g_cantidad_vend = 0
LET g_g_g_valor_vend = 0
LET g_g_g_unidad_acum = 0
LET g_g_g_valor_acum = 0
LET g_g_g_unidad_ant = 0
LET g_g_g_valor_ant = 0
PRINT comp_off
END REPORT
FUNCTION f_dias()
LET dias[1] = "Domingo"
LET dias[2] = "Lunes"
LET dias[3] = "Martes"
LET dias[4] = "Miercoles"
LET dias[5] = "Jueves"
LET dias[6] = "Viernes"
LET dias[7] = "Sabado"
RUN "type C:\\archivo > %USPRINT%" END FUNCTION