Convert a Custom Field into a Practice Area

Convert a Custom Field into a Practice Area

  

  1. --The system we are coming from does not have practice areas
  2. --however, the client has created a picklist custom field that mimics this.
  3. --We are going to convert this custom field into a practice area.

  4. --First, populate the practice areas table with our new values.
  5. INSERT INTO __M_Matters_PracticeAreas(
  6.     Id,
  7.     Final_Subject
  8. )
  9. SELECT
  10.     V2.Id,
  11.     V1.Final_Subject
  12. FROM
  13.     __M_CustomField_Definitions V1,
  14.     __M_CustomField_Definitions_Options V2
  15. WHERE 1=1
  16.     --Change this to be the name of the custom field we're converting into a practice area
  17.     AND V1.Final_Subject = 'Case Type'
  18.     AND V1.Final_Parent_Type = '__M_Matters'
  19.     AND V1.Final_Kind = 'PickList'
  20.     AND V2.Final_CustomFieldDefinition_Id = V1.Id

  21. --Now, update our matters to use these practice areas.
  22. UPDATE
  23.     __M_Matters
  24. SET
  25.     Final_PracticeArea_Id = V2.Id
  26. FROM
  27.     __M_CustomField_Definitions V1,
  28.     __M_CustomField_Definitions_Options V2,
  29.     __M_CustomField_Values V3,
  30.     __M_Matters V4
  31. WHERE 1=1
  32.     --Change this to be the name of the custom field we're converting into a practice area
  33.     AND V1.Final_Subject = 'Case Type'
  34.     AND V1.Final_Parent_Type = '__M_Matters'
  35.     AND V1.Final_Kind = 'PickList'
  36.     AND V2.Final_CustomFieldDefinition_Id = V1.Id
  37.     AND V2.Id = V3.Final_Value
  38.     AND V3.Final_CustomFieldDefinition_Id = V1.Id
  39.     AND V3.Final_Parent_Type = V1.Final_Parent_Type
  40.     AND V3.Final_Parent_Id = V4.Id