他システムではなく、LANSA で作成され、保守される物理テーブルには付加的な列があります。
この列は @@UPID と呼ばれ、10 進 (7,0) として定義されます。これは必ずテーブルの最後の列となります。
LANSA はこの @@UPID 列を使用して、自動的に「相互更新」検査を行います。この検査ロジックは、以下のように非常に簡単なものです。
ユーザーのアプリケーション・プログラム (LANSA 以外のアプリケーション) を作成し、新規レコードを書き込んだり、LANSA で作成されたデータベース・テーブル内の既存のレコードを更新する場合は、以下の処理を行うことをお勧めします。
これにより、すべての LANSA ファンクションで自動的に使用されるロジックをエミュレーションすることができます。
注意1: @@UPID という列名は、COBOL プログラムでは使用できません。 |
警告: @@UPID フィールドは、その使用方法について LANSA から特別の指示を受けている場合を除き、4GL レベルでは使用しないでください。 |
注意2: テーブルに BLOB または CLOB 列が含まれている場合は、@@UPID が 1 回の UPDATE コマンドについて複数回 1 が加算される場合があります。これは、主テーブルに対して 1 回、UPDATE コマンドに含まれている各 BLOB 列または CLOB 列について 1 回 1 が加えられるために発生します。 |
『LANSA テクニカル リファレンスガイド』の「RESET_@@UPID 組み込み関数」