DDS ソースでの Web 設定の使用

「Web 設定」によってページをカスタマイズすることの利点は、カスタマイズの指示がコメントとして DDS ソースに組み込まれるところにあります。 「Web 設定」はソースのパーツとなるので、後で WebFacing プロジェクトを再変換しても、行った変更は失われることがありません。 しかし、生成された JSP ファイルに直接行った変更はプロジェクトを再変換すると失われます。

変換済みプロジェクトの Web 設定を追加または変更する場合、プロジェクトを再変換して、変更を WebFacing アプリケーションの一部にしてください。 また、変更した DDS メンバーだけを再変換することができます。 特定のメンバーを再変換するには、WebFacing パースペクティブを開き、「WebFacing プロジェクト」タブをクリックして DDS フォルダーを展開し、変更したメンバーを右クリックして 「変換」を選択します。「WebFacing プロジェクト」ビューが開かない場合は、 「ウィンドウ」 > 「ビューの表示」 > 「その他」 > 「WebFacing」 > 「WebFacing プロジェクト」を選択してください。

単一のフィールド、レコード、またはファイルで、同じタイプの Web 設定が複数指定されている場合、動作は未定義になります。(つまり、そのように重複する Web 設定が有効になるかどうかは保証されません。)

表 1. Web 設定
DDS オブジェクト アイコン 使用可能な Web 設定
ファイル・レベル
ソース物理ファイルの表示
  • キー・ラベル
レコード
標準レコード
  • キー・ラベルおよびキー順序
  • キーの使用不可
  • 画面サイズ
  • スクリプトの挿入
  • アプリケーション・ブリッジ
サブファイル制御レコード
定数
メッセージ定数
  • 外観
  • HTML オーバーライド
  • 位置
日付定数
時刻定数
ユーザー定数
システム定数
入力可能フィールド (使用法に Both が指定されたフィールドを含む)
英数字フィールド
  • 外観
  • HTML オーバーライド
  • 位置
  • オプション・ラベル (入力フィールドが VALUES キーワードで指定されている場合のみ使用可能)
ゾーン・フィールド
日付
時刻
タイム・スタンプ
浮動
継続フィールド
DBCS 専用
DBCS 択一
DBCS 混用
DBCS グラフィック
出力専用フィールド
英数字フィールド
  • 外観
  • ダイナミック・キー・ラベル
  • HTML オーバーライド
  • ハイパーリンク
  • イメージ
  • 位置
ゾーン・フィールド
日付
時刻
タイム・スタンプ
浮動
DBCS 専用
DBCS 択一
DBCS 混用
DBCS グラフィック
テキスト定数
隠しフィールド
英数字フィールド
  • ブラウザーに送信
ゾーン・フィールド
日付
時刻
タイム・スタンプ
浮動
DBCS 専用
DBCS 択一
DBCS 混用
DBCS グラフィック

DDS メンバー用の Web 設定の編集

初めて WebFacing パースペクティブを開くと、デフォルトで「Web 設定」ビューが表示されます。このビューは、LPEX エディターで DSPF DDS ソース・メンバーを開くまで空のままとなります。DDS メンバー用の Web 設定を編集するには、次のように します。

  1. WebFacing パースペクティブで、「WebFacing プロジェクト」 > 「DDS」を展開します。
  2. 処理したい DDS メンバーを右クリックして、「アプリケーションから開く」 > 「リモート・システム LPEX エディター」を選択します。
  3. プロンプトが出されたら、サーバーにサインオンします。 エディター・ウィンドウでファイルが開きます。
  4. エディターで DDS オブジェクトをクリックします。 このオブジェクトに使用可能な設定のリストが「Web 設定」 ビューに表示されます。
  5. 設定を編集するために、リストの設定をクリックします。 Web 設定のオプションが「Web 設定」ビューの右側に 表示されます。
  6. 「Web 設定」ビューが開いていない場合は、「ウィンドウ」 > 「ビューの表示」 > 「その他」 > 「WebFacing」 > 「Web 設定」を選択して開いてください。
  7. 特定のオブジェクトに素早くナビゲートするには、「ウィンドウ」 > 「ビューの表示」 > 「アウトライン」を選択して、「アウトライン」 ビューを開きます。 「アウトライン」ビューでオブジェクトをクリックすると、エディター・ウィンドウでフォーカスが そのオブジェクトに切り替えられます。

Web 設定の説明

それぞれの DDS オブジェクトに使用できる「Web 設定」は、処理しているオブジェクトによって異なります。 このセクションでは、それぞれの設定についてさらに詳細に説明します。オブジェクトに「Web 設定」を使用した場合には、後で WebFacing 変換により処理される DDS ソースに特殊なコメントが追加されます。 「Web 設定」のコメントは、文字 *%%WB で始まっています。以下は、Web 設定の構文規則です。
*%%WB <number> <level>
<number> は Web 設定の番号で、<level> はそのレベル ({FIL|REC|FLD}) です。Web 設定は、行の最後に非ブランク文字として + を挿入し、次の行を *%%WB + で始めることによって、複数の行にわたって記述することができます。

次のセクションでは、Web 設定をファイル、レコード、およびフィールド・レベル別に説明します。また、それぞれの設定に対して DDS ソースに 追加されるコメントの構文も示しています。一部の Web 設定では、WebSphere® Development Studio Client for iSeries® V6.0 より前の別の構文が使用されます。一部の Web 設定の構文は廃止されていますが、それらは WebFacing の変換中に更新済みの構文に変換され ます。 それぞれの Web 設定に該当する使用すべきではない構文がある場合は、それらも示されています。

ファイル・レベルの Web 設定

唯一のファイル・レベルの Web 設定はキー・ラベルです。

キー・ラベル

DDS ソース内の機能またはコマンド・キーについては、Web ページでキーを表すために使用するテキスト・ラベルを指定することができます。ラベルを変更するには、「キー・ラベル」リストからファンクション・キーまたはコマンド・キーを選択し、 「新規ラベル」フィールドをダブルクリックして、そのキーの新規テキストを入力します。 定義したラベルを除去するには、「新規ラベル」フィールドをダブルクリックして、そのテキストを削除します。

該当する行を 選択して、「ラベルの編集」を使用するか、または「削除」キーを使用してそれらの機能を実行することもできます。
注: ファンクション・キーのラベルをオーバーライドすることはできません。

