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

226 lines
7.1 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : VEPRRP012
OBJETIVO : Transporte de Mercaderia ( Mercancias )
PROGRAMADOR : Lic. Abner Montalvo Zapata
FECHA REALIZACION : Enero 18, 1993
-------------------------------------------------------------------------------
}
GLOBALS "veprgb000.4gl"
DEFINE trx RECORD LIKE iptb00006.*
DEFINE nombre_p CHAR(30)
DEFINE p_tarifa DECIMAL(8,2)
DEFINE factor INTEGER
DEFINE codigo_p CHAR(3)
DEFINE seleccion CHAR(200)
FUNCTION veprrp012()
DEFINE codigo_t CHAR(6)
DEFINE docu INTEGER
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM vefmrp012 FROM "vefmrp012"
DISPLAY FORM vefmrp012
CALL pantalla()
DISPLAY "veprrp012" AT 4,3
DISPLAY "Transporde de Mercaderia" AT 6,28
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
INPUT BY NAME rango.*
AFTER FIELD fech_in
IF rango.fech_in is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_in
END IF
BEFORE FIELD fech_fi
LET rango.fech_fi = TODAY
DISPLAY BY NAME rango.fech_fi
AFTER FIELD fech_fi
IF rango.fech_fi is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_fi
END IF
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 cod_transp,sec_transp
LET seleccion =
"SELECT * FROM iptb00006 ",
"WHERE fecha between ? and ? and cod_transp is not null and ",
" status_t is null and ",criterio clipped," ORDER BY fecha "
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14
ATTRIBUTE (REVERSE,BOLD)
PREPARE comando FROM seleccion
DECLARE busca CURSOR FOR comando
OPEN busca USING rango.fech_in,rango.fech_fi
START REPORT mercaderia TO "C:\\archivo"
DISPLAY " " AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
FOREACH busca INTO trx.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
# Busca datos de la facturacion
SELECT @zona INTO codigo_p FROM vetb00002
WHERE @factura = trx.num_doc
# Busca la tarifa del transporte
SELECT tarifa_pago INTO p_tarifa FROM vetb00023
WHERE cod_tarifa = trx.cod_tarifa
# Busca conversion a cajas
SELECT cantidad INTO factor FROM vetb00014
WHERE cod_n = trx.cod_n and cod_grupo = trx.cod_grupo and
cod_tipo = trx.cod_tipo and cod_sec = trx.cod_sec
# Provincias
SELECT nombre_provincia INTO nombre_p FROM vetb00020
WHERE cod_provincia = codigo_p
LET codigo_t = trx.cod_transp using "##",trx.sec_transp using "####"
LET docu = trx.num_doc
LET trx.cantidad_2 = trx.cantidad_2 / factor
OUTPUT TO REPORT mercaderia(codigo_t,docu,trx.fecha,trx.cantidad_2,
p_tarifa,nombre_p)
END FOREACH
FINISH REPORT mercaderia
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT mercaderia(codigo_x,documento,fecha_x,cantidad_x,tarifa,nombre_x)
DEFINE codigo_x CHAR(6),
cantidad_x,documento INTEGER,
tarifa,valor_pagar,total_transp DECIMAL(12,2),
fecha_x DATE
DEFINE nombre_x,nombre_transportista CHAR(30)
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 nombre_transp CHAR(30)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
ORDER BY codigo_x,documento
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 = (139 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, comp_on, negrillas_on
PRINT COLUMN 1, "veprrp12",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 132, "Pag. ", pageno using "###"
PRINT COLUMN 68, "Sistema de Ventas ",
COLUMN 130, today using "dd/mm/yyyy"
PRINT COLUMN 65, "Transporte de Mercaderia",
COLUMN 135, hora, negrillas_off
SKIP 1 LINES
PRINT COLUMN 1, "Desde ",rango.fech_in using "dd/mm/yyyy",
" Hasta ",rango.fech_fi using "dd/mm/yyyy"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"----------------------------------------"
PRINT COLUMN 80, "Fecha",
COLUMN 108, "Cajas" ,
COLUMN 115, " Tarifa"
PRINT COLUMN 2, "T R A N S P O R T I S T A",
COLUMN 40, "L O C A L I D A D",
COLUMN 80, "Documento",
COLUMN 91, "Documento",
COLUMN 107, "Documento",
COLUMN 115, " X Cajas",
COLUMN 126, "Monto a Pagar"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------" ,
"----------------------------------------"
BEFORE GROUP OF codigo_x
LET total_transp = 0
LET valor_pagar = 0
LET nombre_transp = "NO EXISTE"
SELECT a.nombre INTO nombre_transp from vetb00015 a
WHERE a.cod_transp = trx.cod_transp AND a.sec_transp = trx.sec_transp
PRINT COLUMN 1, negrillas_on,codigo_x," ",nombre_transp,
negrillas_off
AFTER GROUP OF documento
LET valor_pagar = GROUP SUM(cantidad_x) * tarifa
LET total_transp = total_transp + valor_pagar
PRINT COLUMN 40, nombre_x,
COLUMN 80, fecha_x using "dd/mm/yy",
COLUMN 92, documento using "&&&&&&",
COLUMN 107, GROUP SUM(cantidad_x) using "###,###",
COLUMN 116, tarifa using "###.##",
COLUMN 126, valor_pagar using "###,###,###.&&"
AFTER GROUP OF codigo_x
SKIP 1 LINE
PRINT COLUMN 100, "Total Transportista --> ",
COLUMN 126, total_transp using "###,###,###.&&"
SKIP TO TOP OF PAGE
ON LAST ROW
PRINT COLUMN 1, comp_off
END REPORT