on 03-17-2014 3:15 PM
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
Pradeep,
What are you doing when this error occurs? Is it a reconcile job? Part of a workflow?
Thanks,
Matt
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.
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
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
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.
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
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 |
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.