33 lines
1.7 KiB
Plaintext
33 lines
1.7 KiB
Plaintext
FUNCTION existenciaalmacenes(codn,codgrupo,codtipo,codsec,producto)
|
|
DEFINE codn,codgrupo,codtipo,codsec,i INT,
|
|
arr_existencias DYNAMIC ARRAY OF RECORD
|
|
almacen VARCHAR(50),
|
|
fisico DEC(12,5)
|
|
END RECORD,
|
|
cantidad_ordenes,pcantidadConduce,transito,pexistencia,reservado,disponible,pcantidad_ordenes DEC(12,5),
|
|
producto VARCHAR(100)
|
|
|
|
OPEN WINDOW w1 WITH FORM 'existenciaalmacenes'
|
|
CALL disponibles(codn,codgrupo,codtipo,codsec,TODAY)
|
|
RETURNING cantidad_ordenes,pcantidadConduce,transito,pexistencia,reservado
|
|
|
|
LET pcantidad_ordenes = cantidad_ordenes -pcantidadConduce
|
|
LET disponible = pexistencia - pcantidad_ordenes - reservado
|
|
|
|
DISPLAY BY NAME producto,disponible,pcantidad_ordenes,pexistencia,pcantidadConduce
|
|
DECLARE buscaExistencias CURSOR FOR
|
|
SELECT '('||CAST(a.cod_bodega AS VARCHAR(5))||')'||a.descripcion,SUM(b.cantidad_2) FROM
|
|
intb00009 a INNER JOIN iptb00006 b ON b.bodega = a.cod_bodega AND b.cod_n = codn AND
|
|
b.cod_grupo = codgrupo AND
|
|
b.cod_tipo = codtipo AND
|
|
b.cod_sec = codsec AND
|
|
b.status_t IS NULL
|
|
GROUP BY a.cod_bodega,a.descripcion
|
|
|
|
LET i = 1
|
|
FOREACH buscaExistencias INTO arr_existencias[i].*
|
|
LET i = i + 1
|
|
END FOREACH
|
|
DISPLAY ARRAY arr_existencias TO s_existencia.*
|
|
CLOSE WINDOW w1
|
|
END FUNCTION |