構文:

A*%%WB 9 FIL <key_label>["|"<key_label2>["|"<key_label3>[...]]]

:

A*%%WB 9 FIL 12=Cancel|03=Exit 

レコード・レベルの Web 設定

以下は、レコード・レベルで使用可能な Web 設定のカテゴリーです。
  • 画面サイズ
  • スクリプトの挿入
  • キー・ラベル
  • キー順序
  • キーの使用不可
  • アプリケーション・ブリッジ
画面サイズ

画面サイズ設定は、ディスプレイ・ファイル用に 2 次画面サイズが選択されている場合に使用可能になります。2 次画面サイズは、 ファイル・レベルの DSPSIZ キーワードを使用して指定することができます。「画面サイズ Web 設定」は、アプリケーションをブラウザーで表示するために使用される HTML テーブルのサイズを変更するために使用します。 この Web 設定は、条件付けられた DSPMOD キーワードが指定されているレコードにのみ適用されます。それらのレコードは、実行時の条件によって 1 次画面サイズか 2 次画面サイズのいずれかで表示されますが、WebFacing 変換では 1 つの画面サイズ のみが対象になります。アプリケーションに、デフォルトの 1 次画面サイズでなく、2 次画面サイズでこのレコードを表示させたい場合には、 この Web 設定を指定する必要があります。

構文:

A*%%WB 10 REC

:

A*%%WB 10 REC
スクリプトの挿入
「スクリプトの挿入」設定は、通常のレコードまたはサブファイル制御レコード用に作成される JSP ファイルを カスタマイズするために使用します。例えば、サブファイル制御レコード LISTCTL がある場合は、WebFacing 変換は対応する JSP ファイル LISTCTLJavaScript.jsp を作成します。「スクリプトの挿入」設定のテキスト域に追加する コードは、ファイル LISTCTLJavaScript.jsp の生成時にこのファイルに追加されます。この設定によって、任意の JavaScript™ または JSP スクリプトレットを変換済みの JSP ファイルに挿入できます。これを使用してフィールドを初期設定できるか、特定のレコード様式に必要な任意の処理を実行できます。例えば、フィールドの初期値がヌルである場合は、そのフィールドの値を設定するコードを追加できます。
if(&{CID.INITIALVALUE} == "")
{
	&{CID.REF}.value = "0001";
}
この例では、コード &{CID.INITIALVALUE} は、「フィールド属性の挿入」ボタンを使用して 選択したフィールド CID を参照します。 フィールド置換変数の使用法の詳細については、フィールド置換変数の指定 を参照してください。 その他の例は、WebFacing ユーザーの IP アドレスを判別する JSP コード、またはユーザーのシステムの時刻を表示する JavaScript です。 「スクリプトの挿入」は、「ブラウザーに送信」設定と一緒に使用できます。 例えば、スクリプトで決定された値を使用して、「ブラウザーに送信」設定で設定した隠しフィールドを取り込むことが できます。DDS 中にスクリプトの一部として使用したい既存のフィールドがある場合には、「フィールド属性の挿入」ボタンを 使用してそのフィールドをスクリプトに追加してください。例えば、H または隠しフィールドを選択し、値をそのフィールドに割り当てられるようにそのフィールドをスクリプトで使用できます。

構文:

A*%%WB 18 REC 1 <script>

使用すべきではない:

A*%%WB 18 REC <script>

「スクリプトの挿入」では、置換変数の使用すべきではない 2 つの形式があります。

&SFLREC{FIELD} (これは &{SFLREC.FIELD.REF} になる)

&{FIELD} (これは &{FIELD.REF} になる) です。

例えば、古い「スクリプトの挿入」 (REC):

A*%%WB 18 REC &{FIELD1}.value=1;&RECORD3{FIELD1}.value=4

は、新しい 「スクリプトの挿入」 (REC 1):

A*%%WB 18 REC 1 &{FIELD1.REF}.value=1;&{RECORD3.FIELD1.REF}.value=4

になります。

:

A*%%WB 18 REC 1 &{CUSTCTL.field1.CURRENTVALUE}
キー・ラベル

DDS ソース内の機能またはコマンド・キーについては、Web ページでキーを表すために使用するテキスト・ラベルを指定することができます。ラベルを変更するには、「キー・ラベルおよびキー順序」リストからキーを選択し、 「新規ラベル」フィールドをダブルクリックして、そのキーに使用したいテキストを入力します。 「新規ラベル」値は、ファイル・レベルのキー・ラベルの Web 設定が定義されている場合には、それがデフォルト設定となります。定義したラベルを除去するには、「新規ラベル」フィールドをダブルクリックして、そのテキストを削除します。該当する行を 選択して、「ラベルの編集」を使用するか、または「削除」キーを使用してそれらの機能を実行することもできます。 「デフォルト」ボタンによって、関連したすべての Web 設定 (キー・ラベル、キー順序、および使用不可にされたキーなど) が除去されます。

注: WebFacing アプリケーションでは、ファンクション・キーのラベルをさまざまな方法で定義できます。同じキーに複数のラベルが定義されている場合、WebFacing 変換およびランタイムでは、特定の優先順位を使用してブラウザーに表示するラベルが決定されます。キー・ラベルの決定で使用される優先順位については、キー・ボタンのラベル を参照してください。

構文:

A*%%WB 9 REC <key_label>["|"<key_label2>["|"<key_label3>[...]]]

:

A*%%WB 9 REC 2=enter|1=print
キー順序

DDS ソースのファンクション・キーまたはコマンド・キーについては、Web ページでキー・ラベルを非表示とするかどうか、およびキーが表示される順序を指定することができます。

キーを非表示にするには、「キー・ラベルおよびキー順序」リストからキーを選択し、「状態」欄のドロップダウン・リストから「非表示」を選択します。これにより、Web ページのボタンのリストからそのキーが除去されますが、キーボードの対応するキーは使用不可にはなりません。

キーを使用不可にするには、「キー・ラベルおよびキー順序」リストからキーを選択して、「状態」欄のドロップダウン・リストから「使用不可」を選択します。これにより、Web ページのボタンのリストからそのキーが除去されて、 キーボードの対応するキーが使用できなくなります。

