Avalados por :

Como restringir o usuário de publicar ou atualizar entradas antes ou depois de 30 dias: consulta de notificação de transação SP SBO

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

Olá a todos

Fiz uma consulta em 'Notificação de transação SP SBO' para verificação e restrição do usuário de publicar entradas antes/depois de 30 dias da data atual. Está funcionando bem. Mas o usuário não pode atualizar as entradas publicadas antes de 30 dias.

Abaixo está a consulta SP na notificação de transação do SBO

SE (@transaction_type = 'A' ou @transaction_type='U') E @object_type = '30'

INÍCIO

Se existir (SELECT T0.Project FROM JDT1 T0 WHERE

(T0.Project='' ou t0.project is null) e t0.transid=@list_of_cols_val_tab_del)

início

SET @error = 10

SET @error_message = N'JE SBU está faltando, por favor verifique....'

fim

Caso contrário, se não existir (Select T0.Transid from ojdt T0 where T0.transid=@list_of_cols_val_tab_del e (datediff(DD,T0.Refdate,Getdate()) entre -30 e 30)) --e T0.usersign in (select userid from ousr))

início

Set @error=10

set @error_message=N'JE Não está autorizado para publicar entradas menores ou maiores a 30 dias'

fim

FIM

Na verdade, o que eu quero é

1. Verificar um processo tanto para o evento de Adicionar como para o de Atualizar

2. Verificar um processo apenas para o evento de Adicionar

Saudações aos ajudantes

Saudações

Sakthivel Rajendran

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

3 Respuestas

0
Loading...

Olá Rajendra,

Tente isto:

DECLARE @Id INT

DECLARE @Project NVARCHAR(200)

IF @object_type = '30' AND (@transaction_type = 'A' OR @transaction_type = 'U')

BEGIN

SELECT @Project = T0.Project, @Id = t1.TransId FROM JDT1 T0

INNER JOIN ojdt t1 ON t1.transid = t0.transid

WHERE t0.transid = @list_of_cols_val_tab_del

AND (DATEDIFF(DD, T0.Refdate, GETDATE()) BETWEEN -30 AND 30)

IF @Project IS NULL OR @Id IS NULL

BEGIN

SET @error = 10

SET @error_message = N'JE SBU está faltando, por favor verifique. E JE Não está autorizado para publicar uma entrada menor ou maior que...'

END

END

Certifique-se de que ambos os requisitos sejam atendidos ou um erro será exibido.

Saudações,

Kennedy

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

Obrigado

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

Experimente isto:

SE @transaction_type em ('A','U') E @object_type = '30'

Se existir (SELECT T0.Project FROM JDT1 T0 WHERE

(T0.Project='' ou t0.project é nulo)† e t0.transid=@list_of_cols_val_tab_del )

begin

SET @error = 10

SET @error_message = N'JE SBU está faltando, por favor verifique....'

end

SE @transaction_type = 'A' E @object_type = '30'

Se não existir (Selecionar T0.Transid de ojdt T0 onde T0.transid=@list_of_cols_val_tab_del e (datediff(DD,T0.Refdate,Getdate()) entre -30 e 30)) --e T0.usersign em (selecionar userid de ousr))

begin

Set @error=10

set @error_message=N'JE Não está autorizado para publicar entrada menor ou maior a 30 dias'

end

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?