Records are not released with RELEASE

JuanMSanchezB

New Member
Hi PEG-people

I have a problem because some records are kept
with LOCKED status after I´ve sent´m to DB. (release).

Problem is that I can not UPDATE/MODIFY any record until program
makes "input close" statement.

While records were CREATED from COM1, at same time those
records are being checked by an operator .He needs to put
a "sign" on the received records. This is done with a BROWSE.
However at ROW-LEAVE I got the message :

Record REC_TABLE is in useby USER, #-terminal on.
Wait or Choose CANCEL to Stop (2624)
[CANCEl]

This happens to records that were RELEASED.

Can any body help me out on this...

I´m not sure if the TRANSACTION´s scope is not being delimited
properly.

thanks in advance
JM ///


I´m doing this ....


INPUT FROM COM1.
REPEAT:

/* when a condition applies ...*/
CREATE Record.
ASSIGN Record.Field = CHR(lastkey).

RELEASE RECORD. /* record is released ? */
FIND Current RECORD no-lock no-error.


END.
INPUT CLOSE.
 
tranassacton is scoped to the repeat block so remains active till end statemetn.
try this
INPUT FROM COM1.
REPEAT:

/* when a condition applies ...*/
do transaction:
CREATE Record.
ASSIGN Record.Field = CHR(lastkey).
RELEASE RECORD. /* record is released ? */
end.
FIND Current RECORD no-lock no-error.


END.
INPUT CLOSE.

it will make transaction smaller . Always aim for the smallest possible transaction scope.
 
Back
Top