Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The GANTT Procedure

Output

Displayed Output

The GANTT procedure produces one or more pages of displayed values and a plot of the schedule. If the SUMMARY option is specified, the chart is preceded by a detailed description of the symbols used. A legend is displayed at the foot of the chart on each page unless suppressed by the NOLEGEND option. The main body of the output consists of columns of the ID values and the Gantt chart of the schedule.

For each activity in the project, PROC GANTT displays the values of the ID variables in the ID columns and plots any combination of the following schedules: the predicted schedule as specified by the early and late start and finish times, the actual schedule as specified by the actual start and finish times, the resource-constrained schedule as specified by the resource-constrained start and finish times, and the baseline schedule as specified by the baseline start and finish times. The procedure looks for default variable names for each of these times (E_START for early start, E_FINISH for early finish, S_START for resource-constrained start times, and so on), or you can explicitly specify the names of the appropriate variables using the ES=, EF=, LS=, ... options.

By specifying the COMBINE option in the CHART statement, you can request PROC GANTT to represent early, late, and actual schedule information on a single bar rather than use two separate bars (one for the early and late schedules and the other for the actual schedule.) PROC GANTT automatically draws a timenow line when the COMBINE option is specified with the property that all times to the left of the line represent the actual schedule times; that is, times that have already taken place and all times to the right of the line represent the predicted early/late schedule times (times that have not yet taken place.)

Normally, each observation in the Schedule data set is assumed to denote a new activity, and a new set of ID values are displayed and the schedules corresponding to this activity are plotted on the chart. There are two exceptions to this rule:

In addition to the schedules that are plotted, the Gantt chart also displays any variables specified in the CHART statement. Holidays, weekends, and breaks within a day are marked as appropriate. For details on how to specify holidays, weekends, and breaks within a day, see the "Multiple Calendars and Holidays" section. You can also represent zero duration activities with milestone symbols, draw a timenow line to reflect the current time of the project, draw horizontal connect lines, draw vertical reference lines, and group the activities by zones on the Gantt chart. It is important to note that all times are plotted at the start of the appropriate time period. Thus, if the chart starts on June 1, 1992, in column 15 of the page and the value of E_START is '2JUN92', MININTERVAL=DAY, and SCALE=5, then the early start time is plotted in column 20.

Each activity is identified by a job number (unless the NOJOBNUM option is used), which appears as the first column of activity text. The next column of activity text identifies the values of the ZONE= variable, if specified. This column can be suppressed by specifying the NOZONECOL option in the CHART statement. Next to appear are the ID variables in the order in which they are specified in the CHART statement. If the time axis of the chart is very wide, causing it to be divided across more than one page, the ID variables, by default, do not appear on continuation pages. You need to specify the IDPAGES option to produce the ID variable columns on every page. By default, if the ID variables occupy too much space, leaving no room for the chart to be started on the first page, they are omitted and a warning message is printed to the log. You can override this behavior by using the MAXIDS option. Column headings for the ZONE and ID variables consist of either variable labels (if they are present and if space permits) or variable names. To suppress variable labels in column headings, use the NOLABEL system option. If a ZONE or ID variable is formatted, the value is displayed using that format. If the CRITFLAG option is specified, a flag is displayed to the right of the ID values that indicates how critical the activity is. This flag is also repeated on continuation pages if the time axis occupies more than one page. The body of the chart starts to the right of this flag.

By default, the GANTT procedure is invoked in graphics mode. In graphics mode, you can fit the Gantt chart entirely on one page by specifying the COMPRESS option in the CHART statement. The HPAGES= and VPAGES= options take this one step further by enabling you to control the number of pages that you want the Gantt chart to be compressed into. The PCOMPRESS option behaves much like the COMPRESS option except that all compression is performed in a proportional manner, that is, by maintaining the aspect ratio of the Gantt chart. PROC GANTT can display the precedence relationships (including nonstandard types) between activities on the Gantt chart by means of directed links between activities. Each link is drawn so as to convey the type of precedence relationship it represents. See the "Specifying the Logic Options" section for a detailed description on how this can be done.

In addition, graphics mode provides you with the easy-to-use automatic text annotation facility to generate labels on the Gantt chart. You can link labels and their coordinates to variables in the schedule data set and also have complete control over all attributes such as font, color, angle, rotation, and so forth. You also have the additional capability of annotating text and graphics independently on the Gantt chart by using the SAS/GRAPH Annotate facility.

The GANTT procedure offers you a wide variety of options in addition to text, bar, symbol, and line formatting controls to customize your Gantt chart. These features enable you to create a wide variety of charts such as logic Gantt charts, zoned Gantt charts, multiproject Gantt charts, web-enabled Gantt charts, and multiprocess Gantt charts, to name but a few.

Macro Variable _ORGANTT

The GANTT procedure defines a macro variable named _ORGANTT, which is set at procedure termination. This variable contains a character string that indicates the status of the procedure and also provides chart specific information with respect to each Gantt chart produced by invocation of the GANTT procedure. This includes charts resulting from multiple CHART statements and BY groups.

The format of the _ORGANTT string for a GANTT procedure invocation with n CHART statements is as follows:

           STATUS= REASON= CHART1 chart1info # ...CHARTn chartninfo #

where the value of STATUS= is either SUCCESSFUL or ERROR_EXIT, and the value of REASON= is one of the following:

The notation chartiinfo is a string of the form

           SCALE= INCREMENT= SKIP= HPAGES= VPAGES= SEGNAME=

if there are no BY groups, and it is a string of the form

           BY1 by1info: ...BYm byminfo:

where byjinfo is a string of the form

           SCALE= INCREMENT= SKIP= HPAGES= VPAGES= SEGNAME=

if there are m BY groups.

In other words, the macro contains an informational substring for every chart produced, using the symbol "#" as a CHART statement delimiter and the symbol ":" as a BY statement delimiter within CHART statements.

The chart specific information given in _ORGANTT is described below along with the identifying keyword preceding it. It should be noted that these values refer to those actually used in producing the chart and are not necessarily the same as those specified in the invocation of the procedure.

Note: Some of the information may be redundant or predictable in certain display modes. For example, the value of SEGNAME= is empty in line-printer and full-screen modes. The values of HPAGES= and VPAGES= are equal to 1 in full-screen mode.

This information can be used when PROC GANTT is one step in a larger program that needs to determine whether the procedure terminated successfully or not. Because _ORGANTT is a standard SAS macro variable, it can be used in the ways that all macro variables can be used.

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

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