¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo restringir al usuario para publicar o actualizar entradas antes o después de 30 días: consulta SP SBO transaction notification

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

Hola a todos

Hice una consulta en 'SP SBO transaction notification" para una verificación y restringir al usuario a publicar entradas antes/después de 30 días desde la fecha actual. está funcionando bien. Pero el usuario no puede actualizar las entradas publicadas antes de 30 días.

A continuación, se muestra la consulta SP en la notificación de transacción de SBO

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

BEGIN

Si existe (SELECT T0.Project FROM JDT1 T0 WHERE

(T0.Project='' or t0.project is null) y t0.transid=@list_of_cols_val_tab_del)

begin

SET @error = 10

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

end

De lo contrario, si no existe (Select T0.Transid from ojdt T0 where T0.transid=@list_of_cols_val_tab_del and (datediff(DD,T0.Refdate,Getdate()) entre -30 y 30)) --y T0.usersign in (select userid from ousr))

begin

Set @error=10

set @error_message=N'JE No está autorizado para publicar entradas menores o mayores a 30 días'

end

END

En realidad, lo que quiero es

1. Verificar un proceso tanto para el evento de Agregar como para el de Actualizar

2. Verificar un proceso solo para el evento de Agregar

Saludos a los ayudantes

Saludos

Sakthivel Rajendran

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

3 Respuestas

0
Cargando...

Hola Rajendra,

Intenta esto:

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. Y JE No está autorizado para publicar una entrada menor o mayor que...'

END

END

Asegúrate de que se cumplan ambos requisitos o mostrará un error.

Saludos,

Kennedy

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

Gracias

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

Prueba esto:

SI @transaction_type in ('A','U') Y @object_type = '30'

Si existe (SELECT T0.Project FROM JDT1 T0 WHERE

(T0.Project='' o t0.project es nulo)  y t0.transid=@list_of_cols_val_tab_del )

begin

SET @error = 10

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

end

SI @transaction_type = 'A' Y @object_type = '30'

Si no existe (Seleccionar T0.Transid de ojdt T0 donde T0.transid=@list_of_cols_val_tab_del y (datediff(DD,T0.Refdate,Getdate()) entre -30 y 30)) --y T0.usersign en (seleccionar userid de ousr))

begin

Set @error=10

set @error_message=N'JE No estás autorizado para publicar entrada menor o mayor a 30 días'

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?