1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  StaticMethod GetDateOfNextOccurrence ( 
 |    output Date dateOfRecurrence_o, 
 |    Date date_i, 
 |    Number recurrenceInterval_i, 
 |    Boolean isDay_i, 
 |    Number day_i, 
 |    String weekOfMonth_i, 
 |    String dayOfWeek_i 
 |  ) declarative remote as Date 
 |  { 
 |    TextBody: 
 |    [* 
 |      date := date_i; 
 |       
 |      // Don't get the next occurrence the first time, it is already determined. 
 |      if( date_i <> dateOfRecurrence_o ) 
 |      { 
 |        // Get the start of the next recurrence. 
 |        dateOfRecurrence_o := LibCal_RecurrencePatternMonthly::GetDateOfNextRecurrence( dateOfRecurrence_o, recurrenceInterval_i ); 
 |      } 
 |         
 |      // Determine the applicable date. 
 |      date := ifexpr( isDay_i, LibCal_RecurrencePatternMonthly::GetDateOfDayOfMonth( dateOfRecurrence_o, day_i ), 
 |                               LibCal_RecurrencePatternMonthly::GetDateOfDayOfMonth( dateOfRecurrence_o, weekOfMonth_i, dayOfWeek_i ) ); 
 |       
 |      return date; 
 |    *] 
 |  } 
 |  
  |