Ayuda SAP

Consulta en SQL NV<=>OC<=>FC

Hola estoy haciendo una consulta en QUERY MANAGER para SAP en la cual extrae información de varias tablas y muestra su información, mi problema es que no se me ocurre como puedo hacer para que cuando DESTINO sea igual a NO TIENE y STATUS FC sea igual a NO PAGADO. Oculte esa informacion y no aparescan las filas con ESTADO OC con C. me resulta un poco engorroso.
adjunto la query e imagen
Consulta a Query Manager

SELECT        dbo.OPOR.DocStatus AS 'Estado OC', dbo.OPOR.DocNum AS 'OC', dbo.POR1.BaseRef AS NV, dbo.POR1.ItemCode, dbo.POR1.Dscription, dbo.POR1.LineTotal AS [LINEA OC], dbo.RDR1.LineTotal AS 'LINEA NV', dbo.POR1.OcrCode4 AS PERSO, 
	CASE WHEN dbo.POR1.TargetType = '-1' THEN 'NO TIENE' WHEN dbo.POR1.TargetType = '18' THEN 'FACTURA' ELSE 'OTRO' END AS 'DESTINO', CASE WHEN (dbo.OPCH.DocTotal <> dbo.OPCH.PaidToDate OR
	ISNULL(dbo.OPCH.DocTotaL, '0') = 0) THEN 'NO PAGADO' ELSE 'PAGADO' END AS 'STATUS FC'
FROM            dbo.OPCH RIGHT OUTER JOIN
	dbo.OPOR INNER JOIN
	dbo.POR1 ON dbo.OPOR.DocEntry = dbo.POR1.DocEntry INNER JOIN
	dbo.RDR1 ON dbo.POR1.BaseEntry = dbo.RDR1.DocEntry AND dbo.POR1.BaseLine = dbo.RDR1.LineNum ON dbo.OPCH.DocEntry = dbo.POR1.TrgetEntry
WHERE        (dbo.POR1.BaseType = 17) AND (dbo.POR1.BaseRef LIKE '15%') AND (dbo.OPOR.CANCELED = 'N') AND (CASE WHEN (dbo.OPCH.DocTotal <> dbo.OPCH.PaidToDate OR
	ISNULL(dbo.OPCH.DocTotaL, '0') = 0) THEN 'NO PAGADO' ELSE 'PAGADO' END) = 'NO PAGADO'
1 me gusta

Hola, segun yo, solo te falta en el where.

AND dbo.OPOR.DocStatus <> ‘C’

Saludos
Marco

2 Me gusta

Hola Marcoinxs, tienes razón eso me faltaba para terminar mi query, muchas gracias

@GERARDO_ALBER por favor marca una solucion para los que vengan luego consigas una respuesta a consultar parecidas.

Estimado mi problema esta en que cuando se cumpla que la condición (Estado OC = ‘C’, DESTINO = ‘NO TIENE’ y STATUS FC = ‘NO PAGADO’) esa fila es la que quiero que NO se muestre, por ejemplo en la imagen quisiera ocultar esas ultimas tres filas.
No quiero esas tres ultimas filas

Hola compañero… agrupa la evaluación con un paréntesis y con eso soluciones tu detalle:

Ejemplo:

Where (dbo.POR1.BaseType = 17) AND (Estado OC <> ‘C’ AND DESTINO <> ‘NO TIENE’ AND STATUS FC <> ‘NO PAGADO’)

La verdad es que no soy muy bueno con las consultas, yo en tu caso estaría jugando con la cláusula where, sería mucho más rápido y me dejaría un mayor conocimiento.

Saludos.