{ ------------------------------------------------------------------------------- PROGRAMA : VEPRRP014 OBJETIVO : Formulario de Itinerario de Visitas PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Enero 31, 1994 ------------------------------------------------------------------------------- } GLOBALS "veprgb000.4gl" DEFINE primera CHAR(1) DEFINE fecha DATE DEFINE salir1,salir2,primera_vez CHAR(1) DEFINE selec1 CHAR(1000) DEFINE idx1,idx2,idx3 INTEGER DEFINE itinerario RECORD sec_vend SMALLINT, nombre_vend CHAR(30), sec_cliente SMALLINT, nombre_cli CHAR(30), telefono CHAR(8), credito DECIMAL(12,2), calle CHAR(30), casa_num CHAR(10), barrio CHAR(10), urbanizacion CHAR(20), provincia CHAR(30), visita INTEGER END RECORD DEFINE datos_dir1 RECORD sec_vend SMALLINT, nombre CHAR(15), apellido CHAR(15), sec_cliente SMALLINT, nombre_cli CHAR(30), telefono CHAR(8), credito DECIMAL(12,2), calle CHAR(30), casa_num CHAR(10), barrio CHAR(10), urbanizacion CHAR(20), visita INTEGER, provincia CHAR(30) END RECORD FUNCTION veprrp014() #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM vefmrp014 FROM "vefmrp014" DISPLAY FORM vefmrp014 CALL pantalla() DISPLAY "veprrp014" AT 4,3 DISPLAY "Formulario de Itinerario de Visitas" AT 6,22 ## Tipo de papel necesario para imprimir el reporte LET tipo_papel = 1 CALL msgrp000(tipo_papel) LET primera = "S" ## Criterio para la impresion del reporte CONSTRUCT criterio ON b.sec_vend,a.sec_cliente FROM sec_vend,sec_cliente IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF LET selec1 = "SELECT UNIQUE b.sec_vend,c.nom1_emp,c.apell1_emp,a.sec_cliente, ", " a.nombre,a.telefono,a.limite_credito,d.calle,d.casa_num, ", " d.barrio,d.urbanizacion,d.secuencia_visita,g.nombre_provincia ", "FROM vetb00028 b,adtb00003 c, vetb00004 a,vetb00005 d,vetb00020 g ", "WHERE a.sec_cliente = b.sec_cliente and b.sec_vend = c.num_emp AND ", " a.sec_cliente = d.sec_cliente AND a.status_t IS NULL AND ", " a.cod_provincia = g.cod_provincia AND a.tipo_cliente = 12 AND ", criterio CLIPPED DISPLAY " " AT 19,14 DISPLAY "<< Buscando Datos Vendedor. Espere Por Favor >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) PREPARE busca_datos FROM selec1 DECLARE datos1 CURSOR FOR busca_datos OPEN datos1 START REPORT formulario TO "C:\\archivo" DISPLAY " " AT 19,14 DISPLAY " << Reporte Generandose ... Por Favor Espere >>" AT 19,14 ATTRIBUTE (REVERSE) LET salir1 = "N" WHILE salir1 != "S" FETCH datos1 INTO datos_dir1.* IF STATUS = NOTFOUND THEN LET salir1 = "S" EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF LET itinerario.sec_vend = datos_dir1.sec_vend LET itinerario.sec_cliente = datos_dir1.sec_cliente LET itinerario.nombre_vend = datos_dir1.nombre CLIPPED," ", datos_dir1.apellido CLIPPED LET itinerario.nombre_cli = datos_dir1.nombre_cli CLIPPED LET itinerario.telefono = datos_dir1.telefono CLIPPED LET itinerario.credito = datos_dir1.credito LET itinerario.calle = datos_dir1.calle LET itinerario.casa_num = datos_dir1.casa_num LET itinerario.barrio = datos_dir1.barrio LET itinerario.urbanizacion= datos_dir1.urbanizacion LET itinerario.visita = datos_dir1.visita LET itinerario.provincia = datos_dir1.provincia OUTPUT TO REPORT formulario(itinerario.*) END WHILE FINISH REPORT formulario CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT formulario(x) DEFINE x RECORD sec_vend SMALLINT, nombre_vend CHAR(30), sec_cliente SMALLINT, nombre_cli CHAR(30), telefono CHAR(8), credito DECIMAL(12,2), calle CHAR(30), casa_num CHAR(10), barrio CHAR(10), urbanizacion CHAR(20), provincia CHAR(30), visita INTEGER END RECORD DEFINE idx1 INTEGER DEFINE total_clientes INTEGER 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 i SMALLINT DEFINE balance DECIMAL(14,2) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 4 ORDER BY x.sec_vend,x.visita 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 PRINT COLUMN 1, "veprrp014", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 73, "Pag. ",pageno using "###" PRINT COLUMN 17, " Sistema de Ventas ", COLUMN 73, today using "dd/mm/yy" PRINT COLUMN 17, " Formulario de Itinerario de Visitas", COLUMN 76, hora LET idx = 0 SKIP 1 LINES ON EVERY ROW LET idx = idx + 1 IF idx = 1 THEN PRINT COLUMN 1, "Vendedor ",x.sec_vend USING "&&&&"," ",x.nombre_vend END IF PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 1,"|ORDEN DE VISITA: ",x.visita USING "&&&&&", COLUMN 24,"| CLIENTE: ",x.sec_cliente USING "&&&&"," ", x.nombre_cli, COLUMN 80,"|" PRINT COLUMN 1,"|", COLUMN 24,"| DIRECCION: ",x.calle CLIPPED," ",x.casa_num CLIPPED, " ",x.barrio CLIPPED, COLUMN 80,"|" PRINT COLUMN 1,"|", COLUMN 24,"| ",x.urbanizacion CLIPPED," ", x.provincia CLIPPED, COLUMN 80,"|" PRINT COLUMN 1,"|", COLUMN 24,"| LIMITE DE CREDITO: ",x.credito USING "#,###,###.##", COLUMN 60,"TELEFONO: ",x.telefono CLIPPED, COLUMN 80,"|" PRINT COLUMN 1, "|-------------------------------------------------", "-----------------------------|" PRINT COLUMN 1, "|FECHA Y HORA| INVENTARIO DEL CLIENTE | VENTAS | ", "REALIZADAS | PERSONA", COLUMN 80,"|" PRINT COLUMN 1, "| DE |------------------------------------", "-------------|", COLUMN 80,"|" PRINT COLUMN 1, "| VISITA |TIPO| D | C | AA |AAA |TIPO| D | ", "C | AA |AAA | CONTACTADA |" PRINT COLUMN 1, "|------------|------------------------------------", "-------------|---------------|" PRINT COLUMN 1, "| | | | | | | | | | ", " | | | |" PRINT COLUMN 1, "|________|___|____|____|____|____|____|____|____|_", "___|____|____|_______________|" PRINT COLUMN 1, "| | | | | | | | | | ", " | | | |" PRINT COLUMN 1, "|________|___|____|____|____|____|____|____|____|_", "___|____|____|_______________|" PRINT COLUMN 1, "| | | | | | | | | | ", " | | | |" PRINT COLUMN 1, "|________|___|____|____|____|____|____|____|____|_", "___|____|____|_______________|" PRINT COLUMN 1, "| | | | | | | | | | ", " | | | |" PRINT COLUMN 1, "|________|___|____|____|____|____|____|____|____|_", "___|____|____|_______________|" SKIP 1 LINE IF idx = 3 THEN LET idx = 0 SKIP TO TOP OF PAGE END IF AFTER GROUP OF x.sec_vend SKIP TO TOP OF PAGE END REPORT