We are updating the OBS using staging tables (data flushed into staging tables from external systems). We need the OBS to be only 3 levels deep.
Some OBS are having 4th Level. How can I delete the 4th level using XOG?
The complete="true" argument in the OBS XOG write allows you to "delete" levels in an OBS, BUT we have to provide the complete view of the entire OBS in the XML (rather than just the changes).
I would recommend to take OBS related table backup before perform activity.
Just wondering again if there is a simple way of seeing the fourth level units and then deleting t
The GUI typically displays one parent and the immediate children. So you would have to navigate through all level 3 units in the GUI.
Using the graphical OBS portlet would allow to pick all of them at once. See
If the staging tables store the info as parent child data that is not any easier to locate the units to be removed.
The PRJ_OBS_UNITS has the level, but does not tell in which branch the unit to be deleted is.
Combining that to the OBS path query would give the units fairly quickly if the results are filtered eg. in Excel. See
Reporting: How to get the OBS path of a resource.
Once you got the units to be removed you would need the stripped xml.
One way to do that is create the xml from scratch.
Because of the levels adding the tags is more complicated than in a case where there is just one level.
You must have already something for that if you are currently updating your OBS from the staging tables so the modification is less work. Further you would have to modify your process for the future to transfer only three levels.
The output from XOG read would serve also as a backup. One time to edit the file to remove all level four units (and below) is not too much work if you already know which units and where they are.
Thank you urmas.
That helped a lot.
Just wondering again...
If that was the answer how did you apply it?