You can use TfrUserDataset component for that.
It has OnFirst, OnNext and OnCheckEOF events which are used to set, advance and check if your data is at the end.
I usually use OnGetValue event of the report to actually set data in the report.
P.S.: And if report is 'static' (that is, no need for multiple rows like in MasterData band) you can just set variables attached to report's memos from program before printing report.