Consulta con SAP para extraer datos de un campo

Buen dia compañeros estoy realizando una modificacion de un procedimiento, pero quiero extraer los datos de un campo, de la tabla OINV el cual es DocTotal y DocTotalFC, si DocTotalFC es igual a cero entonces que selecciones DocTotal, no se en que esta mal mi consulta.

 SET @Total = (SELECT T1.DocTotalFC FROM [dbo].[OINV]  T1 WHERE T1.[DocEntry]=@NoFact)
 IF @Total = 0.000
 SET @Total = (SELECT T1.DocTotal FROM [dbo].[OINV]  T1 WHERE T1.[DocEntry]=@NoFact)

Porque mejor no validas el tipo de moneda…si es tu moneda local usas DOCTOTAL si es moneda extranjera DOCTOTALFC.

Es una sugerencia

Tienes razon sabes como se llama el campo?

Gracias creo que es CurSource

se llama DocCur a nivel documento y Currency a nivel detalle

1 me gusta

Gracias aun no me funciona no se en que pueda estar mal

SET @TotalUSD=(SELECT T1.DocCur FROM [dbo].[OINV]  T1 WHERE T1.[DocEntry]=@NoFact)
IF  @TotalUSD='$'
	Set @Total=(SELECT T1.DocTotal FROM [dbo].[OINV]  T1 WHERE T1.[DocEntry]=@NoFact)
ELSE
BEGIN
   IF @TotalUSD='USD'
      Set @Total=(SELECT T1.DocTotalFC FROM [dbo].[OINV]  T1 WHERE T1.[DocEntry]=@NoFact   )
END

Que guarda @NoFact?
Estas seguro que esa es tu moneda local $?

EN @NoFact guarda el numero de la factura
image

image

prueba ocupando un solo select con un case

SELECT CASE T1.DocTotal WHEN 0 THEN T1.DocTotalFC ELSE T1.DocTotal END AS ‘TOTAL’ FROM [dbo].[OINV] T1 WHERE T1.[DocEntry]=@NoFact

algo Así.

slds BF

1 me gusta

Gracias funciono!

:slight_smile:

Te faltaba un IsNULL(T1.DocTotalFC,0) por que cuando no tiene valor creo que lo deja en nulo.

Saludos,

1 me gusta

Gracias a todos por sus contestaciones!

@kriptonniano, si bien es buena educación agradecer, por favor evita responder a cada persona diciendo solamente “gracias”, o mensajes de agradecimiento relacionados. En vez de crear una respuesta agradeciendo, lo debes hacer es darle al botón :heart: que tiene debajo el mensaje que te han enviado.

¿Se ha solucionado ya el tema?

Como tú eres el autor de todo el debate, es tu responsabilidad gestionar el tema, y brindar información sobre si lo has solucionado o no.

  • En caso de que hayas encontrado mensajes que te ayudaron con información, o aprendiste algo de las experiencias de otras personas, marca sus mensajes con el icono :heart: que tienes al pié de cada mensaje.

  • Y en caso de que algún mensaje haya solucionado el tema, haz clic en el icono :ballot_box_with_check: para que quede marcado como solucionado. En 7 días después de la última respuesta, el tema se cerrará dejando así un mensaje marcado como “solución”, y estarás colaborando con la organización de toda la comunidad.

Este mensaje es automático cuando los debates parecen resueltos, pero aún su autor no les ha dado el cierre correspondiente. Por favor, no respondas a este mensaje ya que desvirtuará el debate. Si tienes dudas, o comentarios al respecto, abre un tema en Feedback. :+1:

Por favor, no marques este mensaje como solución al debate.

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.