Name

global.ParseURL

Description

this script translate 64 base sysid (used in db views) to regular sysid, added new functionality adding table name, if none given using svc_ci_assoc for backward compatibility. usege //your 64 base sysId need to start with exactly(!!!!!) ENC var ga = new GlideAjax( ParseURL ); ga.addParam( sysparm_name , parseURL ); ga.addParam( rowId ,rowSysId); ga.addParam( table , em_event_group_assoc );

Script

var ParseURL = Class.create();
ParseURL.prototype = Object.extendsObject(AbstractAjaxProcessor, {
  parseURL: function() {
  	var str=this.getParameter('rowId');
  	var tableName = this.getParameter('table');
  	gs.log(str);
  	if (str != null && str.startsWith("__ENC__")){
  		str = GlideStringUtil.base64Decode(str.substring("__ENC__".length));
  		gs.log('sw_debug '+ str);
  		str = str.substring(0, 32);
  		gs.log('sw_debug '+ str);
  	}
  	//get the ciId
  	if(tableName){
  		gs.log('sw_debug table name input'+ tableName);
  		var value;
  		var gr = new GlideRecord(tableName);
  		value= 'sys_id';
  		
  	}
  	else{
  		gs.log('sw_debug default table name'+ tableName);
  		var gr = new GlideRecord('svc_ci_assoc');
  		value = 'ci_id';
  	}
  	gr.addQuery('sys_id', str);
  	gr.query();
  	while(gr.hasNext()) {
  		gr.next();
  		if (gr.canRead()) {
  			gs.log('sw_debug return val ' + gr.getValue('ci_id'));
  			return gr.getValue(value);
  		}
  	}
  },

  _privateFunction: function() { // this function is not client callable

}

});

Sys ID

6b9af5afc31031001c13587981d3ae15

Offical Documentation

Official Docs: