_ _ _ _
ServiceNow Employee
ServiceNow Employee

Terms used

Case Creation - The page that the "Create New Case" module directs to for creation of HR Cases by agents.

Case Creation Configuration - This is the record used to configure parts of the Case Creation page.

Case Creation Service Configuration - This is a record that allows some configuration for what fields show for a service on the Case Creation page.

Text Indexing | Regenerating text Indexes - Text indexing allows users to search for string values from records via text search.

Zing / Text search - This is the underlying keyword search that the Case Creation page uses. 

 

How search works

Search on the Case Creation page uses Zing / Text search which has the benefit of being able to search across all indexed fields on a table. For example, instead of just searching for users by name, text search allows searching for users by employee number, department, or email. Any field on a table can be searched if it is indexed, but it must also be on the table itself (dot walking is not supported) and readable by the user searching.

The Case Creation page supports searching three tables (and their extensions) by default: User [sys_user], HR Profile [sn_hr_core_profile], and HR Case [sn_hr_core_case]. Most searches will use the User and HR Profile tables. Users can be searched by any indexed fields, such as Name, Department, or Email. The User table will be searched first, and if no results are found then the HR Profile table will be searched. This ordering is set in the hr_CaseCreation script include variable "this.searchTables". If the "Force partial search" field on the Case Creation Configuration record is set to true, then the search term can be a partial match to an indexed field value, e.g., searching "John" and seeing results for "Johnie". If this field is false, then only users exactly matching the search term will be returned.

find_real_file.png

Searching the HR Case table is only done if a case number is searched, e.g., HRC0000101. This case search will return all users in user fields on the table listed in the Case Creation Configuration field "Task user fields" which is Subject person, Opened for, Opened by, and Watch list by default. The search can also be narrowed further to a specific user by adding their displayed name to the search.

find_real_file.png

find_real_file.png

 

Debugging search

Incorrect/No results found - This issue can be caused by various problems. First check to ensure the table and fields searched are indexed. Navigating to a record list for sys_user or sn_hr_core_profile can quickly show if the table is text searchable by checking if you can search "for text".

find_real_file.png

If "for text" is not shown, then the table is not text indexed. If "for text" is shown, but no search results are found for a search then there is an issue with the text indexing for the field being searched or the field is not readable.

If searching in the record list returns different results than on the Case Creation page, this might indicate that the issue lies with the "Force partial search" option on the Case Creation Configuration record. To test this, try adding an asterisk (*) to the search term (e.g., John*) on the record list. If no results are returned after adding an asterisk, the search term might be "ambiguous" and this is why the Case Creation search returns no results. Workarounds for this issue could be to use more or different search terms to search for the user (e.g., full name, employee number, email, etc.), to turn off "Force partial search" in the Case Creation Configuration record, or to revise text search properties such as "glide.ts.max_wildcard_expansion" (NOTE: this will affect more than just the Case Creation search).

Error messages on page or console - These can be the result of a scripting error in the rest call, script include, or elsewhere, and may require individually testing various components of the search API. Debugging could start with determining which rest call is failing and investigating the hr_CaseCreation script include for possible issues.

 

Configuring search

Some components of the Case Creation search can be configured from the Case Creation Configuration [sn_hr_core_config_case_creation] record available under HR Administration -> Case Creation Configuration. The documentation link above generally covers the fields and their descriptions.

Page size - Determines how many records will be queried at a time, similar to how a record list will show "1 to 10 records of 100" or similar. This is 10 by default, and scrolling down through the search results will load more records automatically.

Minimum input length - This sets the minimum number of characters that must be entered to return results.

Limit users on search / User search condition - Limit the searchable user records by a condition (e.g., Active is true).

Additional display fields - Show additional information about the users searched (e.g., Department, User ID, Location).

find_real_file.png

Links - Show links created in Link Generator next to the selected user's name.

find_real_file.png

 

Advanced configuration

Changing table search order

In the hr_CaseCreation script include, the "this.searchTables" variable could be modified to reorder or change what tables are searched. The tables listed must be a sys_user or extension table, or have a valid reference to a sys_user. 

this.searchTables = ["sys_user", "sn_hr_core_profile"];

Additional display fields on reference search:

find_real_file.png

In the hr_CaseCreation script include, an "attributes" property could be added to the fieldObject in addReferenceProperties to show some extra information for each record.

