REPEAT With FRAME:
prompt-for IN-SCAN3.scan.
if input IN-SCAN3.scan="" then Do:
Message "please input date.".
undo,retry.
end.
else DO:
FIND FIRST in-scan3 USING IN-SCAN3.scan NO-LOCK NO-WAIT NO-ERROR.
if avail In-scan3 then DO:
str="OK".
display str.
next-prompt IN-SCAN3.scan.
end.
else DO:
CREATE In-scan3.
ASSIGN IN-scan3.scan=INPUT in-scan3.scan.
str="NO". DISPLAY str.
next-prompt In-scan3.scan.
END.
end.
begin=begin + 1.
end.
質問の説明: 同時にスキャンを使用している 20 人のユーザーがいます。最初に入力データを見つけ、見つからない場合はデータベースに 1 つのレコードを作成します。問題は、同時に操作がデッドロックに見えるということです。検索時にレコードでNO-LOCK NO-WAITを試してみましたが、レコードを作成するときに動作がデッドロックに見えます。
答えてくれてありがとう。