Reporte de Notas de crédito

Buenos Días Amigos de consultoría aún no estoy tan de lleno con las sentencias en SQL mi duda es obtener de que documento viene cada Nota de Crédito que no tenga un pago relacionado, en su caso es aquella que tenga la Nota aplicada antes del pago es un Doctype=‘I’.

Quito el 3er when del case y me trae los registros exeptuando los que en su where no coinciden ambos son valor null, lo que me gustaría hacer ya que en la campo de comentario de la nota si viene en forma de texto de que factura pertenece es hacer como en una busqueda formateada que me busque el valor de A.“DocNum” en T0.“Comments” pero ya que A.“DocNum” es variable por linea y uno es campo numerico y otro char. si se logra resolver con esa busqueda tipo like%% %% los otros 2 when en el case ya no serian necesarios.
Esto es lo que contiene mi campo de comentario: Recepción generada desde la página web, folio referencia OFERTA 17222 Basado en Pedido de entrada de mercancías 19145. Basado en Fact.proveedores 24685(este seria A.“DocNum” que buscar).

SELECT T0."DocNum", T0."DocDate", T0."DocTotal", T0."PaidToDate", T0."U_SO1_02NUMORDENCOM", T0."U_FACTURA", 

CASE WHEN T0."DocType"='I' THEN (SELECT MAX(A."DocNum") FROM OPCH A WHERE A."U_SO1_02NUMORDENCOM"=T0."U_SO1_02NUMORDENCOM" AND A."U_SO1_02NUMORDENCOM" IS NOT NULL) 
WHEN T0."U_SO1_02NUMORDENCOM" IS NULL THEN (SELECT MAX(A."DocNum") FROM OPCH A WHERE A."U_FACTURA"=T0."U_FACTURA" AND T0."U_FACTURA" IS NOT NULL) 
WHEN  T0."U_SO1_02NUMORDENCOM" IS NULL AND T0."U_FACTURA" IS NULL then (SELECT MAX(A."DocNum") FROM OPCH A WHERE ??????)

END AS "#FACT" 

FROM ORPC T0 

WHERE T0."DocType" ='I' AND  T0."CANCELED" ='N'

Saludos Buen Día.

Hola Ikashimi, no te serviría un procedimiento almacenado?? seria la opción mas viable

1 me gusta

Justamente acabo de resolverlo pero de otra forma.

CASE WHEN T5."DocType"='I' then (SELECT MAX(T0."DocNum") FROM OPCH T0  INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" INNER JOIN RPC1 T2 ON T1."TrgetEntry" = T2."DocEntry"LEFT JOIN ORPC T3 ON T2."DocEntry"=T3."DocEntry" WHERE T3."DocType" ='I' and T3."CANCELED" ='N' AND T3."DocEntry"=T5."DocEntry" )

Donde T5.“DocEntry” hace que busque en mi Select Principal y me traiga los datos correctos.

yo había entendido que querías que te buscara el docnum en los comentarios, bueno Saludos

Sí esa era la idea principal, pero como han rolado personal modificaron la estructura de los comentarios poniendo manualmente detalles. Entonces mientras estén aplicados y relacionados con el detalle (que quería evitar tocarlo por que es mas carga de procesamiento) se obtiene lo deseado.

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