Using Timers and Schedulers

Using Timers and Schedulers

  
Hi,
I want to send an email based on the startdate and enddate of my Job which should sent automatically in the below scenarios..
1) On the start date 
2) On the enddate
3) two days before start date
4) two days before end date of my job

 help me on this with example how to use timers in outsystems.. (or) atleast provide me an example how to work with timers in outsystems?

Regards,
Venkatesh Gude

Hi Venkatesh,

In the reference documentation you may find information on how to use timers: http://www.outsystems.com/help/servicestudio/8.0/default.htm#Using_Timers/Use_Timers.htm

in order to have it working on the dates you require I'd suggest that you set your timer to run everyday at a specific time and then you can check programatically using the DateTime functions if the logic should be executed or not. It should be something like this:



Cheers,
HI Periera,
Thanks for your repply..

I already read those articles but I found difficulty while working. Below is the example scenario help me to achieve this. 

Example: I am creating a task with start date, end date, Id and its name. Now for example we will consider start date is 28th aug and end date is 5th Sep. For that I need to send a notification mails to end users in the following days.

1) On 26th Aug one mail
2) On 28th Aug One mail
3)On 3rd Sept One mail and finally
4) On 5th sept One mail

Let me know step by step process(Along with screen shots is very needful) to achieve this.
Thanks in advance


Regards,
Venkatesh Gude

Venkatesh,

I don't have time to actually create right now this but here's an approach that should work.  In your action do the following.

1) Create a query that selects all records where start date = currdate() or start date = adddays(currdate(),-2) or end date = currdate() or end date = adddays(currdate(), -2) - this gives you all the records that require an email

2) Use a For Each widget to loop through the records and include four 'If' statements in the loop

3) If start date = adddays(currdate(),-2) - send first email

4) If start date = currdate() - send second email

5) If end date = adddays(currdate(),-2) - send third email

6) If end date = currdate() - send fourth email

Run this action at the same time every day and it'll do what you want.

Hope this helps,
Curt
Hi,

You could also use a Process to take care of it for you.
Think it would be something like this:


In the Timeout property of the Waits you should pick a date in the future where it should continue.
This way you can just launch a process for each Job and have the process take care of the emails.

Regards,
João Rosado
Hi Curt,

Great Effort.

Thank you so much..

Regards,
Venkatesh Gude
Hi Joao,

What should be there in WAIT1,Wait2,Wait3 & Wait4.

Regards,
Venkatesh Gude.
Curt Raddatz wrote:
Venkatesh,

I don't have time to actually create right now this but here's an approach that should work.  In your action do the following.

1) Create a query that selects all records where start date = currdate() or start date = adddays(currdate(),-2) or end date = currdate() or end date = adddays(currdate(), -2) - this gives you all the records that require an email

2) Use a For Each widget to loop through the records and include four 'If' statements in the loop

3) If start date = adddays(currdate(),-2) - send first email

4) If start date = currdate() - send second email

5) If end date = adddays(currdate(),-2) - send third email

6) If end date = currdate() - send fourth email

Run this action at the same time every day and it'll do what you want.

Hope this helps,
Curt
 Hi Curt,

I have an on-going module that is somehow related to this. 
The requirement is that I should be automatically sending an e-mail on;
1. 5 days after the trandate; (this is a field in my table where I save the date of transaction)
2. 10 days after the trandate;
3. 15 days after the trandate,
While the requirement of Venkatesh have defined start date and end date from where the email has to be sent, mine only is basing on the trandate which is actually varying dates depending on when a particular transaction was created.
Do you have a sample implementation like this, I have been trying to study this case but I still have not found
any solution. Can you help me again, please.

Thanks











just use a proper query?

every night/day you do a couple of queries 

1. get all the records where trandate = adddays(currdate(),-5)
2. get all the records where trandate = adddays(currdate(),-10)
3. get all the records where trandate = adddays(currdate(),-15)


What J said!
Indeed. That, and please Dennis, check the date of the post you reply to. This topic was already 1,5 years old.