cancel
Showing results for 
Search instead for 
Did you mean: 

Error in clearing attribute MX_INACTIVE

Former Member
0 Kudos

Hello Experts,

SAP IDM 7.1 , SP7

Database Oracle

I am trying to set empty value to attribute 'MX_INACTIVE'  for a user but I get below error.

Error

putNextEntry failed storing<USERID>

Exception from Modify operation:com.sap.idm.ic.ToPassException: ToIDStore.modEntry failed modifying entry <USERID>. IDStore returned error message: "DATABASE EXCEPTION:java.sql.SQLException: ORA-01422: exact fetch returns more than requested number of rowsORA-06512: at "MXMC_OPER.MX_UTILSETATTRIBUTE", line 1203ORA-06512: at "MXMC_OPER.MXI_SET_MEMBER_ATTR", line 152ORA-06512: at "MXMC_OPER.MXI_DISABLEORENABLEREFS", line 49ORA-06512: at "MXMC_OPER.MX_UTILSETATTRIBUTE", line 1633ORA-06512: at line 1" when clearing attribute MX_INACTIVE

Normally this error should appear for the user if MX_INACTIVE has more than one entry.

But this attribute is single value attribute and has value as '1' for this user in  DB (View MXIV_ALL_SENTRIES).

I tried with both option as shown below but it did not work. It used to work earlier but suddenly giving error for this user.

MX_INACTIVE = {R}

OR

MX_INACTIVE = {D}

I don't know why this error comes up when executing job for updating below attributes.

Kindly advise .

P.S.: I checked earlier posts as well but did not see relevant post for this issue.

Regards,
Pradeep

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member2987
Active Contributor
0 Kudos

Pradeep,

What are you doing when this error occurs? Is it a reconcile job? Part of a workflow?

Thanks,

Matt

Former Member
0 Kudos

HI Matt,

This job is to re-activate the user in IDM . This is not part of workflow tasks.

Regards,

Pradeep

Former Member
0 Kudos

Hi Pradeep,

Can you try to split it into two passes.

In the first pass, remove the MX_INACTIVE flag with {R} or {D} for the MSKEYVALUE and also move the attribute changetype = modify above the MX_INACTIVE attribute.

and in the second pass, set the other attributes like employment status and reason.

I guess in IDM 7.1 there are some limitations on MX_INACTIVE attribute.Some one correct me if I am wrong.

~Krishna.

Former Member
0 Kudos

HI Krishna,

I did the same as you suggested but still there is same error.

Without MX_INACTIVE attribute, job runs fine.

Issue is in updating MX_INACTIVE attribute.

Regards,

Pradeep

Former Member
0 Kudos

Hi Pradeep,

Can you post the oracle query you are using in the source tab. I guess the query is returning more than one row.

Have a look @ this http://www.techonthenet.com/oracle/errors/ora01422.php

This might help.

Regards,

Krishna.

Former Member
0 Kudos

Hi Krishna,

Thanks for your effort.

source tab has below query.

select * from re_activate_user

This is a table created temporarily to store user ids read from csv file

This should not be relevant for this error,

as user's other attributes in this pass get updated (if MX_INACTIVE is disabled).

Only MX_INACTIVE attribute is not getting updated but throws error.

Regards,

Pradeep

Former Member
0 Kudos

Hi Pradeep,

First can you check how many records you have in table mxi_values for this user(for MX_INACTIVE or other single value attribute), for example:(select * from mxi_values where mskey = %MSKEY% - and here you can check if some of the single value attributes is duplicated). Then into the same table mxi_values you can check column DISABLED, if you have values 1 set for some attributes you have to set them to 0, before reactivation the user.

Kind Regards,

Simona Lincheva

Former Member
0 Kudos

Hi Pradeep,

Can you list all the attributes assigned to that particular user to whom you are trying to set the MX_INACTIVE flag and see if any attribute is duplicated as simona suggested.

I have tried to simulate the issue you are facing. for a user with mskeyvalue 'UMAL987A' i have set MX_INACTIVE = 1.

Then I have inserted another record for the same user as MX_INACTIVE = 1 and tried to reactivate the user. I am getting similar issue what you are getting. Since my DB is sql, the error is different but similar.

Error.

I wrote the below query in 7.2 sp08 to get the list of attributes for a user

select b.AttrName from MXI_VALUES a with(nolock)

INNER JOIN MXI_Attributes b with(nolock)

on a.Attr_ID=b.Attr_ID where a.MSKEY=<MSKeyofuser> order by b.AttrName asc

Create a similar query for 7.1 sp07 and check for the attributes of that particular user.

~ Krishna.

Former Member
0 Kudos

HI Simona,

Thank you for reply.

I get error for updating attribute MX_INACTIVE for the user, so I think other attribute should be reason for this error.

however, I ran your query and see that  column 'DISABLED'  is set to 1 for all attributes  which I think would happen when user was deactivated.

I see that single value attributes including MX_INACTIVE does not have more than one value for the user.

Regards,

Pradeep

Former Member
0 Kudos

HI Krishna,

Thank you for your analysis.

My case is different here.

Attribute MX_INACTIVE has only one value for the user but error still occurs.

I ran the query and below attribute comesup.

You will see that attribute MX_INACTIVE has only one entry for the user but error indicates that user has multiple entries(values) for the user which is not true.

I checked both tables mxi_values and mxiv_all_sentries.

ACCOUNT<SID1>
ACCOUNT<SID2>
ACCOUNT<SID3>
ACCOUNT<SID4>
ACCOUNT<SID5>
DISPLAYNAME
EMPLOYEETYPE
MSKEYVALUE
MXREF_MX_PRIVILEGE
MXREF_MX_PRIVILEGE
MXREF_MX_PRIVILEGE
MXREF_MX_PRIVILEGE
MXREF_MX_PRIVILEGE
MXREF_MX_PRIVILEGE
MXREF_MX_ROLE
MX_ADDRESS_COUNTRY
MX_ADMIN_UNIT
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOPRIVILEGE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_AUTOROLE
MX_COMMUNICATION_LANGUAGE
MX_COMMUNICATION_METHOD
MX_DATEFORMAT
MX_ENCRYPTED_PASSWORD
MX_ENTRYTYPE
MX_FIRSTNAME
MX_FS_COST_CENTER_ID
MX_FS_EMPLOYEE_GROUP_ID
MX_FS_EMPLOYEE_SUBGROUP_ID
MX_FS_EMPLOYMENT_STATUS
MX_FS_PERSONNEL_AREA_ID
MX_INACTIVE
MX_LANGUAGE
MX_LASTNAME
MX_MAIL_PRIMARY
MX_NUMBERFORMAT
MX_PASSWORD
MX_PHONE_PRIMARY
MX_PRINTERSETTINGS_SPDA
MX_PRINTERSETTINGS_SPDB
MX_PRINTERSETTINGS_SPLD
MX_TIMEZONE
MX_USERTYPE
MX_USER_CATEGORY
SAP_CHANGENUMBER
<COUNTRY>
<GLOBAL_ID>

<SUPERVISOR>

Regards,

Pradeep