Files
MBS/PROYECTO/lqdir/busca_liquidacion.4gl
T

110 lines
3.7 KiB
Plaintext

FUNCTION busca_liquidacion()
DEFINE
liquidaciones DYNAMIC ARRAY OF RECORD
fecha CHAR(10),
tipo SMALLINT,
num_oc INT,
num_doc INT,
cod_sp SMALLINT,
cod_sp_Sec INT,
proveedor VARCHAR(60),
titulo_bodega VARCHAR(100),
bodega SMALLINT
END RECORD,
idx SMALLINT
DECLARE busca_datos CURSOR FOR
SELECT CONVERT(CHAR(10), a.fecha, 103),
a.tipo,
a.orden_compra,
a.num_doc,
c.cod_sp,
c.cod_sp_sec,
c.nom_sp,
'BODEGA MAT PRIMA',
'1'
FROM intb00006 a, cotb00001 c
WHERE a.status_t IS NULL
AND a.num_doc
NOT IN (SELECT b.rep_entrada
FROM cgtb00017 b
WHERE b.tipo IN ('1', '01') AND b.status_t IS NULL)
AND a.cod_mov IN (34)
AND a.fecha > '01/01/2024'
AND a.cod_sp = c.cod_sp
AND a.cod_sp_sec = c.cod_sp_sec
UNION SELECT CONVERT(CHAR(10), a.fecha, 103),
a.tipo,
a.orden_compra,
a.num_doc,
c.cod_sp,
c.cod_sp_sec,
c.nom_sp,
d.descripcion,
a.bodega
FROM iptb00006 a, cotb00001 c, intb00009 d
WHERE a.status_t IS NULL
AND a.num_doc
NOT IN (SELECT b.rep_entrada
FROM cgtb00017 b
WHERE b.tipo IN ('2', '02') AND b.status_t IS NULL)
AND a.cod_mov IN (10)
AND a.fecha > '01/01/2024'
AND a.cod_sp = c.cod_sp
AND a.cod_sp_sec = c.cod_sp_sec
AND a.bodega = d.cod_bodega
UNION SELECT CONVERT(CHAR(10), a.fecha, 103),
a.tipo,
a.orden_compra,
a.num_doc,
c.cod_sp,
c.cod_sp_sec,
c.nom_sp,
'REPUESTOS',
'1'
FROM irtb00006 a, cotb00001 c
WHERE a.status_t IS NULL
AND a.num_doc
NOT IN (SELECT b.rep_entrada
FROM cgtb00017 b
WHERE b.tipo IN ('3', '03') AND b.status_t IS NULL)
AND a.cod_mov IN (34)
AND a.fecha > '01/01/2024'
AND a.cod_sp = c.cod_sp
AND a.cod_sp_sec = c.cod_sp_sec
ORDER BY a.num_doc
LET idx = 1
FOREACH busca_datos INTO liquidaciones[idx].*
LET idx = idx + 1
END FOREACH
IF idx = 1 THEN
RETURN ' ', '0', '0', '0', '0', ' ', ' ', ' '
ELSE
OPEN WINDOW w1 WITH FORM "lqfmwd002"
DISPLAY ARRAY liquidaciones TO sliquidacion.*
AFTER DISPLAY
LET idx = arr_curr()
IF int_flag THEN
INITIALIZE liquidaciones TO NULL
LET int_flag = FALSE
END IF
EXIT DISPLAY
END DISPLAY
END IF
CLOSE WINDOW w1
RETURN liquidaciones[idx].tipo,
liquidaciones[idx].num_oc,
liquidaciones[idx].num_doc,
liquidaciones[idx].cod_sp,
liquidaciones[idx].cod_sp_sec,
liquidaciones[idx].proveedor,
liquidaciones[idx].bodega,
liquidaciones[idx].fecha
END FUNCTION