Avalados por :

Consulta sobre procedimento armazenado para verificar quantidade de unidades em ordem de compra

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

Olá Especialistas,

Na ordem de compra, se eu selecionar 100 unidades para um item e ao copiá-lo para o GRPO a quantidade do item pode ser 110

então se forem 5%, significa que 105 está correto, mas se forem 106 unidades, o documento não deve ser adicionado

Qual é a consulta para isso?

Em qual procedimento armazenado devo escrever essa consulta

Por favor, ajude

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

4 Respuestas

0
Cargando...

Olá Nikhil,

Por favor, teste a consulta abaixo e depois retorne

SE @transaction_type IN (N'A', N'U') E

(@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 E

T0.ItemCode = T1.ItemCode E T0.BaseLine

= T1.LineNum

e T0.DOCENTRY = @list_of_cols_val_tab_del

GROUP BY T0.BaseEntry

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

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

begin

select @Error = 10, @error_message =

'A quantidade do GRPO excede a quantidade do PO'

end

end

Obrigado

Unnikrishnan

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

Entendido, mas desejo que a mensagem de erro apareça somente se a quantidade for inferior a 5%. Se for igual a 5%, está tudo bem, mas se for mais de 5%, quero apenas a mensagem de erro.

Por favor, ajude.

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

Olá Nikhil,

Por favor, consulte o seguinte post.

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

Obrigado

Unnikrishnan

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

oi

Use abaixo SP

-------------- Validação para Recebimento de Mercadorias PO Restringindo a Quantidade Excedente ----------------------------

SE @Object_type = '20' e @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

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

begin

Set @error = 10

Set @error_message = 'A quantidade da linha' + CONVERT(nvarchar(4), @line) +' é maior que a quantidade em aberto!'

end

END

Saudações

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?