Hi again and many thanks to all who contributed to this thread. It has given me a viable WebApp reporting option that enables me to relatively easily migrate existing cwinreport2 reports to the web.

I have gone with the VPE option running as a report engine on the server. I am running the classes downloaded from Vincents link which I altered slightly to get it to access the latest VPE version 7. It is running under Dataflex 19 on Server 2012 R2 accessing a local SQLExpress 2016 database (using the new Connection Ids...YES!!).

The process I chose to stay with is:-
- The user on a web page selects a report and enters their selection criteria.
- This data is saved to a jobs file and allocated a job number.
- The Report engine running on the server is scanning the jobs file and when it finds one it runs the report with the supplied selection criteria and default outputs to a pdf named 'jobnumber.pdf'.
- The user can check for the completion of their job any time from their browser and if completed it will load the pdf back to the browser.

It works well if you have a number of existing cwinreport2 reports that the client is already using and is happy with. It also means I can keep running the identical reports using the Windows interface or the Web interface.

If anyone else is interested.. some lessons I learnt:-
- Most reports for me just needed these two lines changing in order to run as a VPE report:-
Use VpeReport.pkg
Object ReportName is a cVpeReport
- To get it to default output to a pdf requires these 2 lines in the StartReport procedure
Set OutPut_Device_Mode of iRepObj to PRINT_TO_FILE
Set psFileName of iRepObj to sfilename \\include full path here including '.pdf' on the end of the filename
- VPE works a treat first up and was easy to convert a report. I had a minor issue with the size of PageTop but easily fixed.
- DFWritebmp seems to only print bmp's not jpg's (not a deal breaker for me as coming from vdf5 I am used to this!!).
- If using DFQuery.utl make sure it is accessed after the first Use vpereport.pkg otherwise it generates compiler errors.
- Had to read the pkg's to find out how it worked (not too hard) as I could not find any documentation.
- I decided to stay with the Report Engine model as some reports are 300+ pages and it would lock up the browser for too long. This way the user can go and work other panels and then come back later to see if the report is finished as it still has their job number. I know it will be using up one of their Windows client user licences to run the report engine but it seems to run well at this stage.
- I think I will add a user/job panel where each user can go back and find their past reports and reload them or rerun them as it seems like an obvious extension of the Report Engine process.
- I ended up using the "Reports\Cache" folder to hold the pdf's as for some reason WebApp could not access pdf's from my own folder even though I thought I had set the rights. I spent a lot of time on this before eventually giving up (it works in debug mode but not in server mode). I suspect it is an access rights issue and it would be nice to know why this would not work as I will need to download other static documents from other folders in the future.

Thanks again for all the help and hopefully this will help someone else.