From 65cbe378368dd6a2fa8add8351037a3447e8e71e Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Mon, 6 Oct 2025 13:25:57 +0530 Subject: [PATCH 1/9] Create DateDifference.js --- .../Business Rules/DateDifference.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Server-Side Components/Business Rules/DateDifference.js diff --git a/Server-Side Components/Business Rules/DateDifference.js b/Server-Side Components/Business Rules/DateDifference.js new file mode 100644 index 0000000000..9d1abc63d9 --- /dev/null +++ b/Server-Side Components/Business Rules/DateDifference.js @@ -0,0 +1,12 @@ +(function executeRule(current, previous /*null when async*/) { + + // Add your code here +if(current.u_termination_date.changes()){ + var date1=current.u_current_date; + var date2=current.u_termination_date; + + var res=onDemand1(date1,date2); + gs.addInfoMessage("Date Difference is :"+res); + +} +})(current, previous); From 06454764ca8ae329d3a535d925be07eb963d9c33 Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:18:17 +0530 Subject: [PATCH 2/9] Create ProblemCount.js --- .../Business Rules/ProblemCount.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Server-Side Components/Business Rules/ProblemCount.js diff --git a/Server-Side Components/Business Rules/ProblemCount.js b/Server-Side Components/Business Rules/ProblemCount.js new file mode 100644 index 0000000000..db57692d39 --- /dev/null +++ b/Server-Side Components/Business Rules/ProblemCount.js @@ -0,0 +1,16 @@ + + +(function executeRule(current, previous /*null when async*/) { + +var problemSysId = current.sys_id; +var agg = new GlideAggregate('incident'); +agg.addQuery('problem_id', problemSysId); +agg.addAggregate('COUNT'); +agg.query(); + +if (agg.next()) { + var incidentCount = agg.getAggregate('COUNT'); + gs.addInfoMessage('There are ' + incidentCount + ' incidents related to this problem.'); +} + +})(current, previous); From 3de04cce2d8c260050af1df60de5318f99970dfc Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:17:50 +0530 Subject: [PATCH 3/9] Create newfile --- Server-Side Components/Business Rules/MyFolder/newfile | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/MyFolder/newfile diff --git a/Server-Side Components/Business Rules/MyFolder/newfile b/Server-Side Components/Business Rules/MyFolder/newfile new file mode 100644 index 0000000000..8d9947a0c2 --- /dev/null +++ b/Server-Side Components/Business Rules/MyFolder/newfile @@ -0,0 +1 @@ +,, From 7eea6d413d48c1d41acf65706cd8a30521cf85ed Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:19:53 +0530 Subject: [PATCH 4/9] CreateProblem.js --- .../Business Rules/MyFolder/CreateProblem.js | 14 ++++++++++++++ .../Business Rules/MyFolder/newfile | 1 - 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 Server-Side Components/Business Rules/MyFolder/CreateProblem.js delete mode 100644 Server-Side Components/Business Rules/MyFolder/newfile diff --git a/Server-Side Components/Business Rules/MyFolder/CreateProblem.js b/Server-Side Components/Business Rules/MyFolder/CreateProblem.js new file mode 100644 index 0000000000..a08398dabb --- /dev/null +++ b/Server-Side Components/Business Rules/MyFolder/CreateProblem.js @@ -0,0 +1,14 @@ +(function executeRule(current, previous /*null when async*/) { + + // Add your code here +if(current.category == 'hardware'){ + var gr=new GlideRecord('problem'); + gr.initialize(); + gr.short_description=current.short_description; + gr.category=current.category; + gr.impact=current.impact; + gr.urgency=current.urgency; + gr.insert(); + +} +})(current, previous); diff --git a/Server-Side Components/Business Rules/MyFolder/newfile b/Server-Side Components/Business Rules/MyFolder/newfile deleted file mode 100644 index 8d9947a0c2..0000000000 --- a/Server-Side Components/Business Rules/MyFolder/newfile +++ /dev/null @@ -1 +0,0 @@ -,, From 46ffea2c9a421f36801e66d1b91acfbc758ee6a2 Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:22:06 +0530 Subject: [PATCH 5/9] Create README.md --- Server-Side Components/Business Rules/MyFolder/README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Server-Side Components/Business Rules/MyFolder/README.md diff --git a/Server-Side Components/Business Rules/MyFolder/README.md b/Server-Side Components/Business Rules/MyFolder/README.md new file mode 100644 index 0000000000..40f2c0dd02 --- /dev/null +++ b/Server-Side Components/Business Rules/MyFolder/README.md @@ -0,0 +1,2 @@ +This script is a ServiceNow Business Rule that automatically creates a Problem record whenever an Incident is created with the category set to "hardware". +It helps in ensuring that hardware-related incidents are tracked and analyzed properly through Problem Management. From 848ed24967e8f0125577d3f8d578752d2e15ad35 Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:57:29 +0530 Subject: [PATCH 6/9] Create userManagement --- .../Usermanagement/userManagement | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Server-Side Components/Script Includes/Usermanagement/userManagement diff --git a/Server-Side Components/Script Includes/Usermanagement/userManagement b/Server-Side Components/Script Includes/Usermanagement/userManagement new file mode 100644 index 0000000000..841b90d0f4 --- /dev/null +++ b/Server-Side Components/Script Includes/Usermanagement/userManagement @@ -0,0 +1,19 @@ +var getSameDeptUsers = Class.create(); +getSameDeptUsers.prototype = { + initialize: function() {}, + getSameDept: function() { + var user = gs.getUser().getDepartmentID(); + var d = new GlideRecord('sys_user'); + d.addQuery('department', user); + d.query(); + + var str = ""; + while (d.next()) { + str = str + "," + d.sys_id; + } + return 'sys_idIN' + str; + + }, + + type: 'getSameDeptUsers' +}; From 3f20ea761f5394537ebabd360ffea2127975a04a Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:58:33 +0530 Subject: [PATCH 7/9] README.md --- .../Script Includes/Usermanagement/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Server-Side Components/Script Includes/Usermanagement/README.md diff --git a/Server-Side Components/Script Includes/Usermanagement/README.md b/Server-Side Components/Script Includes/Usermanagement/README.md new file mode 100644 index 0000000000..ab3d9d7df3 --- /dev/null +++ b/Server-Side Components/Script Includes/Usermanagement/README.md @@ -0,0 +1,5 @@ +# Filter Users by Department + + +This Script Include returns users whose department is the same as the currently logged-in user’s department. +It can be used to filter the Caller field or any user reference field to show only users from the same department. From f640deee98d2b1f077672de5097c688fc44f248d Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 14 Oct 2025 20:43:31 +0530 Subject: [PATCH 8/9] CountIncidents.js --- .../CountRelatedIncidents/CountIncidents.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Server-Side Components/Business Rules/CountRelatedIncidents/CountIncidents.js diff --git a/Server-Side Components/Business Rules/CountRelatedIncidents/CountIncidents.js b/Server-Side Components/Business Rules/CountRelatedIncidents/CountIncidents.js new file mode 100644 index 0000000000..db57692d39 --- /dev/null +++ b/Server-Side Components/Business Rules/CountRelatedIncidents/CountIncidents.js @@ -0,0 +1,16 @@ + + +(function executeRule(current, previous /*null when async*/) { + +var problemSysId = current.sys_id; +var agg = new GlideAggregate('incident'); +agg.addQuery('problem_id', problemSysId); +agg.addAggregate('COUNT'); +agg.query(); + +if (agg.next()) { + var incidentCount = agg.getAggregate('COUNT'); + gs.addInfoMessage('There are ' + incidentCount + ' incidents related to this problem.'); +} + +})(current, previous); From b04c8ec9750e1f03b17fedc0c3df1f74f46e5203 Mon Sep 17 00:00:00 2001 From: NavyasreeBolleboyana <156333434+NavyasreeBolleboyana@users.noreply.github.com> Date: Tue, 14 Oct 2025 20:51:57 +0530 Subject: [PATCH 9/9] README.md --- .../Business Rules/CountRelatedIncident/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Server-Side Components/Business Rules/CountRelatedIncident/README.md diff --git a/Server-Side Components/Business Rules/CountRelatedIncident/README.md b/Server-Side Components/Business Rules/CountRelatedIncident/README.md new file mode 100644 index 0000000000..ce45665581 --- /dev/null +++ b/Server-Side Components/Business Rules/CountRelatedIncident/README.md @@ -0,0 +1,7 @@ +# Count Related Incidents for a Problem Record (Business Rule) + +Purpose +This Business Rule calculates and displays the **number of incidents** linked to a specific **Problem record** in ServiceNow. + +Whenever a problem record is opened or updated, it counts all related incidents and shows the count as an informational message. +