269 lines
13 KiB
Plaintext
269 lines
13 KiB
Plaintext
{
|
|
PROGRAMA: veprrp057
|
|
OBJETIVO: Generar las ventas mensuales panoramica
|
|
DESARROLLADO POR: ING. JUAN SOTO
|
|
FECHA DESARROLLO: JUNIO, 29, 2022
|
|
|
|
}
|
|
GLOBALS
|
|
"veprgb000.4gl"
|
|
DEFINE pano,pmes INT,
|
|
xventas RECORD LIKE ventas_facturas.*,
|
|
mventas RECORD
|
|
producto VARCHAR(30),
|
|
enero,enero_pre,febrero,feb_pre,
|
|
marzo,mar_pre,abril,abr_pre,
|
|
mayo,may_pre, junio,jun_pre,
|
|
julio,jul_pre,agosto,agost_pre,
|
|
septiembre,sept_pre,octubre,oct_pre,
|
|
noviembre,nov_pre, diciembre,dic_pre,
|
|
total DEC(12,2)
|
|
END RECORD,
|
|
tventas RECORD
|
|
producto VARCHAR(30),
|
|
enero,enero_pre,febrero,feb_pre,
|
|
marzo,mar_pre,abril,abr_pre,
|
|
mayo,may_pre, junio,jun_pre,
|
|
julio,jul_pre,agosto,agost_pre,
|
|
septiembre,sept_pre,octubre,oct_pre,
|
|
noviembre,nov_pre, diciembre,dic_pre,
|
|
total DEC(12,2)
|
|
END RECORD,
|
|
toventas RECORD
|
|
producto VARCHAR(30),
|
|
enero,enero_pre,febrero,feb_pre,
|
|
marzo,mar_pre,abril,abr_pre,
|
|
mayo,may_pre, junio,jun_pre,
|
|
julio,jul_pre,agosto,agost_pre,
|
|
septiembre,sept_pre,octubre,oct_pre,
|
|
noviembre,nov_pre, diciembre,dic_pre,
|
|
total DEC(12,2)
|
|
END RECORD,
|
|
oventas RECORD
|
|
producto VARCHAR(30),
|
|
enero,enero_pre,febrero,feb_pre,
|
|
marzo,mar_pre,abril,abr_pre,
|
|
mayo,may_pre, junio,jun_pre,
|
|
julio,jul_pre,agosto,agost_pre,
|
|
septiembre,sept_pre,octubre,oct_pre,
|
|
noviembre,nov_pre, diciembre,dic_pre,
|
|
total DEC(12,2)
|
|
END RECORD,
|
|
representa VARCHAR(100)
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
CONNECT TO "smarmotech" USER usuarios USING clave
|
|
|
|
SELECT DISTINCT RTRIM(a.nom1_emp)+' '+RTRIM(a.apell1_emp) INTO representa FROM adtb00003 a,seg0001 b
|
|
WHERE a.num_emp = b.num_emp AND
|
|
b.usuario = usuarios AND
|
|
a.gerentemarcas = 'SI'
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL fgl_winmessage("INFO","USTED NO ES GERENTE DE MARCAS, NO PUEDE GENERAR ESTE INFORME","INFO")
|
|
EXIT PROGRAM
|
|
END IF
|
|
CALL veprrp057()
|
|
END MAIN
|
|
FUNCTION veprrp057()
|
|
DEFINE dataidx,dataidx1,dataidx2 VARCHAR(30)
|
|
OPEN WINDOW w1 WITH FORM 'vefmrp057'
|
|
|
|
INPUT BY NAME pano,pmes
|
|
BEFORE INPUT
|
|
CALL combomes("formonly.pmes")
|
|
LET pano = YEAR(TODAY)
|
|
LET pmes = MONTH(TODAY)
|
|
DISPLAY BY NAME pano,pmes,representa
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET int_flag = FALSE
|
|
EXIT PROGRAM
|
|
END IF
|
|
|
|
IF pano IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD pano
|
|
END IF
|
|
IF pmes IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD pmes
|
|
END IF
|
|
|
|
DECLARE buscar CURSOR FOR
|
|
SELECT a.* FROM ventas_facturas a,seg0001 b
|
|
WHERE a.ano = pano AND a.numero_mes <= pmes and
|
|
a.num_emp = b.num_emp
|
|
ORDER BY a.origen,a.clase,a.tipo,a.numero_mes
|
|
LET idx = 1
|
|
LET r_filename = 'veprrp057.4rp'
|
|
FOREACH buscar INTO xventas.*
|
|
IF idx = 1 THEN
|
|
|
|
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
|
LET idx = idx + 1
|
|
|
|
LET preview=1
|
|
CALL seleccionarsalida() RETURNING r_output -- load the .4rp file
|
|
CALL fgl_report_selectDevice(r_output) -- changing default
|
|
CALL fgl_report_selectPreview(preview) -- changing default
|
|
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
|
|
|
START REPORT pventas TO XML HANDLER HANDLER
|
|
ELSE
|
|
EXIT FOREACH
|
|
END IF
|
|
END IF
|
|
LET dataidx = xventas.clase
|
|
LET dataidx1 = xventas.tipo
|
|
LET dataidx2 = xventas.origen
|
|
|
|
OUTPUT TO REPORT pventas(dataidx,dataidx1,dataidx2)
|
|
END FOREACH
|
|
IF idx > 1 THEN
|
|
FINISH REPORT pventas
|
|
END IF
|
|
END INPUT
|
|
END FUNCTION
|
|
REPORT pventas(rindex,rindex1,rindex2)
|
|
DEFINE rindex,rindex1,rindex2 VARCHAR(30)
|
|
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
SELECT * INTO p_companias.* FROM companias
|
|
|
|
|
|
AFTER GROUP OF rindex2
|
|
LET oventas.producto = rindex2
|
|
LET oventas.enero = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 1
|
|
LET oventas.febrero = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 2
|
|
LET oventas.marzo = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 3
|
|
LET oventas.abril = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 4
|
|
LET oventas.mayo = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 5
|
|
LET oventas.junio = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 6
|
|
LET oventas.julio = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 7
|
|
LET oventas.agosto = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 8
|
|
LET oventas.septiembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 9
|
|
LET oventas.octubre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 10
|
|
LET oventas.noviembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 11
|
|
LET oventas.diciembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 12
|
|
|
|
LET oventas.enero_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 1
|
|
LET oventas.feb_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 2
|
|
LET oventas.mar_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 3
|
|
LET oventas.abr_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 4
|
|
LET oventas.may_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 5
|
|
LET oventas.jun_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 6
|
|
LET oventas.jul_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 7
|
|
LET oventas.agost_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 8
|
|
LET oventas.sept_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 9
|
|
LET oventas.oct_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 10
|
|
LET oventas.nov_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 11
|
|
LET oventas.dic_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 12
|
|
|
|
PRINTX oventas.*,p_companias.nombre,representa,pano
|
|
|
|
AFTER GROUP OF rindex
|
|
LET mventas.producto = rindex
|
|
LET mventas.enero = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 1
|
|
LET mventas.febrero = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 2
|
|
LET mventas.marzo = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 3
|
|
LET mventas.abril = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 4
|
|
LET mventas.mayo = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 5
|
|
LET mventas.junio = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 6
|
|
LET mventas.julio = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 7
|
|
LET mventas.agosto = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 8
|
|
LET mventas.septiembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 9
|
|
LET mventas.octubre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 10
|
|
LET mventas.noviembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 11
|
|
LET mventas.diciembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 12
|
|
|
|
LET mventas.enero_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 1
|
|
LET mventas.feb_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 2
|
|
LET mventas.mar_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 3
|
|
LET mventas.abr_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 4
|
|
LET mventas.may_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 5
|
|
LET mventas.jun_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 6
|
|
LET mventas.jul_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 7
|
|
LET mventas.agost_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 8
|
|
LET mventas.sept_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 9
|
|
LET mventas.oct_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 10
|
|
LET mventas.nov_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 11
|
|
LET mventas.dic_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 12
|
|
|
|
PRINTX mventas.*
|
|
|
|
AFTER GROUP OF rindex1
|
|
|
|
LET tventas.producto = rindex1
|
|
LET tventas.enero = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 1
|
|
LET tventas.febrero = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 2
|
|
LET tventas.marzo = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 3
|
|
LET tventas.abril = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 4
|
|
LET tventas.mayo = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 5
|
|
LET tventas.junio = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 6
|
|
LET tventas.julio = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 7
|
|
LET tventas.agosto = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 8
|
|
LET tventas.septiembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 9
|
|
LET tventas.octubre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 10
|
|
LET tventas.noviembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 11
|
|
LET tventas.diciembre = GROUP SUM(xventas.neto) WHERE xventas.numero_mes = 12
|
|
|
|
|
|
LET tventas.enero_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 1
|
|
LET tventas.feb_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 2
|
|
LET tventas.mar_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 3
|
|
LET tventas.abr_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 4
|
|
LET tventas.may_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 5
|
|
LET tventas.jun_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 6
|
|
LET tventas.jul_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 7
|
|
LET tventas.agost_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 8
|
|
LET tventas.sept_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 9
|
|
LET tventas.oct_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 10
|
|
LET tventas.nov_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 11
|
|
LET tventas.dic_pre = GROUP SUM(xventas.presupuesto) WHERE xventas.numero_mes = 12
|
|
|
|
PRINTX tventas.*
|
|
|
|
ON LAST ROW
|
|
|
|
LET toventas.producto = "TOTAL"
|
|
LET toventas.enero = SUM(xventas.neto) WHERE xventas.numero_mes = 1
|
|
LET toventas.febrero = SUM(xventas.neto) WHERE xventas.numero_mes = 2
|
|
LET toventas.marzo = SUM(xventas.neto) WHERE xventas.numero_mes = 3
|
|
LET toventas.abril = SUM(xventas.neto) WHERE xventas.numero_mes = 4
|
|
LET toventas.mayo = SUM(xventas.neto) WHERE xventas.numero_mes = 5
|
|
LET toventas.junio = SUM(xventas.neto) WHERE xventas.numero_mes = 6
|
|
LET toventas.julio = SUM(xventas.neto) WHERE xventas.numero_mes = 7
|
|
LET toventas.agosto = SUM(xventas.neto) WHERE xventas.numero_mes = 8
|
|
LET toventas.septiembre = SUM(xventas.neto) WHERE xventas.numero_mes = 9
|
|
LET toventas.octubre = SUM(xventas.neto) WHERE xventas.numero_mes = 10
|
|
LET toventas.noviembre = SUM(xventas.neto) WHERE xventas.numero_mes = 11
|
|
LET toventas.diciembre = SUM(xventas.neto) WHERE xventas.numero_mes = 12
|
|
LET toventas.total = SUM(xventas.neto)
|
|
|
|
|
|
LET toventas.enero_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 1
|
|
LET toventas.feb_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 2
|
|
LET toventas.mar_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 3
|
|
LET toventas.abr_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 4
|
|
LET toventas.may_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 5
|
|
LET toventas.jun_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 6
|
|
LET toventas.jul_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 7
|
|
LET toventas.agost_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 8
|
|
LET toventas.sept_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 9
|
|
LET toventas.oct_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 10
|
|
LET toventas.nov_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 11
|
|
LET toventas.dic_pre = SUM(xventas.presupuesto) WHERE xventas.numero_mes = 12
|
|
LET toventas.total = SUM(xventas.presupuesto)
|
|
|
|
PRINTX toventas.*
|
|
|
|
|
|
|
|
END REPORT
|