How can I remap a Software License to a different Software Model?

karstenvan
Mega Expert

Hi all,

I'm cleaning up software licensing records where a number of software licenses and software models have been create.   They were initially set up as one-to-one mappings, but I'm wanting to more accurately group the models, even when a particular model might map to more than one licenses (and next, to more than one contract).

However, there are mappings created on the software licenses to the old software models that are now read-only (on the Software License side).

I also can not delete a model unless I also delete the license it is associate to.

I'm wondering if there is a best practice for how to

a) delete models without having to delete the licenses they are associated with (ie.. remove the relationship)

b) repoint a software license to a different software model

Tables involved include:

alm_license_list

cmdb_software_product_model

Thanks.

1 ACCEPTED SOLUTION

Community Alums
Not applicable

Hi Karsten,


You cannot break this connections. This is by design to protect the records. There might be an approach you could take here, though.



So, if I understand your situation correctly, you currently have something like this:


SWModel A <-> SW License A


SWModel B <-> SW License B


SWModel C <-> SW License C



And you want to change this to be


SWModel A <-> SW License A


SWModel A <-> SW License B


SWModel A <-> SW License C


delete the extra models:


SWModel B


SWModel C



I have three ideas that could work here, and I list them here in the order that I recommend:


  1. Field Normalization - Configure a Normalization rule to Merge SWModel B and SWModel C into SWModel A. This will automatically repoint all the licenses to the merged record. You could use this normalization configuration to meet your need temporarily and then disable it. This would likely be the quickest way and most expedient way.
  2. Just recreate the licenses to point to the Model you want and delete the Licenses and then the Models you don't want. Is there information in the records you are trying to retain?
  3. The final, most convoluted way would be to work with Import Sets. You might be able to do something with the Easy Import, but I'm not entirely sure. I do know Import Sets can update the Model field, but you would need some way to coalesce the records. The other ways would be best.

View solution in original post

2 REPLIES 2

Community Alums
Not applicable

Hi Karsten,


You cannot break this connections. This is by design to protect the records. There might be an approach you could take here, though.



So, if I understand your situation correctly, you currently have something like this:


SWModel A <-> SW License A


SWModel B <-> SW License B


SWModel C <-> SW License C



And you want to change this to be


SWModel A <-> SW License A


SWModel A <-> SW License B


SWModel A <-> SW License C


delete the extra models:


SWModel B


SWModel C



I have three ideas that could work here, and I list them here in the order that I recommend:


  1. Field Normalization - Configure a Normalization rule to Merge SWModel B and SWModel C into SWModel A. This will automatically repoint all the licenses to the merged record. You could use this normalization configuration to meet your need temporarily and then disable it. This would likely be the quickest way and most expedient way.
  2. Just recreate the licenses to point to the Model you want and delete the Licenses and then the Models you don't want. Is there information in the records you are trying to retain?
  3. The final, most convoluted way would be to work with Import Sets. You might be able to do something with the Easy Import, but I'm not entirely sure. I do know Import Sets can update the Model field, but you would need some way to coalesce the records. The other ways would be best.

Thanks for the suggestions Ben.   This is indeed what I'm trying to accomplish.   Right now I'm leaning towards option 2 but that does   mean doing a non-trivial amount of data re-entry/remapping.   We'll have to be   I don't lose any updates that are in the live system.



The field normalization approach sounds interesting.   I'm not running it on the instances here so would have to install the plugins.   Based on your experiences with it, is it a safe and reliable addition to the config?   After a quick look at the wiki documentation, it looks like it could be pretty useful for a number of use cases.