ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

How to XOG the same Role several times

book

Article ID: 132543

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

It is possible to add several times the same Role to the Team on a given Project.

When this is done via the UI, the Resource/Role displays as the Requirement Name, which is the Role Name plus a number.
For instance, if we are adding serveral times the "Architect" role:

Architect (n)

<Please see attached file for image>

User-added image

How can new instances of this Role or those existing instances to be modified via XOG?

Environment

Release:
Component: PPMPRD

Resolution

If there is a requirement to modify/add via XOG several instances of the same Role on a given Project, it is necessary to specify a teamID.

For instance, adding/modifying several times the Architect role:
 
<Resource availFrom="2019-04-23T08:00:00" availTo="2019-05-13T17:00:00" bookingStatus="5" capitalPercentage="0" defaultAllocation="0.5" isProjectManager="false" lastUpdatedBy="admin" lastUpdatedDate="2019-05-23T11:53:45" openForTimeEntry="true" projectRoleID="csk.architect" resourceID="csk.architect" teamId="csk.architect">
          <Baselines/>
          <AllocCurve/>
          <CustomInformation>
            ...
          <SkillAssocs>
            ...
          </SkillAssocs>
        </Resource>

...
 <Resource availFrom="2019-04-23T08:00:00" availTo="2019-05-13T17:00:00" bookingStatus="5" capitalPercentage="0" defaultAllocation="0.3" isProjectManager="false" lastUpdatedBy="admin" lastUpdatedDate="2019-05-23T11:53:45" openForTimeEntry="true" projectRoleID="csk.architect" requirementName="Architect (2)" resourceID="csk.architect" teamId="csk.architect:1">
          
        </Resource>
...
 <Resource availFrom="2019-04-23T08:00:00" availTo="2019-05-13T17:00:00" bookingStatus="5" capitalPercentage="0" defaultAllocation="0.3" isProjectManager="false" lastUpdatedBy="admin" lastUpdatedDate="2019-05-23T11:53:45" openForTimeEntry="true" projectRoleID="csk.architect" requirementName="Architect (3)" resourceID="csk.architect" teamId="csk.architect:2">
 ...       
        </Resource>
 <Resource availFrom="2019-04-23T08:00:00" availTo="2019-05-13T17:00:00" bookingStatus="5" capitalPercentage="0" defaultAllocation="0.3" isProjectManager="false" lastUpdatedBy="admin" lastUpdatedDate="2019-05-23T11:53:45" openForTimeEntry="true" projectRoleID="csk.architect" resourceID="csk.architect" teamId="csk.architect:100">
...
        </Resource>


The teamID is basically built by adding the resourceID value plus a "number". 
When this is done via the UI, the requirementName attribute is set "Role Name (number)" and the teamID is set to the "Role ID:[number-1]"

 

Additional Information

For adding new roles, a random "non existing" teamID can be set. For isntance,"csk.architect:100".
To modify those roles, the corresponding teamID needs to be set via XOG.
This attribute is not displayed in the UI, so a XOG out of the project (including allocations) needs to be done to check the teamID of the specific Resoure Allocation.

Additionally, this can be checked in the database.
The database table/column where this gets stored is:
PRTEAM/TEAM_UID

A query as follows would displayed the values for a given project:

select PRUID,PRPROJECTID,PRRESOURCEID,REQUIREMENT_NAME,TEAM_UID from prteam where prprojectid = '<investment_ID_for_the_project>'

#    PRUID    PRPROJECTID    PRRESOURCEID    REQUIREMENT_NAME    TEAM_UID
1    prteam5016001    5,012,012    1    [NULL]    admin
2    prteam5017032    5,012,012    5,002,005    [NULL]    csk.architect
3    prteam5017033    5,012,012    5,002,005    Architect (2)    csk.architect:1
4    prteam5017034    5,012,012    5,002,005    Architect (3)    csk.architect:2
5    SI4d57acee:16ac4eb8514:-7ff9    5,012,012    5,002,005    [NULL]    csk.architect:100


To check the teamID (TEAM_UID) via the Clarity PPM UI a custom portlet based on a NSQL query fetching this column could be built.

Attachments

1559050700028000132543_sktwi15okjw436388.png get_app