This example demonstrates how to convert a Microsoft Project (MSP) database file into SAS by using the %MSPTOSAS macro, and then to convert the file back to MSP by using the %SASTOMSP macro.
Suppose you want to convert the MSP project shown in Output 6.9.1 into SAS software. You can convert the corresponding MDB file into a SAS data set by using the %MSPTOSAS macro, as follows:
%msptosas(mdbfile=C:\MSPROJ\mspsas4.mdb, library=C:\MSPROJ, version=2003)
The %MSPTOSAS macro generates the data sets Activity, Calendar, Holiday, Workday, Resource, Schedule, Task_Attributes, and Prefs, as well as the file callpm.sas. The following SAS statements can be found either in the callpm.sas file or in the SAS log:
libname mspout "C:\MSPROJ"; PROC PM data = mspout.activity project=mspout.prefs caledata = mspout.calendar workdata = mspout.workday out=mspout.schedule interval=dtday date="17DEC06:08:00:00"dt daylength=" 8:00"t suppressobswarn setfinishmilestone; activity ACTID; successor SUCCUID / LAG = LAG; duration DURATION; project PNTUID; id ACTIVITY ACTUID; RUN;
Output 6.9.2 shows the resulting PM window.
By taking the parameters from the preceding PM invocation, you can specify the values in the following %SASTOMSP call. The %SASTOMSP macro converts the project back into Microsoft Project format.
filename mspref "C:\MSPROJ\sasmsp5.mdb"; %sastomsp(library=C:\MSPROJ, mdbfile=mspref, actds=activity, calds=calendar, workds=workday, scheduleds=schedule, _interval=dtday, _date="17DEC06:08:00:00"dt, _daylength=" 8:00"t, _activity=ACTUID, _successor=SUCCUID, _lag=LAG, _dur=DURATION, _project=PNTUID, _id=ACTIVITY ACTUID)
In this example, after the project was converted to SAS code, the same project was converted back to Microsoft Project. The round trip between Microsoft Project and SAS software enables you to harness the power of SAS programming in scheduling, resource leveling, data processing, and more. Once your calculations are complete, you can return the results to Microsoft Project. Note that because SAS/OR Project Management and Microsoft Project use different strategies in calculating schedules, your project might show different start or finish times in SAS software and Microsoft Project. To compare the differences, you can display SAS schedules both in a table column view and in a Gantt chart, as described in Example 6.8.