Files
MBS/PROYECTO/PRDIR/prprrp017.4gl
T

178 lines
5.3 KiB
Plaintext

{
===========================================================================
PROGRAMA : prprrp017
SISTEMA : PRODUCCION
OBJETIVO : LISTAR ORDENES DE PRODUCCION Pendientes y No Pendientes
AUTOR : JUAN F. SOTO
FECHA : JULIO 22, 2000
===========================================================================
}
GLOBALS
"prprgb000.4gl"
DEFINE rango RECORD
fecha_inicial DATE,
fecha_final DATE
END RECORD
FUNCTION prprrp017()
DEFINE opcion CHAR(1)
DEFINE prt12 RECORD LIKE prtb00012.*
DEFINE prt13 RECORD LIKE prtb00013.*,
prt09 RECORD LIKE prtb00009.*
OPTIONS
PROMPT LINE 23,
FORM LINE 8,
ERROR LINE 23
OPEN FORM prfmrp017 FROM "prfmrp017"
DISPLAY FORM prfmrp017
LET tipo_papel = 2
CALL msgrp000(tipo_papel)
INPUT BY NAME rango.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT BY NAME criterio ON a.num_oc,a.sec_vend
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DISPLAY " Entrando a seleccion de los datos ........ " AT 17,14
LET selec = "SELECT a.*,b.*,c.* FROM prtb00012 a, prtb00013 b, prtb00009 c ",
" WHERE ",criterio CLIPPED,
" AND a.fecha_oc BETWEEN '",rango.fecha_inicial,"' AND '",
rango.fecha_final,"'",
" AND a.num_oc = b.num_oc ",
" AND a.num_oc = c.num_oc ",
" AND a.status_t IS NULL",
" ORDER BY a.sec_vend,a.num_oc"
DISPLAY " Sale de la seccion de los datos ......... " AT 17,14
PREPARE comando FROM selec
DECLARE busca CURSOR FOR comando
DISPLAY "Reporte Generandose ... Espere Por Favor" AT 17,14
START REPORT reporte_17 TO "C:\\archivo"
FOREACH busca INTO prt12.*,prt13.*,prt09.*
OUTPUT TO REPORT reporte_17(prt12.*,prt13.*,prt09.*)
END FOREACH
FINISH REPORT reporte_17
CASE
WHEN p_user = "usagg01"
RUN "type C:\\archivo > LPT1"
WHEN p_user = "usgven01"
RUN "type C:\\archivo > LPT4"
OTHERWISE
RUN "type C:\\archivo > %USPRINT%"
END CASE
END FUNCTION
REPORT reporte_17(x,y,z)
DEFINE x RECORD LIKE prtb00012.*,
y RECORD LIKE prtb00013.*,
z RECORD LIKE prtb00009.*,
nomb1 LIKE adtb00003.nom1_emp,
nomb2 LIKE adtb00003.apell1_emp,
nombre_c LIKE vetb00004.nombre,
nombre_p LIKE iptb00002.descrip_esp,
negrillas_on,negrillas_off CHAR(2),
unidad_p LIKE iptb00002.unidad_med,
xpendiente CHAR(20)
OUTPUT
LEFT MARGIN 5
FORMAT
PAGE HEADER
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27, ascii 77
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET hora = time
PRINT comp_on,negrillas_on
PRINT COLUMN 1, "prprrp017",
COLUMN 29, " M A R M O T E C H, S. A.",
COLUMN 90, "Pag. ",pageno USING "###"
PRINT COLUMN 29, " SISTEMA DE PRODUCCION",
COLUMN 90, today using "dd/mm/yy"
PRINT COLUMN 29, " MONITOREO ORDENES DE PRODUCCION",
COLUMN 94, hora
SKIP 1 LINE
PRINT rango.fecha_inicial USING "dd/mm/yyyy", " AL ",
rango.fecha_final USING "dd/mm/yyyy"
PRINT "====================================================================",
"======================================"
PRINT COLUMN 1,"NUMERO"
PRINT COLUMN 1, "ORDEN",
COLUMN 10, "FECHA",
COLUMN 20, "CLIENTE",
COLUMN 59, "DETALLE"
PRINT "====================================================================",
"======================================"
PRINT negrillas_off
BEFORE GROUP OF x.sec_vend
LET nomb1= NULL
LET nomb2= NULL
SELECT a.nom1_emp,a.apell1_emp INTO nomb1,nomb2
FROM adtb00003 a
WHERE a.num_emp = x.sec_vend
PRINT negrillas_on,"Vendedor: ",x.sec_vend USING "<<<<"," ",
nomb1 CLIPPED," ",nomb2,negrillas_off
BEFORE GROUP OF x.num_oc
PRINT negrillas_on
# Busca la descripcion del producto
SELECT a.descrip_esp,a.unidad_med INTO nombre_p,unidad_p
FROM iptb00002 a
WHERE a.cod_n = y.cod_n AND
a.cod_grupo = y.cod_grupo AND
a.cod_tipo = y.cod_tipo AND
a.cod_sec = y.cod_sec
# Busca el nombre del cliente
SELECT a.nombre INTO nombre_c
FROM vetb00004 a
WHERE a.tipo_cliente = x.tipo_cliente AND
a.sec_cliente = x.sec_cliente
IF z.pendiente = "S" THEN
LET xpendiente = "ABIERTA"
ELSE
LET xpendiente = "CERRADA"
END IF
PRINT COLUMN 1, x.num_oc USING "<<<<<<",
COLUMN 10,x.fecha_oc USING "dd/mm/yyyy",
COLUMN 20,x.tipo_cliente USING "##",x.sec_cliente USING "####"," ",
nombre_c," ", xpendiente,negrillas_off
ON EVERY ROW
PRINT COLUMN 55, z.fecha USING "dd/mm/yyyy"," ",
z.detalle WORDWRAP RIGHT MARGIN 100
AFTER GROUP OF x.sec_vend
PRINT "----------------------------------------------------------------",
"-------------------------------------------------"
ON LAST ROW
PRINT comp_off
END REPORT