We use a timer to sync a third party database with an outsystems entity every night. In the past we have filtered out a lot of irrelevant records in the database, but I recently attempted to modify this process because we have a need for a greater subset of these records.

I have run the timer with the modifications several times and the new records are not created in the timer. I tried modifying the existing For Each cycle, and I also tried a second For Each cycle in the same action. Neither worked. I took the identical logic from the timer and inserted it into a button, and it worked just fine in about five seconds. I received no errors, it just didn't do what it was supposed to do in the timer.

Are there some limitations on what timers can process? Is there any documentation somewhere on how to work around this type of problem so I don't have to keep struggling with this? I need this timer to work, I don't want to update the database manually.

Please let me know what if any more detail would be useful.

Hi Jared,

It might help if you could share the Module (OML) containing the Timer, so we can see what's wrong (if anything). Also, did you check Service Center for any errors? Did the Timer run at all? If so, did it run without errors?

I did check Service Center, it ran with are no errors. The current version of the module does not contain the modified code since I was trying different things, but I could export one of the iterations I tried and share it if that would be useful. None of them worked so I guess it doesn't matter which one?

I'd take the one that has the most straightforward code :)

Here's the OML - the action is called ServerDataSync, under Processes - Timers. We are on Outsystems 10 currently. Note the GetProjects aggregate and the simple foreach loop at the bottom of that logic tree is the new piece which didn't work.

That's... an interesting timer... But let's focus on the new stuff. One observation, having nothing to do with the problem, is that GetOSProject2 has a sort order, and doesn't have a limit on the number of records, while you're only interested to know whether there are any records. So I'd remove the sort order, and set Max. Records to 1. Other than that, I can't see any problem with the code.

Did you try debugging it? Does GetProjects yield any records? If so, are there any records no already synced?