126 lines
4.4 KiB
Plaintext
126 lines
4.4 KiB
Plaintext
IMPORT util
|
|
IMPORT security
|
|
|
|
FUNCTION requisiciones_compra(pdata)
|
|
DEFINE i SMALLINT,
|
|
pdata STRING
|
|
|
|
DEFINE generales RECORD
|
|
usuario VARCHAR(50),
|
|
clave VARCHAR(50),
|
|
tipo_Documento CHAR(1),
|
|
rnc CHAR(15),
|
|
oper CHAR(15),
|
|
requisicion SMALLINT
|
|
END RECORD
|
|
|
|
DEFINE data RECORD
|
|
detalle DYNAMIC ARRAY OF RECORD
|
|
inventario STRING,
|
|
codigo INT,
|
|
producto STRING,
|
|
cantidad FLOAT,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
departamento VARCHAR(70),
|
|
num_req INT,
|
|
fecha DATE,
|
|
estado VARCHAR(20)
|
|
END RECORD,
|
|
r_out RECORD
|
|
mensaje_out STRING,
|
|
cod_msg INT
|
|
END RECORD {,
|
|
|
|
documento DYNAMIC ARRAY OF RECORD
|
|
num_req SMALLINT,
|
|
nombre_file CHAR(20),
|
|
documento BYTE,
|
|
us_crea CHAR(50),
|
|
fech_crea DATE,
|
|
status_t CHAR(1)
|
|
END RECORD }
|
|
END RECORD,
|
|
idx INT
|
|
|
|
# LOCATE data.archivos.imagen IN MEMORY
|
|
CALL util.JSON.parse(pdata,generales)
|
|
# WHENEVER ERROR CONTINUE
|
|
DISPLAY "requi compras d"
|
|
CONNECT TO "smarmotech" USER generales.usuario USING generales.clave
|
|
IF STATUS < 0 THEN
|
|
LET data.r_out.cod_msg = STATUS
|
|
LET data.r_out.mensaje_out = 'ERROR EN USUARIO CONECTANDOSE A LA BASE DE DATOS'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(data)
|
|
END IF
|
|
|
|
DECLARE busca_req CURSOR FOR
|
|
SELECT a.tipo_inv,b.codid,b.descrip_esp,a.cantidad,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.departamento,
|
|
a.num_req,c.fech_req,a.procesada
|
|
FROM iptb00002 b,cotb00006 c,cotb00008 a
|
|
WHERE a.num_req =generales.requisicion AND
|
|
a.num_req = c.num_req AND
|
|
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
|
|
a.cod_tipo = b.cod_tipo AND c.fech_req > '10/01/2019' and
|
|
a.cod_sec = b.cod_sec AND c.status_t IS NULL
|
|
UNION
|
|
SELECT a.tipo_inv,b.codid,b.descrip_esp,a.cantidad,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.departamento,
|
|
a.num_req,c.fech_req, a.procesada
|
|
FROM irtb00002 b,cotb00006 c, cotb00008 a
|
|
WHERE a.num_req =generales.requisicion AND
|
|
a.num_req = c.num_req AND
|
|
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
|
|
a.cod_tipo = b.cod_tipo AND c.fech_req > '10/01/2019' and
|
|
a.cod_sec = b.cod_sec AND c.status_t IS NULL
|
|
UNION
|
|
SELECT a.tipo_inv,b.cod_sec,b.descrip_esp,a.cantidad,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.departamento,
|
|
a.num_req,c.fech_req,a.procesada
|
|
FROM istb00002 b,cotb00006 c, cotb00008 a
|
|
WHERE a.num_req =generales.requisicion AND
|
|
a.num_req = c.num_req AND
|
|
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
|
|
a.cod_tipo = b.cod_tipo AND c.fech_req > '10/01/2019' and
|
|
a.cod_sec = b.cod_sec AND c.status_t IS NULL
|
|
UNION
|
|
|
|
SELECT a.tipo_inv,b.cod_sec,k.descrip_esp,a.cantidad,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.departamento,
|
|
a.num_req,c.fech_req,a.procesada
|
|
FROM intb00002 b,intb00001 k,cotb00006 c, cotb00008 a
|
|
WHERE a.num_req = generales.requisicion AND
|
|
a.num_req = c.num_req AND
|
|
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
|
|
a.cod_tipo = b.cod_tipo AND
|
|
a.cod_sec = b.cod_sec AND
|
|
a.cod_n = k.cod_n AND
|
|
a.cod_grupo = k.cod_grupo AND
|
|
a.cod_tipo = k.cod_tipo AND
|
|
a.cod_sec = k.cod_sec AND
|
|
c.status_t IS NULL
|
|
LET idx=1
|
|
|
|
FOREACH busca_req INTO data.detalle[idx].*
|
|
IF STATUS < 0 THEN
|
|
LET data.r_out.cod_msg = STATUS
|
|
LET data.r_out.mensaje_out = 'ERROR EN QUERY:',SQLCA.sqlerrm CLIPPED
|
|
EXIT FOREACH
|
|
END IF
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
|
|
{ DECLARE documento CURSOR FOR
|
|
SELECT * FROM cotb00044
|
|
WHERE num_req = 9615
|
|
--WHERE num_req = generales.requisicion
|
|
|
|
LET idx=1
|
|
FOREACH documento INTO data.documento[idx].*
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
}
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(data)
|
|
END FUNCTION
|