logo

NJP

Unprocessed Accounts

Blog - ServiceNow Elite · Oct 08, 2019 · article

Report on Accounts without Contacts, Assets, Contracts, or Entitlements.

Script Include

Script Include: SNEReportUtil
Client Callable: true
Accessible from: All application scopes
Script:
var SNEClientUtil = Class.create();
SNEClientUtil.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    filterUnprocessedAccounts : function() {
        var accounts = [];
        var grCA = new GlideRecord('customer_account');
        grCA.addEncodedQuery('customer=true');
        grCA.query();
        while(grCA.next()) {
            var contacts = getAccountCount('customer_contact', grCA.sys_id);
            var assets = getAccountCount('alm_asset', grCA.sys_id);
            var contracts = getAccountCount('ast_contract', grCA.sys_id);
            var entitlements = getAccountCount('service_entitlement', grCA.sys_id);
            if (contacts == 0 && entitlements == 0 && assets == 0) {
                accounts.push(grCA.sys_id);
            }
        }
        return accounts;
    },
    getAccountCount : function(table) {
        //Contact Count
        var ga = new GlideAggregate(table,sysID);
        ga.addQuery('account',sysID);
        ga.addAggregate('COUNT');
        ga.query();
        if(ga.next()) {
            return ga.getAggregate('COUNT');
        }
    },
    type: 'SNEClientUtil'
});

Report

Report: Unprocessed Accounts
Source Type: table
Table: Account [customer_account]
Filter: sys ID is one of javascript:new SNEReportUtil().filterUnprocessedAccounts();
View original source

https://www.servicenowelite.com/blog/2019/10/8/unprocessed-accounts