The DateCalculatorService API allows organizations high-level access to the AdvoLogix date calculation business rules. The following Apex method returns a date based on the parameters supplied.
1. DateCalculatorService
The following Apex method can be used to compute date via custom coding. Please note that it is always suggested to test your code in the Sandbox.
1.1. Syntax
DateCalculatorService.calculateDate( @selectedAction, @dayCalculatorFunction, @startDate, @endDate, @numCountDays, @numCountMonths, @numCountYears, @selectedBusinessHour, @moveDateWhenNonBusiness );
1.2. Parameters
-
@selectedAction
Required. Provide an action by which the date is to be computed.
Accepted values are ADD, SUBTRACT or COUNT.
-
@dayCalculatorFunction
Required. Provide whether the date is to be computed using Business Days calculations or Calendar Days calculations.
Accepted values are ‘Calendar Days’, or ‘Business Days’.
-
@startDate
Required: Provide the base date from which the target date will be computed. It should be passed as a string in following format YYYY-MM-DD.
-
@endDate
Required: Provide an end date upto which the date results are returned. If endDate can be empty string if @selectedAction is not COUNT.
-
@numCountDays
Required: Provide number of days to be added or subtracted from the @startDate.
-
@numCountMonths
Required: Provide number of months to be added or subtracted from the @startDate.
-
@numCountYears
Required: Provide number of years to be added or subtracted from the @startDate.
-
@selectedBusinessHour
Required: This would help determine how the business days are to be identified.
Accepted values are ‘Weekdays’ or the Record ID of the desired BusinessHour from the organization.
-
@moveDateWhenNonBusiness
Required: This would help determine the action to be taken when date falls on the non-business day. This option is only used when counting by Calendar Days. Accepted values are ‘ALLOW_NON_BUSINESS_DAY’, ‘SELECT_FOLLOWING_BUSINESS_DAY’, ‘SELECT_PRECEDING_BUSINESS_DAY’
1.3. Result
The function call will return a JSON formatted string in this format:
{success:"",result:""}
-
success
Will be either TRUE or FALSE
-
result
Contains the actual date computation results OR Error message if process is hauled with any unexpected error. The date results will include all the necessary information such as Target Date and number of days/months/years between dates etc.
1.4. Example
DateCalculatorService.calculateDate( 'ADD', 'Business Days', ‘2018-10-01’, ‘’, 80, 0, 0, 'Weekdays', SELECT_FOLLOWING_BUSINESS_DAY’ );