- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-07-2019 03:47 AM
Hi team,
i am trying to assign attachment sys_id in to a string field, in "insert business rule on signature_image" table.
I am getting @@@@@1 , @@@@@2 , logs only, i am getting sys_id of the attachment in @@@@@2 log, but not updating in to that field
(function executeRule(current, previous /*null when async*/) {
// Add your code here
gs.log('@@@@@ABC ');
var request = new GlideRecord('sc_request');
request.addQuery('sys_id',current.document);
request.query();
if(request.next()){
gs.log('@@@@@1 ABC number '+ request.number);
gs.log('@@@@@2 ABC sys id '+current.getUniqueValue());
var id = attachementid();
if(id == 'NOValue'){
gs.log('@@@@@3'+u_current_attachment_sysid);
request.u_current_attachment_sysid = u_current_attachment_sysid;
request.update();
id = attachementid();
}
if(id != 'NOValue') {
gs.log('@@@@@4'+u_current_attachment_sysid);
request.u_current_attachment_sysid = id;
request.update();
}
}
function attachementid(){
var attachment = new GlideRecord('sys_attachment');
attachment.addQuery('table_sys_id', current.getUniqueValue());
gs.log('ABC jaifdiadsf');
attachment.query();
gs.log('@@@@@5'+u_current_attachment_sysid);
if(attachment.next()){
gs.log('@@@@@6'+u_current_attachment_sysid);
return attachment.sys_id;
}
else
gs.log('@@@@@7'+u_current_attachment_sysid);
return 'NOValue';
}
})(current, previous);
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-08-2019 12:05 AM
Hello Deepthi,
Could you please mark the answer as correct as we will not leave this thread unanswered
Regards,
Chalan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-07-2019 04:30 AM
Hi Deepthi,
looks like variable 'u_current_attachment_sysid' is not defined.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-07-2019 04:41 AM
Hi
sys_id is a integer and you are trying to add it in a string field which does not make sense. Try doing toString() so that the sys_id will get converted to string which will intern add that sys_id in your string field.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-07-2019 09:41 PM
hi omkar,
thanks for your input, please find below code and suggest is that correct..
i am not getting log 3
(function executeRule(current, previous /*null when async*/) {
// Add your code here
gs.log('@@@@@ABC ');
var signatureimagesysid = current.getUniqueValue();
var request = new GlideRecord('sc_request');
request.addQuery('sys_id',current.document);
request.query();
if(request.next()){
gs.log('@@@@@1 ABC number '+ request.number);
gs.log('@@@@@2 ABC sys id '+current.getUniqueValue());
var attachment = new GlideRecord('sys_attachment');
attachment.addQuery('table_sys_id',signatureimagesysid);
if(attachment.next()){
gs.log('@@@@@3'+u_current_attachment_sysid);
request.u_current_attachment_sysid = signatureimagesysid.tostring();
request.update();
}
}
})(current, previous);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-07-2019 10:11 PM
Can you try this below code
(function executeRule(current, previous /*null when async*/) {
var request = new GlideRecord('sc_request');
request.addQuery('sys_id',current.document);
request.query();
if(request.next()){
var id = attachmentSys_id(current.getUniqueValue());
gs.log('@@@@@3'+id);
request.u_current_attachment_sysid = id;
request.update();
}
})(current, previous);
function attachmentSys_id(signatureimagesysid){
var attachment = new GlideRecord('sys_attachment');
attachment.addQuery('table_sys_id',signatureimagesysid);
attachment.query(); //you are missing this line of code
if(attachment.next()){
gs.log('@@@@@3'+attachment.sys_id.toString());
return attachment.sys_id.toString();
}
}