• Domingo 22 de Diciembre de 2024, 13:12

Autor Tema:  Recuperacion de valor 0  (Leído 2996 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Recuperacion de valor 0
« en: Martes 18 de Noviembre de 2008, 06:28 »
0
Hola a todos !!!!! estoy realizando un recuperacion de datos mediante un ciclo, pero al momento de hacer unas operaciones con los valores que me devuelve el ciclo, los valores que me opera me los devuelve con valor cero (o) ,porque sera ?

Les dejo el codigo que estoy utilizando:
Código: Text
  1.      FOR RECORRE_DET_FAC IN (SELECT CODIGO_P
  2.                                   , CANTIDAD
  3.                                FROM FAC_DET
  4.                               WHERE NUMERO = P_NUMERO
  5.                                 AND SERIE  = P_SERIE)
  6.      LOOP
  7.          SELECT PRECIO
  8.             INTO V_PRECIO
  9.            FROM PRODUCTOS
  10.           WHERE CODIGO_P = RECORRE_DET_FAC.CODIGO_P;
  11.            
  12.           V_ACUMULADOR := V_ACUMULADOR + (V_PRECIO * V_CANTIDAD);    
  13.  
  14.     END LOOP;
  15.  
  16.  

Es en la variable V_ACUMULADOR que me devuelve 0  :argh:

P.D.
Ya tengo las variables definidas tipo INT.

Muchas gracias por las sugerencias !!
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



juravi

  • Miembro activo
  • **
  • Mensajes: 94
    • Ver Perfil
    • http://spaces.msn.com/members/ingjuan
Re: Recuperacion de valor 0
« Respuesta #1 en: Martes 18 de Noviembre de 2008, 16:03 »
0
Hola, Que valor tiene V_Cantidad, No veo q la cargues
El Fin justifica los Medios
 _______________________
ﻞυגανι.Corp [The Designer]
<a href=\'mailto]No sé el secreto para llegar al éxito, pero sé que tratar de agradar a todos es lo que te llevará al fracaso... Piénsalo!!![/color]

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Recuperacion de valor 0
« Respuesta #2 en: Martes 18 de Noviembre de 2008, 16:22 »
0
Es una variable, el valor lo obtiene de un select, pero antes del ciclo.  :lol:

 :comp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



juravi

  • Miembro activo
  • **
  • Mensajes: 94
    • Ver Perfil
    • http://spaces.msn.com/members/ingjuan
Re: Recuperacion de valor 0
« Respuesta #3 en: Martes 18 de Noviembre de 2008, 17:00 »
0
Bueno, no le veo nada malo, lo que puedes verificar es lo siguiente:
Has por fuera ambos select. (El cursor y el que usas para buscar el precio)
o usa un debuguer para ver que pasa, esto en el caso que el sql trae info. Si no tienes herramientas para hacer debug, usa el queri que publicaste, condicionalo y colocale dbms para ver que pasa, como un scrip normal.
Por que pareciera que es problema de data.
El Fin justifica los Medios
 _______________________
ﻞυגανι.Corp [The Designer]
<a href=\'mailto]No sé el secreto para llegar al éxito, pero sé que tratar de agradar a todos es lo que te llevará al fracaso... Piénsalo!!![/color]

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Recuperacion de valor 0
« Respuesta #4 en: Martes 18 de Noviembre de 2008, 17:17 »
0
:(  te cuento que eso ya lo hice, no hice ninguna calculo estupendo , solo recupere los valores del ciclo, luego lo mande a imprimir en pantalla, la operacion que hice fue  V_ACUMULADOR :=V_PRECIO *1 ; , pero igual el no me devuelve ningun valor, y los datos si existen :( .............  :wacko:

 :hitcomp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



juravi

  • Miembro activo
  • **
  • Mensajes: 94
    • Ver Perfil
    • http://spaces.msn.com/members/ingjuan
Re: Recuperacion de valor 0
« Respuesta #5 en: Martes 18 de Noviembre de 2008, 17:31 »
0
mmmm Esta raro, yo hice un ejemplito similar para ver y si me salio; te lo adjunto

Código: Text
  1. Declare
  2.   V_PRECIO     Number := 0;
  3.   V_ACUMULADOR Number := 0;
  4.   V_CATIDAD    Number := 3;
  5. Begin
  6.   For RECORRE_DET_FAC In (Select 1 CODIGO_P, 15 CANTIDAD From DUAL) Loop
  7.     Select 18.56 PRECIO Into V_PRECIO From DUAL;
  8.     V_ACUMULADOR := V_ACUMULADOR + (V_PRECIO * V_CATIDAD);
  9.   End Loop;
  10.   DBMS_OUTPUT.PUT_LINE('Acumulador ' || V_ACUMULADOR);
  11. End;
  12.  

Si notas, es tu mismo codigo, solo que con valores fijos.
El Fin justifica los Medios
 _______________________
ﻞυגανι.Corp [The Designer]
<a href=\'mailto]No sé el secreto para llegar al éxito, pero sé que tratar de agradar a todos es lo que te llevará al fracaso... Piénsalo!!![/color]

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Recuperacion de valor 0
« Respuesta #6 en: Martes 18 de Noviembre de 2008, 17:33 »
0
Muchas gracias broth ! lo pruebo y te cuento  :beer:

 :comp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa