Crear Alarma en SAP

Colegas, necesito crear una alarma en SAP en donde notifique cuando el correlativa de la numeración de documentos este por acabarse. Por ejemplo hice la siguiente sentencia en SQL y funciona pero al ejecutarla en SAP me da error.

IF   
(SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECONXE' ) > 5014800
PRINT 'Favor solicitar nuevo correlativo de facturas de la seria FECONXE'

Quedo atento a sus comentarios, gracias.
Saludos.

1 me gusta

Hola Mike.

Recuerda que en SAP Business One las alarmas debemos verlas simplemente como la ejecución programada de un query.

Podrías darte una buena idea con la siguiente estructura:

SELECT 'Atención los folios de la siguiente serie están por terminar: ', T0.SeriesName as 'Nombre de la serie', T0.NextNumber, T0.LastNum FROM NNM1 T0 WHERE T0.SeriesName = 'FECONXE' AND T0.NextNumber > 5014800

Saludos.

Quedo atento.

3 Me gusta

Hola @mike

Lo que pasa es que no reconoce el IF, la solución de @Gera_Mendez es más completa, pero igual te comparto cómo fuciona la consulta tal cómo la tienes en SAP utilizando CASE:

SELECT
CASE WHEN 
(SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECONXE' ) > 5014800
THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECONXE' END

Saludos.

1 me gusta

esa estructura, ese lenguaje tiene pinta a visual basic xD como seria para SAP Business One on Hana? :V

Hola @Daniel_Torrez.

Te comento que para mantener el orden y atender un solo tema por discusión, si tienes la inquietud sobre esta consulta pero para SAP Hana, puedes crear una nueva pregunta en el foro.

Te comento esto porque en su presentación @mike no menciona que maneja SAP Hana.

Saludos.

Gracias @Gera_Mendez y @juliosura por el apoyo.
Voy a implementar utilizando CASE ya que son diferentes Series que utilizamos y así de acuerdo al Case que se cumpla lanzara la alarma.

Exitos!

Ahora tengo la siguiente situación.
Hice prueba con dos diferentes consultas y en la primera que solo utilizo un CASE para todas las series sucede que media vez cumpla un muestra el mensaje pero que sucede cuando son dos que se cumple igual me sigue mostrando solo una que seria la primera.
La segunda prueba es utilizando un CASE para cada serie y un UNION ALL pero el problema con esto es que me lanza la alarma aunque no se cumpla ninguna y necesito que muestre la alarma solo SI se cumple.

SELECT
CASE	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECONGT') > 4049900
		THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECONGT' END
UNION ALL
SELECT
CASE	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECONXE') > 5029900
		THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECONXE' END
UNION ALL
SELECT
CASE	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECREGT') > 6019900
		THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECREGT' END
UNION ALL
SELECT
CASE	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECREXE') > 7004900
		THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECREXE' END

Hola @mike

Deberías de hacer una alarma individual para cada serie.

Hola estimado tu query debería ser como sigue:

SELECT
CASE 
	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECONGT') > 4049900 THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECONGT' 
	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECONXE') > 5029900 THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECONXE' 
	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECREGT') > 6019900 THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECREGT' 
	WHEN (SELECT NextNumber FROM NNM1 WHERE SeriesName = 'FECREXE') > 7004900 THEN 'Favor solicitar nuevo correlativo de facturas de la seria FECREXE' 
END

Chequealo te debería funcionar.
Saludos.

Hola @saufondez fíjate que lo probé y lo que sucede es que puede darse el caso que dos series cumplan con la condición pero solo muestra un resultado. Me funciona haciendo una alarma para cada serie, gracias por la ayuda.

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.