Files

293 lines
9.9 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : CCPRRP005
OBJETIVO : Liquidacion Comision Por Cobros Plan Ranchero
PROGRAMADOR : Juan Fco. Soto
FECHA REALIZACION : Abril 06, 1995
-------------------------------------------------------------------------------
}
GLOBALS
"teprgb000.4gl"
DEFINE fact_ant INTEGER
DEFINE cod_cia SMALLINT
DEFINE p_datos RECORD
fecha_in DATE,
fecha_fin DATE
END RECORD
DEFINE porc_rep,porciento,p_itbi DECIMAL(8,2)
DEFINE p_neto,valor_desc DECIMAL(12,2)
FUNCTION teprrp005()
#DEFINE imprime CHAR(1)
DEFINE vendedor RECORD
cod_vend SMALLINT,
sec_vend SMALLINT,
fecha_factura DATE,
factura INTEGER,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad INTEGER ,
precio DECIMAL(10,2),
recibo INTEGER,
fecha DATE,
valor_c DECIMAL(12,2),
porc_venta DECIMAL(10,4),
descrip_esp CHAR(30),
nombre_vend CHAR(30),
apellido_vend CHAR(30) ,
vende CHAR(6),
codigo CHAR(7)
END RECORD
#WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM tefmrp005 FROM "tefmrp005"
DISPLAY FORM tefmrp005
#CALL pantalla()
DISPLAY "teprrp005" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Liquidacion Comision Por Cobro Plan Ranchero" AT 6,17 ATTRIBUTE(BLACK)
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CALL defecto(impresor) RETURNING imprime,letras.*,archivo
INPUT BY NAME cod_cia,p_datos.*
ON KEY(CONTROL-P)
CALL busca_printer() RETURNING imprime,letras.*,archivo
AFTER INPUT
EXIT INPUT
END INPUT
LET parametro = "D"
CALL elijeimpresion(parametro) RETURNING orden,destino,letras.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
START REPORT reporte_5 TO archivo
DISPLAY " "
AT 19,14
DISPLAY "<< Buscando Las Informaciones... Espere Por Favor >>"
AT 19,14
DECLARE c_vende CURSOR FOR
SELECT UNIQUE d.cod_emp,d.cod_emp_sec,a.fecha_factura,a.factura,
b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.cantidad,
b.cantidad * b.precio ,d.num_doc,d.fecha_orig,d.valor,
a.porc_desc,' ',' ',' ',' ',' ',
a.porc_desc,a.porc_itbi,a.neto
FROM vetb00002 a,vetb00003 b ,cctb00005 c,cctb00001 d
WHERE d.fecha_orig between p_datos.fecha_in and p_datos.fecha_fin
and (a.fecha_factura > "01011994")
and (a.factura = b.factura) and
(a.cod_cia = cod_cia) and a.status_t is null and
(b.cod_n = c.cod_n and
b.cod_grupo = c.cod_grupo and
b.cod_tipo = c.cod_tipo and
b.cod_sec = c.cod_sec) and
d.cod_emp_sec in (367,338) and
d.tipo_doc = "PG" and d.aplica_a = a.factura and
d.status_t is null
DISPLAY " "
AT 19,14
DISPLAY "<< Reporte Generandose... Espere Por Favor >>"
AT 19,14
FOREACH c_vende INTO vendedor.*,porciento,p_itbi,p_neto
SELECT descrip_esp INTO vendedor.descrip_esp FROM intb00001
WHERE cod_n = vendedor.cod_n and
cod_grupo = vendedor.cod_grupo and
cod_tipo = vendedor.cod_tipo and
cod_sec = vendedor.cod_sec
SELECT nom1_emp,apell1_emp
INTO vendedor.nombre_vend,vendedor.apellido_vend
FROM adtb00003 WHERE
num_emp = vendedor.sec_vend
LET vendedor.vende =
vendedor.sec_vend using "&&&&"
LET vendedor.codigo = vendedor.cod_n using "&",
vendedor.cod_grupo using "&",
vendedor.cod_tipo using "&&",
vendedor.cod_sec using "&&&"
LET valor_desc = vendedor.precio * (porciento/100)
LET vendedor.precio = vendedor.precio - valor_desc
LET vendedor.precio =
vendedor.precio + vendedor.precio * (p_itbi / 100)
LET porc_rep = (vendedor.precio / p_neto) * 100
OUTPUT TO REPORT reporte_5 (vendedor.*,porc_rep,p_neto)
END FOREACH
FINISH REPORT reporte_5
#RUN imprime
CALL fdestino(destino,archivo,imprime)
CLEAR SCREEN
END FUNCTION
REPORT reporte_5(x,porc,p_neto1)
DEFINE x RECORD
cod_vend SMALLINT,
sec_vend SMALLINT,
fecha_factura DATE,
factura INTEGER,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad INTEGER ,
precio DECIMAL(10,2),
recibo INTEGER,
fecha DATE,
valor_c DECIMAL(12,2),
porc_venta DECIMAL(10,4),
descrip_esp CHAR(30),
nombre_vend CHAR(30),
apellido_vend CHAR(30) ,
vendedor CHAR(6) ,
codigo CHAR(7)
END RECORD
DEFINE nombre_mes CHAR(10)
DEFINE ii,total_clientes INTEGER
DEFINE doce CHAR(6)
DEFINE hora CHAR(5)
DEFINE i SMALLINT
DEFINE porc DECIMAL(10,4)
DEFINE t_valor1,p_neto1,t_valor,valor DECIMAL(12,2)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 4
ORDER BY x.vendedor,x.factura,x.codigo,x.recibo
FORMAT
PAGE HEADER
LET hora = time
PRINT COLUMN 1, letras.doce, letras.negrillas_on
PRINT COLUMN 1, "teprrp005",
COLUMN 55, "R A Y . O . V A C D O M I N I C A N A, S. A.",
COLUMN 148, "Pag. ",pageno using "###"
PRINT COLUMN 55, " Sistema de Tesoreria",
COLUMN 148, today using "dd/mm/yyyy"
PRINT COLUMN 55, " Liquidacion Comision Por Cobro Plan Ranchero",
COLUMN 151, hora
PRINT COLUMN 1, letras.negrillas_off
IF cod_cia = 1 THEN
PRINT COLUMN 1, "Rayovac Dominicana"
ELSE
PRINT COLUMN 1, "Distribuidora Dominicana de Pilas"
END IF
PRINT COLUMN 1, "Del ",p_datos.fecha_in using "dd/mm/yyyy"," Al ",
p_datos.fecha_fin using "dd/mm/yyyy"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------" ,
"------------------------------------------------------"
PRINT COLUMN 20, "VALOR",
COLUMN 80, "PORC.",
COLUMN 92, "VALOR",
COLUMN 101, "NUMERO",
COLUMN 126, "VALOR",
COLUMN 135, " VALOR"
PRINT COLUMN 1, "FECHA",
COLUMN 10, "FACTURA",
COLUMN 20, "FACTURA",
COLUMN 38, "PRODUCTO",
COLUMN 80, "REPRES",
COLUMN 92, "REPRES",
COLUMN 101, "RECIBO",
COLUMN 110, "FECHA",
COLUMN 126, "COBRADO" ,
COLUMN 135, "REPRESENTA",
COLUMN 148, "COMISION"
PRINT COLUMN 1,
"--------------------------------------------------",
"--------------------------------------------------" ,
"------------------------------------------------------"
SKIP 1 LINE
BEFORE GROUP OF x.vendedor
LET t_valor = 0
LET t_valor1 = 0
PRINT COLUMN 1,letras.doble_on,"VENDEDOR : ",
x.nombre_vend clipped," ",
x.apellido_vend clipped, letras.doble_off
SKIP 1 LINE
BEFORE GROUP OF x.factura
PRINT COLUMN 1, x.fecha_factura using "dd/mm/yyyy",
COLUMN 12, x.factura using "&&&&&&",
COLUMN 20, p_neto1 using "###,###.##";
ON EVERY ROW
PRINT COLUMN 38, x.cod_n using "&","-",x.cod_grupo using "&","-",
x.cod_tipo using "&&","-",x.cod_sec using "&&&",
" ", x.descrip_esp CLIPPED,
COLUMN 80, porc USING "###.##",
COLUMN 91, x.precio USING "###,###.##";
IF x.recibo is not null THEN
IF x.valor_c < 0 THEN
LET x.valor_c = x.valor_c * -1
END IF
IF x.precio < x.valor_c THEN
LET valor = x.valor_c * (porc / 100)
ELSE
LET valor = x.valor_c
END IF
PRINT COLUMN 102, x.recibo using "&&&&&&",
COLUMN 110, x.fecha using "dd/mm/yyyy",
COLUMN 120, x.valor_c using "##,###,###.##",
COLUMN 134, valor USING "##,###.##",
COLUMN 146, valor * .01275 USING "##,###.##"
LET t_valor = (valor * .01275) + t_valor
LET t_valor1 = valor + t_valor1
ELSE
PRINT " "
END IF
AFTER GROUP OF x.vendedor
SKIP 1 LINE
PRINT COLUMN 1,letras.negrillas_on
PRINT COLUMN 10, "TOTAL VENDEDOR --> ",
COLUMN 87, GROUP SUM(x.precio) USING "###,###,###.##",
COLUMN 130, t_valor1 USING "##,###,###.##",
COLUMN 146, t_valor USING "##,###,###.##"
PRINT COLUMN 1,letras.negrillas_off
END REPORT