This section describes each macro in the earned value macro set in further detail.
This macro is used to establish periodic planned value. The first input data set for this macro (identified using the PLANSCHED=
parameter) provides an initial baseline schedule. The second input data set (identified using the BUDGETCOST= parameter) contains
the budgeted costs data set. One of the output data sets (identified using the PV= parameter) consists of two pertinent variables: _TIME_
and _PV_RATE_
. The latter variable lists the budgeted cost for the date or datetime indicated by the former variable. Another output data
set is identified using the TASKPV= parameter, and provides the planned duration and costs by activity, for later use by the
%EVA_EARNED_VALUE macro.
Upon completion, the status of the macro is saved in a global macro variable named _EVA_PLANNED_VALUE_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to establish periodic earned value and actual cost. The first of the input data sets for this macro (identified
using the REVISESCHED= parameter) contains a schedule that has been updated to reflect the current status of the project.
A second input data set (identified using the ACTUALCOST= parameter) specifies the revised cost. The third input data set,
from the %EVA_PLANNED_VALUE macro, is identified using the TASKPV= parameter, and supplies the planned duration and costs
by activity. These are needed for computing the earned value. The output data set (identified using the EV= parameter) contains
three relevant variables: _TIME_
, _EV_RATE_
, and _AC_RATE_
. _EV_RATE_
lists the Earned Value, and _AC_RATE_
the Actual Cost of Work Performed, for the date or datetime indicated by the _TIME_
variable.
Upon completion, the status of the macro is saved in a global macro variable named _EVA_EARNED_VALUE_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to compute the periodic metrics and summary statistics in reference to the date(s) or datetime(s) specified by the TIMENOW= parameter. The periodic planned value data set (generated by the %EVA_PLANNED_VALUE macro) and the periodic earned value data set (generated by the %EVA_EARNED_VALUE macro) are the inputs to the %EVA_METRICS macro. These two data sets are identified using the PV= and EV= parameters, respectively. The METRICS= parameter identifies the periodic output data set, and the SUMMARY= parameter identifies the summary output data set. An output listing is also produced, which is derived from the summary output data set. The two output data sets are described next.
The variables in this data set are as follows:
_TIME_
is the date or datetime reference point for the other variables.
_PV_
is the cumulative Planned Value (Budgeted Cost of Work Scheduled).
_EV_
is the cumulative Earned Value (Budgeted Cost of Work Performed).
_AC_
is the cumulative Actual Cost (Actual Cost of Work Performed).
_EACREV_
is the EAC. This variable is simply an accumulation of costs to project completion, according to the revised budget and schedule.
_SPI_
is the Schedule Performance Index, calculated as
The variables in this data set are as follows:
_NAME_
is the internal variable name.
_LABEL_
is the label used for the variable in the output listing.
_VALUE
n_
gives the value of the variable for the reference date or datetime given by the respective TIMENOW= parameter value.
Each row of the data set corresponds to one of the summary statistics as follows:
_pctcomp_
is the percentage complete for the entire project, calculated as .
_ev_
is the cumulative Budgeted Cost of Work Performed (Earned Value).
_pv_
is the cumulative Budgeted Cost of Work Scheduled (Planned Value).
_ac_
is the cumulative Actual Cost of Work Performed (Actual Cost).
_etc_
is the Estimate To Complete (ETC). The form of EAC used to compute the ETC is specified by the EACFORM= parameter of the
%EVA_METRICS macro.
_eacotd_
is the Overrun to Date form of the EAC, calculated as , where WR is the Work Remaining ().
_eaccpi_
is the Cumulative CPI form of the EAC, calculated as .
_eaccpispi_
is the Cumulative CPI times SPI form of the EAC, calculated as .
_vac_
is the Variance at Completion, calculated as . The form of EAC used is specified by the EACFORM= parameter of the %EVA_METRICS macro.
_vacp_
is the CPI Variance at Completion percentage, calculated as . The form of EAC used to compute the VAC is specified by the EACFORM= parameter of the %EVA_METRICS macro.
_tcpi_
is the BAC To-Complete Performance Index, calculated as .
_etcpi_
is the EAC To-Complete Performance Index, calculated as . The form of EAC used is specified by the EACFORM= parameter of the %EVA_METRICS macro.
Upon completion, the status of the macro is saved in a global macro variable named _EVA_METRICS_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro uses the budgeted schedule and costs (identified using the PLANSCHED= and BUDGETCOST= parameters, respectively), along with the updated schedule and costs (identified using the REVISESCHED= and ACTUALCOST= parameters, respectively), to produce Cost Variance and Schedule Variance by task. The corresponding output data set is specified using the TASKMETRICS= parameter and is represented in the output listing. The variables in this data set are as follows:
Specifying "AGGREGATE=Y" with the WBSCODE= option forces the preceding metrics to be rolled up along the project hierarchy.
Upon completion, the status of the macro is saved in a global macro variable named _EVA_TASK_METRICS_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to generate a line plot of the Earned Value, Planned Value, Actual Cost, and revised cost over time. If the project has not been completed, three Estimates at Completion are also delineated by a three-tiered box at the right-hand side of the plot area. In addition, several vital statistics appear as part of the legend: Planned Value, Earned Value, Actual Cost, revised cost, Cost and Schedule Performance Indices, Budget At Completion, and Estimates at Completion.
Upon completion, the status of the macro is saved in a global macro variable named _EVG_COST_PLOT_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to visualize planned and projected completion times for the project. To this end, plots of the planned value and actual and revised cost are displayed. To arrive at a projected finish time, the earned value plot is extended to the Budget at Completion with a slope equal to the ratio of Earned Value to time elapsed at the status date. The slope of this extension is the average rate at which Earned Value has accumulated up to the status date. Vital statistics displayed in the legend include Planned Value, Earned Value, Actual Cost, and Budget at Completion.
Upon completion, the status of the macro is saved in a global macro variable named _EVG_SCHEDULE_PLOT_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to plot the Cost and Schedule Performance Indices over time. The To-Complete Performance Index is also shown.
Upon completion, the status of the macro is saved in a global macro variable named _EVG_INDEX_PLOT_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to plot the Cost and Schedule Variances over time. Upon completion, the status of the macro is saved in a global macro variable named _EVG_VARIANCE_PLOT_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to show the Cost and Schedule Variances and the Cost and Schedule Performance Indices by activity, along with a Gantt chart of the schedule. For each task, the bottom bar depicts the baseline schedule and the top bar represents the updated schedule.
Upon completion, the status of the macro is saved in a global macro variable named _EVG_GANTT_CHART_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.
This macro is used to display the Work Breakdown Structure, in addition to any other data associated with an activity.
Upon completion, the status of the macro is saved in a global macro variable named _EVG_WBS_CHART_
, which can take one of the following three values:
STATUS=SUCCESSFUL indicates successful completion of the macro.
STATUS=SYNTAX_ERROR indicates that macro execution was halted due to an error in the macro invocation syntax.
STATUS=RUNTIME_ERROR indicates that the macro invocation failed.