We wanted to clear the old objects like Jobs, workplans, Events, Schedulers..etc and as these objects are not used anymore. We have more than 5000 objects that needs to be cleaned. Actually we can use REMOVE_OBJECT to delete the objects from the system . However for an example, if an job is in a workflow which is inactive and rest of the objects in the same workflow is active, then it is bit hard to find out the usage of the invalid objects one by one. Do we have any better suggestion on how to find it out ? In short terms, We would like to remove the inactive list of objects from all the places where it is used.
Thanks and Regards
I am afraid there is no way out of manually change e.g. workflows if an object inside has to be removed.Please be careful when deleting objects, even if its inactive because the Workflow will stop in state "FAULT_OTHER" if an object is not found.
As a start you can use below SQL statements (Oracle) to identify 1) objects that were set to inactive and 2) Objects that were set to inactive on TASK level in the workflow
== Inactive Objects ==select oh_name from ohwhere oh_otype in ('JOBS','JOBP','JOBF','SCRI','JOBG','EVNT','JSCH','CALL')and oh_inactive = 1and oh_client = 666and oh_deleteflag = 0
== Task Inactive within Workflow ==select OH_NAME as "Workflow", JPP_OBJECT as "OBJ in WF", JPP_Lnr as "POS in WF", (CASE WHEN JPP_ACTIVE = 0 then 'not active, no breakpoint' WHEN JPP_ACTIVE = 1 then 'active, no breakpoint' WHEN JPP_ACTIVE = 2 then 'not active, with breakpoint' WHEN JPP_ACTIVE = 3 then ' active, with breakpoint' END) from OH, jppwhere OH_IDNR=JPP_OH_IDNR/*JPP_ACTIVE:0 ... not active, no breakpoint1 ... active, no breakpoint2 ... not active, with breakpoint3 ... active, with breakpoint*/and JPP_ACTIVE <> 1and oh_client = 666and oh_deleteflag = 0
hope this helps a bit