Clarity

  • 1.  Delete Investments Job Failing

    Posted Oct 15, 2013 03:21 AM
    Hi all,

    we are running Clarity v. 13.0.1 and since a few days we are having issues with the scheduled Delete Investments Job. It is failing...

    I did some intensive debugging, but I could not found the root cause of this. This is part of the log:

    DEBUG 2013-10-15 09:04:52,307 [Dispatch pool-4-thread-3 : bg@CorStrCac101 (tenant=clarity)] niku.xql2 (clarity:unknown:-1:none) Error deleting ODF Object project
    com.niku.union.odf.exception.ODFServiceException: <?xml version="1.0" encoding="UTF-8"?>
    <deleteService type="java" componentId="odf" description="com.niku.odf.service.object.CustomObjectDeleteService" transaction="dbTransaction" xmlns="http://schemas.niku.com/2002/objectTypes"/>

    Caused by: id: odf.objectIllegalDelete location: type: error value:


    at com.niku.odf.object.Utils.execService(Utils.java:222)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2823)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2794)

    at com.niku.odf.service.CustomDeleteService.doDeleteSubObject(CustomDeleteService.java:163)

    at com.niku.odf.service.CustomDeleteService.doProcess(CustomDeleteService.java:83)

    at com.niku.odf.service.ODFActionService.processRequest(ODFActionService.java:86)

    at com.niku.union.service.binding.ServiceControlBindingJava.processRequest(ServiceControlBindingJava.java:58)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:749)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:211)

    at com.niku.odf.object.Utils.execService(Utils.java:208)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2823)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2794)

    at com.niku.xql2.odf.ODFRecordSet.delete(ODFRecordSet.java:821)

    at com.niku.xql2.jdbc.JDBCRecord.doDelete(JDBCRecord.java:522)

    at com.niku.xql2.odf.ODFRecord.doRealDelete(ODFRecord.java:357)

    at com.niku.xql2.odf.ODFRecord.delete(ODFRecord.java:340)

    at com.niku.xql2.handlers.DeleteHandler.postProcess(DeleteHandler.java:41)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1354)

    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:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:161)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:91)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:257)

    at com.niku.njs.xbl.XBLService.process(XBLService.java:127)

    at com.niku.njs.xbl.XBLService.process(XBLService.java:75)

    at com.niku.njs.listeners.XBLJob.scheduledEventFired(XBLJob.java:44)

    at com.niku.njs.Dispatcher$BGTask.run(Dispatcher.java:277)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)
    WARN 2013-10-15 09:04:52,308 [Dispatch pool-4-thread-3 : bg@CorStrCac101 (tenant=clarity)] niku.xql2 (clarity:unknown:-1:none) Failed to delete records from query referenced in select deleteODF :<?xml version="1.0" encoding="UTF-8"?>
    <deleteService type="java" componentId="odf" description="com.niku.odf.service.object.CustomObjectDeleteService" transaction="dbTransaction" xmlns="http://schemas.niku.com/2002/objectTypes"/>

    Caused by: id: odf.objectIllegalDelete location: type: error value:

    DEBUG 2013-10-15 09:04:52,309 [Dispatch pool-4-thread-3 : bg@CorStrCac101 (tenant=clarity)] niku.xql2 (clarity:unknown:-1:none) Processing catch for com.niku.union.odf.exception.ODFServiceException: <?xml version="1.0" encoding="UTF-8"?>
    <deleteService type="java" componentId="odf" description="com.niku.odf.service.object.CustomObjectDeleteService" transaction="dbTransaction" xmlns="http://schemas.niku.com/2002/objectTypes"/>

    Caused by: id: odf.objectIllegalDelete location: type: error value:

    com.niku.union.odf.exception.ODFServiceException: <?xml version="1.0" encoding="UTF-8"?>
    <deleteService type="java" componentId="odf" description="com.niku.odf.service.object.CustomObjectDeleteService" transaction="dbTransaction" xmlns="http://schemas.niku.com/2002/objectTypes"/>

    Caused by: id: odf.objectIllegalDelete location: type: error value:


    at com.niku.odf.object.Utils.execService(Utils.java:222)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2823)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2794)

    at com.niku.odf.service.CustomDeleteService.doDeleteSubObject(CustomDeleteService.java:163)

    at com.niku.odf.service.CustomDeleteService.doProcess(CustomDeleteService.java:83)

    at com.niku.odf.service.ODFActionService.processRequest(ODFActionService.java:86)

    at com.niku.union.service.binding.ServiceControlBindingJava.processRequest(ServiceControlBindingJava.java:58)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:749)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:211)

    at com.niku.odf.object.Utils.execService(Utils.java:208)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2823)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2794)

    at com.niku.xql2.odf.ODFRecordSet.delete(ODFRecordSet.java:821)

    at com.niku.xql2.jdbc.JDBCRecord.doDelete(JDBCRecord.java:522)

    at com.niku.xql2.odf.ODFRecord.doRealDelete(ODFRecord.java:357)

    at com.niku.xql2.odf.ODFRecord.delete(ODFRecord.java:340)

    at com.niku.xql2.handlers.DeleteHandler.postProcess(DeleteHandler.java:41)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1354)

    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:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:161)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:91)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:257)

    at com.niku.njs.xbl.XBLService.process(XBLService.java:127)

    at com.niku.njs.xbl.XBLService.process(XBLService.java:75)

    at com.niku.njs.listeners.XBLJob.scheduledEventFired(XBLJob.java:44)

    at com.niku.njs.Dispatcher$BGTask.run(Dispatcher.java:277)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)
    ERROR 2013-10-15 09:04:52,311 [Dispatch pool-4-thread-3 : bg@CorStrCac101 (tenant=clarity)] xql2.xbl (clarity:unknown:-1:none) Error while attempting to delete 5056280 (5055268)
    ERROR 2013-10-15 09:04:52,311 [Dispatch pool-4-thread-3 : bg@CorStrCac101 (tenant=clarity)] xql2.xbl (clarity:unknown:-1:none) com.niku.union.odf.exception.ODFServiceException: <?xml version="1.0" encoding="UTF-8"?>
    <deleteService type="java" componentId="odf" description="com.niku.odf.service.object.CustomObjectDeleteService" transaction="dbTransaction" xmlns="http://schemas.niku.com/2002/objectTypes"/>

    Caused by: id: odf.objectIllegalDelete location: type: error value:


    at com.niku.odf.object.Utils.execService(Utils.java:222)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2823)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2794)

    at com.niku.odf.service.CustomDeleteService.doDeleteSubObject(CustomDeleteService.java:163)

    at com.niku.odf.service.CustomDeleteService.doProcess(CustomDeleteService.java:83)

    at com.niku.odf.service.ODFActionService.processRequest(ODFActionService.java:86)

    at com.niku.union.service.binding.ServiceControlBindingJava.processRequest(ServiceControlBindingJava.java:58)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:749)

    at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:211)

    at com.niku.odf.object.Utils.execService(Utils.java:208)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2823)

    at com.niku.odf.object.ODFObjectImpl.delete(ODFObjectImpl.java:2794)

    at com.niku.xql2.odf.ODFRecordSet.delete(ODFRecordSet.java:821)

    at com.niku.xql2.jdbc.JDBCRecord.doDelete(JDBCRecord.java:522)

    at com.niku.xql2.odf.ODFRecord.doRealDelete(ODFRecord.java:357)

    at com.niku.xql2.odf.ODFRecord.delete(ODFRecord.java:340)

    at com.niku.xql2.handlers.DeleteHandler.postProcess(DeleteHandler.java:41)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1354)

    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:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:161)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:91)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:257)

    at com.niku.njs.xbl.XBLService.process(XBLService.java:127)

    at com.niku.njs.xbl.XBLService.process(XBLService.java:75)

    at com.niku.njs.listeners.XBLJob.scheduledEventFired(XBLJob.java:44)

    at com.niku.njs.Dispatcher$BGTask.run(Dispatcher.java:277)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)

    Does anyone already have experienced same issues? How can we solve this issue?

    Many thanks in advance!

    Cheers,
    Flo


  • 2.  RE: Delete Investments Job Failing

    Posted Oct 15, 2013 02:20 PM
    I take you have searched the forum for "delete investments", though does not have the same error in results.

    Is that all projects or can you delete something. Thinking of some specific data for the projects like transactions, financial data and such like.

    Martti K.


  • 3.  RE: Delete Investments Job Failing

    Posted Oct 16, 2013 02:16 AM
    Hi Martti,

    thank's for your reply...
    Sure, I went thru thie forum, but did not find any proper solution. Based on the error message, I assume it is because of a specific project:
    ERROR 2013-10-15 09:04:52,311 [Dispatch pool-4-thread-3 : bg@CorStrCac101 (tenant=clarity)] xql2.xbl (clarity:unknown:-1:none) Error while attempting to delete 5056280 (5055268)

    I thought the delete investment job is cleaning all the data in a project such as financial records, transactions and so on!?


  • 4.  RE: Delete Investments Job Failing

    Posted Oct 16, 2013 02:21 AM
    I thought the delete investment job is cleaning all the data in a project such as financial records, transactions and so on!?
    I am not sure about that and I had a recollection that there was a thread. Could not find it with quick search.

    If you run
    Purge Financial Tables job for that project that should help. Don't know what exactly that does either, but my recollection is that it was covered in the unfound thread.


    Martti K.


  • 5.  RE: Delete Investments Job Failing

    Posted Oct 16, 2013 02:36 AM
    I checked the Purge Financial Tables Job, but I cannot find the project which is causing issues.
    I can select out of two projects which are not marked for deletion. I also took a look at the other Purge Jobs, but also there I can not find my project...


  • 6.  RE: Delete Investments Job Failing

    Posted Oct 16, 2013 03:31 AM
    That is not the reson then.
    Nothing matching on the message boards.
    No helpful responses.

    Then remains open a case with support if you have not already done so.

    Martti K.


  • 7.  RE: Delete Investments Job Failing

    Posted Oct 17, 2013 09:56 AM
    Queries below are from the 12.06 delete investments job - they may help you identify what project is causing the problem.
    /* If any value is returned for the chosen project then it cannot be
    marked for deletion
    
    Queries below taken from projectPurgePMD.xml on server (modified to display a reason code)
    
    */
    
    declare @pid as integer
    
    set @pid = (select ID from srm_projects where unique_name = '80231')
    
    select x.project_id, project_code, reason
    from
    
    (
    
    SELECT isnull(1,0) Code, i.id as project_id, i.code as project_code, 
    
    convert(varchar, count(i.id)) + ' Time entries present' as reason
    
    FROM PRTimeentry E, PRTimesheet S, PRTask T, PRAssignment A, INV_INVESTMENTS I 
    
    WHERE 
    
    E.prAssignmentID = A.prID AND A.prTaskID = T.prID AND T.prProjectID = I.ID 
    
    AND E.prTimesheetID = S.prID 
    
    AND S.prStatus <> 0 AND S.prStatus <> 2 AND E.prActSum IS NOT NULL AND E.prActSum > 0
    
    AND I.ID = @pid
    
    GROUP BY
    
    i.id, i.code
    
    
    UNION 
    
    SELECT 2 Code, investment_id as project_id, project_code, 
    
    'In WIP' as reason 
    
    FROM PPA_WIP 
    
    WHERE investment_id = @pid
    
    
    UNION 
    
    SELECT 3 Code, srm.id as project_id, t.project_code, 
    
    'In Trans Control' as reason
    
    FROM PPA_TRANSCONTROL t INNER JOIN SRM_PROJECTS srm on t.project_code = srm.unique_name
    
    WHERE srm.id = @pid
    
    
    UNION 
    
    SELECT 4 Code,  srm.id as project_id, project_code,
    
    'Imported transactions' as reason
    
     FROM IMP_TRANSACTIONIMPORT t INNER JOIN SRM_PROJECTS srm on t.project_code = srm.unique_name
    
    WHERE srm.id = @pid
    
    
    UNION 
    
    SELECT 5 Code, id as project_id, code as project_code, 
    
    'Still active' as reason
    
     FROM INV_INVESTMENTS i
    
    WHERE IS_ACTIVE = 1 
    
    AND I.ID = @pid
    
    
    UNION 
    
    SELECT 6 Code,  inv_object_id as project_id, srm.unique_name as project_code,
    
    'Posted transactions' as reason
    
    FROM FIN_POSTED_TXNS t INNER JOIN SRM_PROJECTS srm on t.inv_object_id = srm.id
    
    WHERE INV_OBJECT_ID = @pid
    
    
    UNION 
    
    SELECT 7 Code, object_id as project_id, srm.unique_name as project_code, 
    
    'Other transactions' as reason
    
    FROM FIN_TXNS t INNER JOIN SRM_PROJECTS srm on t.object_id = srm.id
    
    WHERE OBJECT_ID = @pid
    
    
    UNION
    
    SELECT 8 Code, @pid as project_id, (select unique_name from srm_projects where id = @pid) as project_code, 
    
    'Partial allocation to other projects' as reason 
    
    FROM INV_HIERARCHIES 
    
    WHERE 
    
    (parent_id = @pid 
    
    OR 
    
    child_id = @pid) AND
    
    (DEFAULT_ALLOC_PCT <> 0 AND DEFAULT_ALLOC_PCT <> 1)
    
    
    ) as X


  • 8.  RE: Delete Investments Job Failing
    Best Answer

    Broadcom Employee
    Posted Oct 17, 2013 12:23 PM
    Hello flo_clarity,

    In addition to what has been said, if after this you still cannot find the reason for the issue, please find below a little checklist you can use to check your project:

    Please make sure that:
    1. The investment is inactive.
    2. The investment contains no WIP entries.
    3. The investment contains no non-zero time entries.
    4. The Financial Properties Status is set to "Closed".
    5. There are no process instances attached to this investment or tasks on the investment
    6. There are no requisitions attached to this investment.
    7. There is not a Participant Group on the project.

    Kind Regards
    Nika