Hi, I am trying to xog in transactions using the following code
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_inboundTransaction.xsd">
<Header version="12.0" action="write" objectType="transaction" externalSource="ORACLE-FINANCIAL" />
<Transactions>
<Transaction actualCostRate="4444" actualCostRateCurrency="USD" billRate="4444" billRateCurrency="USD" chargeCode="billable" chargeable="1" inputTypeCode="Billable" projectID="103000" externalID="200005" resourceID="braden" roleID="BC" taskID="5000953" transactionDate="2015-01-23" transactionType="L" units="10" >
</Transaction>
</Transactions>
</NikuDataBus>
However, I am get the following XML error:
<XOGOutput xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/status.xsd">
<Object type="transaction"/>
<Status elapsedTime="0.037 seconds" state="FAILURE"/>
<Statistics failureRecords="1" insertedRecords="0" totalNumberOfRecords="1" updatedRecords="0"/>
<Records>
<Record>
<KeyInformation>
<column name="externalID">200005</column>
<column name="projectID">103000</column>
<column name="transactionDate">2015-01-23T00:00:00</column>
</KeyInformation>
<ErrorInformation>
<Severity>FATAL</Severity>
<Description>Inbound Transaction Object Insert failed</Description>
<Exception><![CDATA[
java.lang.Exception: The Task ID 5000953 Provided is Invalid.
at com.niku.xog.util.XOGContinueHandler.postProcess(XOGContinueHandler.java:36)
at com.niku.xql2.handlers.BaseHandler.postProcess(BaseHandler.java:48)
at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1419)
at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)
at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)
at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)
at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:54)
Any idea how to fix this?
Thanks
Joost
There is another way to check that without a query.
I take you are trying to write the transaction on an existing task.in an existing project. If not then you would have to create those first.
In the GUI open the properties of that project.
Look at the URL
does it say that the project ID is 103000 or is that the Id the that is displayed in the properties.
THen do the same with the task for which you are going to write the transaction, open the the properties and look what task ID is in the URL.
That would have to be 5000953 for writing the transaction with that ID. in the XML.