The CreatorCon Call for Content is officially open! Get started here.

Populating reference fields via transform map field script in an SCCM import

isaacpio
Giga Contributor

Hey Folks,

I'm looking for a bit of help with populating a cmdb_ci_computer field via an SCCM integration.

I have an integration which works fine for most fields (computer name, serial number, os, etc etc).

However, I'm having trouble populating a "Business Unit" field in cmdb_ci_computer which is referenced to a custom table u_business_unit.

The idea is that if a computer belongs to Domain_1 (which comes across in the OS Domain field), the business unit is set to Business_Unit_1. If the computer belongs to Domain_2 then the business unit is set to Business_Unit_2.

The script that I am trying to use in the transform map field works to populate free text fields (such as short_description), but will not populate the u_business_unit field. I tried to use setDisplayValue as well, but couldn't make it work properly. The script is below:

if(source.u_domain == 'domain_1.net'){

  target.u_business_unit = "Business_Unit_1";

  }

if(source.u_domain == 'domain_2.net'){

  target.u_business_unit = "Business_Unit_2";

  }

I'm quite new to ServiceNow/Scripting, so I'm probably missing something simple (hopefully!). Any suggestions are most appreciated.

Thanks!

1 ACCEPTED SOLUTION

Michael Fry1
Kilo Patron

On your field mapping for that entry, did you specific a reference value field name? Otherwise it's looking for 'Business_unit_1' in the field that has Display Value checked. You can change the Display value or set the field name in the map where is should find Business_unit_1.



zz.jpg


View solution in original post

2 REPLIES 2

Michael Fry1
Kilo Patron

On your field mapping for that entry, did you specific a reference value field name? Otherwise it's looking for 'Business_unit_1' in the field that has Display Value checked. You can change the Display value or set the field name in the map where is should find Business_unit_1.



zz.jpg


Thanks Michael.Fry. This has helped to get it working! Much appreciated



I added the field into "Reference value field name". I also changed the script as below.



answer = (function transformEntry(source) {


if(source.u_domain == 'domain_1.net'){


  return "Business_Unit_1";


}


if(source.u_domain == 'domain_2.net'){


  return "Business_Unit_2";


}


})(source);