Write a script for this scenario

1dusjhyahnt
Tera Contributor

I want a fetch a sys_id for  this record ,latest_communication_date will trigger 5 time when the status will change to in stock ?coom.jpeg

2 REPLIES 2

Mark Manders
Mega Patron

What do you mean, you need a sys_id? You are looking at the record itself, right? That means the sys_id is already in the URL of the record, and you can also find it by right clicking and check the sysID.


Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark

I am implement this scenario in this script 

var last15days = Class.create();
last15days.prototype = {
    initialize: function() {},
    report: function() {
        var result = {}; // Using an object to store unique sys_id values
        var grCCC = new GlideRecord('cmdb_ci_computer');
        grCCC.addQuery('u_latest_communication_date', '>', gs.daysAgoStart(10));
        grCCC.addQuery('hardware_status', 'in_stock');
        //grCCC.addQuery('sys_created_on', '<', gs.daysAgoStart(15));
        //grCCC.addQuery('sys_created_on','>', gs.daysAgoStart(15));'u_latest_communication_date', '>', gs.daysAgoStart(15),
        grCCC.addQuery('sys_class_name', 'cmdb_ci_computer');
        //grCCC.setLimit(5900);
        grCCC.query();
        while (grCCC.next()) {
            var auditQuery = 'documentkey=' + grCCC.sys_id + '^fieldname=u_latest_communication_date' ;
            var grSysAudit = new GlideRecord('sys_audit');
            grSysAudit.addEncodedQuery(auditQuery );
            grSysAudit.query();
            var count = grSysAudit.getRowCount();
            if (count > 5  )
                result[grCCC.sys_id] = true; // Use sys_id as key in the object
        }

        // Convert object keys to an array before returning
        return Object.keys(result);

    },

    type: 'last15days'
};