The NETDRAW Procedure

Network Input Data Set

The Network input data set contains the precedence information, namely the activity-successor information for all the nodes in the network. The minimum amount of information that is required by PROC NETDRAW is the activity-successor information for the network. Additional information in the input data set can be used by the procedure to add detail to the nodes in the diagram or control the layout of the network diagram.

Three types of data sets are typically used as the Network data set input to PROC NETDRAW. Which type of data set you use depends on the stage of the project:

  • The Activity data set that is input to PROC CPM is the first type. In the initial stages of project definition, it may be useful to get a graphical representation of the project showing all the activity precedence constraints.

  • The Schedule data set produced by PROC CPM (as the OUT= data set) is the second type. When a project is in progress, you may want to obtain a network diagram showing all the relevant start and finish dates for the activities in the project, in addition to the precedence constraints. You may also want to draw a time-scaled network diagram, with the activities arranged according to the start or finish times corresponding to any of the different schedules produced by PROC CPM.

  • The Layout data set produced by PROC NETDRAW (as the OUT= data set) is the third type. Often, you may want to draw network diagrams of the project every week showing updated information (as the project progresses); if the network logic has not changed, it is not necessary to determine the placement of the nodes and the routing of the arcs every time. You can use the Layout data set produced by PROC NETDRAW that contains the node and arc positions, update the start and finish times of the activities or merge in additional information about each activity, and use the modified data set as the Network data set input to PROC NETDRAW. The new network diagram will have the same layout as the earlier diagram but will contain updated information about the schedule. Such a data set may also be useful if you want to modify the layout of the network by changing the positions of some of the nodes. See the section Controlling the Layout for details about how the layout information is used by PROC NETDRAW. If the Layout data set is used, it contains the variables _FROM_ and _TO_; hence, it is not necessary to specify the ACTIVITY= and SUCCESSOR= options. See Example 9.13 and Example 9.14 for illustrations of the use of the Layout data set.

The minimum information required by PROC NETDRAW from the Network data set is the variable identifying each node in the network and the variable (or variables) identifying the immediate successors of each node. In addition, the procedure can use other optional variables in the data set to enhance the network diagram. The procedure uses the variables specified in the ID= option to label each node. The procedure also looks for default variable names in the Network data set that are added to the list of ID variables; the default variable names are E_START, E_FINISH, L_START, L_FINISH, S_START, S_FINISH, A_START, A_FINISH, T_FLOAT, and F_FLOAT. The format used for determining the location of these variables within each node is described in the section Format of the Display. See the section Variables in the Network Data Set for a table of all the variables in the Network data set and their interpretations by PROC NETDRAW.

If the Network data set contains the variables _X_ and _Y_ identifying the x and y coordinates of each node and each turning point of each arc in the network, then this information is used by the procedure to draw the network. Otherwise, the precedence relationships among the activities are used to determine the layout of the network. It is possible to specify only the node positions and let the procedure determine the routing of all the arcs. However, partial information cannot be augmented by the procedure.

Note: If arc information is provided, the procedure assumes that it is complete and correct and uses it exactly as specified.