pjohns
20th November 2001, 12:37
I've just gone through a test scenario of uploading, via exchange, PO line information. Once I had finished the upload I could not print my PO. I've since discovered that my Exchange scheme also needs to update the following tables: -
tdpur051 - PO Line History
tdpur045 - Reciepts
Is there a way in Baan to identify which tables are populated by a particular process. i.e tdpur4101m000 - Maintain Purchase Orders?
Thanks
PJ
MariaC
20th November 2001, 16:30
If you have the source code for the session you could see what tables are updated when the session creates the purchase orders, another method might be looking at the references on table tdpur040 and tdpur041
Han Brinkman
20th November 2001, 17:34
Try using 'print where used tables'. That should give you also the info you need.
Regards,
Han
JamesV
20th November 2001, 18:45
Han,
I do not have access to a Baan server at this moment. What session is the print where used tables?
gfasbender
20th November 2001, 20:04
Careful, the "Print where used tables" session doesn't not produce a "CRUD" for tables used in included functions and DLL's.
The only way I have been able to produce a valid list of tables used in a session process was to turn on "full" table auditing, run the process, then produce a report of the audit transactions for that process.
JamesV
20th November 2001, 22:20
The audit method is one way. You can also turn on the DBSLOG or TT_SQL_TRACE and see every SQL write being performed by all functions within the session.
I am always looking for a better way however...
-- Jim
MariaC
21st November 2001, 08:30
A good alternative to exchange would be API. It takes away the problem of having to know which tables to use
kamaljit
21st November 2001, 09:34
a) one way is to use bicinfo6.1 to get the source code ....
bicinfo6.1 <object name> this will give u the complete script u can chk out the tables being updated. If u encounter any functions which u will - u can also get the script fot them using the bicinfo commmand.
b) if u r using informix database - u can configure ur baan configuratiion tool and at the command type -- -set INFPROF=0.00. This will create a file infprof in your default directory which will give u the tables that have been affected.
If u have some other database then there are similar commands for creating like files.
Do let me know if ths solution was helpful.
kamaljit_arora@yahoo.com
pjohns
21st November 2001, 11:47
Kamaljit,
I've tried using bic_info6.1 as below but I get errors can you just confirm that I'm doing this correctly.
$ pwd
/baan/bse/application/tdB40_c4/otdpur
$ bic_info6.1 -u opur4101
opur4101: Error 0
opur4101: Fatal Error: Can't open object 'opur4101' for reading
1 ERROR REPORTED.
Also whats the correct syntax for turning on DBSLOG
Thanks
PJ
Juergen
21st November 2001, 14:56
Please enter the complete path to the object
For your example:
bic_info6.1 -u /baan/bse/application/tdB40_c4/otdpur/opur4101
Regards,
Juergen
pjohns
21st November 2001, 15:21
Thanks Juergen,
Where does the result of this command get displayed.
I entered the command as instructed I didn't get any errors as before but I was expecting to get some information returned.
Is a there file created somewhere?
Rgds
PJ
Juergen
21st November 2001, 15:42
pjohns,
I´m not sure that bic_info is the tool that you are looking for.
Help on bic_info6.1:
The object information tool bic_info6.1 displays information about an object or DLL.
Syntax:
bic_info6.1 [-aidshwcV] [-eu] [-f[flags]] object
-a Show all available object information (default)
-i Show instructions in object (Disassembler)
only possible if object is compiled with debugger
-d Show used DLLs and where the external functions used
are defined
-s Show list of used variables, (global) functions,
string constants and double constants
-h Show Object header
-w Show #ident <strings>
-c Check checksum exit(0) = ok
exit(1) = Corrupted
-V Show version/release and portings information
-e Show prototypes of all defined external functions
in the given object
-u Show the general usage of the library (see below)
-f Show flags
-f<flag> Check flags,
Using this option ignores all other options.
flag can be a combination of the following numbers
1 = NOTRANSACTION
2 = DEBUG
4 = PROFILE
8 = DLL
exit(0) Flag(combination) is in object.
exit(1) Flag(combination) is not in object.
Regards,
Juergen
Juergen
21st November 2001, 16:01
pjohns,
please check session ttadv2450m000 "Print Script Technical Data".
use only the option "Print Table Usage".
I think this session is a little help which tables are populated by a particular process.
Regards,
Juergen
Darren Phillips
21st November 2001, 16:34
If you want to log the session activity enter the command below in the BW configuration file
-- -dbgbdbact -logfile logtxt -keeplog
the logtxt file is created in the tmp directory on the baan server.
pjohns
21st November 2001, 17:24
Juergen - Your solution of using ttadv2450m000 is the best so far. The report produced needs some sifting through but it's fairly easy to see what other tables are being used by the object.
Darren - Thanks for your solution. The log file produced generates a lot of entries. Lots of tables that seem irrelevant to my particular process. Somebody with a trained eye may be able to de-cipher what's going on, but not me on this occasion. Are there any flags to dbgbdbact that may break the log file down?
Thanks
PJ