XOG out a custom object which has multiple hierarchical l levels.
search cancel

XOG out a custom object which has multiple hierarchical l levels.

book

Article ID: 52312

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

It is sometimes required to XOG out only a particular sub-object or sub-sub-object in a multiple layered hierarchy without touching others. The issue is evident for the following case.

Case:

A system A has an object which has child objects and grandchild objects. The structure has been exported to other system B and it is in use. In system A, there are, for example, two grandchildren, GrandchildA and GrandchildB. A new grandchild, GrandchildC is added. It is required to export only newly added GrandchildC to the system B without touching other object at all.

The following is a typical example to xog out GrandchildC

<?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="contentPack" externalSource="NIKU">
<args name="no_dependencies" value="true"/>
- <!-- the contentType is used to determine which filter goes where -->
<args contentType="job_definition" name="order_by_1" value="code"/>
<args contentType="menu" name="order_by_1" value="code"/>
<args contentType="view" name="order_by_1" value="code"/>
<args contentType="process" name="order_by_1" value="code"/>
<args contentType="object" name="order_by_1" value="code"/>
</Header>
- <ObjectQuery>
<Filter name="object_code" criteria="EQUALS">GrandchildC</Filter>
</ObjectQuery>
</NikuDataBus>

What the above exports, however, are not only GrandchildC but also its parent, GrandchildA and GrandchildB as well. There is a risk these objects information in system.

A overrides the corresponding objects in the system B unintentionally.

Environment

XOG

Cause

A fix was added in Clarity 12.0.5 by adding a new argument to exclude parent,

<args name="exclude_parent" value="true"/>

Resolution

The usage of the new argument is just to add it at the end of the argument as below;

<args contentType="job_definition" name="order_by_1" value="code"/>
<args contentType="menu" name="order_by_1" value="code"/>
<args contentType="view" name="order_by_1" value="code"/>
<args contentType="process" name="order_by_1" value="code"/>
<args contentType="object" name="order_by_1" value="code"/>
<args name="exclude_parent" value="true"/>