New records are getting created with sys ids?

Nani6
Mega Guru

Hi,

I have set up data import from prod to lower environments (Data source is XMLs), everything is fine I mean new records are getting created but some of the records are getting created with sys ids and also sys ids of these records are different in prod and in lower environments. Any help is greatly appreciable.

Thanks in advance.

1 ACCEPTED SOLUTION

Gurpreet07
Mega Sage

Hello Shrikanth,



The sys_id is received in source XMLs for referenced fields.In Field mapping of a reference field , if you haven't put any thing in Referenced value field name then by default system will compare the value from the source table with the display value of the target table's reference field and thus it seems like sys_id from source table is compared with name(display value) of the value in target table's reference field.


you need to do following


1. For Field mappings of referenced fields put sys_id in Referenced value field name. You may need to edit list layout of the field mappings related list to bring this field in the list.


Creating New Transform Maps - ServiceNow Wiki


2. If you want the same sys_id of the target record as in your source instance then you need to create an onBefore transform script with following code.


      if (action == "insert"){target.setNewGuidValue(source.u_sys_id);}


Importing from Another ServiceNow Instance - ServiceNow Wiki




View solution in original post

15 REPLIES 15

There is a field available in field mapping , 'Choice Action' . Read below from wiki.


Choice actionThis field is available if the target field is a choice list or reference field. This field specifies what to do if the import set contains a reference or choice value other than those available. Select one of these options:
  • create: Create a new choice or record in the reference table.
  • ignore: Ignore the new value from the source table.
  • reject: Skip the entire row (record) containing the new value and continue to the next row.