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;