Custom Table when pulled as a related list, 'Edit' button on the RL does not give all records

Salma Laskar
Tera Expert

Hi,

A custom table say 'u_test_table' created with only two reference field 'Task' referencing to task table and 'CTR' field referencing to test result table.

when this custom table is pulled on the test result table as a related list, as an admin when 'Edit' button is clicked, it does not give all the tasks under collection slush bucket. The bucket on left side from which we want to pull tasks on the bucket on right side in 'sys_m2m_template' form.

However, if we open the custom table from the navigation and try entering new data in the table, we can select all tasks on the reference field 'Task' on the custom table.

 

Please let know if you can identify the reason for it.

 

Thanks!

1 ACCEPTED SOLUTION

Salma Laskar
Tera Expert

Hello Folks,

 

Thank you for all your responses. Appreciate it sincerely!

 

I did raise a hi case with servicenow support and got this resolved. Here is what was needed - 

 

Create a custom UI action say "Edit..." with below configurations (this is specific to my use case).

Table : sn_vulc_m2m_test_result_task {this is the custom m2m table that I've created}

Action name : sysverb_edit_o2m {you might want to keep it exactly this}

Active : True

Show insert : True

Show update : True

List banner button : True

Condition : (new GlideRecord(current.getTableName())).canWrite() && RP.isRelatedList() && !RP.getListControl().isOmitEditButton()

Script : 

var uri = action.getGlideURI();
var path = uri.getFileFromPath();
uri.set('sysparm_m2m_ref', current.getTableName());
uri.set('sysparm_stack', 'no');
uri.set('sysparm_query', '');
uri.set('sysparm_collection_related_field', 'u_task'); //{'u_task' this is the custom field on the custom m2m table referencing to [task] table}
uri.set('sysparm_collection_related_file', 'task'); // {Task table - all of the records from this table are to be displayed on the left slush bucket under collection}
action.setRedirectURL(uri.toString('sys_m2m_template.do'));

View solution in original post

12 REPLIES 12

Hristo Ivanov
Kilo Sage

Since you copied everything, check if there's a reference qualifier configured on the reference field

Salma Laskar
Tera Expert

Hi Hristo,

No reference qualifier.

 

Thanks!

Salma Laskar
Tera Expert

Hello Folks,

 

Thank you for all your responses. Appreciate it sincerely!

 

I did raise a hi case with servicenow support and got this resolved. Here is what was needed - 

 

Create a custom UI action say "Edit..." with below configurations (this is specific to my use case).

Table : sn_vulc_m2m_test_result_task {this is the custom m2m table that I've created}

Action name : sysverb_edit_o2m {you might want to keep it exactly this}

Active : True

Show insert : True

Show update : True

List banner button : True

Condition : (new GlideRecord(current.getTableName())).canWrite() && RP.isRelatedList() && !RP.getListControl().isOmitEditButton()

Script : 

var uri = action.getGlideURI();
var path = uri.getFileFromPath();
uri.set('sysparm_m2m_ref', current.getTableName());
uri.set('sysparm_stack', 'no');
uri.set('sysparm_query', '');
uri.set('sysparm_collection_related_field', 'u_task'); //{'u_task' this is the custom field on the custom m2m table referencing to [task] table}
uri.set('sysparm_collection_related_file', 'task'); // {Task table - all of the records from this table are to be displayed on the left slush bucket under collection}
action.setRedirectURL(uri.toString('sys_m2m_template.do'));