Francesco
1st October 2002, 20:17
I want to write a session that traps GEO code errors in tccom130, by querying the GEO code information directly against the information in our Vertex tables.
Now as you know, the full (Oracle) name for tccom130 would be baan.ttccom130100.
On the same token, the full name for my Vertex table would be vertex.ratecity.
Is it even possible to address a table outside the baan "domain" and if so, how do I do it?
Both databases are in the same tablespace.
mark_h
1st October 2002, 20:39
I think this can be done. What we did at one point was to develope a baan table that had the fields in it that the coder needed. The oracle admin then went out and changed the table to be a pointer to the other table(I do not know the specifics of this). The coder was then able to read the table, BUT we had problems with the convert to run time on other tables. The convert to run time always abort on this table and did not process your new changes. At that point the Oracle admin stopped working on it and decided it was easier to export and import the data. So I think you can do it, but I do not know the actual specifics to get it done.
If you do find a solution please post it here.
Good Luck!
Mark
ssbaan
1st October 2002, 20:55
If you find a way, I would sure like to know. We tried the same
thing a couple of years back and were unsuccessful in trying to
access a table in a differerent database other that 'baan's'.
You might wasnt to check with Vertex, as they use to supply some c routines for access.
NPRao
1st October 2002, 23:42
Francesco,
Just an idea for you to start with.
You need to make one *.ksh shell program which invokes login into the relevant database and calls a oracle .sql script.
In your Unix script you can add the statements at the top like -
exec > $BSE_LOG/logfile 2>&1
Then you need to make another *.sql program which contains the logic, the table list and company number info etc.
In your SQL script you can add the statements like -
set echo off pagesize 0 verify off
set serveroutput on
This shell script should be invoked on the source system by the use of shell() or run.prog()
Then you can write your oracle sql statements to get the records, and those will be writen to that logfile and you can use the baan program to read, parse put data etc in BaaN Tables.
I guess thats the best I can tell you for now. I hope it helps you out and you can get a solution.
Francesco
2nd October 2002, 00:10
I just brought this up in a tele-meeting I had with some Oracle and Baan developers and the general opinion is this:
Baan can not see tables in a different schema, therefore tables in a different schema cannot be addressed.
By creating a view in Oracle (I think that's what Mark described), Baan will still attempt to maintain the table, creating deleting and modifying it, which will result in a corrupt data dictionary and symptons as the ones Mark brings up.
I don't know. I still feel like there should be some way to make this work out of Baan directly. Of course we could simulate the actual tax provider functionality and communicate through the API, but I think Prashanth's solution is a lot simpler and probably a lot faster.
NPRao
2nd October 2002, 00:28
Francesco,
I see one more alternative, which I have never tried.
You can use the "C" Interface to the BaaN Tools/backend as well as to connect/fetch data from non-BaaN Tables in Oracle.
Please refer to $BSE/api/examples and the directories - cint and db.
Those programs look like the Pro *C and very long to code.
Please do let us know if any of these ideas worked.
NPRao
3rd October 2002, 08:14
Francesco,
Just wanted to give you a tip.
My sessions gave me some problems yesterday. After debugging, looking up info etc, I found that one of the guys changed the $SBE/tmp folder permissions from 777 to 775. The sql program was writing a file in that folder and it was giving problems. When I changed the FAP of $BSE/tmp to 777 everything was fine.
So, it means that your Oracle User might not be part of the bsp group, so you need to write the file to a location where both the Oracle User as well as the BaaN Users have full authorizations.
avpatil
5th October 2002, 03:09
Hi,
It will be possible to read table in indirect way. This is just one of the way that I have doen in past.
1. Create a VB or any other porgram that execute qury for you.
2. Pass the query to the VB shell. YOu can do this by shelling out from Baan.
3. In VB write the result in a file
4. Read the file in Baan program and do further processing.
This way it will be possible to read table.
Arvind