if (['opened_for', 'subject_person', 'assigned_to'].indexOf(fieldObject.column_name > -1)
    fieldObject.attributes = "ref_ac_columns=employee_number,ref_ac_columns_search=true,ref_auto_completer=AJAXTableCompleter";

-- OR --

If multiple additional display columns are needed, a property containing a csv string of the columns could be added to the fieldObject

fieldObject.additionalDisplayColumns = "email,employee_number";

and used in the case_creation ui page's sn-reference-picker by adding a new attribute

additional-display-columns="\{{field.additionalDisplayColumns\}}" (NOTE: Remove \'s)

NOTE: Only fields defined in the sys_ui_list "Mobile" view for the referenced table are available for ref_ac_columns/additional-display-columns on the case_creation page (limitation of the sn-reference-picker directive used by the case_creation ui page). If a field is not showing, then it may need to be added to the sys_ui_list record for that table.

find_real_file.png

Additional search fields on reference search

In the hr_CaseCreation script include, the "searchField" property could be modified in the fieldObject in the addReferenceProperties method to allow searching additional fields (default is to search the display field only). The "searchField" property takes a string of ";" separated field names as a value (e.g., fieldObject.searchField = "field_1;field_2;field_3").

fieldObject.searchField = eleRecord.getDisplayName(); // This is the current code
if (['opened_for', 'subject_person', 'assigned_to'].indexOf(fieldObject.column_name > -1))
     fieldObject.searchField += ";email;employee_number";

These fields do not need to be shown as additional display columns to work.

find_real_file.pngfind_real_file.pngfind_real_file.png

Comments
Abhinandan Pati
Giga Guru

Great Article. Thanks!

I am trying to show employee number on 'Opened for' and 'Subject for' fields but for some reason its not working for employee_number field but same thing is working of 'user_name' and 'email' fields.

Here is my script

if (fieldObject.column_name == 'opened_for' || fieldObject.column_name == 'subject_person') {
            fieldObject.attributes = "ref_auto_completer=AJAXTableCompleter,ref_ac_columns=employee_number";
        }

Am I missing something here? Could you please guide me on this?

 

Thanks,

Abhinandan

_ _ _ _
ServiceNow Employee
ServiceNow Employee

I have updated the article with a solution for this issue. The ref_ac_columns is limited to the fields that are in the mobile view for the referenced table, which is the sys_user table for the opened_for and subject_person fields. To show a field such as "employee_number", ensure that it is on the sys_ui_list record for sys_user mobile view.

Abhinandan Pati
Giga Guru

Thanks a lot! It worked.

Now I am trying to show multiple field values like 'employee_number' , 'location' and as you suggested I made below changes in the 'case_creation' UI page [line number 887 in Client Script] and 'hr_CaseCreation' Script Include. But it's not showing multiple field values.I tried with 'sn-record-picker' as well but it did not help.

Can we just add property in 'sn-reference-picker' directive or any additional steps needs to be taken to make it work?  

Please share your thoughts.

case_creation UI Page

'<sn-reference-picker id="{{getFieldId(field)}}" ref-value="{{field.value}}" class="ev-field-reference" field="field" ed="field" sn-disabled="disabled" sn-options="options" sn-on-change="refOnChange(field)" ref-table="field.refTable" ref-id="field.refId" additional-display-columns=""/>'

hr_CaseCreation Script Include

fieldObject.attributes = "ref_ac_columns=employee_number,ref_ac_order_by=name,ref_auto_completer=AJAXTableCompleter";
fieldObject.additionalDisplayColumns = ["employee_number", "location"];
_ _ _ _
ServiceNow Employee
ServiceNow Employee

I have updated the article to not hide the value for the additional-display-columns attribute. The fieldObject.additionalDisplayColumns should be a csv string now, instead of array of strings. Result could look like:
find_real_file.png

Rob Sestito
Mega Sage

Hello,

How are we able to edit the UI Page case_creation? I too am trying to make these fields on the case creation page more useful. However, I am getting a message that the case_creation UI Page is read-only based on its protection policy.

Any ideas as to how I am work around this?

Thanks,

-Rob

Robert Duca
Tera Contributor

make a copy of it, that's what we did. You'll need to repoint the nav link to the new page and also make note of the change so you can evaluate changes in future releases.

Rob Sestito
Mega Sage

Hey @Robert Duca - I thought that as well - I did a Insert and Stay under the HR Core application. But it still made it as read-only per protection policy.

Should I just create new and repoint the nav link as you suggested?

Thanks,

-Rob

Robert Duca
Tera Contributor

yea... create new and copy/paste the code. 

Rob Sestito
Mega Sage

@Abhinandan Patil - Are you able to share your entire code for both UI Page and the Script include? I am attempting this as well, but get error message on my UI Page when I give it a try.

If you can share, I appreciate it!

Thanks,

-Rob

Robert Duca
Tera Contributor

Client script update in UI page:

 // Reference field
                '<div class="ev-field-input-div" ng-class="wide ? classes.wideField : classes.field" ng-switch-when="reference">',
                '<sn-reference-picker id="{{getFieldId(field)}}" ref-value="{{field.value}}" class="ev-field-reference" field="field" ed="field" sn-disabled="disabled" sn-options="options" sn-on-change="refOnChange(field)" ref-table="field.refTable" ref-id="field.refId" additional-display-columns="{{field.additionalDisplayColumns}}">',
                '</span>',
                '</div>',

 

Script Include Changes (hr_CaseCreation):

    _addReferenceProperties: function(fieldObject, element, tableName) {
        fieldObject.reference = element.getReferenceTable();
        var qualifier = element.getED().getReferenceQualifier();
        if (qualifier && !qualifier.startsWith("javascript:"))
            fieldObject.qualifier = qualifier;
        fieldObject.displayValue = element.getDisplayValue();
        fieldObject.refTable = element.getTableName();
        fieldObject.refId = -1;
        if (['opened_for', 'subject_person'].indexOf(fieldObject.column_name) > -1) {
            //fieldObject.attributes = "ref_ac_columns=email,ref_ac_order_by=name,ref_auto_completer=AJAXTableCompleter";
            fieldObject.additionalDisplayColumns = "employee_number,location";
        }
        var eleRecord = new GlideRecord(fieldObject.reference);
        if (!eleRecord.isValid())
            return;
Rob Sestito
Mega Sage

@Robert Duca 

Okay - and to redirect to the correct UI Page, I would do this from the Script Include - correct?

If so, the original script is:

 

My new UI Page is called:

 

Therefore, my assumption is to take the var evConfigGr = new GlideRecord("sn_hr_core_config_case_creation"); line, and basically just add my after creation.

Is that correct or wrong?

I keep getting the following error when I try it:

Thanks,

-Rob

Rob Sestito
Mega Sage

@Robert Duca 

Looks like I keep getting an error with the HTML from the NEW UI Page:

The whole error from the logs, shows script from the HTML portion.

find_real_file.png

 

JavaScript evaluation error on:

		var fvwPluginActive = GlidePluginManager.isActive('com.snc.facilities_service_automation.fvw');
		var evConfig = new sn_hr_core.hr_CaseCreation();
		var pageSize = evConfig.pageSize || 10;
		var minimumInputLength = evConfig.minimumInputLength || 4;
        var links = evConfig.links || [];
    	var linksString = JSON.stringify(links);

		var coes = evConfig.getActiveCoes();
		var coesString = JSON.stringify(coes);

		var taskCreateTable = evConfig.taskCreateTable;
		var taskCreateRecord = new GlideRecord(evConfig.taskCreateTable);
		taskCreateRecord.initialize();
		var taskFields = {};
		for (var key in evConfig.taskFields)
			taskFields[key] = evConfig.getFieldObjects(taskCreateRecord, evConfig.taskFields[key], true);

        // Remove fields user cannot write to
		for (var keyList in taskFields)
			for (var i = taskFields[keyList].length - 1; i > -1; i--)
				if (!taskCreateRecord.getElement(taskFields[keyList][i].column_name).canWrite())
					taskFields[keyList].splice(i, 1);

		var taskFieldString = JSON.stringify(taskFields);
		// TODO Add boolean for if hr_service field is even on taskCreateTable

		var user = jelly.sysparm_user;
		var profile = jelly.sysparm_profile;
		var userObject = '';
		if (user) {
			var userGr = new GlideRecordSecure("sys_user");
			if (userGr.get("sys_id", user))
				userObject = evConfig.getUserObject(userGr);
		} else if (profile) {
			var profileGr = new GlideRecordSecure("sn_hr_core_profile");
			profileGr.addNotNullQuery("user");
			profileGr.addQuery("sys_id", profile);
			profileGr.query();
			if (profileGr.next())
				userObject = evConfig.getUserObject(profileGr);
		}
		userObject = JSON.stringify(userObject);

		var conversation = jelly.sysparm_conversation || '';

		var collectionKey = jelly.sysparm_collection_key || '';
		var collectionId = jelly.sysparm_collectionID || '';

		var coeLabel;
		var coeHint;
		var topicCategoryGr = new GlideRecord("sn_hr_core_topic_category")
		if (topicCategoryGr.isValid() && topicCategoryGr.isValidField("coe")) {
			var coeElement = topicCategoryGr.getElement("coe");
			coeLabel = coeElement.getLabel();
			coeHint = coeElement.getED().getHint();
		}
		coeLabel = coeLabel || gs.getMessage("COE");
		coeHint = coeHint || gs.getMessage("Center of Excellence associated with HR case you are creating");

		var serviceLabel;
		var serviceHint;
		if (taskCreateRecord.isValid() && taskCreateRecord.isValidField("hr_service")) {
			var serviceElement = taskCreateRecord.getElement("hr_service");
			serviceLabel = serviceElement.getLabel();
			serviceHint = serviceElement.getED().getHint();
		}
		serviceLabel = serviceLabel || gs.getMessage("HR service");
		serviceHint = serviceHint || gs.getMessage("Determines type of case being created");
	
Root cause of JavaScriptException: java.lang.NullPointerException 
: java.lang.NullPointerException: 
Robert Duca
Tera Contributor

We didnt change anything in the section  you referred to.. there are no references to the specific page name in that portion you have underlined.. leave it as is. When I stated nav link I meant the navigator link to 'create new case'

Rob Sestito
Mega Sage

 

Gotcha!

And I think I see the issue now. The code you suggested, had a line commented out. When I remove the comment, and point my Link Type for the 'create new case' - I would like populate the email user name (which displays our employee's User/Employee IDs.

Can I do this, Or would it need to be something different?

if (['opened_for', 'subject_person'].indexOf(fieldObject.column_name) > -1) {
            fieldObject.attributes = "ref_ac_columns=user_name,ref_ac_order_by=name,ref_auto_completer=AJAXTableCompleter";
			fieldObject.attributes = "ref_ac_columns=email,ref_ac_order_by=name,ref_auto_completer=AJAXTableCompleter";
            fieldObject.additionalDisplayColumns = "employee_number,location";

Thank you so much Rob for helping with this! This is great and very useful!

Cheers!

-Rob

Robert Duca
Tera Contributor

I'd suggest going back through this entire article above and trying to understand what is actually being done here.  We wanted 2 pieces of info to display, the employee number and location, those field references are to the sys_user table for our users. You obviously would need to replace this for your desired fields as detailed in this original post above. We we needed was 2 data points and to do that you have to follow the second option above. If you only want to show one datapoint then the first option will work for you using the ref_column attribute. Context is everything so read through this entire article.. its very useful to describe what is actually going on in the code you are working with. Also take note to ensuring you are exposing the fields you need on the mobile view for the sys_user table.

Robert Duca
Tera Contributor

Are you aware of anything that could possibly cause these additional elements to not appear for certain users? We have a very strange situations where I can see the data as admin, I can see the data logged in as an HR user (directly not impersonating) and others with similar HR roles can see the data. But for a few select users they are not seeing the additional data. The versions of Chrome are different than mine and the only thing I can see without physically being able to look at her PC cfg that may be different. The instance is on "newyork-06-26-2019__patch6-01-29-2020_02-05-2020_1016"

 

Browser Versions experiencing the issue:

Chrome: Version 80.0.3987.87 (Official Build) (64-bit)

Microsoft Edge 44.17763.831.0

Microsoft EdgeHTML 18.17763

Microsoft Edge 41.16299.1480.0

Microsoft EdgeHTML 16.16299

 

Browser Versions Working Fine:

Chrome: Version 80.0.3987.132 (Official Build) (64-bit)

Microsoft Edge 44.18362.449.0

Microsoft EdgeHTML 18.18363

_ _ _ _
ServiceNow Employee
ServiceNow Employee

Some possibilities:

1. The users cannot read the fields, or cannot read the underlying data for reference fields.

2. The user has a personalized version of the "Mobile" view for the table.

- Personalized list layouts can be found in the sys_ui_list table with the User field set.

find_real_file.png

3. Clearing caches

Robert Duca
Tera Contributor

yea we tried all that... and I went in and validated the lists... I can impersonate and log in directly as these users myself in sub prd and I see the additional data fine. I've flushed the instance cache multiple times and the end users have stated that they have cleared their cache and cookies in their browsers as well. We are having one of the users upgrade their version of Chrome to see if it helps. Very strange indeed.

Robert Duca
Tera Contributor

hahaha... this was caused by the end users having an outdated bookmark... they were landing on the OOB page and not our copied version! Good news is no work on our end to fix anything!! 

Thanks for the suggestions !! Bookmarks strike again!!

Robert Duca
Tera Contributor

Is there a way to also extend the 'case creation' section 'subject person' , 'opened for' fields to bring results back based on other attributes such as employee number and/or email? Similarly to how the initial search works where I can type an employee # and get users to come back in the results list? OOB the subject person and opened by fields only look for name when retrieving results. Hopefully its a 'hr_caseCreation' script include update? I can get the additional display data no problem but the type ahead search would be great if we can also use employee ID to bring back results.

 

Thanks!

_ _ _ _
ServiceNow Employee
ServiceNow Employee

I have updated the article to explain how to do this under "Additional search fields on reference search". You can modify the "searchField" property of fieldObject to be a ";" separated string of column names (e.g., "name;email;employee_number").

Robert Duca
Tera Contributor

worked like a charm!!! thank you!!

Sujith4
Tera Contributor

Thanks for the Amazing article, but out of curiosity can this be replicated using ATF(Automated Testframe Work) for case creation?

Thanks

Shambhu K B
Giga Guru

That's interesting.

Is it possible to search employee using custom field say for ex i have u_preferred_name in hr profile table. I want to search the employee based on preferred name on case creation page.

Just by adding database index for the custom field in HR Profile table would be enough ? Please suggest.

 

Regards,

Shambhu 

_ _ _ _
ServiceNow Employee
ServiceNow Employee

Indexing the field should be enough for the field to be searchable on case creation page.

Some things to note: 

- Indexed fields may take some time to index.

- The Case Creation search will first search the User table, which does not have fields added to the HR Profile table. If no results are found in the User table, then the HR Profile table is searched and fields indexed on HR Profile are used.

- If the preferred name is too small or common, it may be considered ambiguous when searching and not returned. Turning off "Force partial search" or adding quotes around the term such as searching "Tom" instead of Tom may also improve results when searching.

Shambhu K B
Giga Guru

Thank you. it works. 

how the "opened for" and "subject person" being searched.

They are referencing to user table in backend. can I search with the same field which is there in HR profile table, ie "u_preferred_name"? will it work if i add that like this below.

if (['opened_for', 'subject_person', 'assigned_to'].indexOf(fieldObject.column_name > -1)) fieldObject.searchField += ";email;u_preferred_name";

How can i make that hr profile table field to be searchable in "opened for" and "subject person" fields. 

 

Regards,

Shambhu

Tarun Gupta2
Kilo Contributor

Very helpful article. Thanks!

Mrman
Tera Guru

Hi,

 

When I am trying to search for for person in the 'Opened for' and 'Subject person' which are right fields I am not getting the results to select them .

 

Please let me know how to find what the issue is and where to correct this.

find_real_file.png

_ _ _ _
ServiceNow Employee
ServiceNow Employee

I have seen this issue before and it was caused by an incorrect or missing search field on the table of the reference field. When you search for the "Subject person", the case creation page uses the display column of the table to search.

Some possibilities:

1. The "searchField" is not set in the hr_CaseCreation script include. This property should be set in the _addReferenceProperties and _addGlideListProperties functions.

2. The "searchField" is set incorrectly. This can happen when the referenced table has multiple display columns, or no display columns.

3. The "searchField" is missing, and the sn-reference-picker is defaulting to a "name" field.

Mrman
Tera Guru

Hi,

Thanks for your response.

I checked the HR profile table and display column is 'User' and sys_user table has no display columns.

I compared my personal instance and affected instance the Script includes looks the same . 

Please let me know what else I can check to fix this issue.

 

_ _ _ _
ServiceNow Employee
ServiceNow Employee

You could check the search being done by the reference field. The search is structured display_columnSTARTSWITHsearch term r:reference_qualifier.

There could be an issue when the search term is joined with the reference qualifier. An issue might be that the reference qualifier is using an "OR Clause", which will show as an "^NQ" in the query. The search term is combined with the first clause in a reference qualifier, such as nameSTARTSWITHabel tuter joining with active=true^employee_numberSTARTSWITHEMP, but the search term is not added to additional clauses. This leads to the additional clauses running on the searched table and not getting filtered by the search terms, and all results matching the additional clauses will always show. This is a known issue at the moment, and a workaround might be to not use OR Clause in dictionary reference qualifier.

Mrman
Tera Guru

Thank you very much , the issue was with the OR clause in the dictionary . 

Priya166
Mega Contributor

When i remove the "opened for" field from case creation config then i get error message "user record not found". How can make it work without having the opened for field on page.

Priya166
Mega Contributor

when i remove the "opened for" field from case creation config then i get error message "user record not found". How can make it work without having the opened for field on page.

_ _ _ _
ServiceNow Employee
ServiceNow Employee

The case creation page does not have an issue creating a case when the "opened_for" field is not in the case creation form. I tested this to confirm, and also noticed the hr_CaseCreation script include API `createTask` specifically checks for this scenario.

This error could be coming from the hr_Profile script include [sys_script_include_ba5370019f22120047a2d126c42e7000] method `createProfileFromUser`. This method tries to get or create an HR Profile from the a user sys_id record.

This API could be triggered by business rule "Create HR Profile for users" [sys_script_07da53b40b302200f9fd064d37673ab1], and it might be triggered because an HR Profile could not be found or created for the subject person selected. 

If the user does not have an HR Profile record, or it cannot be found, you could test running and debugging the API `new hr_Profile().createProfileFromUser(SUBJECT_PERSON_SYS_ID);` to see what issue is occurring.

 

The error message could also come from customizations, but this would be a good first place to look.

Robert Duca
Tera Contributor

Anyone getting this error below? I am getting it on a brand new fresh Rome PDI when I try to load the case creation UI page. I imported a quebec version and used the 'try it' feature and same error.

 

find_real_file.png

 

Also in console I see this:

find_real_file.png

 

i see a similar post for this on an old KB article but im getting same error for a diff issue I think, there are no special characters in my logon, im using the admin account issued when the PDI was spun up

 

https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0822732

_ _ _ _
ServiceNow Employee
ServiceNow Employee

It looks like the error is in ui page 73..4d2fedfe153afef, line 741. I do not see this ui page on PDI (the case_creation ui page has sys_id "3433fb86eb533200a9e7e26ac106fef2"). I would look at the ui page's line 741 (likely in the client script section) to further debug. Additionally, this error likely comes from a "JSON.parse" line, but those are not that far down in the ui page.

Robert Duca
Tera Contributor

Well thank you but as you know with that UI page you cant make any changes to it at all... i did however create a version from a Quebec instance that I know worked fine, recreated the UI page from scratch and tested it using the 'try it' feature. Same issue.

 

I wiped and reset the instance to the same version of Rome, reinstalled the plugins and it worked fine... bad PDI maybe? Who knows but its not happening anymore mysteriously.

Krishna73
Tera Expert

Hi @_ _ _ _ ,

 

What could be the reason when a particular user is not able to search while searching for employee ?

 

Regards,

Krishna

_ _ _ _
ServiceNow Employee
ServiceNow Employee

@Krishna73 

Possible reasons a particular user is not able to search for employees:

  1. The user cannot search for HR Profile or User records themselves. This can be verified using the Keyword/Text search in the record list (TABLE_NAME_list.do) view of each table, sn_hr_core_profile and sys_user. A business rule or ACL could be blocking a specific user from searching for certain users.
  2. The user does not meet the criteria to use the case creation search rest call. The Rest call itself has an ACL defined that limits what users can call the API, and the specific user may not meet this criteria. The rest call in the browser's network tab may show a 403 error or related error and return no results.
  3. Text search is not available for the table the user is searching on.
  4. The issue is not specific to that user, but is specific to what terms they using to search. Maybe the search terms work for one user since they can read those fields on the HR Profile table, but don't work for another user who cannot read the HR Profile record.
  5. The case creation page or related scripts/script includes have been customized and there is a customization specific issue.

Verifying the user can search the same terms on the record list view and comparing to the search results from the case creation page would be a good first step to investigating. A common issue is that the search terms are too ambiguous for the Zing/Text search and no results are returned. To help with this issue, an enhancement was added to the case creation page using the fields "priority_table_name" and "priority_table_column" to essentially do a second search. For example, this allows adding a "name STARTSWITH" search in addition to the Zing/Text search so that ambiguous search terms can still show results using a simple starts with search.

 

Enhancement doc: https://docs.servicenow.com/bundle/utah-employee-service-management/page/product/human-resources/tas...

Version history
Last update:
‎11-22-2019 03:49 PM
Updated by: