Pues no lo entiendo, yo he hecho algo parecido y la unica diferencia es que en vez de hacerlo en un module, dentro de este hice un perform y ahi la llamada a la funcion (era otra funcion pero no creo que influya ), Prueba a meter todo en un perform, poco mas te puedo decir
.