Hi. Having managed to crack moving the BEGIN_TRANSACTION and END_TRANSACTION loops for 5.05 it now appears to be a completely different ball game with QALOAD 5.06.
For the application I am testing, everytime you visit a new page it increments a pageID field. If you try submitting a request using a pageID that has already been used in that session the application kicks up an error saying the page has been submitted twice.
Anyway, the first transaction works fine, however, when it tries to do the second transaction this is where my problems appear. I've moved the begin_transaction statement into the right place but what qaload does in 5.06 is to use the following code:
page_id pTransFirstPage = Get( PAGE );
RESTART_TRANSACTION_TOP();// do not modify this statement
Attach(pTransFirstPage);// make sure appropriate page is loaded at top of loop
GET_DATA(); // Read record from Central Datapool File
What appears to be happening is that it is storing what the first page in the transaction loop should be so that when it loops it can reload it, i.e. Attach(pTransFirstPage). Problem is that it stores what the pageID was for this first page. It may have been 2 the first time through but then on the second transaction it would be a lot higher, yet QALoad fires the 2 back in and hence the script breaks.
I've tried everything I can think of to get around this but no joy. Surely it shouldn't be this hard to get single sign-in, multiple iteration, single sign-out to work?
If anyone has any ideas or suggestions for this I would be very grateful of any help.
I know that when you move the transaction loop with Visual Navigator it adds these Attach commands, but as long as you are looping correctly - end and start on the same page - I don't think you actually need these.
The c++ 5.06 scripts I've moved the transaction loop on I did in the script itself and skipped these Attach statements... It works fine for me.
A problem is a difference between what is perceived and what is desired, that
we want to reduce (Dewey 1933)