I’m working in IFS Developer Studio in a Cloud 21.2.9 environment deploying new operational reports and uplifting existing custom operational reports. In my .rdf, there is a place for the report definition which uses Report_Sys to create the Report Definition in the application. I’d like to create the report layout entry at the same time so it doesn’t need to be created manually in the application. I realize that I’ll still need to import the actual layout in the application but I’m trying to skip the step of having someone manually create the layout entry after the report is delivered to the various customer instances.
I’m looking for advice on what the best practice is to accomplish this. I did find that there is a Report_SYS.Define_Report_Layout_ procedure which I can put in the report definition section of my .rdf and which will create the layout entry. The only issue is that it creates the entry with Design Time set to TRUE. I’ve found that this makes it impossible to delete the layout if there’s an issue with it. The only option is to set the layout to disabled once Design Time is set to TRUE. That’s not ideal since I’m working with a customer and don’t want to leave disabled junk in their instances if I make a mistake.
I’ve found another API called Report_Layout_Definition_Api which also has procedures to create the layout entry, but this API doesn’t have the same check to see if the layout already exists and is designed to throw an error on duplicate entries. Of course, that won’t work for Cloud deployments.
Not to muddy the waters, but I should mention that some of the layout entries will be .rpl’s if there is an alternate SSRS layout. I’m thinking this shouldn’t matter since all I want to do is create the line in the Layout Definitions that lives beneath the Report Definition.