Symptom
We want to use the intermediate event to delay a process until a specific date.
Resolution
The basic functionality is not able to do this but there is a workaround to get the desired result.
You need to add the following part to your diagram:
'Calculate today' contains the following script:
today =
new
Date();
var
dd = today.getDate();
var
mm = today.getMonth()+1;
//January is 0
var
yyyy = today.getFullYear();
if
(dd<10) {
dd =
'0'
+dd
}
if
(mm<10) {
mm =
'0'
+mm
}
today = yyyy +
'-'
+ mm +
'-'
+ dd +
'T00:00:00.000Z'
;
console.log(today)
This script is calculating the actual date.
The next step is 'compare today and approval date' which contains the following script:
if
(today == approvalDate) {
match =
true
}
else
{
match =
false
}
This script sets the variable "match" to 'true' or 'false' depending on if the date today matches the, in this example, approval date. If the date doesn't match the process will run into the intermediate event and will wait there for one day a rerun the check again.
For your process, you would just need to set a fixed date for the variable approval date or another variable.
Keywords
KBA , BPI-SIG-CA-AWF , Approval Workflow for SAP Signavio , How To