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
-~----------~----~----~----~------~----~------~--~---

Reply via email to