- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-23-2016 10:04 PM
Hi Guys,
I need to do a dot-walking within the below GlideRecord, I know I need to use getElementValue() but I have no idea how to use it. My requirement is in addition to the below condition, I also want to have the below query added:
sysapproval.cat_item==gs.getProperty('snc.eprocurement.catalog_item')
The below query runs for all catalog items but I only wanted to run for one specific catalog item:
var gr = new GlideRecord('sysapproval_approver');
gr.addEncodedQuery('sys_created_onRELATIVEGE@dayofweek@ago@4^sys_created_onRELATIVELT@dayofweek@ago@3^state=requested^source_table=sc_req_item');
gr.query();
while(gr.next()){
gs.eventQueue("eproc_approval.reminders_3days", gr, gs.getUserID(), gs.getUserName());
}
Any idea?
Mussie
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-24-2016 08:28 PM
Oh, the issue is that you can't dot-walk to cat_item (on the sc_req_item table) from the sysapproval field (which points to the task table).
Try one of these.
var query = 'sys_created_onRELATIVEGE@dayofweek@ago@4^sys_created_onRELATIVELT@dayofweek@ago@3^state=requested^source_table=sc_req_item';
var appr = new GlideRecord('sysapproval_approver');
appr.addEncodedQuery(query);
appr.query();
while (appr.next()){
if (appr.getElement('sysapproval.cat_item') == gs.getProperty('snc.eprocurement.catalog_item'))
gs.eventQueue("eproc_approval.reminders_3days", appr, gs.getUserID(), gs.getUserName());
}
var query = 'sys_created_onRELATIVEGE@dayofweek@ago@4^sys_created_onRELATIVELT@dayofweek@ago@3^state=requested^source_table=sc_req_item';
var appr = new GlideRecord('sysapproval_approver');
appr.addEncodedQuery(query);
appr.query();
while (appr.next()){
var ritm = new GlideRecord('sc_req_item');
if (ritm.get(appr.sysapproval)) {
if (ritm.cat_item == gs.getProperty('snc.eprocurement.catalog_item'))
gs.eventQueue("eproc_approval.reminders_3days", appr, gs.getUserID(), gs.getUserName());
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-23-2016 10:18 PM
Hi ,
Add this line in 1st line of code
sysapproval.cat_item==gs.getProperty('snc.eprocurement.catalog_item') and add this code below this line
var gr = new GlideRecord('sysapproval_approver');
gr.addEncodedQuery('sys_created_onRELATIVEGE@dayofweek@ago@4^sys_created_onRELATIVELT@dayofweek@ago@3^state=requested^source_table=sc_req_item');
gr.addQuery('target_field_name',sysapproval.cat_item);// target field field is ur catalog item field name
gr.query();
while(gr.next()){
gs.eventQueue("eproc_approval.reminders_3days", gr, gs.getUserID(), gs.getUserName());
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-23-2016 10:28 PM
Hi Akila,
Thanks for your response, you said 'target field is your catalog item field name'. How can I add a field into that query that doesn't exist in the table that I am querying?
The field name I am after is cat_item and is found in sc_req_item but I am querying the table sysapproval_approver. Could you please clarify?
Mussie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-23-2016 10:33 PM
Dont make the code very complex..just create one view ..and join two tables then query the join table
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-23-2016 10:35 PM
Thanks for the suggestion, I am aware of the fact that I can achieve this using a view but I wanted to check whether this is possible with the way I described it.
Mussie