「キー・ラベルおよびキー順序」リストで複数のキーが使用可能になって いる場合、キーが表示される順序は、そのキーを選択し「上に移動」または「下に移動」ボタンをクリックして 変更することができます。「デフォルト」ボタンは、キーを元の順序に復元します。

注: CODE Designer を使用してこの特定の Web 設定を編集する場合は、コマンド・キーとファンクション・キーが分けられます。「Web 設定」ビューを使用してこの Web 設定を編集するだけで、コマンド・キーおよびファンクション・キーの順序を変更できます。

構文:

 A*%%WB 11 REC <aid_key> [<aid_key2> [<aid_key3> [...]]]

<aid_key>CAnn | CFnn | SFLFOLD[(CAnn|CFnn)] | SFLDROP[(CAnn|CFnn)] です。

:

A*%%WB 11 REC CA02 CF14 SFLFOLD(CF10) SFLDROP(CA09)

SFLFOLD または SFLDROP が aid キーなしで指定されている場合 (例えば、

A*%%WB 11 REC CA02 CF14 SFLFOLD SFLDROP(CA09)

) には、Web 設定は次のように更新 されます。

A*%%WB 11 REC CA02 CF14 SFLFOLD(CF10) SFLDROP(CA09)

で、SFLFOLD キーワードがコマンド機能キー 10 を使用して指定されている。

キーの使用不可

この Web 設定は、キー・ラベルおよびキー順序と連動して作用します。これによって、そのラベルを Web ユーザー・インターフェースから非表示にするのとは対照的に、キーボード上のアクティブなエイド・キー (コマンドまたはファンクション・キー) を使用不可にすることができます。

Web 設定のユーザー・インターフェースで、キーの状態を次の 3 つの内の 1 つの値に設定することができます。
  • 表示: キー・ラベルおよび関連したキーボード・キーはアクティブです。
  • 非表示: キー・ラベルは非表示ですが、関連したキーボード・キーはアクティブのままです。
  • 使用不可: キー・ラベルは非表示で、関連したキーボード・キーは使用できません。

キーは「キー順序」Web 設定に従って順序付けられます。 「キー順序」Web 設定が指定されない場合には、この順序はコマンド・キーの数字順、およびファンクション・キーの英字順に従って (コマンド・キーは常にファンクション・キーの前となります) 決定されます。キーが表示される「キー順序」Web 設定 (A*%%WB 11) と「キーの使用不可」Web 設定 (A*%%WB 41) の両方で定義されている場合には、表示される順序が優先されます。

構文

A*%%WB 41 REC <aid_key> [<aid_key2> [<aid_key3> [...]]]

定義済みキー: CF03 CA01 PRINT HELP
  1. 表示キー順序: CA01 HELP

    使用不可: CA01 CF03

    結果: (順序付けられた表示キー: CA01 HELP; 非表示だが使用可能なキー: PRINT; 使用不可キー: CF03)

  2. 表示キー順序: なし

    使用不可: CA01 CF03

    結果: (順序付けられた表示キー: HELP PRINT; 非表示だが使用可能なキー: なし; 使用不可キー: CA01 CF03)

  3. 表示キー順序: CA01 HELP

    使用不可: なし

    結果: (順序付けられた表示キー: CA01 HELP; 非表示だが使用可能なキー: CF03 PRINT; 使用不可キー: なし)

  4. 表示キー順序: なし

    使用不可: なし

    結果: (順序付けられた表示キー: CA01 CF03 HELP PRINT; 非表示だが使用可能なキー: なし; 使用不可キー: なし)

アプリケーション・ブリッジ

他の Web アプリケーションと相互運用するには、「アプリケーション・ブリッジ」設定を選択して、「このレコードをアプリケーション・ブリッジ・パラメーターに使用」を選択します。 この設定は、隠しフィールド (使用法 H) のみを含むか、フィールドがないレコードのみで使用可能です。

入力フィールドにターゲット・アプリケーションの URL を入力してください。この URL は、次の形式に従います。/appContextRoot/appEntryPoint (ここで、appContextRoot は、相互運用したい Web アプリケーションのコンテキスト・ルートで、appEntryPoint は、その Web アプリケーションのエントリー・ポイントです)。他の Web アプリケーションと相互運用する方法について詳しくは、WebFacing アプリケーション・ブリッジを使用した、他の Web アプリケーションとの相互運用を参照してください。

  • アプリケーション・ブリッジ設定を指定すると、このレコードおよびこのレコード内のすべてのフィールドでの他の設定はすべて使用不可になり、指定されているものは削除されます。そうなることが望ましくない場合は、「取り消し」または「Ctrl-Z」を使用して元の設定に戻してください。
  • レコード内のフィールド名に、A から Z および 0 から 9 以外の文字を含めることはできません。
  • DATFMT および DATSEP キーワードは、日付の隠しフィールドで使用することはできず、TIMFMT および TIMSEP キーワードは、時刻の隠しフィールドで使用することはできません。

構文

A*%%WB 42 REC /appContextRoot/appEntryPoint

コンテキスト・ルートが webApp で、エントリー・ポイントが ProcessOrder の Web アプリケーションと相互運用する場合は次のようになります。

A*%%WB 42 REC /webApp/ProcessOrder

フィールド・レベルの Web 設定

以下は、フィールド・レベルで使用可能な Web 設定のカテゴリーです。
  • 外観
  • ダイナミック・キー・ラベル
  • HTML オーバーライド
  • ハイパーリンク
  • イメージ
  • 位置
  • オプション・ラベル
  • ブラウザーに送信
外観

