Gracias Raul Probaré llegando a casa.
*Felipe Araoz Ramos* RPM #941990605 / 941990605 RPC 992760385 NXT 822*9500 / 998229500 El 23 de julio de 2014, 16:06, raul andrez gutierrez alejo < [email protected]> escribió: > Hola felipe. > > puede agregar un RAISE NOTICE despues del update para mostrar en el log > de postgres el valor de la variables así: > > RAISE NOTICE ' item % , stk %', fila_item.n_operac,stk; > > > El 23 de julio de 2014, 8:15, Felipe Araoz Ramos <[email protected]> > escribió: > > Ya lo solucioné >> >> Habia dos problemas 1) codi=fila_item.codiprod; se cambio por codi*:=* >> fila_item.codiprod >> 2) faltaba declarar RETURN stk al final del loop, >> >> Gracias amigos por su ayuda >> >> >> *Felipe Araoz Ramos* >> RPM #941990605 / 941990605 >> RPC 992760385 >> NXT 822*9500 / 998229500 >> >> >> El 22 de julio de 2014, 9:43, Felipe Araoz Ramos <[email protected]> >> escribió: >> >>> Amigo Guillermo >>> >>> Si esta corregido, pero parece que eso no es el problema, voy a seguir >>> revisando. >>> >>> Saludos >>> >>> *Felipe Araoz Ramos* >>> RPM #941990605 / 941990605 >>> RPC 992760385 >>> NXT 822*9500 / 998229500 >>> >>> >>> El 22 de julio de 2014, 8:21, Guillermo E. Villanueva < >>> [email protected]> escribió: >>> >>> En >>>> codi=fila_item.codiprod; >>>> No te faltan los dos puntos? >>>> codi:=fila_item.codiprod; >>>> >>>> Guillermo Villanueva >>>> >>>> >>>> >>>> El 21 de julio de 2014, 16:04, Carlos Bazán <[email protected]> escribió: >>>> >>>>> Como yo lo veo a primeras, no se esta actualizando la variable codi >>>>> en codi=fila_item.codiprod; >>>>> creo que debería ser codi:=fila_item.codiprod; >>>>> >>>>> Saludos >>>>> >>>>> >>>>> El 21/07/14 13:29, Felipe Araoz Ramos escribió: >>>>> >>>>>> Amigos >>>>>> >>>>>> Estoy creando una funcion, para rrecorrer secuencialmente una tabla, >>>>>> de >>>>>> principio a fin, actualizando el campo de stock en cada registro, >>>>>> reinicializando la variable a cero cuando encuentra un nuevo >>>>>> producto y >>>>>> continuar hasta terminar con el ultimo registro de la tabla. No me >>>>>> muestra >>>>>> error, pero tampoco me esta actualizando el campo de la tabla. que >>>>>> podria >>>>>> estar mal?. Espero vuestra ayuda. >>>>>> >>>>>> CREATE Or REPLACE FUNCTION SALDOSTOCK() >>>>>> RETURNS INTEGER >>>>>> AS $$ >>>>>> DECLARE >>>>>> codi character(12); >>>>>> stk numeric (20,5); >>>>>> fila_item infkrdx%ROWTYPE; >>>>>> BEGIN >>>>>> stk := 0; >>>>>> for fila_item in SELECT * FROM INFKRDX LOOP >>>>>> codi=fila_item.codiprod; >>>>>> /*Acumulo el stock en variable stk */ >>>>>> stk := case when fila_item.cod_trans='I' then >>>>>> stk+fila_item.cantidad >>>>>> else stk-fila_item.cantidad end; >>>>>> UPDATE INFKRDX SET ST_FISICO=stk where >>>>>> n_operac=fila_item.n_operac; >>>>>> if fila_item.codiprod<>INFKRDX.codi then stk := 0; >>>>>> end if; >>>>>> end loop; >>>>>> end; >>>>>> $$ >>>>>> language 'plpgsql' >>>>>> >>>>>> Gracias >>>>>> >>>>>> *Felipe Araoz Ramos* >>>>>> >>>>>> RPM #941990605 / 941990605 >>>>>> RPC 992760385 >>>>>> NXT 822*9500 / 998229500 >>>>>> >>>>>> >>>>> >>>>> - >>>>> Enviado a la lista de correo pgsql-es-ayuda ( >>>>> [email protected]) >>>>> Para cambiar tu suscripción: >>>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda >>>>> >>>> >>>> >>> >> > > > -- > Raul Andres Gutierrez Alejo >
