- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-02-2024 01:31 AM - edited 01-03-2024 01:43 AM
There is a custom M2M table created by mistake in GRC: Risk Management scope. The M2M definition record in "sys_m2m" table has been deleted, but the table definition in "sys_db_object" table still exists, along with the field definitions and label configurations. I wanted to delete this table and capture the deletion in an update set, so that it can be moved to other instances as well. However, the delete UI action is not visible in the table definition record. I have seen other community page solutions pointing to deactivate an ACL but I wanted to check if it is possible to do this without making changes to an OOTB ACL, possibly via a fix script.
Please suggest if this is achievable.
Thanks.
Edit: Reason why I posed the question is that it is not possible to delete the table as it was created with a name prefix "sn_risk" and not with the prefix "u_", making it impossible to delete the table manually. Hence required solution to delete it via script.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-02-2024 02:08 AM
Hello @Kirthika D ,
You can below below snippet in background script.
var tableDeletion = new TableUtils();
tableDeletion.dropAndClean('Table_nam_here');
Kindly mark the answer ✔️ Correct or Helpful ✔️ If it addresses your concern.
Regards,
Siddhesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-03-2024 12:13 AM - edited 01-03-2024 08:59 AM
Never mind, I just found that checking the "unloadable" checkbox in the fix script creates customer updates for the changes done by executing the script. This helps.
Thank you,
Kirthika D
Edit: TableUtils is not accessible from outside Global scope, but it can be called from Global scope to delete tables in other scopes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-03-2024 12:13 AM - edited 01-03-2024 08:59 AM
Never mind, I just found that checking the "unloadable" checkbox in the fix script creates customer updates for the changes done by executing the script. This helps.
Thank you,
Kirthika D
Edit: TableUtils is not accessible from outside Global scope, but it can be called from Global scope to delete tables in other scopes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-03-2024 01:10 AM
Exactly backgroud script doesn't capture updates, So using the fix script would be best practice.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-03-2024 04:07 AM
TableUtils script include is not callable from Risk Management scope. ☹️
@Siddhesh Gawade , is there a workaround for this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-03-2024 04:15 AM
Can you try
var tableDeletion = new global.TableUtils();
tableDeletion.dropAndClean('Table_nam_here')
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-09-2024 01:00 AM
Tried that, but in vain. I had to recreate the fix script in global scope and call the function from global scope. It did delete the table, but I had to manually move the customer update records to a scoped update set before migrating it to other instances.
Thanks for your help. 🙂