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

100 lines
3.2 KiB
Plaintext

{
===========================================================================
PROGRAMA : prprrp018
SISTEMA : PRODUCCION
OBJETIVO : LISTAR Control ORDENES DE PRODUCCION
AUTOR : JUAN F. SOTO
FECHA : Agosto 12, 2000
===========================================================================
}
GLOBALS
"prprgb000.4gl"
DEFINE rango RECORD
fecha_inicial DATE,
fecha_final DATE
END RECORD
FUNCTION prprrp018()
DEFINE opcion CHAR(1),
filename,archivo,filename1 CHAR(120),
cnt SMALLINT,
cels CHAR(30),
nomb1 LIKE adtb00003.nom1_emp,
nomb2 LIKE adtb00003.apell1_emp,
nombre_c LIKE vetb00004.nombre,
nombre_p LIKE iptb00002.descrip_esp,
numero_ant INTEGER,
valor DECIMAL(12,2)
DEFINE prtb12 RECORD LIKE prtb00012.*
DEFINE prtb13 RECORD LIKE prtb00013.*,
cant_req DEC(12,4)
OPTIONS
PROMPT LINE 23,
FORM LINE 8,
ERROR LINE 23
OPEN FORM prfmrp018 FROM "prfmrp018"
DISPLAY FORM prfmrp018
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
START REPORT control_o TO "dumy"
LET selec = "SELECT a.num_oc,a.fecha_oc,a.cotizacion_no,a.tipo_cliente,a.sec_cliente,b.nombre,a.sec_vend,",
" c.nom1_emp + ' '+c.nom2_emp + ' '+c.apell1_emp",
" WHERE ",criterio CLIPPED,
" AND d.fecha BETWEEN '",rango.fecha_inicial,"' AND '",
rango.fecha_final,"'",
" AND a.num_oc = b.num_oc ",
" b.num_oc = c.num_oc ",
" AND c.num_req = d.num_req ",
" AND b.cod_n = c.cod_n AND b.cod_grupo = c.cod_grupo AND ",
" b.cod_tipo = c.cod_tipo AND a.cod_sec = b.cod_sec ",
" AND a.status_t IS NULL",
" ORDER BY a.sec_vend,a.num_oc"
PREPARE comando FROM selec
DECLARE busca CURSOR FOR comando
FOREACH busca INTO prtb12.*,prtb13.*,cant_req
# Busca el nombre del cliente
SELECT a.nombre INTO nombre_c
FROM vetb00004 a
WHERE a.tipo_cliente = prtb12.tipo_cliente AND
a.sec_cliente = prtb12.sec_cliente
# Busca la descripcion del producto
SELECT a.descrip_esp,a.unidad_med INTO nombre_p
FROM iptb00002 a
WHERE a.cod_n = prtb13.cod_n AND
a.cod_grupo = prtb13.cod_grupo AND
a.cod_tipo = prtb13.cod_tipo AND
a.cod_sec = prtb13.cod_sec
OUTPUT TO REPORT control_o(prtb12.*,prtb13.*,cant_req)
END FOREACH
FINISH REPORT control_o
END FUNCTION
REPORT control_o()
DEFINE x RECORD LIKE prtb00012.*,
Z RECORD LIKE prtb00013.*,
xcantidad DEC(12,4)
END REPORT