Solved

How to find where a SMO is being used?

  • 30 January 2018
  • 5 replies
  • 85 views

Badge +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

icon

Best answer by Vernon 30 January 2018, 18:23

View original

5 replies

Userlevel 4
Badge +14

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

Badge +10

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

Userlevel 4
Badge +14

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


 

Badge +10

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.

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.

Reply