ホーム‎ > ‎Magic xpa‎ > ‎Magic xpa 新連載概要‎ > ‎

第149回 WebClient でサブタスクを作成する

2020/08/03 21:02 に Masanobu Tanda が投稿   [ 2020/08/03 21:04 に更新しました ]
第149回 WebClient でサブタスクを作成する

今回は、記事のタイトルが「WebClient でサブタスクを作成する」となっていますが、いきなり WebClient で階層構造のプログラムを作るより、既存のオンラインタスクをコンバートして WebClient タスクとして実行するという手順を検証してみたいと思います。それにより、従来のオンラインタスクに比べて、WebClient では何がどう異なるのかの理解が容易となります。

画面1は、典型的な階層構造のオンラインタスクです。ラインモードの親タスクから「編集」ボタンを押してそのレコードの明細を子タスクで開き、データを変更して「終了」ボタンを押すと、親タスクのラインモードのデータも更新されているというプログラムです。このオンラインプログラムのポイントは次の通りです。

1. 子タスクのトランザクションモードを「N=ネスト遅延」にし、変更されたデータを子タスクのレコード後の後でコミットして DB に保存する(画面2)。
2. 子タスクのタスク後で「ビュー再表示」を発行し、親タスクで表示しているキャッシュデータを DB から再読み込みして最新のデータに置き換える(画面3)。

ちなみに、親タスクで「編集」ボタンを押して子タスクを実行するイベント設定は画面4の通りです。また、画面4のユーザイベントの定義は画面5の通りです。

では早速、このプログラムを WebClient タスクにコンバートし、これらすべての設定がそのまま正しく動作するかどうかを確認していくことにしましょう。

コンバートの手順は、基本的にはタスク特性のタスクタイプを「O=オンライン」から「W=Web Client」に変更するだけです。ただし、それにともない付随する箇所をいくつか修正していく必要があります。今回はそれをひとつひとつ検証してまいります。それにより、ビュー再表示やトランザクションのネスト遅延の構造までが WebClient に引き継がれることを確認します。

なお、使用する Magic は Magic xpa 4.6の体験版ですので、どなたでもマジックソフトウェア社のホームページから無償でダウンロードして使用することができます(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)