62 lines
2.7 KiB
Plaintext
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 |