{ ------------------------------------------------------------------------------- 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