Files
MBS/PROYECTO/ipdir/loadDespiece.4gl
T
jpegueroandClaude Sonnet 5 b6085d4140 Mueve ipdir (Productos Terminados) de PROYECTOS a PROYECTO
Instruccion de Johnny: todos los directorios de fuentes de inventario
deben migrarse de la carpeta temporal PROYECTOS a la carpeta real
PROYECTO, ya que PROYECTOS sera eliminada.

Se elimino tambien un archivo suelto sin relacion llamado "ipdir"
que existia en PROYECTO (del commit inicial) y bloqueaba el nombre
de la carpeta.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 09:29:01 -04:00

94 lines
3.1 KiB
Plaintext

FUNCTION loadDespiece(pcodn,pcodgrupo,pcodtipo,pcodsec,parea,pentrada,pcodmov1,
control_despacho,ordenx,pnum_req)
DEFINE i,idx,pcodn,pcodgrupo,pcodtipo,pcodsec,parea,pentrada,pcodmov1,ordenx,
pnum_req INT,
control_despacho VARCHAR(2),
total_cantidad DEC(12,5)
DEFINE container DYNAMIC ARRAY OF RECORD
id_etiqueta SMALLINT,
cod_n INT,
cod_grupo INT,
cod_tipo INT,
cod_sec INT,
lado_1 DEC(12,5),
lado_2 DEC(12,5),
lado_3 DEC(12,5),
cantidad DEC(12,5),
medida DEC(12,5),
secuencia,id_despiece INT,
bodega SMALLINT
END RECORD
LET idx = 1
IF pentrada IS NOT NULL THEN
DECLARE busca_ent CURSOR FOR
SELECT a.etiqueta,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.lado_1,a.lado_2,a.lado_3,a.cantidad,a.medida
FROM iptb00025 a
WHERE a.cod_mov = pcodmov1 AND
a.num_doc = pentrada AND
a.cod_n = pcodn AND
a.cod_n = pcodn AND
a.cod_grupo = pcodgrupo AND
a.cod_tipo = pcodtipo AND
a.cod_sec = pcodsec AND
a.area = parea
FOREACH busca_ent INTO container[idx].*
LET idx = idx + 1
END FOREACH
END IF
IF control_despacho <> "SI" THEN
DECLARE busca_despiece1 CURSOR FOR
SELECT b.descripcion,a.cod_n,a.cod_grupo,a.cod_tipo,
a.cod_sec,a.lado_1,a.lado_2,a.lado_3, a.cantidad,a.medida
FROM prtb00022 a,vetb00026 b
WHERE a.num_oc = ordenx AND
a.area = Parea AND
a.cod_n = Pcodn AND
a.cod_grupo = Pcodgrupo AND
a.cod_tipo = Pcodtipo AND
a.cod_sec = Pcodsec AND
a.id_etiqueta = b.codid
FOREACH busca_despiece1 INTO container[idx].*
LET idx = idx + 1
END FOREACH
ELSE
DECLARE busca_despiece12 CURSOR FOR
SELECT a.etiqueta,a.cod_n,a.cod_grupo,a.cod_tipo,
a.cod_sec,a.lado_1,a.lado_2,a.lado_3,
c.cantidad_r,c.medida_r
FROM prtb00022 a, cctb00027 c
WHERE a.num_oc = ordenx AND
a.area = c.area AND
a.area = Parea AND
a.cod_n = Pcodn AND
a.cod_grupo = Pcodgrupo AND
a.cod_tipo = Pcodtipo AND
a.cod_sec = Pcodsec AND
a.cod_n = C.cod_n AND
a.cod_grupo = c.cod_grupo AND
a.cod_tipo = c.cod_tipo AND
a.cod_sec = c.cod_sec AND
c.num_req = pnum_req
LET total_cantidad = 0
FOREACH busca_despiece12 INTO container[idx].*
LET total_cantidad = total_cantidad + container[idx].cantidad
LET idx = idx + 1
END FOREACH
END IF
RETURN container
END FUNCTION