{ ------------------------------------------------------------------------------- PROGRAMA : VEPRRP031 OBJETIVO : Secuencia de Visistas Por Cliente y Vendedor PROGRAMADOR : Tadeo A.Ferreras F. FECHA REALIZACION : Marzo 08, 1995 ------------------------------------------------------------------------------- } GLOBALS "veprgb000.4gl" FUNCTION veprrp031() DEFINE secuencias RECORD sec_vend INTEGER, tipo_cliente INTEGER, sec_cliente INTEGER, nombre CHAR(30), secuencia INTEGER, status_t CHAR(1) END RECORD # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM vefmrp031 FROM "vefmrp031" DISPLAY FORM vefmrp031 CALL pantalla() DISPLAY "veprrp031" AT 4,3 DISPLAY "Secuencia de Visita Por Cliente y Por Vendedor" AT 6,17 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CONSTRUCT criterio ON a.sec_vend,a.tipo_cliente,a.sec_cliente FROM sec_vend,tipo_cliente,sec_cliente IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF # Busca Los Movimientos de las Facturas con su secuencia LET selec = "SELECT a.sec_vend,a.tipo_cliente,a.sec_cliente,b.nombre, ", " c.secuencia_visita,b.status_t ", "FROM vetb00028 a,vetb00004 b,OUTER vetb00005 c ", "WHERE a.tipo_cliente=b.tipo_cliente AND a.tipo_cliente=c.tipo_cliente and ", " a.sec_cliente = b.sec_cliente AND a.sec_cliente = c.sec_cliente AND ", " a.tipo_cliente = 12 AND a.status_t IS NULL AND ",criterio clipped, " ORDER BY 1,5 " DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) PREPARE busca_movi FROM selec DECLARE movi_curs SCROLL CURSOR FOR busca_movi START REPORT sec_visita TO "C:\\archivo" DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) FOREACH movi_curs INTO secuencias.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF OUTPUT TO REPORT sec_visita(secuencias.*) END FOREACH FINISH REPORT sec_visita CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT sec_visita(x) DEFINE x RECORD sec_vend INTEGER, tipo_cliente INTEGER, sec_cliente INTEGER, nombre CHAR(30), secuencia INTEGER, status_t CHAR(1) END RECORD, nombre_vend CHAR(32) DEFINE nombre1,apellido1 CHAR(15) DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE normal CHAR(2) DEFINE hora CHAR(5) DEFINE total_gral DECIMAL(12,2) DEFINE nombre_transp CHAR(30) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 LET hora = time LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT negrillas_on PRINT COLUMN 1, "veprrp031", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 72, "Pag. ",pageno using "###" PRINT COLUMN 17, " Sistema de Ventas ", COLUMN 72, today using "dd/mm/yy" PRINT COLUMN 17, " Secuencia de Visitas Por Cliente Y Vendedor", COLUMN 75, hora SKIP 1 LINES PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 2, "Secuencia", COLUMN 20, "Cliente", COLUMN 30, "Nombre ", COLUMN 65, "Status Cliente" PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT negrillas_off BEFORE GROUP OF x.sec_vend LET nombre_vend = NULL LET nombre1 = NULL LET apellido1 = NULL SELECT UNIQUE a.nom1_emp,a.apell1_emp INTO nombre1,apellido1 FROM adtb00003 a WHERE a.num_emp = x.sec_vend IF STATUS = NOTFOUND THEN LET nombre_vend = NULL END IF LET nombre_vend = nombre1 CLIPPED," ", apellido1 CLIPPED PRINT negrillas_on PRINT COLUMN 1, "Vendedor: (", x.sec_vend USING "####",") ", nombre_vend CLIPPED PRINT negrillas_off ON EVERY ROW LET nombre1 = NULL IF x.status_t IS NOT NULL THEN LET nombre1 = "ELIMINADO" END IF PRINT COLUMN 1, x.secuencia USING "######", COLUMN 20, x.tipo_cliente USING "&&", x.sec_cliente USING "&&&&", COLUMN 30, x.nombre, COLUMN 65, nombre1 AFTER GROUP OF x.sec_vend PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 1, "Total Clientes ---> ",GROUP COUNT(*) USING "<<<,<<<" SKIP TO TOP OF PAGE END REPORT