none
Status Date in Master Projects RRS feed

  • Question

  • Experts, we are using Project Server 2007 and trying to utilize Master projects. So far it works fine except two issues:

    1- We are utilizing the Project Status date for updating our schedules. If we update the subprojects from the Master, can we still set the Project Status date for each subproject?

    2- The unique Ids change from the subprojects to the master. we are also utilizing the unique ids to various things with Macros and we are not able to do that in the Master.

    ideas and help are greatly appreciated

    Hadi

    Thursday, July 1, 2010 2:11 PM

Answers

  • 1 In an ideal environment, have a batch file that runs over the weekend to do all of your routine administration tasks, such as saving a copy of all files in an archive folder as of Friday, run routine reports showing the status as of last week, then set the status date for all files to the next Friday. Even with that though, users may still need the macro.

    Sub SetStatusDateForSubprojects()
    ' Macro Recorded 1/16/02

    Dim SubProj As Subproject
    Dim Statdate, AllDone

    Statdate = ActiveProject.StatusDate
    Statdate = InputBox("This macro will set the status date for all files in the Master file, using the status date for the Master file shown below." & vbCrLf & vbCrLf & "You must have the Master file open. " & vbCrLf & vbCrLf & "Be patient, it may take more than 70 seconds to run. You will be notified when it's done.", , Statdate)
        If Statdate = "" Then GoTo Done
        If Not (Statdate = ActiveProject.StatusDate) Then
        ActiveProject.StatusDate = Statdate
        End If
        If Statdate = "" Then GoTo Done
        For Each SubProj In ActiveProject.Subprojects
        SubProj.SourceProject.StatusDate = Statdate
        Next SubProj
        AllDone = MsgBox("Status Date has been updated for all files.", vbOKOnly)
    Done:
    End Sub

    2. Custom fields use the actual UID in the file. Try it to see.

    Friday, July 2, 2010 5:10 PM

All replies

  • 1. You need to set the status date for all files to the same date. If you set the status date in only the master, the subprojects will still use whatever is set in them. Use a macro to set all files to the same date.

    2. Use a custom field in each subproject file that combines the file name with the UID. Or set up file structure where each file is numbered and the number is stored in a property field, such as subject, then append that number to the UID in a custom field. For example, [Unique ID] & "-" & [Subject]. For whatever reason, subject needs to be after the UID, or UID does not get included.

    Thursday, July 1, 2010 9:11 PM
  • thanks for the tips

    1. will the macro something the users will have to run when they open the master and the subprojects? or is this something an Admin has to do after hours or sth like that. I'm weak when it comes to VBA but can imagine the macro being very simple. any help with that would be appreciated

    2. If reference the UID in any custom fields, wouldn't the custom fields change too when looking at through the master? what's the benefit of doing that?

    Thanks

    Thursday, July 1, 2010 11:14 PM
  • 1 In an ideal environment, have a batch file that runs over the weekend to do all of your routine administration tasks, such as saving a copy of all files in an archive folder as of Friday, run routine reports showing the status as of last week, then set the status date for all files to the next Friday. Even with that though, users may still need the macro.

    Sub SetStatusDateForSubprojects()
    ' Macro Recorded 1/16/02

    Dim SubProj As Subproject
    Dim Statdate, AllDone

    Statdate = ActiveProject.StatusDate
    Statdate = InputBox("This macro will set the status date for all files in the Master file, using the status date for the Master file shown below." & vbCrLf & vbCrLf & "You must have the Master file open. " & vbCrLf & vbCrLf & "Be patient, it may take more than 70 seconds to run. You will be notified when it's done.", , Statdate)
        If Statdate = "" Then GoTo Done
        If Not (Statdate = ActiveProject.StatusDate) Then
        ActiveProject.StatusDate = Statdate
        End If
        If Statdate = "" Then GoTo Done
        For Each SubProj In ActiveProject.Subprojects
        SubProj.SourceProject.StatusDate = Statdate
        Next SubProj
        AllDone = MsgBox("Status Date has been updated for all files.", vbOKOnly)
    Done:
    End Sub

    2. Custom fields use the actual UID in the file. Try it to see.

    Friday, July 2, 2010 5:10 PM
  • If you want the project identifier in front of the UID, use str([Subject]) & "." & [Unique ID], otherwise all you will see is the contents of subject.
    Friday, July 2, 2010 6:35 PM
  • The macro works great thanks. i'm sorry but one more question. I have a few other Project level Enterprise text fields that these subprojects share as well. how can I modify the macro where I let the user set the Status Date and also these other codes in the same place. One code for example is called Area and uses a lookup table. I am familiar with the "SetField(FieldNameToFieldConstant" function but not sure how to incorporate everything together

    thanks,

    Saturday, July 3, 2010 9:40 PM
  • I have a macro that uses Organizer to copy all custom fields, groups, views and filters in a master schedule to all subprojects. It works well in Project 2003, but in Project 2007, VBA for Project uses the original field name, not renamed field names, possibly so that fields already in use have some protection.

    If you aren't worried about keeping track of your UIDs, then the easiest solution may be to create a template containing all your structure. I haven't tried this, so make a backup of all your files, open all subprojects, then, for each subproject, copy start and finish dates to unused date fields, select the upper left corner of the tabular area to select all tasks, then copy and paste the tasks. If you are using Outline Code fields, be sure that the template contains all of the lookup table values you need. You don't need to worry about using the same table in the subproject file and the template because you are copying all data. Verify that the dates haven't changed, then close the original subproject and save the template using the exact same file name and path as the original subproject. Repeat for each subproject.

    Wednesday, August 4, 2010 2:08 PM