Report Designer transient data linking

SUGGESTED

I am trying to work out how Sage/Report Designer link the data between the actual Sage tables and the transient tables that report designer uses. We print out some stock labels and the report uses a Stock_Label_5559 table for its data which is made up of fields from other tables in the sage database, but how does it know which fields to use and how to link them? Is there anyway to change them or add to them? 

Just trying to work out how it works. 

  • 0

    There isn't a link. That's why they're called 'transient' reports; the data in these cases is an in-memory collection that is constructed at runtime. The various bits of data could come from the underlying database, or from data that a user has typed into a form that's not going to get persisted, or from a calculation, or (more usually) from some mixture of the above. There's some mapping in the transient report catalogue which explains how a given property of an object in the transient data collection relates to a field in the report designer, but aside from reverse-engineering the code that populates the in-memory collection there's no way of reliably discerning its exact provenance - let alone altering it.

    In the case of Stock_Label_5559, this is used by a print method which accepts a data collection that can actually be populated in a variety of different ways, depending on where and when within Sage 200 the labels are being produced. For example, it can be used to print receipt/return items, traceable items, bin items and so on.

    To that end, there is little utility in simply attempting to introduce a new field to the transient catalogue, as there's no way to tell Sage 200 how to provide the data for that field - outside of writing a custom label-printing mechanism.

  • 0 in reply to Chris Burke

    However, depending on the report, it is sometimes possible to link transient data to database tables.

    In the stock labels report using transient table Stock_Label_5559, you can link it to StockItems using Code in Report / Joins:

    and then add fields from StockItems to the label.

    This seems to work but I have no idea how!

    Similarly, you could get this report to print multiple labels per item using the technique here

  • 0
    SUGGESTED

    Query has already been answered by colleagues above.