If you want a report that is an image of the display screen one thing you can do is create a VI whose front panel is a clone of the application's front panel. The only code behind this front panels would be property nodes to set the clone's front panel to match changes the user makes in the display during execution (for example, a user can change the color of plots, or the such things). It is vital that the diagram of this VI has at least 1 property node, otherwise it will only update if its window is open.
Now as you main application is running it gathers a collection of all the data that you will want to print. When the user then clicks a print button, or the program exits (however you want the program to work) the code would take each dataset and one at a
time pass it to the clone VI and programatically print its front panel.
However, if all you have is tabular data (i.e. no plots or other graphics) I have found it easier to use the report generator VIs, but it's your call.
Mike...