Files
MBS/PROYECTO/tedirbk/teprrp006.4gl
T

181 lines
6.0 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : TEPRRP006
OBJETIVO : COMISION CKS. DEVUELTOS
PROGRAMADOR : Tadeo A. Ferreras F.
FECHA REALIZACION : Junio 7, 1995
-------------------------------------------------------------------------------
}
GLOBALS "teprgb000.4gl"
DEFINE datos_k RECORD
cod_cia LIKE vetb00002.cod_cia,
factura LIKE vetb00002.factura,
monto LIKE vetb00002.neto,
numero LIKE cctb00001.num_doc,
sec_vend LIKE cctb00001.cod_emp_sec,
tipo_cliente LIKE cctb00001.tipo_cliente,
sec_cliente LIKE cctb00001.sec_cliente,
valor LIKE cctb00001.valor
END RECORD
FUNCTION teprrp006()
DEFINE p_cia,p_vende SMALLINT
OPTIONS
FORM LINE 8,
ERROR LINE 24
OPEN FORM tefmrp006 FROM "tefmrp006"
DISPLAY FORM tefmrp006
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CALL defecto(impresor) RETURNING imprime,letras.*,archivo
INPUT BY NAME rango.*
ON KEY(CONTROL-P)
CALL busca_printer() RETURNING imprime,letras.*,archivo
AFTER FIELD fech_fi
IF rango.fech_fi <= rango.fech_in THEN
LET numero_msg = 51
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
LET parametro = "D"
CALL elijeimpresion(parametro) RETURNING orden,destino,letras.*
DISPLAY "<<< Buscando Informacion... Espere Por Favor" AT 19,14
START REPORT ckdevuelve TO archivo
# Busca los cheques devueltos de cuentas por cobrar
DECLARE busca CURSOR FOR
SELECT UNIQUE b.cod_cia,b.factura,b.neto,a.num_doc,a.cod_emp_sec,
a.tipo_cliente,a.sec_cliente,a.valor
FROM cctb00001 a,vetb00002 b
WHERE (a.cod_emp_sec = a.cod_emp_sec and
a.fecha_orig between rango.fech_in and rango.fech_fi and
a.tipo_doc = "ND" and a.valor_cheque is not null) and
(a.aplica_a = b.factura) and a.status_t is null
ORDER BY 5,4,2
FOREACH busca INTO datos_k.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
FINISH REPORT ckdevuelve
END IF
LET p_cia = datos_k.cod_cia
LET p_vende = datos_k.sec_vend
OUTPUT TO REPORT ckdevuelve(p_cia,p_vende)
END FOREACH
FINISH REPORT ckdevuelve
#RUN imprime
CALL fdestino(destino,archivo,imprime)
END FUNCTION
REPORT ckdevuelve(cia,vende)
DEFINE cia,vende SMALLINT,
porc_dev DECIMAL(10,4),
nomb1,nomb2 CHAR(20),
nombre_cliente CHAR(30),
t_porc DECIMAL(10,2),
doce CHAR(3)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
FORMAT
PAGE HEADER
LET doce = ASCII 30
PRINT COLUMN 1, letras.doce
PRINT COLUMN 1, "teprrp006",
COLUMN 27, "R A Y . O . V A C D O M I N I C A N A, S. A.",
COLUMN 94, "Pag. ",pageno using "###"
PRINT COLUMN 27, " Sistema de Tesoreria ",
COLUMN 94, today using "dd/mm/yyyy"
PRINT COLUMN 27, " Comision Cheques Devueltos",
COLUMN 94, time
SKIP 1 LINES
PRINT "Rango: Del ",rango.fech_in USING "dd/mm/yyyy",
" Al ",rango.fech_fi USING "dd/mm/yyyy"
PRINT "--------------------------------------------------------",
"---------------------------------------------"
SKIP 1 LINES
BEFORE GROUP OF vende
SELECT nom1_emp,apell1_emp INTO nomb1,nomb2 FROM adtb00003
WHERE num_emp = vende
PRINT COLUMN 1, "VENDEDOR: ",vende using "&&&"," ",
nomb1 clipped," ",nomb2
SKIP 1 LINE
PRINT COLUMN 80, "VALOR"
PRINT COLUMN 1, "DOCUMENTO",
COLUMN 15,"CLIENTE",
COLUMN 54, "FACTURA",
COLUMN 68, "MONTO",
COLUMN 80,"S/ITBI",
COLUMN 92, "%",
COLUMN 94,"COMISION"
SKIP 1 LINE
ON EVERY ROW
IF cia = 1 THEN
SELECT unique a.porc_cobros INTO porc_dev FROM vetb00011 a
WHERE a.sec_vend = datos_k.sec_vend and a.cod_n = 3 and
a.status_t is null
ELSE
SELECT unique a.porc_cobros INTO porc_dev FROM vetb00011 a
WHERE a.sec_vend = datos_k.sec_vend and a.cod_n in (6,9) and
a.status_t is null
END IF
SELECT nombre INTO nombre_cliente FROM vetb00004
WHERE tipo_cliente = datos_k.tipo_cliente and
sec_cliente = datos_k.sec_cliente
PRINT COLUMN 1, datos_k.numero using "&&&&&&",
COLUMN 15, datos_k.tipo_cliente using "&&","-",
datos_k.sec_cliente using "&&&&"," ",
nombre_cliente,
COLUMN 54, datos_k.factura using "&&&&&&",
COLUMN 63, datos_k.valor using "###,###.##",
COLUMN 73, datos_k.valor/1.08 using "##,###,###.##",
COLUMN 88, porc_dev using "##.####",
COLUMN 96, (datos_k.valor/1.08) * porc_dev using "###.##"
IF t_porc is null THEN
LET t_porc = 0
END IF
LET t_porc = t_porc + ((datos_k.valor/1.08) * porc_dev)
AFTER GROUP OF vende
PRINT COLUMN 73, "-------------",
COLUMN 94, "--------"
PRINT COLUMN 15, "TOTAL VENDEDOR: ",
COLUMN 73, GROUP SUM(datos_k.valor/1.08) using "##,###,###.##",
COLUMN 93, t_porc using "##,###.##"
LET t_porc = 0
PRINT "--------------------------------------------------------",
"---------------------------------------------"
END REPORT