|
Chapter Contents |
Previous |
Next |
| The CPM Procedure |
|
|
To invoke PROC CPM to schedule around holidays, use the HOLIDATA= option in the PROC CPM statement (see the following program) to identify the data set, and list the names of the variables in the data set in a HOLIDAY statement. The holiday start and finish are identified by specifying the HOLIDAY and HOLIFIN variables. Output 2.8.2 displays the schedule obtained.
proc cpm data=widget holidata=holidays
out=saveh date='2dec91'd ;
activity task;
succ succ1 succ2 succ3;
duration days;
holiday holiday / holifin=(holifin);
run;
proc sort data=saveh;
by e_start;
run;
TITLE 'Scheduling Around Holidays';
title2 'Project Schedule';
goptions vpos=50 hpos=80 border;
goptions ftext=swiss;
proc gantt graphics data=saveh holidata=holidays;
chart / compress
font=swiss height=1.5 nojobnum skip=2
dur=days increment=7
holiday=(holiday) holifin=(holifin)
cframe=ligr;
id task;
run;
Output 2.8.2: Scheduling around Holidays: Project Schedule
|
proc cpm data=widget holidata=holidays
out=saveh1 date='2dec91'd
interval=day;
activity task;
succ succ1 succ2 succ3;
duration days;
holiday holiday / holidur=(holidur);
run;
TITLE2 'Variable Length Holidays : INTERVAL=DAY';
proc sort data=saveh1;
by e_start;
run;
proc gantt graphics data=saveh1 holidata=holidays;
chart / compress
font=swiss
height=1.5 skip=2
nojobnum
dur=days increment=7
holiday=(holiday) holidur=(holidur) interval=day
cframe=ligr;
id task;
run;
Output 2.8.3: Scheduling around Holidays: INTERVAL=DAY
|
proc cpm data=widget holidata=holidays
out=saveh2 date='2dec91'd
interval=weekday;
activity task;
succ succ1 succ2 succ3;
duration days;
holiday holiday / holidur=(holidur);
run;
proc sort data=saveh2;
by e_start;
run;
TITLE2 'Variable Length Holidays : INTERVAL=WEEKDAY';
proc gantt graphics data=saveh2 holidata=holidays;
chart / compress
font=swiss
height=1.5 skip=2
nojobnum
dur=days increment=7
holiday=(holiday)
holidur=(holidur)
interval=weekday
cframe=ligr;
id task;
run;
Output 2.8.4: Scheduling around Holidays: INTERVAL=WEEKDAY
|
proc cpm data=widget holidata=holidays
out=saveh3 date='2dec91'd
interval=workday;
activity task;
succ succ1 succ2 succ3;
duration days;
holiday holiday / holidur=(holidur);
run;
proc sort data=saveh3;
by e_start;
run;
TITLE2 'Variable Length Holidays : INTERVAL=WORKDAY';
proc gantt graphics data=saveh3 holidata=holidays;
chart / compress
font=swiss height=1.5 nojobnum skip=2
dur=days increment=7
holiday=(holiday) holidur=(holidur) interval=workday
cframe=ligr;
id task;
run;
Output 2.8.5: Scheduling around Holidays: INTERVAL=WORKDAY
|
|
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.