Hi. I've quite a complex report to create and I was wondering wheater someone could give me some design tips. The situation is like that: I have a collection of objects which all inherit from one baseObject class. Each of those objects has some characteristics like: name, amount, value, type, etc. Now some of those objects, depending on their type have some additional characteristics, eg. if a object represents software it has system requirements characteristic, licence expiration date, etc. Each object can also be used in a procedure (and I do not mean java method but some business meaning procedure). For example a extinguisher can be used in fire fighting procedure. Each procedure has also it's characteristics like: symbol, type, etc. All the logic, and data manipulation methods are ready to use, so I can easily retrieve the objects collection, given a type of object I can easily retrieve it's additional characteristics, procedures, etc. The point is I have to make a report which will list all the objects names, and if a object has some additional characteristics they will be displayed in tabular way below the objects name as will the procedures. If there are no procedures or no additional characteristics only the object name get's displayed. The bad news is that user can select wheater they want the procedures and/or additional characteristics to be displayed. Do you suppose I should use multiple templates, each for one user's choice of the detail level? I should probably use some custom data source and subreports - but how do I do that to make sure that the subreport retrieves data for the given parent report object, eg that the subreport lists the additional characteristics for the parent report "current" object? Any tips are welcomed, Regards, Grzewal