Clarity

  • 1.  Audit trail for action item

    Posted Nov 28, 2011 04:46 PM
    I'm in proccess of setting up a proccess that have "Action items" of getting approvals, however, I want to return the resource that "approved" or "rejected" the item to the main object in a field so i can use it as a reference and can get the log and audit trail for this.
    is there any idea of how to do this?


  • 2.  RE: Audit trail for action item

    Posted Nov 29, 2011 10:22 AM

    sam_gasgous wrote:

    I'm in proccess of setting up a proccess that have "Action items" of getting approvals, however, I want to return the resource that "approved" or "rejected" the item to the main object in a field so i can use it as a reference and can get the log and audit trail for this.
    is there any idea of how to do this?
    We have a process that sends an action item. The process then holds and waits for that action item to be answered. After the action item was approved or rejected it goes down different paths. I use the following code to look at the action item to see who did what.

    What I noticed is that the entry in the table disappears after the process finishes so you are on the right track capturing it mid-process. You can then write that to a custom log table for use in reporting.
      
    <sql:query var="qry_process">
       Select
       InitCap(AI_STATUS_CODE),
       SRM.FULL_NAME Name
       From 
       NIKU.BPM_RUN_OBJECTS   BRO,
       NIKU.BPM_RUN_ASSIGNEES BRA,
       NIKU.SRM_RESOURCES
       SRM
       Where
       BRO.PK_ID          = ${myProcessId}
       And BRA.PK_ID      = BRO.SRC_PK_ID
       And SRM.User_ID    = BRA.USER_ID
       And AI_STATUS_CODE != 'CAL_OPEN'
    </sql:query>
    <core:forEach items="${qry_process.rowsByIndex}" var="row">
       <core:set var="V_STATUS">${row[0]}</core:set>
       <core:set var="V_NAME"  >${row[1]}</core:set>
    </core:forEach>


  • 3.  RE: Audit trail for action item

    Posted Nov 29, 2011 12:26 PM

    chris_shaffer wrote:

    sam_gasgous wrote:

    I'm in proccess of setting up a proccess that have "Action items" of getting approvals, however, I want to return the resource that "approved" or "rejected" the item to the main object in a field so i can use it as a reference and can get the log and audit trail for this.
    is there any idea of how to do this?
    We have a process that sends an action item. The process then holds and waits for that action item to be answered. After the action item was approved or rejected it goes down different paths. I use the following code to look at the action item to see who did what.

    What I noticed is that the entry in the table disappears after the process finishes so you are on the right track capturing it mid-process. You can then write that to a custom log table for use in reporting.
      
    <sql:query var="qry_process">
       Select
       InitCap(AI_STATUS_CODE),
       SRM.FULL_NAME Name
       From 
       NIKU.BPM_RUN_OBJECTS   BRO,
       NIKU.BPM_RUN_ASSIGNEES BRA,
       NIKU.SRM_RESOURCES
       SRM
       Where
       BRO.PK_ID          = ${myProcessId}
       And BRA.PK_ID      = BRO.SRC_PK_ID
       And SRM.User_ID    = BRA.USER_ID
       And AI_STATUS_CODE != 'CAL_OPEN'
    </sql:query>
    <core:forEach items="${qry_process.rowsByIndex}" var="row">
       <core:set var="V_STATUS">${row[0]}</core:set>
       <core:set var="V_NAME"  >${row[1]}</core:set>
    </core:forEach>
    Well, From what you tried, how would you run this query in the middle of the proccess? I mean, as you said, the information will disappear after the proccess finish, and in my case, the proccess will finish in a step after i got the approval, so i need to run a GEL script and put it in a step right away after the action item step in the proccess so i can get the log of who approve or who reject or whatever... we need that to implement the SAS70/SSAE16 gates, we are thinking of building these gates in our clarity, so I need to get all the details about tasks and who approves the tasks (I have to build a task level approval proccess).
    If anybodya have any idea or suggestion about that thing it will be great help for us!

    thnak you Chris!


  • 4.  RE: Audit trail for action item

    Posted Nov 29, 2011 12:42 PM
    Well, From what you tried, how would you run this query in the middle of the proccess? I mean, as you said, the information will disappear after the proccess finish, and in my case, the proccess will finish in a step after i got the approval, so i need to run a GEL script and put it in a step right away after the action item step in the proccess so i can get the log of who approve or who reject or whatever... we need that to implement the SAS70/SSAE16 gates, we are thinking of building these gates in our clarity, so I need to get all the details about tasks and who approves the tasks (I have to build a task level approval proccess).
    If anybodya have any idea or suggestion about that thing it will be great help for us!

    thnak you Chris!

    You are on the right track. The approval data is cleared out at the end of the process. Our process is laid out like this (simplified)

    <start process>
    Step 1 - Create Action Item - This goes to a resource on the project and asks them to approve or reject it.

    The process is in a waiting state until the resource approves or rejects it.

    Step 2 - GEL Script to record the audit - This is where the script I referenced above is used to read the out of the box clarity table. Since the process is still "running" at this point, the data in the table is referenced and we can see that John Smith approved his action item. In a separate script (not shown) after that, we do a simple sql update to update a custom Z_PROCESS_AUDIT table that houses who the action item was sent to, and the result. Since this is 100% custom, you can add project id's, task id's, whatever else you want to track for your reporting needs.
    <end of process>

    I hope that helped.


  • 5.  RE: Audit trail for action item

    Posted Nov 30, 2011 09:28 AM
    so,
    in the 2nd step, we have to save our data (action Item status and data) into a DataBase table ( a customized table that we need to creat) and in the step following it (for example step 3) we have to update the table that we have with the other information that wwe need to audit, is that what you mean?

    Thanks !


  • 6.  RE: Audit trail for action item

    Posted Dec 01, 2011 09:50 AM
    I would probably combine step 2 and 3 since the variable would be lost between steps unless you persisted them. I found it is always good to lump them together.

    Step 1 - Send Action item

    <Decision>

    Step 2 - Get who approved/rejected it, update audit table, and any other scripts you want in one.


  • 7.  RE: Audit trail for action item

    Posted Dec 01, 2011 06:53 AM
    so, through your experience, you think that creating new object that store the data is better? or just store them in table or custom portlet?

    thnak you!


  • 8.  RE: Audit trail for action item

    Posted Dec 01, 2011 08:21 AM

    sam_gasgous wrote:

    so, through your experience, you think that creating new object that store the data is better? or just store them in table or custom portlet?
    thnak you!
    I think a custom table for reporting would allow you to do direct sql inserts that do not violate your support agreement with CA. I believe you can tie a portlet to a custom table (sorry, I do not do that many portlets). If you did a new object, you would have to xog them in. It is doable but it is more up to you to determine the use and volume and effort you are willing to put forward.


  • 9.  RE: Audit trail for action item

    Posted Dec 02, 2011 06:40 AM
    so, will clarity let me creat a custom table into it from a proccess or i have to creat it in the database first then update the information into it? am asking that because I do not have direct access to the database since we are ondemand users!

    thanks alot!


  • 10.  RE: Audit trail for action item

    Posted Dec 09, 2011 11:50 AM
    Hey Chris,
    I was trying this today and i got an error meg saying that these tables dese not exist
    " table or view does not exist at org.apache.commons.jelly.tags.sql.QueryTag.doTag(QueryTag.java:194) at org.apache.commons.jelly.impl.TagScript.run(TagScript........ etc"
    that waspoart of the error msg in the proccess.

    any idea about that?