Book Image

Learning ServiceNow. - Second Edition

5 (1)
Book Image

Learning ServiceNow. - Second Edition

5 (1)

Overview of this book

This book is an updated version of Learning ServiceNow, that will cover the new and updated features of the ServiceNow platform. It will show you how to put important ServiceNow features to work in the real world, while introducing key concepts via examples of managing and automating IT services. It'll help you build a solid foundation of knowledge, and will demonstrate how to effectively implement and configure modules within ServiceNow. We'll show you how to configure and administer your instance, and then move on to building strong user interfaces and creating powerful workflows. We also cover other key elements of ServiceNow, such as notifications, security, reporting, and custom development. You will learn how to improve and automate your business' workflow and processes. By the end of this book, you will be able to successfully configure and manage ServiceNow like a pro.
Table of Contents (19 chapters)
Learning ServiceNow Second Edition

Scripting pro tips

The following Pro Tips will help you remember how to make the most of the ServiceNow/Glide APIs, as well as avoid scripting pitfalls. We'll learn what the pros wished they knew when they were starting out, as well as the reasons behind some of the more arcane pieces of the ServiceNow development puzzle.

Avoiding nested loops

Nested loops have their place in development, but if you aren't careful, they can lead to serious performance degradation due to the fact that the inner loop will run a certain number of times, multiplied by the number of times the outer loop runs.

It is often possible to avoid having to run a nested loop, in favor of running two separate loops (which means that each loop would only run a set number of times).

Consider the following code:

var innerGR; 
var results = [];  
var outerGR = new GlideRecord('table_name'); 
while ( { 
    innerGR = new GlideRecord('other_table_name'); 
    innerGR.addQuery('field', outerGR.getValue...