Duplicate Context
Imagine you have a context which has huge number of joins selected and you want to create another context for same joins along with some more joins. Click the existing context and right click from any of the joins selected. New context pop up window will appear along with all the selected joins. Now you can easily edit the context by adding / removing the joins from the context and provide name to the context. It will reduce huge development effort from the context creation part.
Move Objects from one class to other Class
To Move an object from one class (cut the object in the original Class) to another class (Paste the object to another Class) won’t impact anything in the report
Copy, Paste and Delete Objects
Copy the object from one class to another class and delete the object from original class will impact the report. When you run / refresh the report, it will through an error message saying “Some obsolete objects have been removed from the query”
Universe Log
If you are not having version control in your system, you can create a universe log in your universe to maintain the version and it will not cost you anything. Create a class called universe log in your universe and create Objects under that class based on the date when you are updating your universe. For example, I have done some changes in my universe on April 22 2014, I created object 2014-04-22 and added universe version information along what changes have done. This is very simple method of maintaining your universe version and you can keep track of your changes whenever you want.
Static and dynamic prompt values – For Scheduled reports
You can create a Conditional prompt to get dynamic values by passing Static values (you should have proper DB table to get the value).
Example, if you want to run (schedule) the report on daily basis and want to pass prompt values as daily date. Create a conditional object as mentioned below.
TIME.TIMEID in (DECODE(@Prompt(‘Daily TimeID (YYYYMMDD)’,’A’,’Lov\TimeId’,mono,free), ‘CURR_DAY’, DECODE (TIME.CURR_DAY_IND , ‘Y’,TIME.TIMEID),@Prompt(‘Daily TimeID (YYYYMMDD)’,’A’,’Lov\Time Id’,mono,free)))
Details –
CURR_DAY – is Static Value, if you pass that into this prompt, it will fetch the current Daily Date. This way you don’t need to change if you have any report which changed the prompt values every day.
This approach can be used in any kind situation if you have data in place (DB tables) and will reduce lots of manual intervention.
Nice info..