Siebel 7.8アプリケーションで非常に奇妙な動作が検出されました。Siebel NextRecordメソッドが次のレコードに移動しない
Processing activity '1-23456'
Processing activity '1-56789'
Processing activity '1-ABCDE'
Processing activity '1-ABCDE'
Exception: The selected record has been modified by another user since it was retrieved.
Please continue. (SBL-DAT-00523)
だから、基本的に、それはBCからいくつかのレコードを処理し、その後、明らかに:私たちはこのような何かを取得し、ログファイルに
var bo:BusObject;
var bc:BusComp;
try {
bo = TheApplication().GetBusObject("Service Request");
bc = bo.GetBusComp("Action");
bc.InvokeMethod("SetAdminMode", "TRUE");
bc.SetViewMode(AllView);
bc.ClearToQuery();
bc.SetSearchSpec("Status", "='Unscheduled' OR ='Scheduled' OR ='02'");
bc.ExecuteQuery(ForwardOnly);
var isRecord = bc.FirstRecord();
while (isRecord) {
log("Processing activity '" + bc.GetFieldValue("Id") + "'");
bc.SetFieldValue("Status", "03");
bc.WriteRecord();
isRecord = bc.NextRecord();
}
} catch (e) {
log("Exception: " + e.message);
} finally {
bc = null;
bo = null;
}
:これは、ビジネス・サービスの一部でありますランダム、それは "つまらない"。 NextRecord
呼び出しが実行されておらず、代わりに同じレコードを再度処理するようなものです。
SBL-DAT-00523エラーを回避するためにSetFieldValueとWriteRecordを削除すると、ログファイルに2回のアクティビティが2回表示されます(2回のみ)。
この現象の原因は何ですか?
シエルにとっても、信じられないほどです。 **ありがとうございました!! **私は百万年後にそれを理解していないでしょう。 – AJPerez