cancel
Showing results for 
Search instead for 
Did you mean: 

How to trigger event when changed two or more parameters of MX_PERSON?

Former Member
0 Kudos

Hello all,

I have IDM 7.2 SP8 Patch3, Windows+Oracle 11G.

I need run customer Provisioning job when changed both parameters of MX_PERSON:

MX_FS_POSITION_ID and MX_ORGANIZATION_ID.

Sorry for such goofy question, but I can't really understand how to check that both parameters were changed.

Best regards,

Natalia.

Accepted Solutions (0)

Answers (2)

Answers (2)

Steffi_Warnecke
Active Contributor
0 Kudos

Hello Natalia,

quite confusing. I'm still trying to understand all that ID-stuff, too. ^^

When you take one of those audit-IDs and check it in the provisioning audit-view of the Monitoring-tab for the IDM-admin, do you get a parent task (and with it an audit-id) for it there?

Regards,

Steffi.

terovirta
Active Contributor
0 Kudos

Do you really need to run a job instead of task? How is that job triggered? Just scheduled with enough frequency?

So, having a source SQL that returns all the MSKEYs that have both attributes changed with same audit id and changed after the last execution of the job? The destination would be just the call to your custom task.

Event task would be easier, just a change event of mx_person and query with SQL what attributes were changed in the current audit and trigger the custom provisioning task.

regards, Tero

Former Member
0 Kudos

Dear Tero Virta,

thanks for answer!

I want to run Task which will trigger when attribute MX_POSITION_ID will be changed:

In provisioning Task "Change position" I already add conditional task

To check whether attribute 'MX_FS_ORGANIZATION_ID" was changed I used query:

select count(mskey)  from idmv_ovalue_basic_all

where

attr_id='907'

and mskey=%MSKEY%

and auditid=%AUDITID%

But I see that AUDITID is already differ for MX_ORGANIZATION_ID changing and for MX_POSITION_ID changing.

So, I up a gum...

Could you please tell me how can I know from queries that my parameter MX_ORG.._ID was changed in same time as MX_POSITION_ID, if auditid is different.

Or I do something wrong...

Best regards,

Natalia.

Steffi_Warnecke
Active Contributor
0 Kudos

Hello Natalia,

I think, you should check the parent audit ID (refaudit in Mxp_Audit) here. That one should be the same for these two, if they were changed by the same event.

Regards,

Steffi.

Former Member
0 Kudos

Hello Steffi,

parentauditid=0 for all of these strings:

select attrname,auditid,parentauditid,modifytime

from idmv_ovalue_basic_all

where mskey=49

and modifytime=to_date('10.02.2014 16:09:09','dd.mm.yyyy hh24:mi:ss')

order by modifytime desc

the output:

All these changes come from HCM system at the same moment, but auditid values are different.

Best regards,

Natalia.

terovirta
Active Contributor
0 Kudos

Natalia Smirnova wrote:

Hello Steffi,

parentauditid=0 for all of these strings:

select attrname,auditid,parentauditid,modifytime

from idmv_ovalue_basic_all

where mskey=49

and modifytime=to_date('10.02.2014 16:09:09','dd.mm.yyyy hh24:mi:ss')

order by modifytime desc

the output:

All these changes come from HCM system at the same moment, but auditid values are different.

Best regards,

Natalia.

Sorry Natalia,

I was assuming too much then If the parent audit id is 0 that doesn't sound right / sounds like a bug.

Only things that come to mind are two hacks:

a) checking if the attributes have close enough modifytime

b) saving the new value to custom attribute z_organization_id_new and z_position_id_new, then in the event task of change mx_person check the values from "_new" attributes and trigger the workflow if needed. But remember also to set the value from the "_new" attribute to the actual attribute and clear the "_new" attribute in the end.

regards, Tero