178 lines
5.3 KiB
Plaintext
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
|