Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

on after Transform Map Script not working

Vamshi_ch123
Tera Contributor

Hi All,

 

I'm importing the data to cmdb_ci table so based on class this will also get updated in alm_asset table.

Now I'm trying to update the status field of alm_asset table since it is not directly available in cmdb_ci, For this I'm writing a onafter transform script as below but which is not working/updating the status

 

(function runTransformScript(source, map, log, target /*undefined onStart*/ ) {

var status = source.u_status;
    var gr = new GlideRecord("alm_asset");
    gr.addQuery('serial_number', source.u_serial_number);
    gr.query();
    while(gr.next()) {
        if (status == "Assigned To Employee" || status == "Assigned To Location" || status == "Available" || status == "Received - Awaiting Eval") {
            gr.install_status = '6';
        } else if (status == "In Transit - Outbound" || status == "In Transit - Returning") {
            gr.install_status = '9';
        } else if (status == "Damaged") {
            gr.install_status = '3';
        } else if (status == "Disposed" || status == "Delete") {
            gr.install_status = '7';
        }
		else if (status == "Pending Retrieval"){
            gr.install_status = '1';
        }
		else if (status == "Missing"){
            gr.install_status = '8';
        }
        gr.update();
    }
})(source, map, log, target);

Vamshi_ch123_0-1725261849985.png

 

Thank you

1 REPLY 1

Najmuddin Mohd
Mega Sage

HI @Vamshi_ch123 ,

I believe the script is fine. But, why While loop,  when there will be only one record which will be retrieved with the serial number.
I would advise you to add log messages for var status to actually get the values what it's actually coming.

Hope this helps.

Regards,
Najmuddin.