155 lines
4.9 KiB
Plaintext
155 lines
4.9 KiB
Plaintext
{
|
|
=============================================================================
|
|
PROGRAMA : IRPRRP024
|
|
OBJETIVO : IMPRIMIR REPUESTOS CON EL PRECIO Y NUMERO DE ORDEN DE COMPRA,
|
|
RUPTURA POR TIPO DE COMPRA Y POR ORDEN.
|
|
PROGRAMADOR : JUAN F. SOTO
|
|
FECHA : FEBRERO 8, 1995
|
|
=============================================================================
|
|
}
|
|
DATABASE marmotech
|
|
GLOBALS
|
|
DEFINE descrip CHAR(30)
|
|
DEFINE fecha_inicial,fecha_final DATE
|
|
|
|
END GLOBALS
|
|
MAIN
|
|
CALL reporte1()
|
|
END MAIN
|
|
FUNCTION reporte1()
|
|
DEFINE datos RECORD
|
|
cod_mov SMALLINT,
|
|
fecha DATE,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
num_oc INTEGER,
|
|
tipo CHAR(2),
|
|
precio DECIMAL(12,2),
|
|
cantidad LIKE cotb00015.cantidad,
|
|
num_rec INTEGER
|
|
END RECORD
|
|
OPTIONS
|
|
PROMPT LINE 10,
|
|
ERROR LINE 24
|
|
|
|
PROMPT "Entre Fecha Inicial " FOR fecha_inicial
|
|
PROMPT "Entre Fecha Final " FOR fecha_final
|
|
|
|
START REPORT imprime TO PIPE "lp -dcentral"
|
|
DISPLAY "BUSCANDO INFORMACION " AT 22,1
|
|
DECLARE busca CURSOR FOR
|
|
SELECT b.cod_mov,c.fech_oc,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,
|
|
c.num_oc,c.tipo,a.precio,a.cantidad,b.num_doc
|
|
FROM cotb00015 a,irtb00006 b,cotb00014 c
|
|
WHERE (a.num_oc = b.orden_compra and
|
|
a.cod_n = b.cod_n and
|
|
a.cod_grupo = b.cod_grupo and
|
|
a.cod_tipo = b.cod_tipo and
|
|
a.cod_sec = b.cod_sec) and
|
|
(a.num_oc = c.num_oc and
|
|
a.tipo = c.tipo) and
|
|
a.tipo = b.tipo and
|
|
(c.fech_oc between fecha_inicial and fecha_final) and
|
|
c.status_t is null
|
|
|
|
ORDER BY b.cod_mov,c.num_oc,c.tipo
|
|
|
|
FOREACH busca INTO datos.*
|
|
DISPLAY "EN PROCESO IMPRESION " AT 22,1
|
|
OUTPUT TO REPORT imprime(datos.*)
|
|
END FOREACH
|
|
FINISH REPORT imprime
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
REPORT imprime(x)
|
|
DEFINE x RECORD
|
|
cod_mov SMALLINT,
|
|
fecha DATE,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
num_oc INTEGER,
|
|
tipo CHAR(2),
|
|
precio DECIMAL(12,2),
|
|
cantidad LIKE cotb00015.cantidad,
|
|
num_rec INTEGER
|
|
END RECORD,
|
|
doble_off,doble_on,doce CHAR(3),
|
|
unidad CHAR(3),
|
|
total_p DECIMAL(12,2)
|
|
|
|
OUTPUT LEFT MARGIN 0
|
|
FORMAT
|
|
PAGE HEADER
|
|
LET doce = ASCII 031
|
|
LET doble_on = ASCII 027, ASCII 001
|
|
LET doble_off = ASCII 027, ASCII 002
|
|
PRINT doce
|
|
PRINT COLUMN 1, "irprrp024",
|
|
COLUMN 50, "R A Y .O. V A C D O M I N I C A N A, S. A.",
|
|
COLUMN 120, "Pag. ",pageno using "###"
|
|
PRINT COLUMN 63, "SISTEMA DE REPUESTOS",
|
|
COLUMN 120, today using "dd/mm/yy"
|
|
PRINT COLUMN 63, "COMPRAS DE REPUESTOS",
|
|
COLUMN 120, time
|
|
PRINT COLUMN 60, "DESDE ",fecha_inicial using "dd/mm/yy"," AL ",
|
|
fecha_final using "dd/mm/yy"
|
|
|
|
PRINT
|
|
"=============================================================================",
|
|
"========================================================="
|
|
PRINT COLUMN 1, "FECHA",
|
|
COLUMN 15, "O/COMPRA",
|
|
COLUMN 30, "N/RECIBO",
|
|
COLUMN 45, "CODIGO",
|
|
COLUMN 90, "CANTIDAD",
|
|
COLUMN 110, "PRECIO",
|
|
COLUMN 130, "TOTAL"
|
|
PRINT
|
|
"=============================================================================",
|
|
"========================================================="
|
|
BEFORE GROUP OF x.cod_mov
|
|
|
|
IF x.cod_mov = 1 THEN
|
|
PRINT COLUMN 1, doble_on,"LOCALES",doble_off
|
|
ELSE
|
|
PRINT COLUMN 2, doble_on,"EXPORTACION",doble_off
|
|
END IF
|
|
SKIP 1 LINE
|
|
ON EVERY ROW
|
|
SELECT descrip_esp,unidad_med INTO descrip,unidad FROM intb00001
|
|
WHERE cod_n = x.cod_n and
|
|
cod_grupo = x.cod_grupo and
|
|
cod_tipo = x.cod_tipo and
|
|
cod_sec = x.cod_sec
|
|
|
|
LET total_p = x.precio * x.cantidad
|
|
|
|
PRINT COLUMN 1, x.fecha using "dd/mm/yy",
|
|
COLUMN 15, x.num_oc using "&&&&&&",
|
|
COLUMN 30, x.num_rec using "&&&&&&",
|
|
COLUMN 45, x.cod_n using "&","-",x.cod_grupo using "&","-",
|
|
x.cod_tipo using "&&","-",x.cod_sec using "&&&"," ",
|
|
descrip," ",unidad,
|
|
COLUMN 90, x.cantidad using "##,###.##",
|
|
COLUMN 107, x.precio using "$$,$$$.##",
|
|
COLUMN 127, x.precio * x.cantidad using "$$$,$$$.##"
|
|
|
|
AFTER GROUP OF x.num_oc
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 115,"TOTAL ORDEN ", GROUP SUM(x.precio * x.cantidad)
|
|
using "$$$,$$$.##"
|
|
SKIP 1 LINE
|
|
AFTER GROUP OF x.cod_mov
|
|
PRINT COLUMN 115,"TOTAL ===> ",GROUP SUM(x.precio * x.cantidad)
|
|
USING "$$,$$$,$$$.##"
|
|
SKIP TO TOP OF PAGE
|
|
ON LAST ROW
|
|
|
|
PRINT
|
|
"============================================================================="
|
|
PRINT "TOTAL REGISTRO==> ",COUNT(*) USING "###"
|
|
END REPORT
|