I am getting the following when attempting to use WebOI on a form that uses our commuter module:
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
SYS1000: Error loading program "INSIGHT_CUST_FORECASTS_ENTRY_F_HTM".
On a simple form created by letting the weboi utility create the commuter module, it will work fine. This tells me that the configuration is correct.
How does one troubleshoot the error?
Using IIS, IE7 or Firefox, XP Pro, tables are attached, oecgi2
Peter,
WebOI creates HTML Templates (or pages) for each OI form or popup it ports to the Web. That Template is then turned into a program that is actually run, every time the Web version of the form or popup is run.
It is done that way so that you can alter the HTML/Web version of the form if you want to, e.g. to alter the layouts or fonts etc, then turn it back into a program again when finished. I.e. you can make the Web versions of forms or popups look different to the standard ported version, while it will still behave the same as the GUI form or popup.
Forms are ported as ApplicationName_FormName_F.htm, and stored in the Template directory within the OI directory. When they are turned into programs, the program has the same name (but with _ instead of . i.e. ApplicationName_FormName_F_htm.)
I.e. the program that WebOI cannot find - INSIGHT_CUST_FORECASTS_ENTRY_F_HTM - sounds like the program version of the form.
In order to track down what is going wrong, first check that INSIGHT_CUST_FORECASTS_ENTRY_F.HTM (in any casing) exists in the OI Template directory. If it does, then try turning it into a program again, using the WebOI Web Ready form, Tools tab, Regenerate Template Source Code option. Then check if the program INSIGHT_CUST_FORECASTS_ENTRY_F_HTM exists as a Stored Procedure Executable within OpenInsight or not.
If INSIGHT_CUST_FORECASTS_ENTRY_F_HTM does not exist as a Stored Procedure Executable after doing the above, then Revelation will need to get involved - probably something is going wrong when the HTML is being converted into code, and that will need Revelation's involvement to be corrected.
If INSIGHT_CUST_FORECASTS_ENTRY_F_HTM does exist as a Stored Procedure Executable, then it should work not - if it does not work then I am a bit lost! But see notes on debugging below anyway.
If INSIGHT_CUST_FORECASTS_ENTRY_F.HTM (in any casing) does not exist in your Templates directory, then try porting the Form to the Web again. If that does not create it, then once again Revelation will have to be involved.
With regards to debugging when using WebOI - I find debugging easiest when running OECGI, with a static engine (I think that is the correct term!) running on the desktop. That way when an error occurs, OI will drop into the debugger, and you can use the debugger to track down what is going wrong as you can when using the GUI interface. However, that mainly applies when you are adding custom code/Pre or Post code into WebOI itself - it should be less relevant when porting forms or popups to the Web, basically they should just work.
Apparently you can debug like that using OECGI2 as well, I have seen notes to that effect within this forum, but I have never worked out how to do that!
Regards,
Glenn
The procedure did exist - however when I attempted to compile it, it failed with B206 illegal expression following concatenation operator and B101 illegal statement termination errors, about 15.
I was able to compile the other test form so my guess there is some problem with how the procedure is created.
All are lines starting with:
Response := ' DOMGUIContainerList ' "KEY_WEBCONTAINER*DATE_ENTERED….
Thanks for the overview of how things work together.
Glenn,
Thanks for the explanation of the WebOI process. As I understand, the TEMPLATES folder contains the htm building block - an intermediary which can be modified/customised and compiled back into the Stored proceedure. It is the stored proceedure that is the routine that publishes to the web.
I have been tring to get to grips with Popup which returns either a record key - or in the case of record data, a value to a control eg country etc. I have one table / form for which popup works OK, another where it doesnt - the popup returns null. I have compared code between sucessful and unsucessful and can't quite see whats wrong. Any idea where I start looking?
Hi Richard, Mike has been working on this issue with me as I experienced the same recently. I believe that he has tracked down a potential cause and he continues to work on the fix. I'll keep you posted.
Richard-
I think we found the issue here, and I have emailed you a patch. If it works, we'll make it available on the website, and build the fix into 9.0.1.
The issues appears to happen with some popups, but only those with a tablename that contains an underscore in them.
Thanks-
Mike
Yup,
That patch did the trick. Well, … that is after I reflected and figured I should have stopped OECGI wrapper before the install - as
Seems the diagnosis was correct about Table_Name underscore. The forms that had worked fine before the patch had tables like 'COUNTRY' and the forms that didnt work had table names like 'WOD_CONTACTS'.
So the various forms, poups etc seem to be doing their thing - so now I can focus on tidying up, refining customising and enjoying.
Thanks Mike.