Avalados por :

Consulta sobre procedimiento almacenado para verificar cantidad de unidades en orden de compra

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Hola Expertos,

En la orden de compra, si seleccioné 100 unidades para un artículo y al copiarlo al GRPO la cantidad del artículo puede ser 110

así que si son 5%, significa 105 está bien, pero si son 106 unidades, el documento no debe ser agregado

¿Cuál es la consulta para eso?

En qué procedimiento almacenado debo escribir esta consulta

Por favor ayuda

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Nikhil,

Por favor, prueba la consulta a continuación y luego regresa

SI @transaction_type IN (N'A', N'U') Y

(@Object_type = N'20')

begin

if exists (SELECT T0.BaseEntry, SUM(T0.Quantity)

FROM [dbo].[PDN1] T0 INNER

JOIN [dbo].[POR1] T1 ON T1.DOCENTRY =

T0.BASEENTRY

WHERE T0.BaseType = 22 Y

T0.ItemCode = T1.ItemCode Y T0.BaseLine

= T1.LineNum

y T0.DOCENTRY = @list_of_cols_val_tab_del

GROUP BY T0.BaseEntry

HAVING SUM(T0.Quantity)+(SUM(T0.Quantity)*.05) > SUM(T1.Quantity)

o SUM(T0.Quantity)+(SUM(T0.Quantity)*.05) > sum(t0.BaseOpnQty)

begin

select @Error = 10, @error_message =

'La cantidad de GRPO supera la cantidad de PO'

end

end

Gracias

Unnikrishnan

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Entendido, pero quiero que solo aparezca el mensaje de error si la cantidad es inferior al 5%. Si es igual a 5% está bien, pero si es más del 5%, solo quiero el mensaje de error.

Por favor, ayuda.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Nikhil,

Por favor, consulta el siguiente post.

http://scn.sap.com/thread/1092910

Gracias

Unnikrishnan

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

hi

Use bellow SP

-------------- Validación para la Recepción de Mercancías PO Restringiendo la Cantidad Excedente ----------------------------

IF @Object_type = '20' and @transaction_type = 'A'

BEGIN

declare @line int

SELECT @line = (LineNum + 1)

From PDN1

Where PDN1.DocEntry = @list_of_cols_val_tab_del

and (Quantity > BaseOpnQty)

Order by LineNum

If (not ISNULL(@line, 0) = 0)

begin

Set @error = 10

Set @error_message = 'La cantidad de la línea' + CONVERT(nvarchar(4), @line) +' es mayor que la cantidad abierta!'

end

END

Saludos

Ramudu

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?