Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,464 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : CCPRRP048
|
||||
OBJETIVO : Comisiones
|
||||
REALIZADO POR : JUAN F. SOTO
|
||||
FECHA : Abril 17, 2015.
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "ccprgb000.4gl"
|
||||
DEFINE tipo_reporte VARCHAR(3),
|
||||
precio,descuento,valor DEC(12,2),
|
||||
|
||||
datos_cocina RECORD
|
||||
orden INT,
|
||||
fecha_orden DATE,
|
||||
cliente VARCHAR(100),
|
||||
vendedor VARCHAR(100),
|
||||
producto VARCHAR(100),
|
||||
cantidad_o FLOAT,
|
||||
cantidad_e FLOAT,
|
||||
simbolo VARCHAR(5),
|
||||
porc_vendedor FLOAT,
|
||||
comisionDespacho FLOAT,
|
||||
comisionCotizado FLOAT
|
||||
END RECORD
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL STARTLOG("ccrp048.txt")
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL ccprrp043()
|
||||
END MAIN
|
||||
|
||||
|
||||
FUNCTION ccprrp043()
|
||||
|
||||
DEFINE datos RECORD
|
||||
codigo_supervisor SMALLINT,
|
||||
nombre_supervisor VARCHAR(60),
|
||||
sec_vend SMALLINT,
|
||||
nombre_vendedor VARCHAR(60),
|
||||
fecha DATE,
|
||||
documento INT,
|
||||
tipo_doc VARCHAR(2),
|
||||
cotizacion_no INT,
|
||||
nombre_cliente VARCHAR(100),
|
||||
valor_orig DEC(12,2),
|
||||
porc_cobros_vend DEC(8,4),
|
||||
chitbis CHAR(2),
|
||||
comision_vend DEC(12,4),
|
||||
sec_vend_a SMALLINT,
|
||||
valor_adicional DEC(12,4),
|
||||
comision_adicional DEC(12,4),
|
||||
str_reporte VARCHAR(50)
|
||||
|
||||
END RECORD
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
DEFINE porc_itbis DEC(8,2)
|
||||
OPEN FORM ccfmrp043 FROM "ccfmrp047"
|
||||
DISPLAY FORM ccfmrp043
|
||||
|
||||
DELETE FROM tmpccrp48
|
||||
|
||||
INPUT BY NAME tipo_reporte,p_ano,p_mes
|
||||
BEFORE INPUT
|
||||
SELECT a.itbi INTO porc_itbis FROM vetb00019 a WHERE a.disponible = 'S'
|
||||
AFTER FIELD p_ano
|
||||
IF p_ano IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD p_ano
|
||||
END IF
|
||||
|
||||
AFTER FIELD p_mes
|
||||
IF p_mes IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD p_mes
|
||||
END IF
|
||||
|
||||
SELECT a.fecha_inicio,a.fecha_corte INTO rango.fecha_ini,rango.fecha_fin
|
||||
FROM prdtable a
|
||||
WHERE a.ano = p_ano AND
|
||||
a.mes = p_mes
|
||||
|
||||
DISPLAY BY NAME rango.fecha_ini,rango.fecha_fin
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
IF tipo_reporte = "GE" THEN
|
||||
CONSTRUCT criterio ON a.sec_vend,a.sec_vend_a
|
||||
FROM sec_vend,sec_vend_a
|
||||
|
||||
# Chequo de la cancelacion del programa con la variable global int_flag
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
#CALL seleccionarSalida() RETURNING r_output
|
||||
# CALL crear_registros()
|
||||
|
||||
# Prepara al sistema operativo para recibir el reporte
|
||||
|
||||
LET selec =
|
||||
" select a.sec_vend,(SELECT RTRIM(c.nom1_emp)+' '+c.apell1_emp from adtb00003 c where a.sec_vend = c.num_emp) ,",
|
||||
" a.sec_vend_a, RTRIM(b.nom1_emp)+' '+b.apell1_emp,CONVERT(CHAR(10),j.fecha_orig,103),j.num_doc,j.tipo_doc,",
|
||||
" j.num_cheque,x1.nombre,j.valor*x2.tasa,a.porc_cobros,j1.chitbis ",
|
||||
" from cctb00001 j INNER JOIN vetb00075 a ON j.cod_emp_sec = a.sec_vend_a and j.tipo_doc IN ('AV') AND ",
|
||||
" j.num_doc = j.aplica_a INNER JOIN vetb00004 x1 ON j.tipo_cliente = x1.tipo_cliente AND j.sec_cliente = x1.sec_cliente ",
|
||||
" INNER JOIN cgtb00084 x2 ON x2.ano = ? AND x2.mes = ? AND x2.tipo_cliente = j.tipo_cliente ",
|
||||
" INNER JOIN cctb00011 j1 ON j.num_doc = j1.num_doc and j1.tipo_doc = j.tipo_doc, adtb00003 b ",
|
||||
" where a.sec_vend_a = b.num_emp and j.fecha_orig between ? and ? AND j.status_t is null AND ",
|
||||
" a.sec_vend_a not in (select sec_vend from vetb00076) AND",
|
||||
criterio CLIPPED,
|
||||
|
||||
" UNION ",
|
||||
|
||||
" select a.sec_vend,(SELECT RTRIM(c.nom1_emp)+' '+c.apell1_emp from adtb00003 c where a.sec_vend = c.num_emp) ,",
|
||||
" a.sec_vend_a, RTRIM(b.nom1_emp)+' '+b.apell1_emp,CONVERT(CHAR(10),j.fecha_orig,103),j.num_doc,j.tipo_doc,",
|
||||
" j.aplica_a,x1.nombre,j.valor*x2.tasa,a.porc_cobros,j1.chitbis ",
|
||||
" from cctb00001 j INNER JOIN vetb00075 a ON j.cod_emp_sec = a.sec_vend_a and j.tipo_doc IN ('PG') ",
|
||||
" INNER JOIN vetb00004 x1 ON j.tipo_cliente = x1.tipo_cliente AND j.sec_cliente = x1.sec_cliente ",
|
||||
" INNER JOIN cgtb00084 x2 ON x2.ano = ? AND x2.mes = ? AND x2.tipo_cliente = j.tipo_cliente ",
|
||||
" INNER JOIN vetb00002 x3 ON j.aplica_a = x3.factura ",
|
||||
" INNER JOIN cctb00011 j1 ON j.num_doc = j1.num_doc AND j.tipo_doc = j1.tipo_doc, adtb00003 b ",
|
||||
" where a.sec_vend_a = b.num_emp and j.fecha_orig between ? and ? AND j.status_t IS NULL AND ",
|
||||
" DATEDIFF(day,x3.fecha_factura,j.fecha_orig) < 91 AND ",
|
||||
" a.sec_vend_a not in (select sec_vend from vetb00076) AND",
|
||||
criterio CLIPPED,
|
||||
" order by a.sec_vend,a.sec_vend_a,j.tipo_doc,j.num_doc"
|
||||
|
||||
PREPARE comando_inicial FROM selec
|
||||
DECLARE busca_datos CURSOR FOR comando_inicial
|
||||
OPEN busca_datos USING p_ano,p_mes,rango.fecha_ini,rango.fecha_fin,p_ano,p_mes,rango.fecha_ini,rango.fecha_fin
|
||||
|
||||
|
||||
LET progreso = 20
|
||||
DISPLAY progreso TO progreso
|
||||
CALL ui.Interface.refresh()
|
||||
|
||||
LET r_filename ="ccprrp048.4rp"
|
||||
CALL seleccionarsalida() RETURNING r_output
|
||||
# LET r_output="PDF"
|
||||
LET preview=1
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_datos INTO datos.*
|
||||
IF idx = 1 THEN
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- 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
|
||||
END IF
|
||||
|
||||
START REPORT reporte43 TO XML HANDLER handler
|
||||
|
||||
END IF
|
||||
LET datos.str_reporte="COMISIONES VENDEDORES"
|
||||
|
||||
IF datos.chitbis = "SI" THEN
|
||||
LET datos.valor_orig = (datos.valor_orig/(1+(porc_itbis/100)))
|
||||
END IF
|
||||
IF datos.valor_orig < 0 THEN
|
||||
LET datos.valor_orig = datos.valor_orig * -1
|
||||
END IF
|
||||
|
||||
LET datos.comision_vend = datos.valor_orig * datos.porc_cobros_vend
|
||||
|
||||
IF datos.comision_vend IS NULL THEN
|
||||
LET datos.comision_vend =0
|
||||
END IF
|
||||
|
||||
|
||||
INSERT INTO tmpccrp48 VALUES (datos.*)
|
||||
OUTPUT TO REPORT reporte43(datos.*)
|
||||
LET progreso = 50
|
||||
DISPLAY progreso TO progreso
|
||||
CALL ui.Interface.refresh()
|
||||
|
||||
LET idx = idx + 1
|
||||
|
||||
END FOREACH
|
||||
LET progreso = 100
|
||||
|
||||
DISPLAY progreso TO progreso
|
||||
CALL ui.Interface.refresh()
|
||||
|
||||
|
||||
# OTRAS COMISIONES
|
||||
|
||||
|
||||
LET selec=
|
||||
" SELECT a.sec_vend,j.num_doc,j.tipo_doc, CONVERT(char(10),j.fecha_orig,103),j.aplica_a,a.porc_cobros,x1.nombre, ",
|
||||
" SUM(b.cantidad*((b.precio*x2.tasa)-((b.precio*x2.tasa)*(b.cantidad_2)/100)))/((x3.sub_total-x3.monto_desc)*x2.tasa),",
|
||||
" e.nom1_emp || ' '||e.apell1_emp,j.valor*x2.tasa,j1.chitbis ",
|
||||
" FROM cctb00001 j,cctb00008 a,vetb00003 b,vetb00093 d,adtb00003 e,vetb00004 x1, ",
|
||||
" cgtb00084 x2,vetb00002 x3,prtb00012 c,cctb00011 j1 ",
|
||||
" WHERE j.fecha_orig BETWEEN '", rango.fecha_ini USING "mm/dd/yyyy","' AND '",rango.fecha_fin USING "mm/dd/yyyy","' AND ",
|
||||
" j.tipo_doc IN ('PG') AND ",
|
||||
" b.factura = x3.factura AND ",
|
||||
" b.factura = j.aplica_a AND ",
|
||||
" DATEDIFF(day,j.fecha_orig,x3.fecha_factura) < 91 AND ",
|
||||
# " j.fecha_orig-x3.fecha_factura < 91 AND ",
|
||||
" x3.orden = c.num_oc AND ",
|
||||
" j.tipo_cliente = j1.tipo_cliente AND ",
|
||||
" c.cotizacion_no = d.cotizacion_no 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 ",
|
||||
" j.tipo_cliente = x1.tipo_cliente AND ",
|
||||
" j.sec_cliente = x1.sec_cliente AND ",
|
||||
" j1.num_doc = j.num_doc AND ",
|
||||
" j1.tipo_doc = j.tipo_doc AND ",
|
||||
" a.sec_vend = e.num_emp AND ",
|
||||
" a.sec_vend = d.sec_vend AND ",
|
||||
" x2.ano = ",p_ano," AND ",
|
||||
" x2.mes = ",p_mes," AND ",
|
||||
" x2.tipo_cliente = j.tipo_cliente AND ",
|
||||
" j.status_t IS NULL ",
|
||||
" GROUP BY j.cod_emp_sec,a.sec_vend,a.porc_cobros,e.nom1_emp,e.apell1_emp,x1.nombre, ",
|
||||
" j.num_doc,j.tipo_doc, j.aplica_a,x3.sub_total,j.valor,x2.tasa,j1.chitbis, ",
|
||||
" j.fecha_orig,x3.monto_Desc ",
|
||||
|
||||
" UNION ",
|
||||
" SELECT a.sec_vend,j.num_doc,j.tipo_doc, CONVERT(char(10),j.fecha_orig,103),j.aplica_a,a.porc_cobros,x1.nombre, ",
|
||||
" SUM(b.cantidad*((b.precio*x2.tasa)-((b.precio*x2.tasa)*(b.cantidad_2)/100)))/((x3.sub_total-x3.monto_desc)*x2.tasa), ",
|
||||
" e.nom1_emp || ' '||e.apell1_emp,j.valor*x2.tasa,j1.chitbis ",
|
||||
" FROM cctb00001 j,cctb00008 a,vetb00003 b,vetb00050 d,adtb00003 e,vetb00004 x1, ",
|
||||
" cgtb00084 x2,vetb00002 x3,prtb00012 c,cctb00011 j1 ",
|
||||
" WHERE j.fecha_orig BETWEEN '",rango.fecha_ini USING "mm/dd/yyyy","' AND '",rango.fecha_fin USING "mm/dd/yyyy","' AND ",
|
||||
" j.tipo_doc IN ('PG') AND ",
|
||||
" b.factura = x3.factura AND ",
|
||||
" b.factura = j.aplica_a AND ",
|
||||
" x3.orden = c.num_oc AND ",
|
||||
" j.tipo_cliente = j1.tipo_cliente AND ",
|
||||
" c.cotizacion_no = d.cotizacion_no 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 ",
|
||||
" j.tipo_cliente = x1.tipo_cliente AND ",
|
||||
" j.sec_cliente = x1.sec_cliente AND ",
|
||||
" j1.num_doc = j.num_doc AND ",
|
||||
" j1.tipo_doc = j.tipo_doc AND ",
|
||||
" a.sec_vend = e.num_emp AND ",
|
||||
" a.sec_vend = d.sec_vend AND ",
|
||||
" x2.ano = ", p_ano," AND ",
|
||||
" x2.mes = ",p_mes," AND ",
|
||||
" x2.tipo_cliente = j.tipo_cliente AND ",
|
||||
" j.status_t IS NULL ",
|
||||
" GROUP BY j.cod_emp_sec,a.sec_vend,a.porc_cobros,e.nom1_emp,e.apell1_emp,x1.nombre, ",
|
||||
" j.num_doc,j.tipo_doc, j.aplica_a,x3.sub_total,j.valor,x2.tasa,j1.chitbis, ",
|
||||
" j.fecha_orig,x3.monto_desc ",
|
||||
|
||||
" UNION ",
|
||||
" SELECT a.sec_vend,j.num_doc,j.tipo_doc,CONVERT(char(10),j.fecha_orig,103), x3.cotizacion_no, a.porc_cobros,x1.nombre, ",
|
||||
" SUM(b.cantidad*((b.precio*x2.tasa)-((b.precio*x2.tasa)*(b.porc_desc)/100)))/(x3.sub_total*x2.tasa), ",
|
||||
" e.nom1_emp || ' '||e.apell1_emp,j.valor*x2.tasa,j1.chitbis ",
|
||||
" FROM cctb00001 j,cctb00008 a,vetb00051 b,vetb00093 d,adtb00003 e,vetb00004 x1, ",
|
||||
" cgtb00084 x2,vetb00050 x3,cctb00011 j1 ",
|
||||
" WHERE j.fecha_orig BETWEEN '",rango.fecha_ini USING "mm/dd/yyyy","' AND '",rango.fecha_fin USING "mm/dd/yyyy","' AND ",
|
||||
" j.tipo_doc IN ('AV') AND ",
|
||||
" j.documento_ref = b.cotizacion_no AND ",
|
||||
" b.cotizacion_no=x3.cotizacion_no AND ",
|
||||
" b.cotizacion_no=d.cotizacion_no 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 ",
|
||||
|
||||
" j.tipo_cliente = x1.tipo_cliente AND ",
|
||||
" j.sec_cliente = x1.sec_cliente AND ",
|
||||
" j.tipo_cliente = j1.tipo_cliente AND ",
|
||||
" j1.num_doc = j.num_doc AND ",
|
||||
" j1.tipo_doc = j.tipo_doc AND ",
|
||||
" a.sec_vend = e.num_emp AND ",
|
||||
" a.sec_vend = d.sec_vend AND ",
|
||||
" x2.ano =", p_ano," AND ",
|
||||
" x2.mes =", p_mes," AND ",
|
||||
" x2.tipo_cliente = j.tipo_cliente AND ",
|
||||
" j.status_t IS NULL ",
|
||||
" GROUP BY j.cod_emp_sec,a.sec_vend,a.porc_cobros,e.nom1_emp,e.apell1_emp,x1.nombre,j.num_doc,j.tipo_doc, x3.cotizacion_no, ",
|
||||
" x3.sub_total,j.valor,x2.tasa,j1.chitbis,j.fecha_orig ",
|
||||
|
||||
" UNION ",
|
||||
" SELECT j.cod_emp_sec,j.num_doc,j.tipo_doc,CONVERT(char(10),j.fecha_orig,103), x3.cotizacion_no, a.porc_cobros,x1.nombre, ",
|
||||
" SUM(b.cantidad*((b.precio*x2.tasa)-((b.precio*x2.tasa)*(b.porc_desc)/100)))/(x3.sub_total*x2.tasa), ",
|
||||
" e.nom1_emp || ' '||e.apell1_emp,j.valor*x2.tasa,j1.chitbis ",
|
||||
" FROM cctb00001 j,cctb00008 a,vetb00051 b,adtb00003 e,vetb00004 x1, ",
|
||||
" cgtb00084 x2,vetb00050 x3,cctb00011 j1 ",
|
||||
" WHERE j.fecha_orig BETWEEN '",rango.fecha_ini USING "mm/dd/yyyy","' AND '",rango.fecha_fin USING "mm/dd/yyyy","' AND ",
|
||||
" j.tipo_doc IN ('AV') AND ",
|
||||
" j.documento_Ref = b.cotizacion_no AND ",
|
||||
" b.cotizacion_no=x3.cotizacion_no 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 ",
|
||||
" j.tipo_cliente = x1.tipo_cliente AND ",
|
||||
" j.sec_cliente = x1.sec_cliente AND ",
|
||||
" j.tipo_cliente = j1.tipo_cliente AND ",
|
||||
" j1.num_doc = j.num_doc AND ",
|
||||
" j1.tipo_doc = j.tipo_doc AND ",
|
||||
" a.sec_vend = e.num_emp AND ",
|
||||
" a.sec_vend = j.cod_emp_sec AND ",
|
||||
" x2.ano =", p_Ano," AND ",
|
||||
" x2.mes =", p_mes," AND ",
|
||||
" x2.tipo_cliente = j.tipo_cliente AND ",
|
||||
" j.status_t IS NULL ",
|
||||
" GROUP BY j.cod_emp_sec,a.sec_vend,a.porc_cobros,e.nom1_emp,e.apell1_emp,x1.nombre,j.num_doc,j.tipo_doc, x3.cotizacion_no, ",
|
||||
" x3.sub_total,j.valor,x2.tasa,j1.chitbis,j.fecha_orig "
|
||||
|
||||
PREPARE comando1 FROM selec
|
||||
DECLARE busca_adicional CURSOR FOR comando1
|
||||
|
||||
FOREACH busca_adicional INTO datos.sec_vend,datos.documento,datos.tipo_doc,datos.fecha,
|
||||
datos.cotizacion_no,
|
||||
datos.porc_cobros_vend,
|
||||
datos.nombre_cliente,
|
||||
datos.valor_adicional,datos.nombre_vendedor,
|
||||
datos.valor_orig,datos.chitbis
|
||||
|
||||
LET datos.codigo_supervisor=0
|
||||
|
||||
IF datos.chitbis = "SI" THEN
|
||||
LET datos.valor_orig = (datos.valor_orig/(1+(porc_itbis/100)))
|
||||
END IF
|
||||
IF datos.valor_orig < 0 THEN
|
||||
LET datos.valor_orig=datos.valor_orig * -1
|
||||
END IF
|
||||
LET datos.valor_orig = datos.valor_adicional*datos.valor_orig
|
||||
LET datos.comision_adicional = datos.valor_orig * datos.porc_cobros_vend
|
||||
LET datos.comision_vend= datos.comision_adicional
|
||||
|
||||
IF datos.valor_orig IS NOT NULL THEN
|
||||
INSERT INTO tmpccrp48 VALUES (datos.*)
|
||||
OUTPUT TO REPORT reporte43(datos.*)
|
||||
END IF
|
||||
END FOREACH
|
||||
|
||||
|
||||
IF idx > 1 THEN
|
||||
|
||||
FINISH REPORT reporte43
|
||||
END IF
|
||||
ELSE
|
||||
CALL seleccionarsalida() RETURNING r_output
|
||||
LET preview=1
|
||||
LET selec =
|
||||
"SELECT a.orden,CONVERT(CHAR(10),a.fecha_orden,103), ",
|
||||
"a.cliente,a.soporteventas,a.producto,a.cantidad_ordenada,a.cantidadFacturada,a.simbolo,a.porc_vendedor, ",
|
||||
"a.comisionDespacho,a.comisionCotizado ",
|
||||
" FROM vwordenescocinas a ",
|
||||
" WHERE a.ano=",p_ano," and a.numeroMes=",p_mes
|
||||
|
||||
|
||||
PREPARE comando_c FROM selec
|
||||
DECLARE busca_ordenes CURSOR FOR comando_c
|
||||
|
||||
LET idx = 1
|
||||
LET r_filename = "ccprrp048b.4rp"
|
||||
FOREACH busca_ordenes INTO datos_cocina.*
|
||||
IF idx = 1 THEN
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- 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
|
||||
END IF
|
||||
|
||||
START REPORT reporte48b TO XML HANDLER handler
|
||||
|
||||
END IF
|
||||
LET idx = idx +1
|
||||
OUTPUT TO REPORT reporte48b(datos_cocina.vendedor)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte48b
|
||||
END IF
|
||||
END FUNCTION
|
||||
# Rutina de reporte
|
||||
|
||||
REPORT reporte43(x)
|
||||
# Variable que toma el valor de la funcion que llamo a esta rutina
|
||||
DEFINE x RECORD
|
||||
codigo_supervisor SMALLINT,
|
||||
nombre_supervisor VARCHAR(60),
|
||||
sec_vend SMALLINT,
|
||||
nombre_vendedor VARCHAR(60),
|
||||
fecha DATE,
|
||||
documento INT,
|
||||
tipo_doc VARCHAR(2),
|
||||
cotizacion_no INT,
|
||||
nombre_cliente VARCHAR(100),
|
||||
valor_orig DEC(12,2),
|
||||
porc_cobros_vend DEC(8,4),
|
||||
chitbis CHAR(2),
|
||||
comision_vend DEC(12,4),
|
||||
sec_vend_a SMALLINT,
|
||||
valor_adicional DEC(12,2),
|
||||
comision_adicional DEC(12,2),
|
||||
str_reporte VARCHAR(50)
|
||||
END RECORD,
|
||||
nombre_mes CHAR(30),
|
||||
hora CHAR(16),
|
||||
t_valor_supervisor,t_valor_vendedor DEC(12,2)
|
||||
|
||||
ORDER BY x.codigo_supervisor,x.sec_vend
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET hora = TODAY
|
||||
|
||||
SELECT a.descrip INTO nombre_mes FROM mestable a WHERE a.mes = p_mes
|
||||
|
||||
|
||||
BEFORE GROUP OF x.codigo_supervisor
|
||||
LET t_valor_supervisor =0
|
||||
|
||||
BEFORE GROUP OF x.sec_vend
|
||||
LET t_valor_vendedor = 0
|
||||
|
||||
ON EVERY ROW
|
||||
LET t_valor_vendedor = t_valor_vendedor + x.comision_vend
|
||||
LET t_valor_supervisor = t_valor_supervisor + x.comision_vend
|
||||
|
||||
|
||||
PRINTX x.*,t_valor_supervisor,p_companias.nombre,p_ano,nombre_mes,hora,t_valor_vendedor
|
||||
|
||||
END REPORT
|
||||
REPORT reporte48b(xvendedor)
|
||||
DEFINE xvendedor VARCHAR(100),
|
||||
total_comision_d,total_comision_c FLOAT
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
PRINTX p_companias.nombre
|
||||
|
||||
BEFORE GROUP OF xvendedor
|
||||
PRINTX xvendedor
|
||||
LET total_comision_d = 0
|
||||
LET total_comision_c = 0
|
||||
ON EVERY ROW
|
||||
|
||||
LET total_comision_d = total_comision_d + datos_cocina.comisionDespacho
|
||||
LET total_comision_c = total_comision_c + datos_cocina.comisionCotizado
|
||||
|
||||
PRINTX datos_cocina.*,total_comision_d,total_comision_c
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user