外観およびテキスト・カテゴリーに使用可能なオプションは、「可視性」「スタイル・クラスのオーバーライド」、および「フィールド値のオーバーライド」です。

  • 「可視性」では、「非表示 Web 設定」を使用して、フィールドを隠すことができます。また、 「文字の非表示」 Web 設定を使用して、フィールド内の表示したくない一定範囲の文字を指示することもできます。例えば、 画面にユーザーが選択するオプションのメニューが表示されていて、それぞれのオプションが (1. ユーザー・タスク - 2. オフィス・タスクのように) 番号順にリストされている場合には、オプションのテキストのみが表示されるように最初の 2 文字を隠した方がよい場合があります。このような例では、「文字を隠す」を選択して、「1 から 2」の範囲を指定します。「非表示 Web 設定」を使用した場合には、同じフィールドに他の Web 設定を使用することはできません。
  • 「スタイル・クラスのオーバーライド」では、フィールドで使用するスタイル・シート・クラスを指定できます。例として、すべての数値データは特定のフォントまたはカラーで表示したいので、この目的のためにスタイル・シート・クラス numeric を定義してある場合があります。 プログラムに custno などの「顧客番号」フィールドがある場合には、「スタイル・クラスのオーバーライド」チェック・ボックスを選択して、数値のスタイル・シート・クラスの名前を入力することができます。
  • 「フィールド値のオーバーライド」で、フィールドの戻り値の代わりに表示するテキストを指定することができます。固定フィールドの場合には、このチェック・ボックスのタイトルは「テキストのオーバーライド」に変わり、フィールドはデフォルトで定数のテキスト値になります。

構文 (非表示):

A*%%WB 4 FLD

構文 (文字の非表示):

A*%%WB 5 FLD <from> <to>

構文 (スタイル・クラスのオーバーライド):

A*%%WB 1 FLD <style> <field>

構文 (フィールド値のオーバーライド):

A*%%WB 3 FLD <length>"|"<text>

例 (非表示):

A*%%WB 4 FLD

例 (文字の非表示):

A*%%WB 5 FLD 1 12

例 (スタイル・クラスのオーバーライド):

A*%%WB 1 FLD wf_default wf_field

例 (フィールド値のオーバーライド):

A*%%WB 3 FLD 10|OOOOOOOOOO
ダイナミック・キー・ラベル

「ダイナミック・キー・ラベル」設定は、実行時にコマンド・キーのテキスト・ラベルを決定するために 使用できます。この設定は、出力フィールドにのみ使用できます。 この設定では、コマンド・キーが出力フィールドと関連付けられ、コマンド・キーのテキストがフィールドの実行時値によって決定されます。 使用例として、アプリケーションが複数の言語をサポートしていて、コマンド・キー・テキストをユーザーのネイティブ言語で 表示したい場合があげられます。 これを行う方法の 1 つに、アプリケーションが使用するテキスト・ストリングを含む言語ごとに 1 つの MSGF を用意して、 各 MSGF を言語特定ライブラリーに書き込む方法があります。 出力フィールドの値が MSGF から読み取られる場合、フィールドに表示されるテキストの言語は、ユーザーの言語用 MSGF を含む ライブラリーをユーザー・プロファイルのライブラリー・リストの上位に入れることによって変更できます。 これで、コマンド・キー・ラベルはその言語で表示されます。

この設定を使用するには、「ダイナミック・キー・ラベル」設定を選択して、 「フィールドの値をファンクション・キーのラベルとして使用する」を選択します。このリストで、出力 フィールドからのテキストと関連付けるキーを選択します。また、リストから *AUTO を選択することも できます。「*AUTO」は、フィールド値が実行時に構文解析され、ラベルを割り当てるコマンド・キーが判別されることを意味します。 これにより、複数のラベルを解析することができます。
注: WebFacing アプリケーションでは、ファンクション・キーのラベルをさまざまな方法で定義できます。同じキーに複数のラベルが定義されている場合、WebFacing 変換およびランタイムでは、特定の優先順位を使用してブラウザーに表示するラベルが決定されます。キー・ラベルの決定で使用される優先順位については、キー・ボタンのラベル を参照してください。
注: 現在、限定されたストリング・パターン・セットだけが *AUTO によってサポートされています。 以下の接頭部および区切り記号表にリストされたパターンと、アプリケーションで使用されるコマンド・キー・ラベルの ストリングに関する知識に基づいて、*AUTO がアプリケーションで動作するかどうかを評価してください。 この表は、接頭部と区切り記号によってパターンを識別します。 例えば、F3=Exit が出力値で、*AUTO がリストで選択した値である場合は、コマンド・キー・ラベルにストリング Exit が使用されます。つまり、F が接頭部として扱われ、= が区切り記号として扱われ、 区切り記号に続くテキストがラベルとして使用されます。 *AUTO を指定した場合には、出力フィールドに複数のラベルを定義することができます。
接頭部 区切り記号
F =
FP =
CF =
CA =
PF =
警告
  • *AUTO は、実行時のパフォーマンスに影響を与える可能性があります。 出力フィールドとコマンド・キーの 1 対 1 マッピングを確実にしておくと、*AUTO の使用を避けることができます。
  • *AUTO を使用せずに出力フィールドのテキストに MSGF を使用する場合は、MSGF テキストにキーが含まれていてはなりません。例えば Exit では、MSGF のテキストは、F3=Exit ではなく、 Exit でなければなりません。

構文:

A*%%WB 20 FLD (<key_number> | *AUTO)

:

A*%%WB 20 FLD F12
HTML オーバーライド

「HTML オーバーライド」によって、HTML をユーザー定義 HTML と置き換えるか、生成済みの HTML と一緒に HTML を挿入することによって、生成済みの HTML をオーバーライドすることができます。

「プログラム定義」ラジオ・ボタンを クリックして、フィールドの値自体を生成済みの HTML として使用することを指定します。WebFacing 変換で生成されたものを使用するのではなく、アプリケーション・プログラムにこのフィールドの HTML を処理させたい場合にこの設定を使用してください。

「ユーザー定義」 ラジオ・ボタンをクリックして、フィールドの値の代わりか、その値と一緒に表示できる HTML テキストまたはタグを指定します。使用したい HTML タグを入力エリアに入力してください。 この Web 設定のデフォルト値は、フィールドの値または定数のテキスト値を表すスクリプトです。フィールドの値を HTML の一部として使用したい場合は、「フィールド属性の挿入」ボタンをクリックします。フィールド置換変数の使用法の詳細については、フィールド置換変数の指定 を参照してください。 このオプションは、例えば、フィールドの値を太字フォントで表示したい場合に使用します。この場合は、<B> タグを &{FIELD.INITIALVALUE} テキストに使用してください。この例では、<B>&{FIELD.INITIALVALUE}</B> と表示されるように 入力域を編集します。&{FIELD.INITIALVALUE} のコードがデフォルトでそこにない場合には、「フィールド属性の挿入」 ボタンをクリックして追加することができます。また、ユーザー定義 HTML にシステム日付や時刻などの特殊値を追加することもでき ます。HTML での特殊値の使用法の詳細については、特殊値の使用 を参照してください。

