Anar S.V. wrote: > Hi. > > As is just regular practice in rdbms systems to set transaction > boundaries with means provided in corresponding rdbms's, I wonder > whether there are means to force locally developed routine to stay > within Transaction Boundaries in T24. > Some financial transactions in the current system doesn update all the > tables its supposed to, and we got some balance issues at the end. > Any clue or guidance appreciated. > > You don't say what your version of T24 is, nor the version of jBASE (please read the posting guidelines below :), and I am having to guess what you need somewhat from your description...
However, jBASE transactions are bounded by TRANSTART and TRANSEND and so long as you do not execute the TRANSEND, you are still within the transaction. I am given to understand that T24 now uses jBASE transactions rather than its own internal mechanism, hence if the system is still within a transaction before calling your routine, then it will remain so. As to whether you can instruct T24 to keep the transaction open while it calls your routine, I will have to defer to better knowledge of T24. However, if you are not within a transaction before being called, then you can start and end your own within your routines. Note however that transactions are not for bounding 100,000 writes, check some totals then aborting if the totals are incorrect - you will run out of memory doing this. Transactions are for creating atomic updates for a collection of closely related writes. There is no upper limit to the number of writes besides memory, but clearly there is a practicable and sensible limit of your own devise. Secondly, the isolation level of jBASE transactions is "Local READ UNCOMMITTED, global READ COMMITTED", which means that a READ on the process that is creating the transaction is able to read records that were updated but not committed by itself, but any other process cannot view those updates until they are committed to the database. Hence if the T24 program is within a transaction, then EXECUTEs your program (or you EXECUTE your program), that will be a new process that cannot see the records yet to be committed by the parent process. This could be another explanation for your record counts being out. If this is so, then this is a design fault in either the T24 interface or your program; I have not heard of anyone else having this issue so I suspect that T24 does not call your program via an EXECUTE. That's the best I can suggest given the supplied information, so I hope that it is of some use. If just some of your balances and not all are out though, it sounds more like an application bug than an architectural bug. Jim > Thanks in advance. > Regards. > > > > --~--~---------~--~----~------------~-------~--~----~ Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -~----------~----~----~----~------~----~------~--~---
