The NETDRAW Procedure

PROC NETDRAW draws project networks. The procedure automatically places the nodes in the network and draws the arcs connecting them, using the (activity, successor) relationship as specified by the Network data set described in Chapter 9: The NETDRAW Procedure.

The Network data set, used as input to PROC NETDRAW, can be an Activity data set, a Schedule data set, or a Layout data set, as described in Chapter 9.

If a Schedule data set, output by PROC CPM, is used as the Network data set, the network diagram also contains all the schedule times calculated by PROC CPM. The procedure can draw the diagram in line-printer mode as well as in high-resolution graphics mode. Further, you can invoke the procedure in full-screen mode, which enables you to scroll around the network to view different parts of it; in this mode, you can also modify the layout of the network by moving the nodes of the network.

By default, PROC NETDRAW uses the topological ordering of the activity network to determine the X coordinates of the nodes. In a time-based network diagram, the nodes can be ordered according to any SAS date, time, or datetime variable in the Network data set. In fact, PROC NETDRAW enables you to align the nodes according to any numeric variable in this data set, not just the start and finish times.

You can produce a zoned network diagram by identifying a ZONE variable in the input data set, which divides the network into horizontal bands or zones. This is useful in grouping the activities of the project according to some appropriate classification. The NETDRAW procedure also draws tree diagrams. This feature can be used to draw work breakdown structures or other organizational diagrams (see Example 3.2).

PROC NETDRAW produces an output data set (Layout data set), which contains the positions of the nodes and the arcs connecting them. This output data set can also be used as an input data set to PROC NETDRAW; this feature is useful when the same project network is drawn several times during the course of a project. You may want to see the updated information drawn on the network every week; you can save computer resources by using the same node placement and arc routing, without having the procedure recompute it every time. PROC NETDRAW defines the macro variable _ORNETDR, which contains a character string indicating if the procedure terminated successfully.

The NETDRAW procedure is also Web-enabled (like PROC GANTT), and it supports the HTML= and IMAGEMAP= options.

Figure 3.3 illustrates the flow of data in and out of PROC NETDRAW.

Figure 3.3: Input and Output Data Flow in PROC NETDRAW

LaTeX defined picture