Sort GCPM1 by the variable that contains the activity start dates before using it with PROC CALENDAR.
proc sort data=gcpm1; by e_start; run;