Files
DECOMARMOL/PROYECTO/lqdir/busca_liquidacion.4gl
T
2026-09-22 20:38:51 -04:00

51 lines
2.1 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)
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 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/2015' 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 FROM iptb00006 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('2','02') and b.status_t is null )
AND a.cod_mov IN (10) AND a.fecha > '01/01/2015' 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
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/2015' 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()
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
END FUNCTION