Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Add 3 days to script for "Test"

Avatar

Level 1

Hello in an adobe campaign classic workflow I am using a "Test" node (the yellow diamond) to check that another workflow "TECHNICALWORKFLOW" has run today before proceeding. This is working well currently with the following script: 

 

formatDate(getOption("lastRunDate_TECHNICALWORKFLOW"),'%2D-%2M-%4Y') == formatDate(getCurrentDate(),'%2D-%2M-%4Y')

 

I would like to make it so that the test instead, looks to check the TECHNICALWORKFLOW has run any time in the past 3 days, rather than today. I think I need to add +3 days somewhere to the second half of the script, but cannot work it out. 

 

Thanks 

1 Accepted Solution

Avatar

Correct answer by
Level 3

Hi,

 

Add the below script in the Test activity advanced tab.

 

var date = getCurrentDate();
date.setDate(date.getDate()-3);
vars.currminus3Date = formatDate(date,'%2D-%2M-%4Y');

 

After that use the below condition in the test activity

formatDate(getOption("lastRunDate_TECHNICALWORKFLOW"),'%2D-%2M-%4Y') >= vars.currminus3Date

 

Attaching the screenshot also. Hope this helps.

Amit694_0-1617770201963.pngAmit694_1-1617770223405.png

 

 

View solution in original post

0 Replies

Avatar

Correct answer by
Level 3

Hi,

 

Add the below script in the Test activity advanced tab.

 

var date = getCurrentDate();
date.setDate(date.getDate()-3);
vars.currminus3Date = formatDate(date,'%2D-%2M-%4Y');

 

After that use the below condition in the test activity

formatDate(getOption("lastRunDate_TECHNICALWORKFLOW"),'%2D-%2M-%4Y') >= vars.currminus3Date

 

Attaching the screenshot also. Hope this helps.

Amit694_0-1617770201963.pngAmit694_1-1617770223405.png

 

 

Avatar

Level 1
Hey mate, that worked perfectly. Thank you for your help, and have a great day.

Avatar

Community Advisor

Hi @drewettj - an easy way to do this is to subtract the last run time from the current time and see if its less than 3 days. e.g.

 

(getCurrentDate().getTime() - getOption("lastRunDate_TECHNICALWORKFLOW").getTime())<=259200000

 

Date.getTime() returns milliseconds for for 3 days = (3 * 1000 * 60 * 60 * 24) = 259200000 milliseconds

Cheers

darren