Sounds like you were trying to read the application object and the instances with the same input file.
Use the content pack to read the object definitions, something like
<?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">
<!-- 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">application</Filter>
</ObjectQuery>
</NikuDataBus>
and
inv_applications_read.xml
to read the application instances.
Using a between operator for the ID's allows you to read the instances in batches.
Like
<Filter name="objectID" criteria="BETWEEN">a,b</Filter>