Bueno, ya lo resolví, hice una función genérica que genera las alarmas y le paso un argumento que indica si debe programar la alarma o cancelar la alarma, entonces cada ves que deseo modificar una alarma llamo a eliminar y luego a modificar y luego a generar.
Saludos.