How to map fields when it's not present in target table through script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2023 11:25 PM
I have created transform map , some fields are auto map , some fields which are reference list are mapped by field script, but fields which are string type are not mapped due to which its data is not populated in cmdb. How can I map these fields.
Transform script :-
(function transformRow(source, target, map, log, isUpdate) {
// Add your code here
if (source.u_class == "Computer") {
target.sys_class_name = 'cmdb_ci_computer';
//target.location = '8379ea471b2b415020fabb7f034bcbb9';
//gs.log("location is this: "+ target.location);
target.ram = source.u_ram;
target.os_domain = source.u_os_domain; ------ (These fields are not mapped)
target.asset = source.u_asset;
target.os_version = source.u_os_version;
target.os_service_pack = source.u_os_service_pack;
target.dns_domain = source.u_dns_domain;
target.disk_space = source.u_disk_space;
target.cpu_manufacturer = source.u_cpu_manufacturer;
target.cpu_type = source.u_cpu_type;
target.cpu_speed = source.u_cpu_speed;
//gs.log("ram is :"+ source.u_ram);
// target.location = source.u_location;
// target.operating_system = source.u_operating_system;
// target.os_version = source.u_os_version;
// target.os_domain = source.u_os_domain;
// target.support_group = source.u_support_group;
// target.assigned_to = source.u_assigned_to;
}
if (source.u_class == "Server") {
gs.log("script in this also");
target.sys_class_name = 'cmdb_ci_server';
target.ram = source.u_ram;
target.location = source.u_location;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.used_for = source.u_used_for;
target.monitor = source.u_monitor;
target.host_name = source.u_host_name;
target.os_domain = source.u_os_domain;
target.operating_system = source.u_operating_system;
target.os_version = source.u_os_version;
target.cpu_manufacturer = source.u_cpu_manufacturer;
}
if (source.u_class == "Windows Server") {
target.sys_class_name = 'cmdb_ci_win_server';
}
if (source.u_class == "Linux Server") {
target.sys_class_name = 'cmdb_ci_linux_server';
}
if (source.u_class == "ESX Server") {
target.sys_class_name = 'cmdb_ci_esx_server';
}
if (source.u_class == "Network") {
target.sys_class_name = 'cmdb_ci_netgear';
target.location = source.u_location;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.device_type = source.u_device_type;
target.location = source.u_location;
target.monitor = source.u_monitor;
target.ports = source.u_ports;
target.firmware_version = source.u_firmware_version;
}
if (source.u_class == "Printer") {
target.sys_class_name = 'cmdb_ci_printer';
target.location = source.u_location;
target.model_name = source.u_model_name;
target.support_group = source.u_support_group;
}
if (source.u_class == "Vmware") {
target.sys_class_name = 'cmdb_ci_vm_vmware';
target.full_name = source.u_full_name;
target.api_version = source.u_api_version;
target.url = source.u_url;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.used_for = source.u_used_for;
}
if (source.u_class == "MS SQL Database") {
target.sys_class_name = 'cmdb_ci_db_mssql_database';
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.used_for = source.u_used_for;
target.monitor = source.u_monitor;
target.is_clustered = source.u_is_clustered;
target.version = source.u_version;
target.tcp_ports = source.u_tcp_ports;
}
if (source.u_class == "Postgre SQL") {
target.sys_class_name = 'cmdb_ci_db_postgresql_instance';
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.used_for = source.u_used_for;
target.monitor = source.u_monitor;
target.is_clustered = source.u_is_clustered;
target.version = source.u_version;
target.tcp_ports = source.u_tcp_ports;
}
if (source.u_class == "Hbase Instance") {
target.sys_class_name = 'cmdb_ci_db_hbase_instance';
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.used_for = source.u_used_for;
target.monitor = source.u_monitor;
target.is_clustered = source.u_is_clustered;
target.version = source.u_version;
target.tcp_ports = source.u_tcp_ports;
}
if (source.u_class == "Mongo DB Instance") {
target.sys_class_name = 'cmdb_ci_mongo_database';
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.used_for = source.u_used_for;
target.monitor = source.u_monitor;
target.is_clustered = source.u_is_clustered;
target.version = source.u_version;
target.tcp_ports = source.u_tcp_ports;
}
if (source.u_class == "IP Router") {
target.sys_class_name = 'cmdb_ci_ip_router';
target.location = source.u_location;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.device_type = source.u_device_type;
target.location = source.u_location;
target.monitor = source.u_monitor;
target.ports = source.u_ports;
target.firmware_version = source.u_firmware_version;
}
if (source.u_class == "IP Switch") {
target.sys_class_name = 'cmdb_ci_ip_switch';
target.location = source.u_location;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.device_type = source.u_device_type;
target.location = source.u_location;
target.monitor = source.u_monitor;
target.ports = source.u_ports;
target.firmware_version = source.u_firmware_version;
}
if (source.u_class == "IP Firewall") {
target.sys_class_name = 'cmdb_ci_ip_firewall';
target.location = source.u_location;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.device_type = source.u_device_type;
target.location = source.u_location;
target.monitor = source.u_monitor;
target.ports = source.u_ports;
target.firmware_version = source.u_firmware_version;
}
if (source.u_class == "Wireless Access Point") {
target.sys_class_name = 'cmdb_ci_wap_network';
target.location = source.u_location;
target.support_group = source.u_support_group;
target.vendor = source.u_vendor;
target.device_type = source.u_device_type;
target.location = source.u_location;
target.monitor = source.u_monitor;
target.ports = source.u_ports;
target.firmware_version = source.u_firmware_version;
}
if (source.u_class == "Load Balancer") {
target.sys_class_name = 'cmdb_ci_lb';
target.vendor = source.u_vendor;
target.location = source.u_location;
target.support_group = source.u_support_group;
}
if (source.u_class == "Hardware") {
target.sys_class_name = 'alm_hardware';
target.display_name = source.u_display_name;
target.model_category = source.u_model_category;
target.model = source.u_model;
target.configuration_item = source.u_configuration_item;
target.assigned_to = source.u_assigned_to;
target.managed_by = source.u_managed_by;
target.owned_by = source.u_owned_by;
target.location = source.u_location;
target.department = source.u_department;
target.company = source.u_company;
target.request_line = source.u_request_line;
target.invoice_number = source.u_invoice_number;
target.cost = source.u_cost;
target.vendor = source.u_vendor;
target.purchased = source.u_purchased;
target.po_number = source.u_po_number;
target.opened = source.u_opened;
target.gl_account = source.u_gl_account;
target.cost_center = source.u_cost_center;
target.acquistion_method = source.u_aquistion_method;
target.expenditure_type = source.u_expenditure_type;
target.disposal_reason = source.u_disposal_reason;
target.beneficiary = source.u_beneficiary;
target.resale_price = source.u_resale_price;
target.scheduled_retirement = source.u_scheduled_retirement;
target.retired_date = source.u_retired_date;
target.depreciation = source.u_depreciation;
target.depreciation_effective_date = source.u_depreciation_effective_date;
target.salvage_class = source.u_salvage_class;
}
})(source, target, map, log, action === "update");
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2023 01:10 AM
there also it should work fine. you can update your logic at same place
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2023 02:20 AM
Okay
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2023 02:46 AM
can you give me the script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2023 02:47 AM
how would I know which fields are not being populated?
Please start the script from your side and we can help you
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2023 02:49 AM
Fields which I have used in script like os domain, os version ...