1.4.2 Webマップ

WebマップはWebroutineとプレゼンテーション層との間でデータを交換するためのインターフェースです。

プレゼンテーション層に部門の記述を出力するWebマップの指定は、次のようになります。

Web_MapコマンドのForパラメータを見てください。

パラメータ値は、以下のいずれかになります。

     *input - プレゼンテーション層からWebroutineに入ってくるデータを定義します。

     *output - Webroutineからプレゼンテーション層に送られるデータを定義します。

     *both - プレゼンテーションからWebroutineに入ったり、Webroutineからプレゼンテーション層に送られるデータを定義します。

     4つめの値、*noneは「1.4.3 状態非依存」で説明されています。

部門コードを入力として受け取り、部門の記述を出力するジョブを持つWebroutineがあったとします。そのWebマップの指定は以下のようになります。

部門コードは実行される際のWebroutineに対しての*inputであり、 部門の記述はWebroutineが終了する際のプレゼンテーション層への*outputです。これらの設定は非常に厳格です。つまり、DEPTMENTの値は、この例で指定された通り、Webroutineの入力にしかなりません。一旦Webroutineが終了すると、その値はプレゼンテーション層には送り返されません。同じように、Webroutineの実行が開始されると、DEPTDESCには値はありません。なぜなら、これはWebroutineの出力でしかないからです。

この点において、Webroutineがある情報を出力できるのと同様に入力として受け取る必要もある場合は、Forパラメータの値を*bothにするととても便利です。この典型例として、簡単なファイル保守のアプリケーションがあります。ユーザーが部門の情報を編集したい時、Webroutineはそれを表示するために、情報をプレゼンテーション層に*outputする必要があります。ですが、ユーザーによって変更される可能性もあるため、*inputとして受け取ることもできなくてはいけません。そのため、Webマップは以下のようになります。

フィールドと同様に、作業リストもデータのやり取りに使用することができます。Webマップ上に作業リスト名を以下のように指定するだけです。

Web_Mapコマンドでは、識別子またはフィールド名のいずれかを使用できます。この識別子を使ってXSLとXMLが生成されます。多くの場合、WAMエディターでは名前が表示されますが、裏ではこの識別子が使われています。