Skip to main content
Nintex Community Menu Bar
Solved

How to find where a SMO is being used?

  • January 30, 2018
  • 5 replies
  • 212 views

Forum|alt.badge.img+10

I have a Smartobject that I want to get rid of. Before doing so, I want to find out what other objects(workflow, forms, views) are using it? How can i do it?

 

Thanks

Best answer by Vernon

NOTE: Direct db manipulation is not suported, dont delete directly from the db. Use the UIs.


 


In my tests on K2 Five and 4.7 P&D does show the worfklow unfer the SmartObjects "Used by" tab


 


You can use the PROCid from the server.proc tables ProcSetID to look up the process name in the server.procset. Note that its not clear to me what you mean with you have a prodID.


 


Select * from [Server].[Procset]
where [ID] in (Select [ProcSetID] from [Server].[Proc] where [ID] = <PROCID>)


 


HTH


Vernon


 

5 replies

Vernon
Forum|alt.badge.img+14
  • Scout
  • January 30, 2018

IMO the easiest way is if you have P&D MMC access. Create a new package selecting the SmartObject you want to delete. This will pull in all the references. If you then click on the SmartObject in the P&D app on the right there should be a used by tab, this should be the objects that have a dependency on that SmartObject.


 


HTH


Vernon


Forum|alt.badge.img+10
  • Author
  • January 30, 2018

I tried creating a package in P&D but it didn't show me the Workflow that it's used in. I am almost sure that I have used that SMO in a workflow.

 

I was able to guess ProcID for my test instance (based on the date I created workflow). Is there a table I can query using ProcID to find the workflow name?

Thanks


Vernon
Forum|alt.badge.img+14
  • Scout
  • Answer
  • January 30, 2018

NOTE: Direct db manipulation is not suported, dont delete directly from the db. Use the UIs.


 


In my tests on K2 Five and 4.7 P&D does show the worfklow unfer the SmartObjects "Used by" tab


 


You can use the PROCid from the server.proc tables ProcSetID to look up the process name in the server.procset. Note that its not clear to me what you mean with you have a prodID.


 


Select * from [Server].[Procset]
where [ID] in (Select [ProcSetID] from [Server].[Proc] where [ID] = <PROCID>)


 


HTH


Vernon


 


Forum|alt.badge.img+10
  • Author
  • January 30, 2018

Thanks this query gave me the workflow name. That's what I needed. I wrote ProcID not ProDID.

 

Thanks for reminding about direct DB updates.


  • May 20, 2019

Assuming you have a backup, you can delete or rename a property of the SmartObject and publish. All the forms, views and flows using it should have a designer error. Make a list of them and put the SmartObject back. Kludgy but I am sure it works.