Controlling the Project Calendar (cpme07)

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: CPME07                                              */
 /*   TITLE: Controlling the Project Calendar (cpme07)           */
 /* PRODUCT: OR                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: CPM                                                 */
 /*   PROCS: CPM                                                 */
 /*    DATA:                                                     */
 /*                                                              */
 /* SUPPORT:                             UPDATE:                 */
 /*     REF: Example 7 from the CPM Chapter (PM User's Guide)    */
 /*    MISC:                                                     */
 /*                                                              */
 /****************************************************************/

 /* Activity-on-Node representation of the project */
data widget;
   input task $ 1-12 days succ1 $ 19-30 succ2 $ 33-44 succ3 $ 47-58;
   datalines;
Approve Plan   5  Drawings      Study Market  Write Specs
Drawings      10  Prototype
Study Market   5  Mkt. Strat.
Write Specs    5  Prototype
Prototype     15  Materials     Facility
Mkt. Strat.   10  Test Market   Marketing
Materials     10  Init. Prod.
Facility      10  Init. Prod.
Init. Prod.   10  Test Market   Marketing     Evaluate
Evaluate      10  Changes
Test Market   15  Changes
Changes        5  Production
Production     0
Marketing      0
;

title 'Controlling the Project Calendar';
title2 'Scheduling on Workdays';
proc cpm data=widget date='1dec03'd interval=workday;
   activity task;
   succ     succ1 succ2 succ3;
   duration days;
   run;

title3 'Day Starts at 9 a.m.';
proc print;
   id task;
   var e_: l_: t_float f_float;
   run;

proc cpm data=widget date='1dec03'd interval=workday
         daylength='08:30't daystart='07:00't;
   activity task;
   succ     succ1 succ2 succ3;
   duration days;
   run;

title3 'Day Starts at 7 a.m. and is 8.5 Hours Long';
proc print;
   id task;
   var e_: l_: t_float f_float;
   run;