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

236 lines
7.9 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : TEPRRP004
OBJETIVO : Comisiones por Cobro
PROGRAMADOR : Juan Fco. Sotot
FECHA REALIZACION : Mayo 28, 1993
-------------------------------------------------------------------------------
}
GLOBALS "teprgb000.4gl"
DEFINE mes SMALLINT,
ano CHAR(4)
DEFINE cod_cia SMALLINT
FUNCTION teprrp004()
DEFINE vendedor RECORD
recibo INTEGER,
cod_vend SMALLINT,
sec_vend SMALLINT,
fecha_recibo DATE,
fecha_factura DATE,
factura INTEGER,
monto DECIMAL(12,2),
porc_venta DECIMAL(10,4),
nombre_vend CHAR(30),
apellido_vend CHAR(30) ,
vende CHAR(6)
END RECORD
#WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM tefmrp004 FROM "tefmrp004"
DISPLAY FORM tefmrp004
CALL pantalla()
DISPLAY "teprrp004" AT 4,3 ATTRIBUTE(RED)
DISPLAY " Comision por Cobros " AT 6,29 ATTRIBUTE(BLACK)
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CALL defecto(impresor) RETURNING imprime,letras.*,archivo
INPUT BY NAME cod_cia,mes,ano
CONSTRUCT criterio ON e.cod_emp , e.cod_emp_sec
FROM cod_vend, sec_vend
ON KEY(CONTROL-P)
CALL defecto(impresor) RETURNING imprime,letras.*,archivo
AFTER CONSTRUCT
EXIT CONSTRUCT
END CONSTRUCT
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 cobros TO archivo
DISPLAY " " AT 19,14
DISPLAY "<< Buscando Las Informaciones... Espere Por Favor >>" AT 19,14
LET selec =
"SELECT e.num_doc,e.cod_emp,e.cod_emp_sec,e.fecha_orig,a.fecha_factura, ",
" a.factura,e.valor ",
"FROM vetb00002 a, prdtable c,cctb00001 e ",
"WHERE e.fecha_orig between c.fecha_inicio and c.fecha_corte and ",
" a.factura = e.aplica_a and e.tipo_doc = 'PG' and ",
" c.mes = ? and a.cod_cia = ? and ",criterio clipped,
" and a.ventas = '1' and a.status_t is null and c.ano = ? "
PREPARE b_vende FROM selec
DECLARE c_vende CURSOR FOR b_vende
OPEN c_vende USING mes,cod_cia,ano
DISPLAY " " AT 19,14
DISPLAY "<< Reporte Generandose... Espere Por Favor >>" AT 19,14
WHILE STATUS != NOTFOUND
FETCH c_vende INTO vendedor.*
IF status = notfound THEN
EXIT WHILE
END IF
IF cod_cia = 1 THEN
SELECT max(a.porc_cobros) INTO vendedor.porc_venta FROM vetb00011 a
WHERE a.cod_n = 3 and a.sec_vend = vendedor.sec_vend and a.status_t is null
ELSE
SELECT unique max(a.porc_cobros) INTO vendedor.porc_venta FROM vetb00011 a
WHERE a.cod_n = 6 and a.sec_vend = vendedor.sec_vend and a.status_t is null
LET vendedor.porc_venta = vendedor.porc_venta / 100
END IF
SELECT nom1_emp,apell1_emp INTO vendedor.nombre_vend,vendedor.apellido_vend
FROM adtb00003
WHERE num_emp = vendedor.sec_vend
IF vendedor.porc_venta IS NULL THEN
LET vendedor.porc_venta = 0
END IF
LET vendedor.vende = vendedor.cod_vend using "&&",
vendedor.sec_vend using "&&&&"
OUTPUT TO REPORT cobros (vendedor.*)
END WHILE
FINISH REPORT cobros
#RUN imprime
CALL fdestino(destino,archivo,imprime)
CLEAR SCREEN
END FUNCTION
REPORT cobros(x)
DEFINE x RECORD
recibo INTEGER,
cod_vend SMALLINT,
sec_vend SMALLINT,
fecha_recibo DATE,
fecha_factura DATE,
factura INTEGER,
monto DECIMAL(12,2),
porc_venta DECIMAL(10,4),
nombre_vend CHAR(30),
apellido_vend CHAR(30) ,
vende CHAR(6)
END RECORD
DEFINE primera CHAR(1)
DEFINE nombre_mes CHAR(10)
DEFINE total_clientes INTEGER
DEFINE hora CHAR(5)
DEFINE i SMALLINT
DEFINE porc,total_gen,total_vend,valor_pagar DECIMAL(12,2),
fecha1,fecha2 DATE
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 4
ORDER BY x.vende,x.recibo
FORMAT
PAGE HEADER
LET hora = time
CALL meses()
LET nombre_mes = mes1[mes]
PRINT COLUMN 1, letras.doce, letras.negrillas_on
PRINT COLUMN 1, "teprrp004",
COLUMN 27, "R A Y . O . V A C D O M I N I C A N A, S. A.",
COLUMN 92, "Pag. ",pageno using "###"
PRINT COLUMN 40, "Sistema de Tesoreria ",
COLUMN 92, today using "dd/mm/yyyy"
PRINT COLUMN 34, " Relacion comision por Cobros ",
COLUMN 95, hora, letras.negrillas_off
PRINT COLUMN 40, letras.doble_on,nombre_mes,letras.doble_off
SELECT a.fecha_inicio,a.fecha_corte
INTO fecha1,fecha2
FROM prdtable a
WHERE a.ano = ano
AND a.mes = mes
SKIP 1 LINES
IF cod_cia = 1 THEN
PRINT COLUMN 1, "Rayovac Domincana",
" Desde : ",fecha1 USING "dd/mm/yyyy",
" Hasta : ",fecha2 USING "dd/mm/yyyy"
ELSE
PRINT COLUMN 1, "Distribuidora Dominicana de Pilas",
" Desde : ",fecha1 USING "dd/mm/yyyy",
" Hasta : ",fecha2 USING "dd/mm/yyyy"
END IF
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------"
PRINT COLUMN 87, "COMISION"
PRINT COLUMN 2, "RECIBO",
COLUMN 10, "FECHA",
COLUMN 20, "APLICACION",
COLUMN 66, "MONTO",
COLUMN 75, "COMISION",
COLUMN 87, "A PAGAR"
PRINT COLUMN 1,
"--------------------------------------------------",
"--------------------------------------------------",
"--------------------"
IF total_gen is null THEN
LET total_gen = 0
END IF
SKIP 1 LINE
BEFORE GROUP OF x.vende
LET total_vend = 0
PRINT COLUMN 1,letras.doble_on,"VENDEDOR : ",
x.nombre_vend clipped," ",
x.apellido_vend clipped, letras.doble_off
SKIP 1 LINE
ON EVERY ROW
LET valor_pagar = x.monto * x.porc_venta
LET porc = x.porc_venta
PRINT COLUMN 1, x.recibo using "&&&&&&",
COLUMN 9, x.fecha_factura using "dd/mm/yyyy",
COLUMN 20, x.factura using "&&&&&&",
COLUMN 62, x.monto using "##,###,###.##",
COLUMN 75, x.porc_venta using "###.####",
COLUMN 85, valor_pagar using "###,###.##"
LET total_vend = valor_pagar + total_vend
AFTER GROUP OF x.vende
PRINT COLUMN 87, "----------"
PRINT COLUMN 50, "Total A Pagar: ",
COLUMN 87, total_vend using "###,###.##"
LET total_gen = total_gen + total_vend
LET total_vend = 0
SKIP TO TOP OF PAGE
END REPORT