Unable to update OBS instance rights to a custom subobject instance by XOG
search cancel

Unable to update OBS instance rights to a custom subobject instance by XOG

book

Article ID: 191720

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

STEPS TO REPRODUCE:
1. Studio > Objects
2. Create a subobject for the Company object (it happens to all subobjects regardless of Master Object) called subcompany
3. Home > Financial Management > Companies
4. Create a Company: Broadcom
5. Create a subobject instance 
6. On the properties tab go to Access to this object > OBS Unit
7. Add the exit and view rights over an OBS Unit
 
8. XOG read the instance using the custom_object_instances_read.xml file

<?xml version="1.0" encoding="UTF-8"?>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
  <Header version="8.0" action="read" objectType="customObjectInstance" externalSource="NIKU"/>
  <CustomObjectInstanceQuery>
    <Filter name="objectCode" criteria="EQUALS">subcompany</Filter>
    <Filter name="instanceCode" criteria="OR">sub1</Filter>
  </CustomObjectInstanceQuery>
</NikuDataBus>

9. Check the output (OBS Unit level access rights have been XOGed out)

<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_customObjectInstance.xsd"><Header action="write" externalSource="NIKU" objectType="customObjectInstance" version="15.6.1.265"/><customObjectInstances objectCode="subcompany"><instance instanceCode="sub1" objectCode="subcompany" parentInstanceCode="BCMLT" parentObjectCode="company"><CustomInformation><ColumnValue name="odf_parent_id">5000000</ColumnValue><ColumnValue name="partition_code">NIKU.ROOT</ColumnValue><ColumnValue name="name">sub1</ColumnValue><ColumnValue name="odf_cncrt_parent_id">5000000</ColumnValue><ColumnValue name="code">sub1</ColumnValue></CustomInformation><OBSAssocs complete="false"/><Security><OBSSecurity name="Organizational" rightCode="odf_cst_subcompany_edit" rightMode="OBS_UNIT_AND_CHILDREN" typeCode="organizational" unitPath="/All Groups"/><OBSSecurity name="Organizational" rightCode="odf_cst_subcompany_view" rightMode="OBS_UNIT_AND_CHILDREN" typeCode="organizational" unitPath="/All Groups"/><UserSecurity rightCode="odf_cst_subcompany_edit" userName="admin"/></Security></instance></customObjectInstances><XOGOutput> <Object type="customObjectInstances"/> <Status state="SUCCESS"/> <Statistics insertedRecords="0" failureRecords="0" totalNumberOfRecords="1" updatedRecords="0"/> <Records/> </XOGOutput></NikuDataBus>

10. Add the Security complete = “true” tag

<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_customObjectInstance.xsd"><Header action="write" externalSource="NIKU" objectType="customObjectInstance" version="15.6.1.265"/><customObjectInstances objectCode="subcompany"><instance instanceCode="sub1" objectCode="subcompany" parentInstanceCode="BCMLT" parentObjectCode="company"><CustomInformation><ColumnValue name="odf_parent_id">5000000</ColumnValue><ColumnValue name="partition_code">NIKU.ROOT</ColumnValue><ColumnValue name="name">sub1</ColumnValue><ColumnValue name="odf_cncrt_parent_id">5000000</ColumnValue><ColumnValue name="code">sub1</ColumnValue></CustomInformation><OBSAssocs complete="false"/><Security complete ="true"><OBSSecurity name="Organizational" rightCode="odf_cst_subcompany_edit" rightMode="OBS_UNIT_AND_CHILDREN" typeCode="organizational" unitPath="/All Groups"/><OBSSecurity name="Organizational" rightCode="odf_cst_subcompany_view" rightMode="OBS_UNIT_AND_CHILDREN" typeCode="organizational" unitPath="/All Groups"/><UserSecurity rightCode="odf_cst_subcompany_edit" userName="admin"/></Security></instance></customObjectInstances><XOGOutput> <Object type="customObjectInstances"/> <Status state="SUCCESS"/> <Statistics insertedRecords="0" failureRecords="0" totalNumberOfRecords="1" updatedRecords="0"/> <Records/> </XOGOutput></NikuDataBus>

Expected results: The OBS Unit access rights to remain. If new rights are present on the xml file, those to be added and non specified ones to be removed
Actual results: The OBS Unit rights present in the UI are deleted and no right is added as per the xml file.

Cause

This is caused by DE55308

Resolution

This is fixed in 15.9.1

Additional Information

ADDITIONAL INFO:
complete="true" is supposed to delete the rights and create the rights for whatever is present in xog input