データの更新は、ビュー内のデータを変更し、データをサーバーに返送して行います。更新中はユーザーはビューに関連するブロックをロックする必要があります。これによって、プログラムがデータを取得してから、データベースに再度書き込まれるまでの間に、他のユーザーがデータを変更できなくなります。
更新に関するアクションの順序は、次のようになります:
レポート・スクリプトを実行して関連のブロックをロックし、更新対象のデータを取得します
ビュー内の一部またはすべてのデータを変更します
データをサーバーに送り返して、ブロックのロックを解除します
EsxReport()またはEsxBeginReport()を使用してブロックをロックします。これらの関数に渡されるLock引数がTRUEになっていることを確認します。これによって取得するデータに関連するすべてのブロックがロックされます。これらの関数ではブロックをロックしてデータを取得することも、ブロックのロックのみ行うこともできます(新しいデータまたは最新のデータの場合)。データは取得せずにブロックのロックのみ行う場合は、渡されるOutput引数をTRUEまたはFALSEに適宜変更します。
次に、ユーザーがビュー内のデータ・セルを編集できるようにします(使用している製品が提供する機構を使用します)。
最後にEsxUpdate()を呼び出して、これに(更新済の値を含む)ビューのコンテンツすべてを渡します。またはEsxBeginUpdate()を呼び出し、次にEsxSendString()を呼び出すことによって、一度に1つの文字列ずつ、ビュー全体をサーバーに送信します。
サーバーに送信される各文字列には、更新を指定した各行の末尾に改行を入れる必要があります。
ファイルから更新を実行する場合は、前述のように、最初にブロックをロックしてからEsxUpdateFile()を呼び出します。
詳細な説明は、EssUpdate、EssSendString、EssBeginUpdate、EsbUpdate、EsbSendString、およびEsbBeginUpdateを参照してください。
APIライブラリを参照してください。