Files
MBS/PROYECTOS/ipdir - 21102021/mercancia_transito.4gl
T

62 lines
2.7 KiB
Plaintext

FUNCTION mercancia_transito(pcodn,pcodgrupo,pcodtipo,pcodsec,fecha_transito,cod_inventario)
DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec,cod_inventario SMALLINT,
cantidad_ordenada, cantidad_recibida,transito DEC(12,5),
fecha_transito,fecha_ordenada,fecha_recibida DATE
# CANTIDAD ORDENADA
LET transito = 0
LET fecha_ordenada=NULL
LET fecha_recibida=NULL
IF cod_inventario ='02' THEN
SELECT SUM(a.cantidad) INTO cantidad_ordenada
FROM cotb00015 a,cotb00014 b
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
(a.num_oc = b.num_oc) AND (b.fech_oc <= fecha_transito) AND
a.status_t IS NULL
SELECT SUM(a.cantidad_2) INTO cantidad_recibida
FROM iptb00006 a
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
(a.fecha <= fecha_transito) AND a.cod_mov IN (10) and
a.status_t IS NULL
LET transito = cantidad_ordenada - cantidad_recibida
SELECT CONVERT(CHAR(10),MAX(b.fech_oc),103) INTO fecha_ordenada FROM cotb00014 b,cotb00015 a
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
(a.num_oc = b.num_oc) AND (b.fech_oc <= fecha_transito) AND
a.status_t IS NULL
SELECT CONVERT(CHAR(10),MAX(a.fecha),103) INTO fecha_recibida
FROM iptb00006 a
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
(a.fecha <= fecha_transito) AND a.cod_mov IN (10) and
a.status_t IS NULL
END IF
RETURN transito,fecha_ordenada,fecha_recibida
END FUNCTION
FUNCTION fechas_llegadas(pcodn,pcodgrupo,pcodtipo,pcodsec,fecha_transito)
DEFINE idx,pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT,
fecha_transito DATE
DEFINE busca_parcial DYNAMIC ARRAY OF RECORD
secuencia INT,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad DEC(12,5),
fech_emb DATE,
fech_ent DATE
END RECORD
OPEN WINDOW w1 WITH FORM "cofmfu009"
DECLARE b_fecha_parcial CURSOR FOR
SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,a.cantidad,a.fech_emb,a.fech_ent
FROM cotb00025 a WHERE a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND
a.cod_Sec = pcodsec AND a.fech_ent <= fecha_transito AND a.status_t IS NULL
LET idx = 1
FOREACH b_fecha_parcial INTO busca_parcial[idx].*
LET idx = idx + 1
END FOREACH
DISPLAY ARRAY busca_parcial TO s_parcial.*
CLOSE WINDOW w1
END FUNCTION