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
>

Responder a