Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2006
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Post problema con resultado de SP

hola amigos del foro, comentarles que estoy haciendo un sistema de control de una farmacia y me pidieron un informe del movimiento fisico mensual y para lo cual hice el siguiente SP en el cual saco un listado de todos los medicamentos y luego de cada uno de ellos saco saldo anterior, saldo actual,egresos,ingresos, pero tengo el problema de que cuando quiero sacar el saldofisico de un medicamento y el resultado es null quiero asignar a ese valor el saldo anterior no me hace nada y al contrario cuando ejecuto el sp si el medicamento xxxx tiene saldo fisico 20 y luego el yyyyy y el zzzz votan resultado de null en la ejecucion me arrastra el ultimo valor en este caso 20 como puedo hacer para que mi Sp vote null si el select vota un resultado de null
el codigo es el siguiente
/******** en esta parte obtengo a todos los medicamentos****/
for
select c.nrocuentacon,c.descripcion,t.codtipomaterial,t.detalle,m.codmaterial,m.descripcion,m.unidad
from saldo s, materialmedicamento m,material_tipomaterial mt,tipo_material t,
tipomaterial_cuentacontable tc,cuenta_contable c
where ((s.detalle like '* SALDO%')AND(s.codm=m.codmaterial)AND(m.codmaterial=mt.codm)and(mt.codtm=t.codtipomaterial)and
(t.codtipomaterial=tc.codtipomaterial)and(tc.nrocuentacon=c.nrocuentacon)and (c.nrocuentacon like '125%'))
into :nrocuenta,:nombrecuenta,:nrotipo,:detalle,:codigom,:nombrec,:unidad
do
begin
/*******aqui obtengo el saldo del mes anterior de cada medicamento **/
select saldocantidad
from mostrar_saldo (:anio,:mes,:codigom)
into :saldocantidad;
/*******en este select es donde tengo problemas
obtengo el saldo actual de cada medicamento
select saldo.saldofisico
from saldo s
where ((saldo.codm=:codigom) and (extract (year from s.fecha)=:anio)and (extract (month from s.fecha)=:mes)
and (saldo.valido='V' or (saldo.detalle like '*%') ))
into :fisicoactual;
/**** pregunto si el resultado del select anterior es null y quiero q ese valor sea 0 pero no me hace nada cuando ejecuto el SP***////

if (fisicoactual IS NULL) then
fisicoactual=0;
suspend;

Y como les comentaba cuando ejecuto el SP si la variable fisicoactual tiene el valor null se carga a esa variable el valor anterior del medicamento anterior , como puedo solucionar ese problema, me explico de mejor manera
Valor esperado Valor generado por el SP
CodigoM fisicoactual fisicoactual
0102 23 23
0103 null 23
0104 121 121
0105 null 121
0106 null 121

Espero me hayan entendido y como veran los valores se repiten cuando el valor obtenido es null, ahhhh estoy trabajando con firebird 1.5 e ibexpert

Muchas gracias por la ayuda que me brinden
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con los Post_Events Aldo Firebird e Interbase 1 21-10-2005 12:58:10
Problema para capturar Errores carlos gonzalez Varios 9 21-06-2005 16:31:48
Problema en el uso de Transacciones AGAG4 Conexión con bases de datos 13 15-06-2005 19:56:49
una simple función, un grave problema.. DynaRoc Varios 6 23-11-2004 16:39:55
Problema con rave y resultado de consulta sql sgarrido Impresión 5 19-05-2004 22:58:28


La franja horaria es GMT +2. Ahora son las 17:13:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi