Nota de Crédito que no afecta el inventario

Buen dia Comunidad,

Tengo un problemita, resulta que estoy tratando de realizar una consulta sql de SAP B1 en la cual me genere las notas credito, preguntado aqui en la empresa me dicen que hay notas credito que afectan el inventario ya que la mercancia vuelve a ingresar a la compañia, pero hay otras notras credito que no afectan el inventario solo el precio, esto sucede cuando se olvida aplicar un descuento en la factura del cliente, y hay otra nota credito que no afecta el inventario y el precio solo afecta el impuesto, esto sucede cuando por error se le cobra el impuesto por error toca generar nota credito va devolver el impuesto.

la consulta que hasta el momento llevo es la siguiente:

SELECT T0.[DocNum], T0.[DocDate] as 'Fecha Documento', 
T1.[ItemCode] as 'Codigo Articulo', T1.[Dscription] as 'Descripción Articulo', 
T1.[NoInvtryMv], T1.[TaxOnly],

T1.[Quantity] as 'Unidades Dev',

Sum( (T1.[PriceBefDi] * (100-T1.[DiscPrcnt])/100 * (100-T0.[DiscPrcnt])/100 ) *T1.[Quantity])*(-1) as 'Valor Dev' 



FROM ORIN T0
INNER JOIN RIN1 T1 ON T0.[DocEntry] = T1.[DocEntry] 

WHERE T0.[DocNum] = 83975

--//83975  84002 83850

GROUP BY T0.[DocNum], T0.[DocDate], T1.[ItemCode], T1.[Dscription], 
T1.[NoInvtryMv], T1.[Quantity], T1.[PriceBefDi], T1.[DiscPrcnt], 
T0.[DiscPrcnt], T1.[TaxOnly], T1.[DiscPrcnt], T1.[TaxOnly]

El SAP hay dos campos donde se puede marcar una casilla de verificacion para que la nota credito afecte el inventario y otra casilla para que solo afecte el impuesto, los campos son T1.[NoInvtryMv], T1.[TaxOnly]

En esta imagen de una nota credito en donde las dos casillas estan marcadas lo que quiere decir que la nota credito no debe ingresar el inventario y no debe afectar el precio o sea solo afecta el impuesto en la consulta anterior en el los campos ‘Unidades Dev’ y ‘Valor Dev’ debe poner 0, pero cuando se marque la casilla T1.[NoInvtryMv] el informe en ‘Unidades Dev’ debe poner 0 pero en ‘Valor Dev’ debe poner el valor de la nota y si no se marca ninguna debe poner las unidades y el valor en ‘Unidades Dev’ y ‘Valor Dev’

Espero me puedan ayudar nunca habia manejado las consultas SQL de SAP

Hola Juan, puedes intentar cambiar la columna Cantidad con esta sencilla modificación

SELECT T0.[DocNum], T0.[DocDate] as 'Fecha Documento', 
T1.[ItemCode] as 'Codigo Articulo', T1.[Dscription] as 'Descripción Articulo', 
T1.[NoInvtryMv], T1.[TaxOnly],

(SELECT CASE WHEN(T1.[NoInvtryMv] = 'Y') THEN 0
ELSE T1.[Quantity]
END) as 'Unidades Dev',

Sum( (T1.[PriceBefDi] * (100-T1.[DiscPrcnt])/100 * (100-T0.[DiscPrcnt])/100 ) *T1.[Quantity])*(-1) as 'Valor Dev' 



FROM ORIN T0
INNER JOIN RIN1 T1 ON T0.[DocEntry] = T1.[DocEntry] 

WHERE T0.[DocNum] = 83975

GROUP BY T0.[DocNum], T0.[DocDate], T1.[ItemCode], T1.[Dscription], 
T1.[NoInvtryMv], T1.[Quantity], T1.[PriceBefDi], T1.[DiscPrcnt], 
T0.[DiscPrcnt], T1.[TaxOnly], T1.[DiscPrcnt], T1.[TaxOnly]
2 Me gusta

Excelente si me funciona con las notas credito en unidades, pero al momento de generar el valor de la nota credito no me da en algunas notas credito, realice esta linea de codigo,

SELECT T0.[DocNum], T0.[DocDate] as ‘Fecha Documento’,
T1.[ItemCode] as ‘Codigo Articulo’, T1.[Dscription] as ‘Descripción Articulo’,

(SELECT CASE WHEN(T1.[TaxOnly] = ‘Y’) THEN 0
ELSE SUM(((T1.[PriceBefDi]* (100-T1.[DiscPrcnt])/100) * (100-T0.[DiscPrcnt])/100) * T1.[Quantity])
END) as ‘Valor Dev’,

(SELECT CASE WHEN(T1.[NoInvtryMv] = ‘Y’) THEN 0
ELSE T1.[Quantity]
END) as ‘Unidades Dev’,

FROM [dbo].[ORIN] T0
INNER JOIN [dbo].[RIN1] T1 ON T0.[DocEntry] = T1.[DocEntry]

WHERE T0.[DocNum] = 84002

–// Documento que NO da Igual 83975 84002 84205 84203 84206 83899
–// Documento que SI da Igual 600545 600539 83850

GROUP BY T0.[DocNum], T0.[DocDate], T1.[ItemCode], T1.[Dscription],
T1.[NoInvtryMv], T1.[Quantity], T1.[PriceBefDi], T1.[DiscPrcnt],
T0.[DiscPrcnt], T1.[TaxOnly], T1.[DiscPrcnt], T1.[TaxOnly]

al realizar estas linea de codigo si me da el valor con la formula llamada formula 22

SUM(((T1.[PriceBefDi])* (100-T1.[DiscPrcnt])/100) * T1.[Quantity]) as ‘Formula 22’,
SUM(((T1.[PriceBefDi])* (100-T0.[DiscPrcnt])/100) * T1.[Quantity]) as ‘Formula 33’

Espero me puedan ayudar ya que hay notas credito que tienen descuento en linea de producto y descuento a la factura, las resaltado para darme a explicar

Hola @Juan_Carlos_7 podrían intentarlo con la siguiente estructura:

(SELECT CASE WHEN(T1.[TaxOnly] = ‘Y’) THEN 0
ELSE SUM(T1.[LineTotal])
END) as ‘Valor Dev’

Espero te sirva.
Saludos.

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