SCHEMA mbs MAIN CONNECT TO "smarmotech" USER 'jsoto' USING 'lmmjvsd2014' CALL actproducto() END MAIN FUNCTION actproducto() DEFINE producto RECORD LIKE iptb00002.*, pfactor,cantidad_orden,pcantidadConduce,transito,existencia,reservado,pexistencia DEC(12,5), pprecio,ppreciord,ptasa DEC(12,2), pfecha DATE DECLARE buscar CURSOR FOR SELECT a.*,b.factor_conv,c.precio FROM iptb00002 a,iptb00001 b,vetb00025 c 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 a.status_t IS NULL 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.ventas = 3 AND a.codid NOT IN (SELECT codid FROM iptb00016) LET pfecha = TODAY LET ptasa = 0 SELECT prima INTO ptasa FROM vetb00019 WHERE disponible = 'S' LOCATE producto.imagen IN MEMORY FOREACH buscar INTO producto.*,pfactor,pprecio CALL disponibles(producto.cod_n,producto.cod_grupo,producto.cod_tipo,producto.cod_sec,pfecha) RETURNING cantidad_orden,pcantidadConduce,transito,existencia,reservado LET pexistencia = 0 LET pexistencia = existencia - (cantidad_orden-pcantidadConduce)-reservado IF pexistencia> 3 THEN LET ppreciord = pprecio * ptasa INSERT INTO iptb00016 (codid ,cod_n ,cod_grupo ,cod_tipo ,cod_sec ,descripcion ,unidad_med ,precio ,fech_crea ,fech_mod ,us_crea ,us_mod ,existencia_minima ,precio_usd ,descripcion_user ,tasa ,factor_conv ) VALUES (producto.codid ,producto.cod_n ,producto.cod_grupo ,producto.cod_tipo ,producto.cod_sec ,producto.descrip_esp ,producto.unidad_med ,ppreciord ,GETDATE() ,GETDATE() ,'JSOTO' ,'JSOTO' ,pexistencia ,pprecio ,producto.descrip_esp ,ptasa ,pfactor ) DISPLAY "INSERTE: ",producto.descrip_esp," CODID ",producto.codid," EXISTENCIA ",pexistencia END IF END FOREACH END FUNCTION