GLOBALS "veprgb000.4gl" DEFINE archivo CHAR(9) DEFINE p_fecha DATE DEFINE nomb1,nomb2 CHAR(20) DEFINE pendiente RECORD num_doc INTEGER, valor DECIMAL(12,2) END RECORD DEFINE ac_vend RECORD vend_del SMALLINT, nombre_del CHAR(30), vend_al SMALLINT, nombre_al CHAR(30) END RECORD FUNCTION veprmt030() OPTIONS ERROR LINE 24, FORM LINE 9 OPEN FORM vefmmt030 FROM "vefmmt030" DISPLAY FORM vefmmt030 CALL pantalla() DISPLAY "veprmt030" AT 4,2 DISPLAY "Cambio de Vendedor" AT 6,30 INITIALIZE ac_vend.* TO NULL INPUT BY NAME ac_vend.* ATTRIBUTE (BOLD) AFTER FIELD vend_del IF ac_vend.vend_del is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD vend_del END IF SELECT nom1_emp,apell1_emp INTO nomb1,nomb2 FROM adtb00003 WHERE num_emp = ac_vend.vend_del IF status = notfound THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD vend_del END IF LET ac_vend.nombre_del = nomb1 clipped," ",nomb2 clipped DISPLAY BY NAME ac_vend.nombre_del ATTRIBUTE (BOLD) AFTER FIELD vend_al IF ac_vend.vend_al is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD vend_al END IF SELECT nom1_emp,apell1_emp INTO nomb1,nomb2 FROM adtb00003 WHERE num_emp = ac_vend.vend_al IF status = notfound THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD vend_al END IF LET ac_vend.nombre_al = nomb1 clipped," ",nomb2 clipped DISPLAY BY NAME ac_vend.nombre_al ATTRIBUTE (BOLD) 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 CONSTRUCT BY NAME criterio ON aplica_a LET selec = "SELECT aplica_a,sum(valor+monto_desc) FROM cctb00001 ", "WHERE ",criterio clipped, " and cod_emp_sec = ? and ", " status_t is null ", " GROUP BY 1 ", " HAVING sum(valor+monto_desc) != 0 " DISPLAY "<< Buscando Facturas Pendientes... Espere Por Favor >> " AT 18,14 PREPARE comando FROM selec DECLARE busca CURSOR FOR comando OPEN busca USING ac_vend.vend_del # LET archivo = "act",today using "ddmmyy" START REPORT actual TO "archivo" WHILE status != notfound FETCH busca INTO pendiente.* IF status = notfound THEN EXIT WHILE END IF SELECT fecha_factura INTO p_fecha FROM vetb00002 WHERE factura = pendiente.num_doc DISPLAY "<< Reporte Generandose Espere Por Favor >> " AT 18,14 OUTPUT TO REPORT actual(ac_vend.*,pendiente.*,p_fecha) DISPLAY "<< Actualizando Tablas Espere Por Favor >> " AT 18,14 UPDATE vetb00028 set sec_vend = ac_vend.vend_al, us_crea = user, fech_crea = current WHERE sec_vend = ac_vend.vend_del UPDATE cctb00001 set cod_emp_sec = ac_vend.vend_al, us_crea = user, fech_crea = current WHERE num_doc = pendiente.num_doc UPDATE vetb00002 set sec_vend = ac_vend.vend_al, us_crea = user, fech_crea = current WHERE factura = pendiente.num_doc END WHILE FINISH REPORT actual END FUNCTION REPORT actual(x,z,fecha_doc) DEFINE fecha_doc DATE DEFINE z RECORD num_doc INTEGER, valor DECIMAL(12,2) END RECORD DEFINE x RECORD vend_del SMALLINT, nombre_del CHAR(30), vend_al SMALLINT, nombre_al CHAR(30) END RECORD DEFINE doce,normal CHAR(2) OUTPUT TOP MARGIN 2 LEFT MARGIN 0 FORMAT PAGE HEADER LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 PRINT doce PRINT COLUMN 1, "veprmt030"; PRINT COLUMN 15, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 74, "Pag. ",pageno using "##" PRINT COLUMN 31, "Sistema de Ventas", COLUMN 74, today using "dd/mm/yy" PRINT COLUMN 24, "Cambios de Vendedores En Facturas", COLUMN 74, time PRINT COLUMN 1, "-----------------------------------------------------------------------------", "--------------------" PRINT COLUMN 6, "ANTES", COLUMN 48, "DESPUES" PRINT COLUMN 1, "FACTURA", COLUMN 10, "VENDEDOR", COLUMN 42, "FACTURA", COLUMN 52, "VENDEDOR", COLUMN 80, "FECHA" PRINT COLUMN 1, "-----------------------------------------------------------------------------", "--------------------" ON EVERY ROW PRINT COLUMN 1, z.num_doc using "&&&&&&", COLUMN 10, x.nombre_del, COLUMN 42, z.num_doc using "&&&&&&", COLUMN 52, x.nombre_al clipped, COLUMN 80, fecha_doc using "dd/mm/yy" ON LAST ROW PRINT COLUMN 1, "Total Registros Impresos==> ", COUNT(*) USING "####" PRINT normal END REPORT