「挿入」ラジオ・ボタンをクリックし、追加 HTML を組み込んで、フィールドをカスタマイズすることができます。HTML は、フィールド用に自動的に生成される HTML タグの、およびにオプションで追加する ことができます。 例として、社員番号の入力フィールドがあり、会社のすべての社員番号には 64- の接頭部が付けられるものとします。このフィールドは、以下のようなある種の HTML を追加することによって、より簡単に作成することができます。

(%%WB 6)

<strong>64- prefix mandatory</strong>

(%%WB 7)

value="64-"

(%%WB 8)

<a href="help.htm">このフィールドの詳細については、ここをクリックしてください。</a>

この例では、フィールドのの HTML は、そのフィールドに関する 情報を提供するもので、情報が太字フォントで強調されるように <strong> タグが使用されています。 変換によって生成された HTML では、入力フィールドに <input> タグが使用されるので、<input> タグのに HTML 属性 value="64-" を追加できます。これにより、社員番号の接頭部が事前に取り込まれ、ユーザーはそれを入力する必要がなくなります。フィールドのは、ユーザーがフィールドの詳細 を表示するためにクリックすることができるリンクに関する HTML です。

「HTML の挿入」設定で変更しているページをすべてテストしてください。行った変更が、WebFacing 変換によって生成された HTML と矛盾する可能性があります。これを解決する 1 つの方法は、「Web 設定」を使用しないでプログラムを変換し、生成された .html または .jsp ソースを調べて「Web 設定」によって無難に行える変更は何かを理解して、「Web 設定」を適用し、その後で再変換する方法です。

構文 (プログラム定義):

 A*%%WB 16 FLD

構文 (ユーザー定義):

 A*%%WB 17 FLD 1 <html>
 A*%%WB 17 FLD 1 &{FIELD.INITIALVALUE}

使用すべきではない %FieldValue は、見つかれば、より新しい形式の& {FIELD.INITIALVALUE} にマップされます。

 A*%%WB 17 FLD <html> 
 A*%%WB 17 FLD &FieldValue 

構文 (前に挿入):

 A*%%WB 6 FLD <html>

構文 (中に挿入):

 A*%%WB 7 FLD <html>

構文 (後に挿入):

 A*%%WB 8 FLD <html>

例 (プログラム定義):

 A*%%WB 16 FLD

例 (ユーザー定義):

 A*%%WB 17 FLD 1 <BOLD>&{PARTSFL.STQTY.CURRENTVALUE}</BOLD>

例 (前に挿入):

 A*%%WB 6 FLD <strong>64- prefix mandatory</strong>

例 (中に挿入):

 A*%%WB 7 FLD value="64-"

例 (後に挿入):

 A*%%WB 8 FLD <a href="help.htm">このフィールドの詳細については、ここをクリックして
ください。</a>
ハイパーリンク

「ハイパーリンク」設定は、フィールドをハイパーリンクとして表示するために使用します。 ハイパーリンクは、DDS の設定またはブラウザーの設定および静的ページまたは実行アクションへのリンクに従ってフォーマットすることができます。ハイパーリンクの外観に関するブラウザーの設定をオーバーライドしたい場合は、「DDS 設定の使用」チェック・ ボックスを選択してください。「ハイパーリンク」の設定を「イメージ」の設定と一緒に使用すると、フィールドを ハイパーリンクとしても機能するグラフィックとして表示することができます。これらの設定の一部は、フィールド値を入力として受け入れます。フィールド置換変数の使用法の詳細については、フィールド置換変数の指定 を参照してください。

注: Web 設定を指定して作成されるアクション・ハイパーリンクがブラウザーに表示されない条件はいくつかあります。 これは、ハイパーリンクがブラウザーでアクティブまたは使用可能な内容に適用されない場合に、エラー条件を防止するために行われます。 例えば次のようになります。
  • 現在最上部ウィンドウまたは最上部レイヤーにないレコードにハイパーリンクがある。
  • このリンクと関連付けられているファンクション・キーが現在アクティブではない。
  • このリンクの一部である参照したフィールドがアクティブ・レコードにない、あるいは読み取り可能ではない。例えば、レコードが、PROTECT キーワードを使用する他のレコードによって保護されている。
DDS 設定の使用

ほとんどのブラウザーには、Web ページ上のハイパーリンクのカラーと外観の規則に従うか、あるいはユーザーが変更できる ハイパーリンクの外観に対する設定があります。 例えば、未訪問リンクは青のテキストで表示でき、訪問済みリンクは紫のテキストで表示できます。ハイパーリンクが、 DDS のフィールドに使用されるのと同じ外観でブラウザーに表示されるようにしたい場合は、「DDS 設定の使用」ラジオ・ボタンを選択してください。

構文 (DDS 設定の使用):

A*%%WB 12 FLD 3 <hyperlink_type> <hyperlink_details> 1

構文 (ブラウザー設定の使用):

A*%%WB 12 FLD 3 <hyperlink_type> <hyperlink_details>

:

A*%%WB 12 FLD 3 http://www.ibm.com| 1
URL に進む

フィールドに表示したい特定の URL がある場合には、「URL に進む」を選択してください。フィールドの出力値が、ハイパーリンクとして表示されるテキストになります。 ユーザーがリンクをクリックするとブラウザーがロードする位置は、URL フィールドに入力される値です。 リンクをクリックすると別のブラウザー・ウィンドウが起動するようにしたい場合は、そのウィンドウの名前を「ターゲット」 フィールドに入力してください。「ターゲット」フィールドをブランクのままにするか、あるいは *SAME を入力した場合は、現行のブラウザー・ウィンドウでリンクが開きます。

WebFacing ポートレット・ プロジェクトを処理する場合には、「ターゲット」フィールドに *PORTLET を指定してポートレット内でリンクを開くことができます。

