How to create fields from script?

Lorycolombo
Tera Contributor

Hi all, as a requirement I am trying to create a datasource that allows, given a specific template, to create new fields on a table in a scoped application.
everything works correctly except the type, whatever sys_id representing a field type I go to put, it does not populate the type and remains empty.
I have tried both from simple mapping and from script, but the result remains the same.

Below you can find a test performed in dev instance on the incident table:

var gr = new GlideRecord("sys_dictionary");
gr.initialize();
gr.name = "incident";
gr.internal_type = "aab367c1bf3320001875647fcf073909"; //sys_id of integer on sys_glide_object table
gr.column_label = "test field";
gr.element = "u_test_field";
gr.insert();

here the result:

find_real_file.png

1 ACCEPTED SOLUTION

@Lorycolombo  - below is the working example. Where I have created a field on the incident table and its a string field.

new GlideDBUtil.createElement('incident', 'Scripted field', 'u_scripted_field', 'string', '', 'incident', true);
Regards,
Muhammad

View solution in original post

15 REPLIES 15

sd2097
Tera Guru

Hi @MrMuhammad ,

 

Can we create choice fields using this method?

If yes, though we can create the fields dynamically, I wanted to understand if this is a good practice as per ServiceNow standards and what kind of implications it can have on the platform?

 

Thanks