Running the Synchronization Script

To run the synchronization script, do the following:

  1. Back up the database.

    Caution: Synchronization cannot be undone. Once you run the script, actuals that have been deleted can only be recovered from a database backup.

  2. From the PPM Server, change to the <PPM_Home>/bin directory.

  3. Run the following command:

    sh ./kPMTMSync.sh -username <username> -password <password> [-projectno <projectnumber>] [-projectname <projectname>] [-includeDates yes] [-includePC yes] [-removeEmpty yes]

    Note: Messages from the script are sent as standard output to the screen. To log these messages, see Logging Messages.

    Option (*Required)

    Description

    *username

    Any existing PPM user who has the Edit All Projects access grant.

    *password

    The password for the PPM user.

    projectno

    The project number of the project to which the actuals are synchronized. The project number is available on the Search Projects page or in the Project Details tab of the project. If you also specify the projectname argument, the project name and project number must correspond to the same project. If neither the projectno nor the projectname argument is specified, all projects with synchronization enabled have their actuals synchronized.

    projectname

    The project name of the project to which the actuals are synchronized. The project name is available on the Search Projects page or in the Project Details tab of the project. If you also specify the projectno argument, the project number and project name must correspond to the same project. If neither the projectno nor the projectname argument is specified, all projects with synchronization enabled have their actuals synchronized.

    includeDates

    If set to yes, the actual start date and actual finish date (if available) is copied from Time Management. The actual start date is the earliest date for which effort is provided on any time sheet for a task. The actual finish date is the latest date for which effort is provided on any time sheet for a task and is copied only if percent complete for the task is equal to 100 (the task has been completed). If the task has not been completed, the actual finish date from Project Management is used.

    If this option is not included, both the actual start date and actual finish date from Project Management are used.

    WARNING: For a completed project, if actuals for resources have been added from both Project Management and Time Management, using this option on this project ignores the actuals from Project Management. The status of all tasks that had actuals entered from Project Management are changed from Completed to In Progress and the actuals entered from Project Management are lost.

    includePC

    The following describes the calculations for percent complete (PC) and estimated remaining effort (ERE). The calculations may use actual effort (AE) or scheduled effort (SE).

    If set to yes and if Track Estimated Remaining Effort per resource assignment in the Cost and Effort policy is enabled:

    ERE Calculations

    • ERE = SE – AE

    • If ERE <= 0, ERE = 0

    PC Calculations

    • If ERE > 0, PC = [ AE / (AE + ERE) ] * 100

    • If ERE <= 0, PC = 100

    If set to yes and if Track Estimated Remaining Effort per resource assignment in the Cost and Effort policy is not enabled:

    PC Calculations

    • If AE = 0, PC = 0

    • If AE > 0, PC is calculated by Project Management based on data entered by users

    If set to no or is not included (the setting of Track Estimated Remaining Effort per resource assignment in the Cost and Effort policy is not relevant):

    ERE Calculations

    • If PC = 0, ERE = SE – AE

    • If PC = 100, ERE = 0

    • If 0 < PC < 100 and AE = 0, ERE = SE

    • if 0 < PC < 100 and AE > 0, ERE = (AE * 100 / PC) – AE

    PC Calculations

    • PC is calculated by Project Management based on data entered by users

    removeEmpty

    If set to yes, resources whose actual efforts are zero or null for a task are removed.

The following are examples of running the script.

User1 wants to synchronize the actuals of all projects with synchronization enabled. User1 has the Edit All Projects access grant and runs the following command:

sh ./kPMTMSync.sh -username User1 -password User1_password

User2, who also has the Edit All Projects access grant, wants to synchronize the actuals for a project named Project1 whose project number is 311223. User2 can run one of the following commands:

sh ./kPMTMSync.sh -username User2 -password User2_password -projectno 311223

or

sh ./kPMTMSync.sh -username User2 -password User2_password -projectname Project1

or

sh ./kPMTMSync.sh -username User2 -password User2_password -projectno 311223 -projectname Project1

Logging Messages

By default, messages from the script are sent as standard output to the screen. To log these messages, redirect standard output to a file: when you run the script, type > <filename> at the end of the command where <filename> is the name of the file where messages are logged.

For example, User2, who has the Edit All Projects access grant, wants to synchronize the actuals for a project named Project1 and redirect standard output to a file named SyncLog01.txt in the /tmp directory. User2 runs the following command:

sh ./kPMTMSync.sh -username User2 -password User2_password -projectname Project1 > /tmp/SyncLog01.txt

If the message The specified project does not require a TM-PM Sync. displays or is logged, the project is not enabled for synchronization. See Enabling Projects for Synchronization.