348 lines
14 KiB
Plaintext
348 lines
14 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : CCPRRP044
|
|
OBJETIVO : Comisiones RESUMIDAS
|
|
REALIZADO POR : JUAN F. SOTO
|
|
FECHA : Septiembre 7, 1998.
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS "ccprgb000.4gl"
|
|
DEFINE segunda,primera CHAR(1)
|
|
FUNCTION ccprrp044()
|
|
DEFINE resumen_prt RECORD LIKE cctb00010.*
|
|
OPTIONS
|
|
FORM LINE 10,
|
|
PROMPT LINE 9
|
|
CLEAR SCREEN
|
|
CALL pantalla()
|
|
|
|
OPEN FORM ccfmrp044 FROM "ccfmrp044"
|
|
DISPLAY FORM ccfmrp044
|
|
|
|
INPUT BY NAME p_ano,p_mes WITHOUT DEFAULTS
|
|
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 fecha1,fecha2
|
|
FROM prdtable a
|
|
WHERE a.ano = p_ano
|
|
AND a.mes = p_mes
|
|
|
|
END INPUT
|
|
|
|
LET parametro = "D"
|
|
CALL elijeimpresion(parametro) RETURNING orden,destino,letras.*
|
|
|
|
START REPORT reporte44 TO "C:\\ccrp44"
|
|
|
|
DECLARE c_vende CURSOR FOR
|
|
SELECT a.* FROM cctb00010 a
|
|
ORDER BY a.cod_cia,a.sec_vend
|
|
|
|
# Loop para darle salida al Query hasta que la variable global status = 100
|
|
LET primera = "S"
|
|
LET segunda = "S"
|
|
FOREACH c_vende INTO resumen_prt.*
|
|
|
|
SELECT UNIQUE a.sec_vend
|
|
FROM cctb00008 a
|
|
WHERE a.sec_vend = resumen_prt.sec_vend
|
|
AND a.status_t IS NULL
|
|
|
|
IF STATUS != NOTFOUND THEN
|
|
OUTPUT TO REPORT reporte44 (resumen_prt.*)
|
|
END IF
|
|
|
|
END FOREACH
|
|
|
|
FINISH REPORT reporte44
|
|
RUN "TYPE c:\\ccrp44 > %USPRINT%"
|
|
CLEAR SCREEN
|
|
END FUNCTION
|
|
# Rutina de reporte
|
|
|
|
REPORT reporte44(x)
|
|
# Variable que Toma el valor de la funcion que llamo a esta rutina
|
|
DEFINE x RECORD LIKE cctb00010.*
|
|
|
|
DEFINE nombre_mes CHAR(10)
|
|
DEFINE porc_ventas DECIMAL(10,4),
|
|
t_comision_v,t_cantidad_n,cantidad_n DECIMAL(12,2)
|
|
|
|
#------------------------------------------------------------------
|
|
# Estas variables son constantes en todos los reportes de RAYOVAC
|
|
# para no estar definiendolas en cada momento.
|
|
# Estas variables son los caracteres ASCII para ser interpretados por
|
|
# el printer.
|
|
|
|
DEFINE valor_devuelto DECIMAL(12,2)
|
|
DEFINE dias1,dias2,j,k INTEGER,
|
|
nombre_vend CHAR(8),apellido_vend CHAR(10),
|
|
tt_valor DECIMAL(12,2)
|
|
|
|
DEFINE normal CHAR(3),
|
|
vcantidad_dev,tt_comision,t_comision_ventas DECIMAL(12,2),
|
|
descuento,und_netas DECIMAL(12,2),
|
|
und_desc INTEGER
|
|
|
|
DEFINE hora CHAR(5)
|
|
|
|
OUTPUT
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 4
|
|
#------------------------------------------------------------------------
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
# Asignaciones de los valores ASCII para la impresion
|
|
LET hora = time
|
|
|
|
# Funcion que busca los meses del ano
|
|
#--------------------------------------------------------------------------
|
|
|
|
PRINT COLUMN 1, letras.comp_on
|
|
PRINT COLUMN 1, "ccprrp044",
|
|
COLUMN 46, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
|
COLUMN 121, "Pag. ",pageno using "###"
|
|
PRINT COLUMN 46, " Sistema de Cuentas por Cobrar",
|
|
COLUMN 121, today using "dd/mm/yyyy"
|
|
PRINT COLUMN 46, " RESUMEN COMISIONES ",
|
|
COLUMN 122, hora
|
|
|
|
PRINT COLUMN 40, " "
|
|
|
|
PRINT COLUMN 1, "DESDE: ",fecha1 using "dd/mm/yyyy",
|
|
" HASTA: ",fecha2 using "dd/mm/yyyy"
|
|
BEFORE GROUP OF x.cod_cia
|
|
IF primera = "S" THEN
|
|
LET primera = "N"
|
|
PRINT letras.negrillas_on
|
|
PRINT "PRODUCTOS LOCALES"
|
|
PRINT COLUMN 1,
|
|
"---------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"---------------------------------------------------",
|
|
"-------------------------"
|
|
PRINT COLUMN 37, "MONTO",
|
|
COLUMN 48, "MONTO",
|
|
COLUMN 60, "MONTO",
|
|
COLUMN 74, "MONTO",
|
|
COLUMN 87, "COMISION" ,
|
|
COLUMN 102, "MONTO",
|
|
COLUMN 126, "CHEQUES",
|
|
COLUMN 138, "COBROS",
|
|
COLUMN 148, "COMISION A",
|
|
COLUMN 167, "TOTAL A"
|
|
|
|
PRINT COLUMN 2, "VENDEDORES",
|
|
COLUMN 37, "VENDIDO",
|
|
COLUMN 48, "DESCUENTO",
|
|
COLUMN 60, "DEVUELTO",
|
|
COLUMN 78, "NETO",
|
|
COLUMN 87, "VENTAS",
|
|
COLUMN 102, "COBRADO",
|
|
COLUMN 111, " ITBI",
|
|
COLUMN 126, "DEVUELTOS",
|
|
COLUMN 138, "NETOS",
|
|
COLUMN 152, "COBRAR",
|
|
COLUMN 167, "COBRAR"
|
|
|
|
PRINT COLUMN 1,
|
|
"---------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"---------------------------------------------------",
|
|
"-------------------------"
|
|
PRINT letras.negrillas_off
|
|
END IF
|
|
AFTER GROUP OF x.cod_cia
|
|
IF tt_valor IS NULL THEN
|
|
LET tt_valor = 0
|
|
END IF
|
|
PRINT COLUMN 1,
|
|
"---------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"---------------------------------------------------",
|
|
"-------------------------"
|
|
PRINT "SUB-TOTAL ",
|
|
COLUMN 30,GROUP SUM(x.cantidad_ven) USING "##,###,###,###.##",
|
|
COLUMN 48, GROUP SUM(x.unidad_desc) USING "##,###,###.##",
|
|
COLUMN 58,GROUP SUM(x.cantidad_dev) USING "###,###.##",
|
|
COLUMN 68,GROUP SUM(x.cantidad_ven) -
|
|
GROUP SUM(x.unidad_desc)
|
|
USING "###,###,###.##",
|
|
COLUMN 84, GROUP SUM(x.comision_ventas) USING "###,###.##",
|
|
COLUMN 93,GROUP SUM(x.cobros) USING "###,###,###.##",
|
|
COLUMN 110,GROUP SUM(x.monto_devuelto) USING "#,###,###.##",
|
|
COLUMN 122, GROUP SUM(x.ck_devuelto) USING "###,###.##",
|
|
COLUMN 136, GROUP SUM(x.cobros) -GROUP SUM(x.ck_devuelto) -
|
|
GROUP SUM(x.monto_devuelto) USING "##,###,###.##",
|
|
COLUMN 150, GROUP SUM(x.comision_cobros)
|
|
USING "##,###.##",
|
|
COLUMN 165, GROUP SUM(x.comision_cobros) +
|
|
GROUP SUM(x.comision_ventas)
|
|
USING "#,###,###.##"
|
|
IF segunda = "S" THEN
|
|
PRINT letras.negrillas_on
|
|
PRINT "PRODUCTOS IMPORTADOS"
|
|
PRINT COLUMN 1,
|
|
"---------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"---------------------------------------------------",
|
|
"-------------------------"
|
|
PRINT COLUMN 37, "MONTO",
|
|
#COLUMN 51, "MONTO",
|
|
COLUMN 60, "MONTO",
|
|
COLUMN 76, "MONTO",
|
|
COLUMN 87, "COMISION" ,
|
|
COLUMN 125, "CHEQUES",
|
|
COLUMN 140, "COBROS",
|
|
COLUMN 150, "COMISION",
|
|
COLUMN 167, "TOTAL A"
|
|
|
|
PRINT COLUMN 2, "VENDEDORES",
|
|
COLUMN 37, "BRUTO",
|
|
#COLUMN 51, "EVUELTO",
|
|
COLUMN 60, "DESCUENTO",
|
|
COLUMN 76, "NETO",
|
|
COLUMN 87, "VENTAS",
|
|
COLUMN 100, "COBROS",
|
|
COLUMN 114, " ITBI",
|
|
COLUMN 125, "DEVUELTO",
|
|
COLUMN 140, "NETO",
|
|
COLUMN 150, "COBROS",
|
|
COLUMN 167, "COBRAR"
|
|
|
|
PRINT COLUMN 1,
|
|
"---------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"---------------------------------------------------",
|
|
"-------------------------"
|
|
LET segunda = "N"
|
|
PRINT letras.negrillas_off
|
|
END IF
|
|
|
|
AFTER GROUP OF x.sec_vend
|
|
# Impresion del nombre del vendedor
|
|
SELECT nom1_emp,apell1_emp INTO nombre_vend,apellido_vend
|
|
FROM adtb00003 WHERE num_emp = x.sec_vend
|
|
|
|
PRINT COLUMN 1,x.sec_vend," ", nombre_vend clipped," ",
|
|
apellido_vend clipped,
|
|
COLUMN 31,GROUP SUM(x.cantidad_ven) USING "###,###,###.##",
|
|
COLUMN 48,GROUP SUM(x.unidad_desc) USING "###,###.##",
|
|
COLUMN 58,GROUP SUM(x.cantidad_dev) USING "###,###.##",
|
|
COLUMN 68,GROUP SUM(x.cantidad_ven) -
|
|
GROUP SUM(x.unidad_desc) - GROUP SUM(x.cantidad_dev)
|
|
USING "###,###,###.##",
|
|
COLUMN 84, GROUP SUM(x.comision_ventas) USING "###,###.##",
|
|
COLUMN 93,GROUP SUM(x.cobros) USING "###,###,###.##",
|
|
COLUMN 110,GROUP SUM(x.monto_devuelto) USING "#,###,###.##",
|
|
COLUMN 122, GROUP SUM(x.ck_devuelto) USING "###,###.##",
|
|
COLUMN 136, GROUP SUM(x.cobros) -GROUP SUM(x.ck_devuelto) -
|
|
GROUP SUM(x.monto_devuelto)
|
|
USING "##,###,###.##",
|
|
COLUMN 150, GROUP SUM(x.comision_cobros) USING "##,###.##",
|
|
COLUMN 167, GROUP SUM(x.comision_cobros) +
|
|
GROUP SUM(x.comision_ventas)
|
|
USING "###,###.##"
|
|
|
|
ON LAST ROW
|
|
LET tt_valor = 0
|
|
DECLARE busca CURSOR FOR
|
|
SELECT a.sec_vend,a.sec_vend,SUM(a.cantidad_ven),
|
|
SUM(a.cantidad_dev),SUM(a.unidad_desc),SUM(a.comision_ventas),
|
|
SUM(a.cobros),SUM(a.monto_devuelto),SUM(a.ck_devuelto),
|
|
SUM(a.comision_cobros)
|
|
FROM cctb00010 a
|
|
GROUP BY 1,2
|
|
ORDER BY 1
|
|
PRINT letras.negrillas_on
|
|
PRINT COLUMN 40, " CONSOLIDACION COMISIONES POR VENDEDOR ",
|
|
COLUMN 160, "COMISION"
|
|
PRINT COLUMN 160, "ADICIONAL"
|
|
|
|
PRINT COLUMN 1,
|
|
"---------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"---------------------------------------------------",
|
|
"------------------------"
|
|
PRINT letras.negrillas_off
|
|
FOREACH busca INTO x.*
|
|
LET t_valor = 0
|
|
IF x.sec_vend = 550 OR
|
|
x.sec_vend = 367 THEN
|
|
DISPLAY "BUSCANDO COMISION ADICIONAL...",x.sec_vend AT 18,1
|
|
CALL teprrp005(x.sec_vend)
|
|
END IF
|
|
IF t_valor IS NULL THEN
|
|
LET t_valor = 0
|
|
END IF
|
|
SELECT nom1_emp,apell1_emp INTO nombre_vend,apellido_vend
|
|
FROM adtb00003 WHERE num_emp = x.sec_vend
|
|
|
|
PRINT COLUMN 1,x.sec_vend," ",nombre_vend CLIPPED," ",
|
|
apellido_vend,
|
|
#COLUMN 30, x.cantidad_ven USING "###,###,###.##",
|
|
#COLUMN 46, x.unidad_Desc USING "#,###,###",
|
|
#COLUMN 58, x.cantidad_dev USING "###,###.##",
|
|
#COLUMN 68, x.cantidad_ven - x.cantidad_Dev
|
|
#USING "###,###,###.##",
|
|
COLUMN 84, x.comision_ventas USING "###,###.##",
|
|
#COLUMN 93, x.cobros USING "###,###,###.##",
|
|
#COLUMN 110, x.monto_devuelto USING "#,###,###.##",
|
|
#COLUMN 122, x.ck_devuelto USING "#,###,###.##",
|
|
#COLUMN 135, x.cobros-x.monto_devuelto-x.ck_devuelto
|
|
#USING "##,###,###.##",
|
|
COLUMN 150, x.comision_cobros USING "###,###.##",
|
|
COLUMN 160, t_valor USING "##,###.##",
|
|
COLUMN 170, x.comision_cobros + x.comision_ventas +
|
|
t_valor
|
|
USING "#,###,###.##"
|
|
LET tt_valor = tt_valor + t_valor
|
|
END FOREACH
|
|
PRINT #COLUMN 30,"--------------",
|
|
#COLUMN 46, "---------",
|
|
#COLUMN 58,"----------",
|
|
#COLUMN 68, "--------------",
|
|
COLUMN 84, "----------",
|
|
#COLUMN 93,"--------------",
|
|
#COLUMN 110,"----------",
|
|
#COLUMN 124,"----------",
|
|
#COLUMN 134, "------------",
|
|
COLUMN 149, "-----------",
|
|
COLUMN 167, "------------"
|
|
|
|
PRINT COLUMN 2, "Total General ",
|
|
#COLUMN 30,SUM(x.cantidad_ven) USING "###,###,###.##",
|
|
#COLUMN 46, SUM(x.unidad_desc) USING "###,###",
|
|
#COLUMN 58,SUM(x.cantidad_dev) USING "###,###.##",
|
|
#COLUMN 68,SUM(x.cantidad_ven) -
|
|
#SUM(x.cantidad_dev)
|
|
#USING "###,###,###.##",
|
|
COLUMN 84, SUM(x.comision_ventas) USING "###,###.##",
|
|
#COLUMN 93,SUM(x.cobros) USING "###,###,###.##",
|
|
#COLUMN 110,SUM(x.monto_devuelto) USING "#,###,###.##",
|
|
#COLUMN 124,SUM(x.ck_devuelto) USING "###,###.##",
|
|
#COLUMN 135,SUM(x.cobros)-SUM(x.ck_devuelto) -
|
|
#SUM(x.monto_devuelto) USING "##,###,###.##",
|
|
COLUMN 150,SUM(x.comision_cobros) USING "###,###.##",
|
|
COLUMN 160,tt_valor USING "##,###.##",
|
|
COLUMN 166,SUM(x.comision_cobros) +
|
|
SUM(x.comision_ventas) + tt_valor
|
|
USING "##,###,###.##"
|
|
PRINT letras.comp_off
|
|
END REPORT
|
|
|