This post contains logic related to find the previous business day using the Data transform based on the calendar which is passed .

Extracted Table
| # | Action | Target | Relation | Source |
|---|---|---|---|---|
| 1 | Set | Param.DateAEST | equal to | @DateTime.FormatDateTime(@DateTime.addToDate(@CurrentDateTime(),'0','0','0','0','0','0'),'yyyyMMdd','Australia/Sydney','en_AU') |
| 2 | Set | Param.PreviousBusinessDayAEST | equal to | @addDays(Param.DateAEST,-1,true,'AUDefault') |
| 3 | Set | Param.DateGMT | equal to | @CurrentDate('yyyyMMdd','GMT') |
| 4 | Set | Param.PreviousBusinessDayGMT | equal to | @addDays(Param.DateGMT,-1,true,'AUDefault') |
| 5 | Set | Param.DaylightSaving | equal to | @InDaylightSaving('Australia/NSW',@CurrentDateTime()) |
| 6 | When | @CompareDates(Param.DateAEST,Param.DateGMT) | ||
| 6.1 | When | @equalsIgnoreCase(Param.DaylightSaving,true) | ||
| 6.1.1 | Set | param.StartDate | equal to | @addToDate(Param.DateGMT,'',13,'','') |
| 6.1.2 | Set | Param.PreviousBusinessDayStartDate | equal to | @addToDate(Param.PreviousBusinessDayGMT,'',13,'','') |
| 6.1.3 | Set | Param.PreviousBusinessDayEndDate | equal to | @DateTime.addToDate(param.PreviousBusinessDayStartDate,'1','','','') |
| 6.1.4 | Set | Param.PreviousDay | equal to | @DateTime.addToDate(param.StartDate,'-1','','','') |
| 6.1.5 | Set | Param.CutOffDate | equal to | @DateTime.addToDate(param.StartDate,'','','','') |
| 6.2 | Otherwise | |||
| 6.2.1 | Set | param.StartDate | equal to | @addToDate(Param.DateGMT,'',14,'','') |
| 6.2.2 | Set | Param.PreviousBusinessDayStartDate | equal to | @addToDate(Param.PreviousBusinessDayGMT,'',14,'','') |
| 6.2.3 | Set | Param.PreviousBusinessDayEndDate | equal to | @DateTime.addToDate(param.PreviousBusinessDayStartDate,'1','','','') |
| 6.2.4 | Set | Param.PreviousDay | equal to | @DateTime.addToDate(param.StartDate,'-1','','','') |
| 6.2.5 | Set | Param.CutOffDate | equal to | @DateTime.addToDate(param.StartDate,'','','','') |
| 7 | When | @equalsIgnoreCase(Param.DateAEST,Param.DateGMT) | ||
| 7.1 | When | @equalsIgnoreCase(Param.DaylightSaving,true) | ||
| 7.1.1 | Set | param.StartDate | equal to | @addToDate(Param.DateGMT,'',11,'','') |
| 7.1.2 | Set | Param.PreviousBusinessDayStartDate | equal to | @addToDate(Param.PreviousBusinessDayGMT,'',11,'','') |
| 7.1.3 | Set | Param.PreviousBusinessDayEndDate | equal to | @DateTime.addToDate(param.PreviousBusinessDayStartDate,'1','','','') |
| 7.1.4 | Set | Param.PreviousDay | equal to | @DateTime.addToDate(param.StartDate,'-1','','','') |
| 7.1.5 | Set | Param.CutOffDate | equal to | @DateTime.addToDate(param.StartDate,'','','','') |
| 7.2 | Otherwise | |||
| 7.2.1 | Set | param.StartDate | equal to | @addToDate(Param.DateGMT,'',10,'','') |
| 7.2.2 | Set | Param.PreviousBusinessDayStartDate | equal to | @addToDate(Param.PreviousBusinessDayGMT,'',10,'','') |
| 7.2.3 | Set | Param.PreviousBusinessDayEndDate | equal to | @DateTime.addToDate(param.PreviousBusinessDayStartDate,'1','','','') |
| 7.2.4 | Set | Param.PreviousDay | equal to | @DateTime.addToDate(param.StartDate,'-1','','','') |
| 7.2.5 | Set | Param.CutOffDate | equal to | @DateTime.addToDate(param.StartDate,'','','','') |


