- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2018 06:11 AM
All,
I am attempting to change the 'Change Source' field on Change Requests to be a multi-select field to accommodate cases where the change source of a change request has more than one task type.
Thus far I have tried to change the Type of change source to 'choice' and 'list' but have not much luck in making the field act as a reference and multi-select field.
Any suggestions or advice would be greatly appreciated!
Solved! Go to Solution.
- Labels:
-
Change Management

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2018 06:19 AM
Best practice is to avoid changing field types on existing fields. Instead, create a new field, migrate the data, and deactive the old field.
In your case, create a list field that references the task table, then copy over the sys_ids for the original field to the new list field. When that's done, update the dictionary entry on the reference field and set it to active=false.
The reason you don't want to do this for reference-> list field is because the length of the reference field is 40. The list field needs more than that if you want to store more than one sys_id, which you do. When you create a new list field, then length is plenty long (1024).
Let me know if you have any questions.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2018 06:17 AM
Hi,
Changing the field type as list directly for reference would always throw invalid update error, because some records contains the field is not empty.
So, if you do not need the data, then empty with background script and then try to change the field type. It will & should work.
If you need the data, then create a new field, move the data to that field then delete the old field.
Thanks,
Jaspal Singh
Hit Helpful or Correct on the impact of response.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2018 06:20 AM
I suggest simply de-activing the old field and not deleting it. That way if you have workflow in progress, business that reference, etc. they still work while the data is being deprecated.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2018 06:19 AM
Best practice is to avoid changing field types on existing fields. Instead, create a new field, migrate the data, and deactive the old field.
In your case, create a list field that references the task table, then copy over the sys_ids for the original field to the new list field. When that's done, update the dictionary entry on the reference field and set it to active=false.
The reason you don't want to do this for reference-> list field is because the length of the reference field is 40. The list field needs more than that if you want to store more than one sys_id, which you do. When you create a new list field, then length is plenty long (1024).
Let me know if you have any questions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2018 06:26 AM
Thanks Chuck!
Would you suggest migrating the data of the old field to the new one via background script?