cancel
Showing results for 
Search instead for 
Did you mean: 

Alarma al crear solicitud de compra

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member185682
Active Contributor
0 Kudos

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

jmflores16
Explorer
0 Kudos

Diego buenas tardes, te comento que yo estoy intentando hacer lo mismo, pero al momento de generar la consulta, me da un error:

[SAP AG][LIBODBCHDB DLL][HDBODBC] Syntax error or access violation;257 sql syntax error: incorrect syntax near "DECLARE": line 1 col 1 'Consultas' (OUQR) (at pos 1)

Mi versión es SAP Busines One 10.0

Saludos.