Symantec IGA

 View Only
  • 1.  Get Approver ID in PX

    Posted Oct 10, 2016 05:09 PM

    I have a requirement to save the approver ID of a create user task to the users ldap entry.  Is it possible to get the approvers ID using a PX?  We can get the list of potential approvers, but I need the ID of the approver that actually approves the request.  Thanks in advance.



  • 2.  Re: Get Approver ID in PX
    Best Answer

    Broadcom Employee
    Posted Oct 11, 2016 08:44 AM
      |   view attached

    Hi

     

    I don't think you can get that information  in Policy xPress without querying the workflow tables. I have done similar things in the past using sql queries in Data Sources of PX to query workflow tables (if you are using jboss you need to query java:/iam/im/jdbc/jdbc/objectstore or WPDS db if you have a separate DB for workflow. You may also need to adjust the J2EE data source name if you are NOT using jboss).

     

    I don't know if this is the recommended way of doing what you need, I hope my services colleagues chime in. 

     

    In case you decide to go with querying workflow tables, the information you need is accessible in 2 tables:

     

    1. dbo.event12_5 table will contain a record any time an approval request is approved or rejected. Keep in mind that the record will only be created after the approval or rejection action has been taken on your request.

     

    query dbo.event12_5 table with the userID ({'getUserID'} is the User_ID attribute of the user that is being created) in the description field. This is how the query looks like in the Data Sources in PX:

     

    SELECT [tasksessionid] FROM [idmstore].[dbo].[event12_5] where [description] like '%{'getUserID'}%' and tasksessionid like '%:WPDS%'

     

    tasksessionid field value contains the WPDS Activity ID in front of ":WPDS" text.

     

    for example this is a sample value of the tasksessionid table field: 

    =users,ou=northamerica,dc=IdM,dc=com|1 4 1721:WPDS

     

    you need to then extract the number 1721 in front of the :WPDS string, that's the workflow activity ID (ACTI_ID) you need to use in further queries.

     

    2. then you need to query dbo.WP_ACTI_DATA with the ACTI_ID that you recovered from step 1. This is what the query will look like:

     

    SELECT [LU_ID], [VAR_VALUE] FROM [idmstore].[dbo].[WP_ACTI_DATA] where [ACTI_ID] = 1721 AND [VAR_NAME]= 'ACTION_PERFORMED'

     

    LU_ID column will contain the userID in the following format 7|jonri01 so you will need to get the substring after | character.


    VAR_VALUE will contain the action taken (approved or rejected).

     

    Attached please find screenshots of a sample policy xpress to help you get the data you need.

     

    Hope this helps.

    KR
    Russi

    Attachment(s)



  • 3.  Re: Get Approver ID in PX

    Posted Oct 11, 2016 09:08 AM

    Thanks, Russi!  This is useful, going to give it a shot.  Was really hoping it was going to be something simple



  • 4.  Re: Get Approver ID in PX

    Posted Oct 11, 2016 10:43 AM

    We've used BLTHs to the same effect. The BLTH needs to be attached to the approval task and it needs to update the user's (subject) attribute. The BLTH uses the getAdministrator command to get whoever executes the task then set it to the user's attribute.