100 lines
3.2 KiB
Plaintext
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 |