Select Your Region
Americas
Europe
Middle East & Africa
Asia Pacific
/****************************************************************/ /* S A S S A M P L E L I B R A R Y */ /* */ /* NAME: INTPM7 */ /* TITLE: Sequential Scheduling of Projects (intpm7) */ /* PRODUCT: OR */ /* SYSTEM: ALL */ /* KEYS: */ /* PROCS: CPM, PRINT */ /* DATA: */ /* */ /* SUPPORT: UPDATE: */ /* REF: Example 7 from the chapter, Introduction to Project */ /* Management. */ /* MISC: */ /* */ /****************************************************************/ data book; length task succ $8.; input id $ 1-16 task $ 20-23 dur succ $ 29-32 editor artist; datalines; Preliminary Edit PEDT 1 REV 1 . Preliminary Edit PEDT 1 GRPH 1 . Revise Book REV 2 CEDT 1 . Graphics GRPH 3 CEDT . 1 Copyedit Book CEDT 1 PRF 1 . Proofread Book PRF 1 PRNT 1 . Print Book PRNT 2 . . ; data book1; set book; subproj = "Book 1"; act = "B1"||task; if succ ^= " " then succ = "B1"||succ; run; data book2; set book; subproj = "Book 2"; act = "B2"||task; if act = "B2PEDT" then dur = 2; if succ ^= " " then succ = "B2"||succ; run; data resource; input avdate date7. editor artist; format avdate date7.; datalines; 1jan03 1 1 ; /* Schedule the higher priority project first */ proc cpm data=book1 resin=resource out=bk1schd resout=bk1out date='1jan03'd interval=week; act act; dur dur; succ succ; resource editor artist / per=avdate avp rcp; id id; run; title 'Schedule for sub-project BOOK1'; proc print data=bk1schd; run; title 'Resource Usage for sub-project BOOK1'; proc print data=bk1out; run; /* Construct the Resource availability data set */ /* with proper resource names */ data remres; set bk1out; avdate=_time_; editor=aeditor; artist=aartist; keep avdate editor artist; format avdate date7.; run; proc cpm data=book2 resin=remres out=bk2schd resout=bk2out date='1jan03'd interval=week; act act; dur dur; succ succ; resource editor artist / per=avdate avp rcp; id id; run; title 'Schedule for sub-project BOOK2'; proc print data=bk2schd; run; title 'Resource Usage for sub-project BOOK2'; proc print data=bk2out; run;