OI for U2, OEngines and DBT (OpenInsight 32-Bit)
At 18 JUL 2007 11:57:15AM Enrique Murphy wrote:
Hi. I have passed some tables of an application to U2. I have attached and refreshed the U2 volume from the Database Manager and saved the database definition. The U2 tables are attached when I open OI and run the application, but they are not attached when I open an OpenEngine, so I can't access the U2 data from HTML. Seems like the CreateQueue of the OEngine attaching the OI tables but not the U2 tables.
How does OI
At 18 JUL 2007 12:00PM Enrique Murphy wrote:
…Sorry, I hit the Submit.
How does OI loads the database definition when you open an application?. Because I tried attaching the U2 volume in the OEngine (Inet) process and it did work, but it took a lot of time to attach the volume.
At 18 JUL 2007 01:23PM Bob Carten wrote:
Hi Enrique,
I' ll have to look at the attach with just an engine. I know that the OpenInsight is written so it will not automatically attach bonded tables from the SYSPROG account.
Attach_table is hard coded to run U2_SYNCMAP, a program which compares the list of tables in OpenInsight to the list of tables on the U2 server and adds any new tables to OpenInsight. That process can be slow. The goal is to ensure that OpenInsight will find any tables which were added to the U2 database since the last time the tables were attached.
I looked into the UTF8 support. It appears that you install U2 with NLS support, then use a charmap scheme very much like that for OpenInsight. I have not tested that with OpenInsight yet. I suspect that the U2 charmap and the OI charmap would fight each other.
Bob
At 18 JUL 2007 02:26PM Enrique Murphy wrote:
Hi, Bob.
If Attach_Table synchs OI with U2, this doesn't seems to be the same procedure OI uses when it opens, so OINSIGHT.EXE seems to be using something different to load the database definition. Otherwise, the U2 tables wouldn't be visible to OI instances if an Attach_Table is not run.
At 18 JUL 2007 03:39PM Bob Carten wrote:
If Attach_Table synchs OI with U2, this doesn't seems to be the same procedure OI uses when it opens
Correct.
As I recall, when OI opens it calls SWAP_DATABASE, which loads table information from the DBT without running ATTACH_TABLE.
At 18 JUL 2007 03:51PM Enrique Murphy wrote:
Great. May I call SWAP_DATABASE with CallFunction or CallSubroutine?. Will this load the database?
At 18 JUL 2007 06:00PM Enrique Murphy wrote:
I tried calling RUN SWAP_DATABASE 'APPNAME' with CallSubroutine and with SendScript after creating the Queue in the engine with no success. May be the U2 intercall session needs to be open so the OEngine loads the database?
At 19 JUL 2007 10:16AM dsig@sigafoos.org wrote:
I am not sure that that will work. I would actually wonder about the closing/opening of the server connections being completed.
At 19 JUL 2007 11:50AM Bob Carten wrote:
Did not work for me either.
Currently the bond connects to the server upon attach.
I'm looking at making the bond test the connection whenever you open a file, re-connect if not already connected.
We have another issue with a customer whose system has over 6,000 tables. He only wants to attach a subset of those tables to OI. I intend to mody the U2 connection screen so that it lets you specify a list of tables. While I am in there I will add a checkbox for always_Synchronize and always reconnect.
At 19 JUL 2007 12:14PM dsig@sigafoos.org wrote:
The 'table selection' is a great idea. I ran into that on a test I did for someone but forgot to mention it.
So possibly a check box along the file names with a default of all checked? Something easy for us
Thanks for all the great work you have put into that bond (and all the other bits you seem to have time for)
At 19 JUL 2007 12:32PM dbakke@srpcs.com's Don Bakke wrote:
Bob,
Just wishing outloud here, but do you think it would also be possible to provide a way to store which U2 tables contain source?
dbakke@srpcs.com
At 19 JUL 2007 01:36PM dsig@sigafoos.org wrote:
how do you know that a u2 table is a source table? only if it has a matching .o file i guess. ????
At 19 JUL 2007 01:52PM dbakke@srpcs.com's Don Bakke wrote:
how do you know that a u2 table is a source table? only if it has a matching .o file i guess. ????
You can't, as far as I know. I don't like relying upon a convention that isn't enforced by the system. This is why I simply want a place to enter tables that I have identified used to contain source.
dbakke@srpcs.com
At 19 JUL 2007 02:10PM Enrique Murphy wrote:
Do you mean, that in the case of an OEngine, the first OPEN statement would make the bond connect to the U2 server?.
If this is so, will this changes be included in a patch shortly?. My hurry now is because I am trying to anwswer questions about the factibility of fully converting an OI application into an OI with U2 application, and one of the points is Web access to the U2 tables, and you need to work with OEngines to access OI from the Web.So, if the solution is not going to be available short, I would need to know at least that in the meanwhile I can call some functions from the OEngine to see the U2 tables.Thanks
At 19 JUL 2007 02:49PM Richard Hunt wrote:
Normally you would know a "source" file based on the file type. Or even easier… It is a "directory". I believe only "type 1" and "type 19" files can be compiled.
See "dynamic" files have a "VOC" record type "F" that points to an Operating System path. Within that path is a ".type30" file and a "DATA.30" and a "OVER.30". That is it.
"Directory" files will not have a ".type30" and will have a bunch of other files. They would be the actual records within the file.
This basic code will get you the file type…
FILENAME=THE ACTUAL FILE NAME"
OPEN FILENAME TO FILEDATA ELSE
END
STATUS STRING FROM FILEDATA ELSE
STRING='
END
OSPATH=STRING
FILETYPE=STRING
At 19 JUL 2007 04:05PM dbakke@srpcs.com's Don Bakke wrote:
Normally…
That's just it. Nothing is ever "normal" and I don't want to rely soly on normal conventions. Plus, as I understand it, while source files might always be a certain file type that doesn't guarantee that all files of that file type are source files.
dbakke@srpcs.com
At 19 JUL 2007 04:39PM Bob Carten wrote:
AFAIK there is not a foolproof rule. Richard Hunt gave a good method for putting up a popup from which the user could choose, but I think you would still want to specify the list.
I know that for Arev32 we had to let developers specify which tables contain code, (Options choice from the menu on Editor+, I think )
At 19 JUL 2007 04:44PM Richard Hunt wrote:
You could just simply enter information in field 1 of the U2 VOC record. Just be sure to leave the "F" as the first character.
Field 1… File source code.
Or maybe you are thinking from the OI side?
At 19 JUL 2007 05:01PM dsig@sigafoos.org wrote:
The problem with this is that type 1 may be used for anything that you might need "os" type files.
Without putting something in the file as mentioned, I would always look for a file.O to see if there is an object file.
Does this mean that there isn't some idiot somewhere that creates n.O files .. no .. but if the UV world found him it would probably be executed
DSIg
At 19 JUL 2007 06:05PM dbakke@srpcs.com's Don Bakke wrote:
Richard,
Or maybe you are thinking from the OI side?
Yes, exactly. My request for this is for utilities and tools development. Thus, this is not just for us but for anybody who wants to develop a tool that would be used by the wide world of OI/U2 developers (admittedly a very small world right now ).
Bob Carten just made a reference to a similar feature for AREV32 source tables. This is essentially the same thing I am requesting on behalf of U2 applications.
dbakke@srpcs.com
At 21 JUL 2007 02:38PM Gerald Lovel wrote:
I believe that if database ENRIQUE is in @DBID, then Swap_Database to open ENRIQUE does nothing.