Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The PM Procedure

Example 6.1: Defining a New project

In this example, a simple software development project is built from scratch, starting with an empty Activity data set. PROC PM is invoked with an Activity data set that has no observations and just a few variables that are required to start the procedure. In addition to the Activity data set, a Project data set is also defined that is used to save the display attributes of the PM Window to be used between successive invocations of the procedure. The following program invokes PROC PM and opens a PM Window that enables you to enter project data. The initial window is shown in Output 6.1.1.

Note that the PROJNAME= option is used in the PROC PM statement. This value is used to label the PM Window. Also specified in the PROC PM statement is the PROJECT= option that identifes the project attribute data set. The activities in the project follow a weekday calendar which is indicated to PROC PM by specifying the INTERVAL=WEEKDAY option. In the PM Window, the weekends are shaded gray in the Gantt View.

   /* Initialize the Activity data set */
   data software;
      length activity $20.;
      input activity $ actid succid pntid duration;
   datalines;
   ;

   data softattr;
      length projattr $8. pratcval $200.;
      input projattr pratnval pratcval;
   datalines;
   ;

   proc pm data=software project=softattr
           date='1mar99'd interval=weekday
           projname='Software Project'
           out=softout1;
      act actid;
      succ succid;
      project pntid;
      duration duration;
      id activity;
      run;

Output 6.1.1: Initial PM Window
pm1w1.gif (12708 bytes)

In the PM Window, enter the following tasks with the corresponding durations in the Table View:

   Design          5
   Develop        10
   Document        8
   Test            8
   Ship            0

As each task is entered, the Schedule columns in the Table View are updated with the early and late start times, and the Early Schedule bars appear in the Gantt View. Output 6.1.2 shows the PM Window after the five tasks have been entered. To view the Schedule columns, you can scroll the Table View to the right or use the "View" pull-down menu (Figure 6.6) to move the Schedule columns to the left.

Output 6.1.2: List of Tasks in the Software Project
pm1w2.gif (14501 bytes)

To enter precedence constraints between two activities, such as `Design' and `Develop', draw an arc, using the left mouse button, from the end of the predecessor task to the beginning of the successor task. Use the Gantt View to enter the following precedence constraints:

   Design  --> Develop
   Design  --> Document
   Develop --> Test
   Test    --> Ship

Output 6.1.3 shows the Software Project as the last precedence constraint is being drawn. Note that, in this view of the PM Window, the Schedule columns have been moved to the left, the grid lines in the Gantt View have been turned off (using the menu in Figure 6.11), and the Gantt View has been scrolled to the right to bring the end of the schedule bar for `Test' into view.

Output 6.1.3: Drawing Precedence Constraints
pm1w3.gif (12712 bytes)

To check the overall project status, you can bring the Project Summary task into view by selecting "Display Summary Task" from the "View" pull-down menu (Figure 6.6). Note that the project duration is 23 days. The critical activities are shown in red while the noncritical ones are green. The Summary Task is indicated by vertical cones at the end of its schedule bar.

For the next few examples, the units used in the Gantt View are changed to "Weeks" using the Axis pop-up menu shown in Figure 6.12, the Summary Task is displayed at the top of the list of activities, and the Activity description columns are shown in the Table View. The "Project" pull-down menu can be used to save these window settings in the Project data set. The view of the project corresponding to these settings is shown in Output 6.1.4. You can end the interactive editing session by closing the window. All the activity and precedence information is saved in the output data set, SOFTOUT1, displayed in Output 6.1.5. Note the two sets of observations in this data set: the first contains all the schedule information for all the activities, and the second lists all the precedence relationships between activities.

Output 6.1.4: Project Schedule
pm1w4.gif (14013 bytes)

Output 6.1.5: Schedule Data Set

Schedule Data Set

Obs OBS_TYPE PNTID PROJ_DUR PROJ_LEV WBS_CODE ACTID SUCCID duration PARENT activity SUCCESSR LAG ALGNDATE ALGNTYPE E_START E_FINISH L_START L_FINISH T_FLOAT F_FLOAT ES_ASC ES_DESC LS_ASC LS_DESC
1 SCHEDULE . 23 0 0 0 . 23   Project Summary     .   01MAR99 31MAR99 01MAR99 31MAR99 0 0 0 0 0 0
2 SCHEDULE 0 . 1 0.0 1 . 5 Project Summary Design     .   01MAR99 05MAR99 01MAR99 05MAR99 0 0 1 5 1 5
3 SCHEDULE 0 . 1 0.1 2 . 10 Project Summary Develop     .   08MAR99 19MAR99 08MAR99 19MAR99 0 0 2 4 2 4
4 SCHEDULE 0 . 1 0.2 3 . 8 Project Summary Document     .   08MAR99 17MAR99 22MAR99 31MAR99 10 10 3 3 3 3
5 SCHEDULE 0 . 1 0.3 4 . 8 Project Summary Test     .   22MAR99 31MAR99 22MAR99 31MAR99 0 0 4 2 4 2
6 SCHEDULE 0 . 1 0.4 5 . 0 Project Summary Ship     .   01APR99 01APR99 01APR99 01APR99 0 0 5 1 5 1
7 LOGIC . . .   1 2 5   Design Develop   .   . . . . . . . . . .
8 LOGIC . . .   1 3 5   Design Document   .   . . . . . . . . . .
9 LOGIC . . .   2 4 10   Develop Test   .   . . . . . . . . . .
10 LOGIC . . .   4 5 8   Test Ship   .   . . . . . . . . . .

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.