none
Project Online - Deliverable GUIDs differ in OData from Project Client Deliverable GUIDs used in VBA RRS feed

  • Question

  • Hi there,

    perhaps someone can explain to me the following situation encountered on several Project Online tenants:

    • Query the deliverables via OData (…/_api/ProjectData/Deliverables) returns i.a. the DeliverableId for all my deliverables in the system
    • In Project 2016 a column exists called “Deliverable GUID” which gives the GUID of a deliverable and in VBA there is a task property DeliverableGUID

    The value displayed in VBA equals the GUID in the column displayed in Project Pro 2016 – but the OData query returns a completely other GUID.

    Any ideas why this might happen and whether there could be some kind of mapping magic?

    Background: we trigger an OData Call from VBA to get some additional information about the task the deliverable belongs to – and the parameter used is the task Deliverable GUID property. A call with this UID in OData returns no results, as this GUID does not exist in OData :-(

    Any hints appreciated! Other UIDs map in OData and the VBA / Project Pro world, so not sure why these two differ.

    Tuesday, January 24, 2017 7:53 PM

Answers

  • I did not find a solution to the mapping questions.

    But we solved it in the past with creating a custom field on task level and then writing the task.DeliverableGUID in this Enterprise Custom Field. As an ECF can be queried using OData we could do the mapping with this workaround.

    • Marked as answer by Gáski Wednesday, July 17, 2019 8:43 AM
    Wednesday, July 17, 2019 8:43 AM

All replies

  • Hi there,

    with access to an on-prem 2016 system I found out the following:

    • DeliverableId as returned by OData matches the Deliverable UID in the WSSDeliverables table
    • Matching of the deliverable to the task works via the WSSListItemAssociation table
    • DeliverableGUID as displayed in the Project Professional Client can be found in the column TASK_COMMITMENT_GUID of the pub.MSP_Tasks table

    Probably there are some internal functions doing the matching doing syncs etc.

    Still two questions remain:

    • If I have the task.DeliverableGUID - how do I know the DeliverableId to call my OData query?
    • If I have the DeliverableId returned by OData, how do I know which task.deliverableGUID matches?

    If I try to use the function DeliverableDependencyCreate with the DeliverableId from OData, an error is returned. Same for all other internal functions concerning deliverables / dependencies as long as they are not given the GUID displayed in Project Pro.

    Monday, February 6, 2017 3:15 PM
  • I did not find a solution to the mapping questions.

    But we solved it in the past with creating a custom field on task level and then writing the task.DeliverableGUID in this Enterprise Custom Field. As an ECF can be queried using OData we could do the mapping with this workaround.

    • Marked as answer by Gáski Wednesday, July 17, 2019 8:43 AM
    Wednesday, July 17, 2019 8:43 AM