IMPORT util IMPORT os FUNCTION productos_display(xcodigo) DEFINE i SMALLINT, cantidad_orden,pcantidadConduce,transito,existencia,reservado DEC(12,5), pfecha DATE, xcodigo STRING DEFINE producto RECORD cod_cia SMALLINT , cod_n INT , cod_grupo INT , cod_tipo INT , cod_sec INT , descrip_esp varchar(180) , descrip_ing varchar(80) , unidad_med varchar(4) , nomenclatura char(50) , bodega SMALLINT , existencia DEC(12,5), disponible DEC(12,5), exist_max decimal(10, 2) , exist_min decimal(10, 2) , dia_llegada SMALLINT , control_existencia varchar(2) , control_itbis varchar(2) , codid INT , foto_producto STRING, imagen BYTE, porc_desc decimal(12, 2) , fecha_desc DATE , factor DEC(12,5), descuento_permitido VARCHAR(2), referencia VARCHAR(25), cod_msg SMALLINT, mensaje_out STRING END RECORD, selec STRING, data RECORD usuario VARCHAR(50), clave VARCHAR(50), codigo VARCHAR(50) END RECORD CALL STARTLOG("producto.txt") CALL util.JSON.parse(xcodigo,data) # WHENEVER ERROR CONTINUE DISPLAY "USUARIO: ",data.usuario," clave ",data.clave CONNECT TO "smarmotech" USER data.usuario USING data.clave IF STATUS < 0 THEN LET producto.cod_msg=STATUS LET producto.mensaje_out='ERROR EN USUARIO CONECTANDOSE A LA BASE DE DATOS' DISCONNECT CURRENT RETURN util.JSON.stringify(producto) END IF LOCATE producto.imagen IN MEMORY LET selec = "SELECT a.cod_cia , a.cod_n , a.cod_grupo , a.cod_tipo , a.cod_sec , a.descrip_esp , a.descrip_ing , a.unidad_med , a.nomenclatura , a.bodega , '0', '0', a.exist_max , a.exist_min , a.dia_llegada , a.control_existencia , a.control_itbis , a.codid , a.foto_producto , a.imagen, a.porc_desc , ISNULL(a.fecha_desc,getdate()), b.factor_conv, a.descuento_permitido FROM iptb00002 a,iptb00001 b WHERE 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 CAST(a.cod_n AS VARCHAR(30))+CAST(a.cod_grupo AS VARCHAR(30))+ CAST(a.cod_tipo AS VARCHAR(30))+CAST(a.cod_sec AS VARCHAR(30)) =? AND a.status_t IS NULL " PREPARE busca_prod FROM selec EXECUTE busca_prod INTO producto.* USING data.codigo IF STATUS = NOTFOUND THEN LET producto.mensaje_out='REGISTRO NO EXISTE' LET producto.cod_msg=400 DISCONNECT CURRENT RETURN util.JSON.stringify(producto) END IF LET pfecha = TODAY LET i=0 CALL disponibles(producto.cod_n,producto.cod_grupo,producto.cod_tipo,producto.cod_sec,pfecha) RETURNING cantidad_orden,pcantidadConduce,transito,existencia,reservado LET producto.existencia = existencia LET producto.disponible = producto.existencia - (cantidad_orden-pcantidadConduce)-reservado IF producto.existencia IS NULL OR producto.existencia < 0.959 THEN LET producto.existencia =0 END IF DISCONNECT CURRENT RETURN util.JSON.stringify(producto) END FUNCTION