Files
MBS/PROYECTO/vedir/veprrp014.4gl
T

265 lines
9.2 KiB
Plaintext

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