DDS に URL の一部にしたいフィールド値がある場合には、「URL」フィールドのボタンをクリックして、 使用したいレコード、フィールド、および属性を選択してください。例えば、URL http://mysite.com/mywebapp/servlet/MyServlet にパラメーターを追加したいときに、サーブレットが parm1 および parm2 と呼ばれる変数に引数を必要としている場合には、「挿入」フィールドの値を使用して URL の構成に役立てることができます。この例では、URL は最終的には http://mysite.com/mywebapp/servlet/MyServlet?parm1=&{FIELD1.INITIALVALUE}&parm2=&{FIELD2.INITIALVALUE} のようになります。&{FIELD1.INITIALVALUE}&{FIELD2.INITIALVALUE} は 追加したパラメーターで、実行時に変更される値を表しています。
注: 異なるレコード様式のフィールド値をハイパーリンク・フィールドの URL の一部として使用する場合、 そのハイパーリンクが表示されるときに、このフィールドが Web ページで使用可能になることを確認する必要があります。 レコード様式が異なるフィールドは、フィールドにレコード様式名 (例えば、 &{RECORD2.FIELD1.INITIALVALUE}) が含まれているので、「フィールド属性の挿入」ダイアログで確認できます。 ハイパーリンクが表示されたときにどちらのレコード様式も Web ページで使用できない場合は、 そのハイパーリンクを選択したときに例外が発生します。 フィールド置換変数の使用法の詳細については、フィールド置換変数の指定 を参照してください。

構文:

A*%%WB 12 FLD 3 <url>"|"<target>

使用すべきではない:

A*%%WB 12 FLD 1 <url>"|"<target>

:

A*%%WB 12 FLD 3 http://server/somepath?p2=&{FIELD2.INITIALVALUE}&p1=&{FIELD1.INITIALVALUE+
A*%%WB +}&p3=&{FIELD1.INITIALVALUE}

使用すべきではない:

A*%%WB 12 FLD 1 http://server/somepath?p2=&{FIELD2}&p1=&{FIELD1}&p3=&{FIELD1}
アクションの実行
「アクションの実行」の設定では、クリックするとカーソルをフィールドに配置する、実行依頼を実行する、あるいはこの 2 つの組み合わせを実行するリンクを作成することができます。「カーソルをフィールドに配置」および「追加のアクション」機能には、ユーザーが指定できる値があります。
カーソルをフィールドに配置
このリンクをクリックすると、アプリケーションに戻されたカーソル位置の実行時値が、ここで指定したフィールドの位置になります。 フィールドをドロップダウン・リストから選択できるか、フィールドの名前を手動で入力できます。 「カーソルをフィールドに配置」を選択しない場合は、カーソルは Web ユーザーが最後に選択したフィールドに置かれます。 このカーソル値は、ブラウザーによって表示されたカーソルを参照するのではなく、DDS レコードのフィールドの 現行カーソル位置を示す WebFacing ランタイム値を参照します。 カーソルが置かれているフィールドに値を割り当てたい場合は、フィールドを選択するか、または「フィールド値の設定」 チェック・ボックスを選択してテキスト域に値を入力します。これらの設定の一部は、フィールド値を入力として受け入れます。フィールド置換変数の使用法の詳細については、フィールド置換変数の指定 を参照してください。

構文:

A*%%WB 12 FLD 5 fld=<field>"|"value=<value>
追加のアクション

「追加のアクション」チェック・ボックスを選択すると、ファンクション・キーを選択、またはハイパーリンクに対する JavaScript 関数呼び出し実行アクションを選択することができます。 例えば、「ファンクション・キーの実行」ドロップダウン・リストから ENTERLOGOFF、 または DDS で定義したファンクション・キーを選択することができます。使用したいファンクション・キーが別の DDS レコードにある場合は、そのファンクション・キーの値を手動で入力してください。 ユーザーがそのファンクション・キー用に作成済みのリンクをクリックすると、プログラムはその関数を実行することになります。 「JavaScript 関数呼び出し」フィールドには、リンクをクリックすると呼び出されるようにしたい JavaScript 関数の名前を入力してください。 この関数は、「JavaScript の呼び出し」 Web 設定を使用して入力した関数、外部 JavaScript ファイルで定義した関数、 あるいは WebFacing で webface.js ファイルに組み込んだ関数のいずれかとすることができます。ユーザー独自の外部 JavaScript ファイルを作成する場合は、それらを WebFacing プロジェクトの usr ディレクトリーに入れてください。 このディレクトリーは、パス <project name>¥WebContent¥ClientScript¥usr にあります。 このディレクトリーに入れられるスクリプトはどれも、実行時に WebFacing アプリケーションに対して使用可能です。

「カーソルをフィールドに配置」オプションは「ファンクション・キーの実行」オプションと組み合わせることができます。特定のフィールドの値を設定して、その値をプログラムに戻すように実行依頼したい場合に行います。これを実行するには、 「カーソルをフィールドに配置」チェック・ボックスを選択し、ドロップダウン・リストからフィールドを選択 (またはフィールドを入力) して、「追加のアクション」チェック・ボックスを選択し、「ファンクション・キーの実行」ラジオ・ボタンを選択してドロップダウン・リストから ENTER を選択します。「カーソルをフィールドに配置」および 「ファンクション・キーの実行」フィールドに使用する入力フォーマットについては、本書の「カーソルをフィールドに配置」の項を参照してください。

構文:

A*%%WB 12 FLD 4 fld=<field>"|"value=<value>"|"func=<function_key>

使用すべきではない:

A*%%WB 12 FLD 2 fld=<field>"|"value=<value>

:

A*%%WB 12 FLD 4 fld=&{FIELD3.REF}|value=1|func=ENTER

使用すべきではない:

A*%%WB 12 FLD 2 fld=FIELD3|value=1
JavaScript の呼び出し

リンクをクリックすると呼び出されるようにしたい JavaScript 関数の名前を入力してください。 例えば、myFunction() と入力してください。 この関数は、「スクリプトの挿入」 Web 設定を使用して入力した関数、外部 JavaScript ファイルで定義した関数、あるいは WebFacing で webface.js ファイルに組み込んだ関数のいずれかとすることができます。ユーザー独自の外部 JavaScript ファイルを作成する場合は、それらを WebFacing プロジェクトの usr ディレクトリーに入れてください。 このディレクトリーは、パス <project name>¥WebContent¥ClientScript¥usr にあります。 このディレクトリーに入れられるスクリプトはどれも、実行時に WebFacing アプリケーションに対して使用可能です。 短形式のインライン JavaScript 関数がある場合には、その関数全体を「JavaScript の呼び出し」フィールドに入力することもできます。

