Skip to Content
0

Alarma al crear solicitud de compra

Jun 08, 2017 at 08:00 PM

64

avatar image
Former Member

Jóvenes expertos tengo el siguiente inconveniente y es que necesito que cada vez que se crea una solicitud de compra envié un mensaje interno en SAP a un usuario encontré un ejemplo en este link https://archive.sap.com/discussions/thread/1627474 le cambie la tabla a la OPRQ que es la de solicitud de compra y lo grabe el query manager y luego grabe cree una alamar colocando este query y por efecto de prueba coloque el usuario del manager para que le avise cuando haya una solicitud de compra nueva, pero no envia el mensaje el query es el siguiente:

DECLARE @CONT AS INT ---CONTADOR DECLARE @STAT AS NVARCHAR(2) --- ESTATUS DE DOCUMENTO ABIERTO O CERRADO DECLARE @ULTDOC AS INT ---NUMERO ULTIMO DOCUMENTO SET @CONT = (SELECT COUNT(T4.[DocNum]) FROM OPRQ T4) SET @ULTDOC = (SELECT MAX(T4.[DocNum]) FROM OPRQ T4) SET @STAT = (SELECT T4.DocStatus FROM OPRQ T4 WHERE T4.[DocNum] = @ULTDOC) IF @STAT = 'O' BEGIN SELECT DISTINCT T0.[DocEntry] as 'N° de Nueva Solicitud de compra' FROM OPRQ T0 INNER JOIN PRQ1 T1 ON T0.[DocEntry] = T1.[DocEntry] WHERE @CONT > '0' AND T0.[DocStatus] = 'O' AND T0.DocDate = CONVERT(date,GETDATE(),182)

END

La alarma la coloque a 1 minuto, y ejecuto el query y me indica que si hay nuevas Solicitudes de compra. El sistema esta en Version 9.2 y PL 03

Agradeciendo la ayuda y su tiempo. Saludos

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

DIEGO LOTHER Jun 10, 2017 at 10:58 PM
0

Hola Carlos,

Yo probado la consulta y funcionó bien. Pero mientras el usuario alertado no cierre la solicitud de compra, recibirá cada minuto la notificación.

DECLARE @CONT AS INT 
---CONTADOR 
DECLARE @STAT AS NVARCHAR(2) 
--- ESTATUS DE DOCUMENTO ABIERTO O CERRADO 
DECLARE @ULTDOC AS INT 
---NUMERO ULTIMO DOCUMENTO 
SET @CONT = (SELECT COUNT(T4.[DocNum]) FROM OPRQ T4) 
SET @ULTDOC = (SELECT MAX(T4.[DocNum]) FROM OPRQ T4) 
SET @STAT = (SELECT T4.DocStatus FROM OPRQ T4 WHERE T4.[DocNum] = @ULTDOC) 

SELECT @CONT, @ULTDOC, @STAT

IF @STAT = 'O' BEGIN 
	SELECT 
		DISTINCT 
		T0.[DocEntry] as 'N° de Nueva Solicitud de compra' 
	FROM 
		OPRQ T0 
	WHERE 
		@CONT > '0' 
		AND T0.[DocStatus] = 'O' 
		AND T0.DocDate = CONVERT(date,GETDATE(),182)
END

Espero que ayude.

Atte,

Diego Lother

Share
10 |10000 characters needed characters left characters exceeded