- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2016 04:16 AM
Hi All,
I am getting values from slush bucket and checking in GlideRecord .but it throws an error Ljava.lang.String;@
Any idea??
Moreover https://community.servicenow.com/thread/164501?q=Error%20Ljava.lang.String;@ and my issue is same
my Scripts are below,
Script Include:
var CtaskSelectAjax = Class.create();
CtaskSelectAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getctask: function() {
//var arr=[];
var cr=this.getParameter('sysparm_num');
var gr = new GlideRecord("change_task");
gr.orderBy('number');
//gr.addQuery('active',true);
gr.addQuery('change_request', cr);
gr.query();
//Add the available groups to select from
while (gr.next()) {
var item = this.newItem();
item.setAttribute('value', gr.getValue('sys_id'));
item.setAttribute('text', gr.getValue('number'));
//arr.push(gr.getValue('sys_id'));
//gs.log('test values'+arr.push(gr.getValue('sys_id')));
}
//return arr.push(gr.getValue('sys_id'));
},
//Take a taskID and group sys_id values and add 'sysapproval_group' records
CtaskAdd: function() {
var taskID = this.getParameter('sysparm_taskID');
var answ=this.getParameter('sysparm_ansValue');
gs.log('log answ values'+answ);
//var values = this.getParameter('sysparm_values').split(",");//caused an error Ljava.lang.String;@ so tried with replace function it also doesnot works
var values = this.getParameter('sysparm_values');
values = values.toString().replace(/,/g,"~|~");
//var val=[];
var val = '';
val = values.toString().split("~|~");
gs.log('log values'+values);
gs.log('log_values'+val);
//Iterate through the group sys_id values
for(var x in val)
{
var ct= new GlideRecord('change_task');
ct.addQuery('change_request',taskID);
ct.addEncodedQuery('sys_idIN'+values);
ct.query();
gs.log('Row Count'+ct.getRowCount());
while(ct.next())
{
var chg_tsk = new GlideRecord('change_task');
chg_tsk.initialize();
chg_tsk.u_copied_from_cr=taskID;
chg_tsk.change_request=answ;
chg_tsk.state = -5;
chg_tsk.cmdb_ci = ct.cmdb_ci;
chg_tsk.u_change_task_type = ct.u_change_task_type;
chg_tsk.short_description = ct.short_description;
chg_tsk.description = ct.description;
chg_tsk.assignment_group = ct.assignment_group;
chg_tsk.insert();
}
}
},
type: 'CtaskSelectAjax'
});
Client Script on UI Page:
function ProceedToClone()
{
var arr = "";
jQuery("#clone_change input[type=checkbox]:checked").each(function()
{
arr = arr + "," +jQuery(this).attr('name').split(".")[1];
});
var lChNum = jQuery("#change_number").val();
var ga = new GlideAjax('MPI_AJAX_Util');
ga.addParam('sysparm_name','cloneChange');
ga.addParam('sysparm_change_num',lChNum);
ga.addParam('sysparm_field_name',arr);
ga.getXML(CloneChange);
var changeNum = g_form.getValue('change_request.number');
var values = slush.getValues(slush.getRightSelect());
//Get the sys_id of the current record
var taskID = g_form.getUniqueValue();
alert(taskID);
//Make sure we have at least one selection
if(values == ''){
alert("At least one group must be selected");
return;
}}
function CloneChange(response) {
var taskID=g_form.getUniqueValue();
alert(taskID+'taskID');
var answer = response.responseXML.documentElement.getAttribute("answer");
var URL = "https://"+getMessage('MPI_Instance_Name')+".service-now.com/change_request.do?sys_id=" + answer;
window.location.href = URL;
CtaskAjaxFunction(answer,taskID);
}
function CtaskAjaxFunction(ans,tskId)
{
var values = slush.getValues(slush.getRightSelect());
alert('VALUES:: '+values);
alert(ans+'cr');
var ajax = new GlideAjax('CtaskSelectAjax');
ajax.addParam('sysparm_name', 'CtaskAdd');
ajax.addParam('sysparm_taskID', tskId);
ajax.addParam('sysparm_ansValue', ans);
ajax.addParam('sysparm_values', values);
ajax.getXML(addCtaskResponse);
}
function addCtaskResponse(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
//GlideDialogWindow.get().destroy();
//GlideList2.get('').setFilterAndRefresh('');
//return false;
}
addLoadEvent(function(){
//Load the groups when the form loads
slush.clear();
var values = slush.getValues(slush.getRightSelect());
//Get the sys_id of the current record
var taskID = g_form.getUniqueValue();
alert(taskID+'CR');
var ajax = new GlideAjax('CtaskSelectAjax');
ajax.addParam('sysparm_name', 'getctask');
ajax.addParam('sysparm_num',taskID);
ajax.addParam('sysparm_values', values);
ajax.getXML(loadResponse);
return false;
});
//Called when we get a response from the 'addLoadEvent' function
function loadResponse(response){
//Process the return XML document and add groups to the left select
//var lChNo = jQuery("#change_number").val();
var xml = response.responseXML;
var e = xml.documentElement;
var items = xml.getElementsByTagName("item");
if(items.length == 0)
return;
//Loop through item elements and add each item to left slushbucket
for (var i = 0; i < items.length; i++) {
var item = items[i];
slush.addLeftChoice(item.getAttribute('value'), item.getAttribute('text'));
alert('Slush values'+slush.addLeftChoice(item.getAttribute('value'), item.getAttribute('text')));
}
}
function ProceedToCancel()
{
GlideDialogWindow.get().destroy();
}
Please provide your solutions.
Thanks in adavnce.
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-29-2016 02:49 AM
I would suggest you to use split before your iterate. Probably that is what your logic suppose to work like.
It seems you are iterating this line(contains split), which splits the string and creates an array and then again in next iteration, it tries to split the undefined/null object which might cause the problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2016 04:25 AM
You are trying to use a string array as a string.
try this and see if it works
var values = [];
values = this.getParameter('sysparm_values').split(",");
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2016 04:53 AM
No Santosh.I tried it doesn't works!:(
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2016 04:59 AM
what do u have in the sysparm_value? is it a comma separated string or an object? check using typeof. logging these details will help u fix it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2016 05:51 AM
Hi Santosh,
It contains comma seperated sys_id.