I created a custom report using IFS Developer Studio. When I deployed the .rdf to the target database, the report itself was created and registered in the application. The _RPI, _REP, and _RPT database objects were also created.
If I want to (or must) use IFS Developer Studio to remove the report from the target instance, what is the best practice to do so?
I see that I can make the entire model obsolete, but I also want to remove (not just ungrant) the report and drop the database objects.
I also see the following procedures but I’m unsure if I should incorporate these into my existing rdf so that when it’s deployed to the target instance the objects are removed.
report_sys.remove_report_definition
database_sys.remove_package
database_sys.remove_table
database_sys.remove_view
Best answer by hamalk
Hi @Tracy Norwillo
Hope following information in techdoc will help you to handle your requirement
This section should be placed at the end of the UPG file. Here obsolete views, packages, report tables, temporary tables, indexes, constraints and sequences can be dropped. Developers should never 'drop' any columns or tables that could cause data loss for the customer. Instead, there are methods in Database_SYS for obsoleting these two objects, Obsolete_Column and Obsolete_Table. These methods drop constaints etc. and renames them with a certain pattern. Columns are prefixed with OBSOLETE_COLUMN and tables with OBSLETE, but also suffixed with the component name. The removal of the renamed objects should be handled in the <Component-short-name>cl.sql file (clear-script).
This section should be placed at the end of the UPG file. Here obsolete views, packages, report tables, temporary tables, indexes, constraints and sequences can be dropped. Developers should never 'drop' any columns or tables that could cause data loss for the customer. Instead, there are methods in Database_SYS for obsoleting these two objects, Obsolete_Column and Obsolete_Table. These methods drop constaints etc. and renames them with a certain pattern. Columns are prefixed with OBSOLETE_COLUMN and tables with OBSLETE, but also suffixed with the component name. The removal of the renamed objects should be handled in the <Component-short-name>cl.sql file (clear-script).
Thanks @hamalk , that makes sense for the database objects.
Are the “404 Not Found” errors for the examples just a temporary thing or have examples not yet been created for the tech docs? I was looking for an example of the clear script.
Is there any advice on removing the report model related files like the .rdf, xsd, and report projection?
Thanks again @hamalk, I did find an existing clear script to reference on one of our client’s instances. I also found the database_sys.obsolete_table procedure.
This isn’t related to my question, but on Cloud 21r2, I could not find the database_sys.obsolete_column procedure that’s referenced in the tech doc.
I guess Harshini has pointed you on how you can remove the database objects (table, view and package etc)
To remove the report instance and all related connections like projection, clients, definitions etc. you can use the report_sys.remove_report_definition and pass the report ID as a parameter. This should be in your drop script.
As for the physical files, RDF, XSD, RDL etc. You can obsolete it as the normal way that you would obsolete a file in your repo by replacing it will dummy files.
@ChanakaAmarasekara , if you want to remove .report model file you can always obsolete the model file using the Navigator RMB option “Obsolete File” in Developer studio tool
We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.