構文 (ファンクション・キーの実行):
A*%%WB 12 FLD 6 <function_key>
構文 (JavaScript の呼び出し):
A*%%WB 12 FLD 7 <javascript>
構文 (カーソルをデータのある特定のフィールドに配置して JavaScript を実行):
A*%%WB 12 FLD 8 fld=<field>"|"value=<value>"|"func=<javascript>
構文 (JavaScript ハイパーリンク):
A*%%WB 12 FLD 9 <javascript>
注: JavaScript ハイパーリンクは使用すべきではなく、JavaScript の呼び出しになります。

イメージ

フィールドの代わりにイメージを表示する場合は、「イメージ」設定を使用してください。この設定の使用例として、在庫品目のイメージを含む製品データベースがあります。

「ファイル名」フィールドにワークステーション上のイメージ・ファイルへの完全パスまたはイメージ・ファイルへの完全 URL (例えば、 http://www.ibm.com/image.gif) を取り込んでください。「ファイル名」フィールドには、値を直接入力するか、あるいは「ブラウズ」ボタンを使用してローカル・ファイルを探して取り込むことができます。指定したローカル・イメージが、WebFacing の変換中に WebFacing プロジェクトの ..¥WebContent¥images¥generated¥ ディレクトリーにコピーされます。このディレクトリー中のイメージは、「エクスポート」ウィザードを使用してプロジェクトを 配置した時に、後からサーバーに公開されます。

イメージの大きさが分かっていれば、「幅」「高さ」を使用することができます。 幅および高さ情報を追加しておくことで、イメージを含む Web ページを表現するために必要な時間を短縮できる場合があります。

「代替テキスト」フィールドでは、イメージの代替テキストを指定することができます。

プログラム内に、イメージ・ファイル名の一部またはイメージ・ファイルに対する完全 URL として使用できる値を戻す フィールドがある場合には、「フィールド属性の挿入」をクリックし、「フィールド」 からフィールドを選択して、それらの値を「ファイル名」フィールドに追加することができます。 例えば、値 bicycle1 を戻す &{FIELD.INITIALVALUE} があれば、グラフィック bicycle1.gif を 容易に参照することができます。この例では、最初に「ダイナミック」ラジオ・ボタンを選択し、次に「フィールド属性の挿入」 を使用して「ファイル名」フィールドを取り込んでから .gif 拡張子を追加します。フィールド属性を使用して識別したファイル は、手動で ..¥WebContent¥images¥generated¥ ディレクトリーにコピーする必要があります。
注: この Web 設定に許可される唯一のフィールド属性は、初期値です。これは、Web ページが最初にロードされたときに、イメージが完全に解決される必要があるためです。
フィールド置換変数の使用法の詳細については、フィールド置換変数の指定 を参照してください。

構文:

A*%%WB 13 FLD 1 <width>"|"<height>"|"<graphic>"|"<alternative text>

使用すべきではない:

A*%%WB 13 FLD <width>"|"<height>"|"<graphic>

:

A*%%WB 13 FLD 1 15|34|graphic.gif
A*%%WB 13 FLD 1 15|34|graphic.gif|IBM logo
A*%%WB 13 FLD 1 3|2|&{FIELD1.INITIALVALUE}.gif 

使用すべきではない:

A*%%WB 13 FLD 15|34|graphic.gif
A*%%WB 13 FLD 3|2|&{FIELD1}.gif
位置

位置設定に使用できるオプションは、「スパンの変更」および「位置の変更」です。DDS ソースが WebFacing Tool によって変換された後に、アプリケーションは、HTML テーブルを使用して Web ページ上で位置決めされます。 HTML テーブルには、DDS 画面と同じ数 (24 x 80 または 27 x 132) の行と桁があります。 位置設定を使用すれば、ソースの変換後の HTML テーブルでのフィールドの位置決め方法を変更することができます。

  • 「位置の変更」によって、フィールドの開始位置となる HTML テーブルの行と桁を指示することができます。
  • 「スパンの変更」によって、フィールドに割り振る HTML テーブルの行と桁の数を指示することができます。「スパンの変更」を使用する場合として考えられるのは、ご使用のプログラムが元々フィールドに取り込むために使用していたテキスト値の代わりにグラフィックを使用する場合です。例えば、元のプログラムではフィールドのテキストに 7 桁が必要であったとしても、使用したいグラフィックでは 2 桁しか必要ない場合があります。

エディター・ウィンドウには、DDS ソースの行と桁のレイアウトが表示されます。 「位置の変更」および「スパンの変更」によって変更を行う場合は、このビューを使用して、フィールドの相互の相対位置がどのようになるかを確認してください。

「位置」設定の追加のオプションは、 「CSS 位置」です。 カスケーディング・スタイル・シート - 位置の設定により、フィールドを制限なしに Web ページの任意の場所に置くことができます。
  • 「行」で、フィールドの行の値を指定することができます。これは、1 以上の正整数でなければ なりません。
  • 「桁」で、フィールドの桁の値を指定することができます。これは、1 以上の正整数でなければ なりません。
  • 「オフセット」で、フィールドを行または桁の値に対して相対的に調整するピクセル数を指定することができます。この数は、0 または正あるいは負の整数とすることができます。
  • 「タブを使用不可にする」により、フィールドの移動後にタブ付けできるかどうかを示すことができます。「タブを使用不可にする」を選択した場合は、このフィールドにタブ付けすることはできません。選択しなかった場合は、フィールドは移動前と同じタブ順序のままとなります。

構文 (位置の変更):

A*%%WB 2 FLD <row_number> <column_number>

構文 (スパンの変更):

A*%%WB 15 FLD <row_number> <column_number>

構文 (CSS 位置):

A*%%WB 21 FLD <row_number> +/-<pixel_offset> | <column_number> +/-<pixel_offset> | <disable_tabbing>
注: ピクセル・オフセットの前に + または - を記述する必要があります。 disable_tabbing の値は、true または false のいずれかでなければなりません。

例 (位置の変更):

A*%%WB 2 FLD 14 3

例 (スパンの変更):

A*%%WB 15 FLD 1 1

例 (CSS 位置)

入力フィールドを行 30、桁 20 に (いずれもオフセットなしで) 移動して、タブを可能にする場合:

A*%%WB 21 FLD 30 +0 | 20 +0 | false

タブを使用不可にして、入力フィールドを行 40、桁 10 に、それぞれ下へ 20 ピクセル、左へ 5 ピクセルのオフセットで移動する場合:

A*%%WB 21 FLD 40 +20 | 10 -5 | true
オプション・ラベル

「オプション・ラベル」の設定は、VALUES キーワードで指定された入力フィールドに使用可能です。VALUES キーワードで指定されたフィールドは、一連のラジオ・ボタンとして Web ページに表示されます。この選択ボックスに表示されるオプションは、DDS ソース内で VALUES キーワードに対するパラメーターとして指定された値です。

この Web 設定で、ユーザーに対して表示されるラベルまたはテキストを変更することができます。例えば、プログラムで予期されている VALUES パラメーターの 1 つが "item8" である場合に、ブラウザーに表示されるテキストを "8 gauge wire" のようにより説明用のものに変更できます。ユーザーに対して表示されるテキストは "8 gauge wire"であっても、プログラムに戻される値は、そのプログラムが予想しているものと同じ "item8" になります。

この Web 設定を使用するには、「オプション・ラベル」フィールドをダブルクリックして、必要なテキストを入力します。

構文:

 A*%%WB 14 FLD <value>=<label>["|"<value2>=<label2>["|"<value3>=<label3>[...]]]

:

数値を使用:

 A*%%WB 14 FLD 0=value 0|1=value 1

テキスト値を使用:

 A*%%WB 14 FLD 'value0'=value 0|'value1'=value 1
ブラウザーに送信

「ブラウザーに送信」設定は、H または非表示 DDS フィールドに使用することができます。この設定は、生成された JSP ファイルをレコード用に変更します。例えば、LISTCTL と呼ばれるレコードに H フィールドがある場合にこの設定が使用されると、HTML 隠し入力フォーム・エレメントが JSP ファイル LISTCTL.jsp に生成されます。隠し入力フォーム・エレメントは HTML コード <INPUT TYPE="hidden" で始まります。「ブラウザーに送信」を使用 すると、H フィールドがブラウザー環境の一部となり、値がその環境に基づいてそのフィールドに割り当てられるようにできます。例えば、 「スクリプトに挿入」設定を使用して追加したスクリプトによって判別されるユーザーの IP アドレスは、隠しフィールドの取り込みに使用することができます。

構文:

 A*%%WB 19 FLD

:

 A*%%WB 19 FLD

フィールド置換変数の指定

フィールド置換変数は、 「HTML の挿入」「ユーザー定義 HTML」「イメージ」「スクリプトの挿入」「URL に進む」「カーソルをフィールドに配置」、および「JavaScript の呼び出し」 Web 設定で使用できます。以下に、 それぞれについて使用すべきではない (がサポートされている) 変数を含む、使用可能な置換変数を示します。

&{FIELD.CURRENTVALUE}
これは、ブラウザーでのユーザー入力によって変更できる現行レコードの入力可能フィールドの HTML フィールド・オブジェクトの現行値、または非表示で「ブラウザーに送信」 Web 設定を使用する現行レコードの入力可能フィールドの HTML フィールド・オブジェクトの現行値です。

使用すべきではない変数は &{FIELD.value} です。

&{FIELD.INITIALVALUE}
これは、現行レコードの入力または出力フィールドに対する、WebFacing ランタイムからの初期値です。

使用すべきではない変数は &{FIELD.value} です。

&{RECORD.FIELD.CURRENTVALUE}
これは、指定されたレコードの入力可能フィールドの HTML フィールド・オブジェクトの現行値で、ブラウザーでのユーザー入力に よって変更することができます。

使用すべきではない変数は &{RECORD.FIELD.value} です。

&{RECORD.FIELD.INITIALVALUE}
これは、指定されたレコードの入力または出力フィールドに対する、WebFacing ランタイムからの初期値です。

使用すべきではない変数は &{RECORD.FIELD.value} です。

&{FIELD.REF}
これは、HTML フィールド・オブジェクト参照 (例えば、document.SCREEN.l1_REC1$FIELD1) です。 これは、入力フィールド、または非表示で「ブラウザーに送信」 Web 設定を使用するフィールドにのみ使用されます。出力専用フィールドの場合には、&{FIELD.ID} を使用します。

使用すべきではない変数は &{FIELD} です。

&{FIELD.ID}
これは、HTML フィールド ID (例えば、l1_REC1$FIELD1) です。 これは、入力および出力フィールド用です。

使用すべきではない変数は &{FIELD} です。

&{RECORD.FIELD.REF}
これは、指定されたレコード内の HTML フィールド・オブジェクト参照です。これは、入力フィールドにのみ使用されます。出力専用フィールドの場合には、&{RECORD.FIELD.ID} を使用します。

使用すべきではない変数は &{RECORD.FIELD} です。

&{RECORD.FIELD.ID}
これは、指定されたレコード内の HTML フィールド ID です。これは、入力および出力フィールド用です。

使用すべきではない変数は &{RECORD.FIELD} です。

&{WEBFACINGFORMID}
これは、すべてのフィールドが存在する HTML フォームの ID 属性の値です。これは、カスタマイズされた JavaScript に使用できます。

特殊値の使用

特殊値は、 「HTML オーバーライド」ユーザー定義 Web 設定を使用してユーザー定義 HTML を挿入するときに使用できます。次の値は、DDS 内の対応するフィールドのユーザー定義 Web 設定の コンテキストで使用することができます。

&{*SYSNAME}
この値を使用すると、アプリケーションが実行中のシステムの名前が挿入されます。SYSNAME フィールドでのみ使用できます。

使用すべきではない値は &SystemName です。

&{*USER}
この値を使用すると、現行ユーザーのユーザー ID が挿入されます。USER フィールドでのみ使用できます。

使用すべきではない値は &UserID です。

&{*DATE}
この値を使用すると、システムの現在の日付が挿入されます。DATE フィールドでのみ使用できます。

使用すべきではない値は &Date です。

&{*TIME}
この値を使用すると、システムの現在の時刻が挿入されます。TIME フィールドでのみ使用できます。

使用すべきではない値は &Time です。