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