ServiceNow Interview Questions
1.> what are best practices for Server Side Scripting?
- Current.update() should not use in After BR – It’s calling itself over and again.
- Don’t use gr as variable in script.
- Should not use GlideRecord row count, use GlideAggregate.
- Use conditions in BR, when to run always.
- Don’t use global BR, use script include instead of that.
- Script should not contain hard coded IDs.
- Don’t enable Business rule on Table transform map until & unless required.
- Too many workflows should not be checked out.
- Read ACL should not have GlideRecord/GlideAggregate Complex workflow-not more than 30 steps.
- gs.sleep() should not be used in BR.
2.> Difference b/w Async & After Business Rule?
- After BR executes synchronously, It’ll wait for a result & then user will get control to do anything whereas Async BR executes asynchronously, user will get control immediately, it will not halt the user and result will get displayed when its ready, it will be executing in the background as per system scheduler.
- After BR is used to update information on related objects that need to be displayed immediately such as GlideRecord queries etc. whereas Async BR is used to update the information on related objects that do not need to be displayed immediately such as calculating metrics & SLA etc.
- We can use current & previous objects in After Business Rule but We can’t use current & previous objects in Async Business Rule.
3.> Examples where After BR can be used ?
- For updating the assignment group or short description.
- To create related records like problem ticket etc.
4.>Examples where can we use Async Business Rule ?
Ex- create event & send notification
1.>User is changing some field & basis on that event must be created and send notification to user
2.> rest API call to other application when we create/update the incident in other system
3.> calculating the SLAs
5.>what are best practices for Client Script?
- Avoid global client script, client script configured on Global Table will be loaded every single time in System.
- Avoid using DOM (using document. GetElementbyId) – it can cause maintainability issue when instance is updated – performance issue- instead use glide form API.
- Use UI Policies instead of client scripts.
- Use Asynchronous call via get reference & Glide Ajax.
- Use scratchpad to minimize server calls.
- Never use Glide Record in client script.
- Should not contain console.log (), use js.log () in Debugging.
6.>How to show/hide any related list ?
g_form.hideRelatedList(‘related_list_table_name’);
7.>How to call another method in same script include ?
using “this“ keyword, Syntax - this.method_name();
8.>How to update work notes of related incidents?
As worknotes gets stored in Journal table, Use worknotes.getJournalentry(1)
9.>Create problem ticket through an incident ?
After BR – on insert () – incident table
(function executeRule(current, previous /*null when async*/) { gs.addInfoMessage(current.short_description);
var gr=new GlideRecord('problem');
gr.initialize();
gr.short_description =current.short_description;
gr.state= current.getDisplayValue('state');
gr.assignment_group= current.assignment_group.getDisplayValue();
gr.caller_id = current.caller_id;
gr.insert();
})(current, previous);
10.>What is Display Business Rule?
- Display Business Rules execute their logic when a form loads and a record is loaded from the database.
- It mainly use to store the Server side data & can be used in client side using g_sctrachpad variable.
Watch full video on YouTube: ServiceNow Interview Question Link
Comments
Post a Comment