It would rather use Textmerge for templates. It's easier to maintain and process. I don't know enough about your data to answer you question about reporting but I don't see why it should be a problem with proper table design.
Invoice no. <<vueInvoice.iNo>> dtd. <<vueInvoice.dDt>> , M/s. <<ALLTRIM(vueInvoice.cName)>>
>
>>You can create templates for all narrations and store them in a table. This way they can be changed at any time and will apply to all feature printouts.
>
>Yes, I have created such a table. This table contains a memo field which contains text like: "Invoice no. " + STR(vueInvoice.iNo) + " dtd. " + DTOC(vueInvoice.dDt) + ", M/s. " + ALLTRIM(vueInvoice.cName)
>
>This I convert at the time of saving the data-entry. This is because I know such and such views/tables will be open. But at reporting time? And I am a bit concerned to open each and every view/table cause Ledger (be it Accounting or Inventory) will have one or more transactions from each and every view/table.
>
>So I am pretty dense of how to go about achieving, at reporting time, what I have been doing at data save time.
>
>Please advise.
--sb--