cancel
Showing results for 
Search instead for 
Did you mean: 

Change MSKEYVALUE / name of entrytype

Steffi_Warnecke
Active Contributor
0 Kudos

Hello there,

I'm back with another question! 🙂

I want to change the name of an existing entrytype, because the current one is not really meaningful and I like readable names/mskeyvalues for my IDM stuff.

Does anybody have experience with this?
I haven't found a simple way to do this yet (no table, just a view and no way in the MMC). I had expected this to be a mskeyvalue (like for attributes etc), but it looks like it's more complicated.

Is the only solution to create a new entrytype and re-map the entries of the old entrytype to the new? Or am I missing something?

Or should I leave it alone completely? I'm spring-cleaning my IDM - so to speak - and this is part of my list to redo. So it's not really a must, but a big "nice to have".

.

Regards,

Steffi.

Accepted Solutions (1)

Accepted Solutions (1)

brandonbollin
Active Participant
0 Kudos

matt.pollicove's answer is probably the easiest. Another way you could do this, which would be a little friendlier to die-hard SAP best practice people, is to create a new attribute with the name you desire and then go into the MXI_ENTRY table and update all existing entries with the new name and ID of the new attribute.

In my current client's environment, we created a client that needed to be superior to MX_PERSON but didn't do that when we created the attribute. Once you create a new attribute, you cannot add this ability later so we had to do this process in order to get the linking capabilities we wanted.

Steffi_Warnecke
Active Contributor
0 Kudos

Hello Brandon,

but an attribute is different from an entrytype. Why would we change the name of an entrytype to that of an attribute? Or do you do that as a kind of workaround? You just use the id and name as a template - kind of - to put over the existing data of the entrytype?

.

Regards,

Steffi.

brandonbollin
Active Participant
0 Kudos

Crap... Just go and replace everywhere I said, "attribute" with, "entry type". You'll notice I mentioned having to make the setting for superiority to MX_PERSON so I honestly meant to say, "entry type" all those times I said, "attribute". Sorry about that.

Steffi_Warnecke
Active Contributor
0 Kudos

Ah, no worries. 😄 Now it makes more sense though.

That's kind of what I asked anthony.kane:

What if we create a new entrytype with the same attributes, references etc. Is there a way to re-reference IDM objects created with the old entrytype to the new one? Like a migration of objects from one type to another?
brandonbollin
Active Participant

So the answer would be yes. You create the new entry type with the new name, all the same attributes and then update the existing records with the new entry type ID and name via SQL update command. I have done this, albeit in a DEV environment, and it worked.

Steffi_Warnecke
Active Contributor

Being on 8.0 now (in the midst of upgrade to be precise), we'll do exactly this (when all this upgrade fun is done), as my consultants have proposed the same workaround: creating a "copy" of the old entrytype with the correct name and then reassigning all existing content to it.

.

Thanks for the help, guys!

.

Regards,

Steffi.

PS: Now I can see a lot of irony in the official SAP answer by @anthony.kane:

As per SAP Note 2274719 - IdM Support Scope, direct updates on the DB should only be executed when explicitly advised by IDM Support/Development.

because in 8.0 you need to do sooo much more customizing/administration directly in the db, because the old ways via MMC are no more. ^^

Answers (3)

Answers (3)

former_member2987
Active Contributor

Steffi,

The good news is that it was easier than I expected. The bad news is you might not like the process.

As you noticed, there doesn't seem to be a way in IDM to do this directly. It's not like trying to update an MSKEYVALUE.

You'll need to go into the DB to do this, but it does work quite nicely. I tested this in MSSQL, but I did not try it in Oracle (Sorry!).

Execute the following query:

update mxi_objectclasses 
set ocNAME = '[YOUR NEW ENTRYTYPE NAME' 
where ocID=[ENTRYTYPE ID]

You can find the Entry Type ID in the MMC console.

The good news is that there were not constraint violations and it went through without a hitch. Looking back at my MSSQL Management console, I noticed that I'm logged in as MXMC_OPER, which could be an issue.

Of course, this advice is given with no warranty, and I'd check with the DBA, run backups, etc., etc.

Hope it helps!

Matt

(emphasis is for my protection, I know you know better)

Steffi_Warnecke
Active Contributor
0 Kudos

Thanks, Matt!

I'm on MSSQL since last year, so all good. ^^ And I have access to the oper, so no worries here, either. I will test this in my test system to be sure.

I really wonder why they hide this so much that you need to update the table in the database directly. 😕

Do you know if this is easier in 8.0? Would be the first time they simplified something from 7.2 to 8, but you never know...

.

Regards,

Steffi.

former_member2987
Active Contributor
0 Kudos

Hi Steffi,

Not 100% sure why this is set up this way, but my guess is that the developers did not want to make the entry type object be the same (probably for design and not accessibility) as other IDM objects.

Anyway, I hope this works for you!

Matt

Hi Steffi,

I would like to add something here. An OSS ticket has been raised which referenced this thread. So I thought I would append a response.

I checked this with the Development team, they have advised against making direct updates on the DB.

As per SAP Note 2274719 - IdM Support Scope, direct updates on the DB should only be executed when explicitly advised by IDM Support/Development.

Entry type name should not be changed after they are created, and there is no UI or standard function to do it. Instead if customers feel the display name of it(shown in web UI) is not proper, they can change its display name in MMC/Eclipse.

I hope this clarifies the issue.

Kind regards,

Anthony

Steffi_Warnecke
Active Contributor
0 Kudos

Hello Anthony,

thank you for an official SAP reply. 🙂

I have changed the displayname, but that is more cosmetics. We work with the entrytype name in sql statements etc quite a lot and it's not really representing the entrytype content. That's why we wanted to change it.

What if we create a new entrytype with the same attributes, references etc. Is there a way to re-reference IDM objects created with the old entrytype to the new one? Like a migration of objects from one type to another?

.

Maybe I should also point out, that I'm not talking about an entrytype that is delivered with IDM, but a custom entrytype.

.

Regards,

Steffi.

former_member2987
Active Contributor
0 Kudos

Oh Steffi, why do you do things like this to me? How do I possibly resist a challenge like this?????

I'll have to play around with this one. It's all in the DB somewhere. I suspect some writing will come of this so that's a good thing. 🙂

Your friendly neighborhood IDM Hacker (White Hat),

Matt

Steffi_Warnecke
Active Contributor
0 Kudos

Narghs, I had hoped you have done this before and it would be totally easy! 😉

I don't know if my perfectionism is a good reason for a lot of risk by poking around in the database. Really wonder why this seems so complicated though. I mean, for attributes, which are an important part of every entry, you can just change the mskeyvalue and done.

.

Regards,

Steffi.

PS: Just to be clear (since last time this was overlooked), I'm still on lovely 7.2. ^^