Hi Rainer,
You might be best off posting an example of a small app with 2 reports, set up in the way you describe. Then folk can suggest ways to "make them one".
Personally I only need 1 report procedure. I do it like this;
a) the p_web parameter to the report is set as "optional". (so if passed this is a web report, if not passed it is a "desktop" report)
b) in the code p_web is tested before doing anything "web". The templates already do this. So if the parameter is not passed then it doesn't do the web stuff.
But the exact setup that is right for you might be slightly different to this. Since you have the system already working, albeit with 2 reports, the best way to be specific about your case is to see an example of the setup.
I agree that keeping 2 copies of the report procedure is a really bad idea, and you certainly will not need to do that. So it's worth making the example to get this right.
cheers
Bruce