Oracle HTML DBユーザーズ・ガイド
リリース1.6
部品番号: B15713-02
  目次へ移動
目次
索引へ移動
索引

戻る
戻る
次へ
次へ
 

8 アプリケーションの構築

この章では、Application Builderを使用してアプリケーションおよびアプリケーション・コンポーネントを構築する方法について説明します。アプリケーションの作成手順、ページの追加手順、およびコンポーネント(レポート、チャートまたはフォーム)、ページ・コントロール(ボタン、アイテムまたはLOV)または共有コンポーネント(メニュー、リストまたはタブ)の追加手順について説明します。

この章の内容は次のとおりです。

アプリケーションの作成

Oracle HTML DBで新しいアプリケーションを作成するには、「アプリケーションを作成」ウィザードを使用します。アプリケーションの削除は、Application Builderのホームページから行います。

このセクションの内容は次のとおりです。

新しいアプリケーションの作成

「アプリケーションを作成」ウィザードを使用すると、9ページ以下の新しいアプリケーションを作成できます。

「アプリケーションを作成」ウィザードでアプリケーションを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. アプリケーションを作成」ボタンをクリックします。

  3. アプリケーションの作成方法を次のいずれかの選択項目から選択します。

    • 最初から: タブを定義し、ユーザー・インタフェース(UI)とその他のオプションを選択できます。

    • 既存のアプリケーションに基づく: 別のアプリケーションからコピーを作成します。コピーには認証設定が含まれますが、ページは除外されます。このオプションは、既存のアプリケーションと同じユーザー・インタフェース・テンプレートを使用してアプリケーションを作成する場合に選択します。

    • 既存の表に基づく: 作業領域の既存の表に基づいて、完全なアプリケーションを作成します。作成されるアプリケーションには、標準レポート、挿入フォーム、更新フォーム、成功フォーム(レコードが正常に挿入された時期を示す)、分析メニューのページ、分析レポート、分析チャートおよびログイン・ページが含まれます。

    • デモンストレーション・アプリケーション: Oracle HTML DBに含まれるデモンストレーション・アプリケーションをインストールします。

    • スプレッドシートに基づく: 簡単に配置できるアプリケーションをスプレッドシートから作成します。

    • アプリケーションのエクスポート・ファイルから: アプリケーションのエクスポート・ファイルをアップロードします。

  4. 画面に表示される手順に従います。

    アプリケーション属性は、アプリケーションの作成直後に指定します。

アプリケーションの削除

アプリケーションの削除は、Application Builderのホームページから行うことができます。または、アプリケーション属性の編集中にも削除できます。アプリケーションを削除すると、定義されたコンポーネント(レポート、チャートまたはフォーム)、ページ・コントロール(ボタン、アイテムまたはLOV)または共有コンポーネント(メニュー、リストまたはタブ)もすべて削除されます。

Application Builderのホームページからアプリケーションを削除するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. Application Builderが表示されたら、ページ上部のアプリケーション名およびアプリケーションIDを確認します。

  4. 「タスク」リストから「このアプリケーションを削除」を選択します。

  5. 画面に表示される手順に従います。

アプリケーション属性の編集中にアプリケーションを削除するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. Application Builderが表示されたら、ページ上部のアプリケーション名およびアプリケーションIDを確認します。

  4. 属性を編集」アイコンをクリックします。

    「アプリケーション属性を編集」ページが表示されます。

  5. アプリケーションIDおよびアプリケーション名を確認します。

  6. ページの上部の「削除」をクリックします。

ページの追加

新しいページを追加したり、既存のページにコンポーネントを追加するには、「ページを作成」ウィザードを実行します。 このウィザードにアクセスするには、Application Builderのホームページまたはページ定義を使用するか、「開発者」ツールバーで「新規」リンクを選択します。

「ページを作成」ウィザードを実行する場合は、空白ページを作成するか、コンポーネントを含むページを作成するかを選択します。レポート、チャート、フォーム、ウィザード、カレンダまたはツリーを含むページを作成するには、「コンポーネントを含むページ」を選択します。


注意:

既存のページにコンポーネント(レポート、チャート、フォーム、ウィザード、カレンダまたはツリー)を追加するには、「ページを作成」ウィザードを使用します。プロンプトが表示されたら、既存のページ番号を指定します。

このセクションの内容は次のとおりです。

Application Builderからのページの作成

Application Builderのホームページから新しいページを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. Application Builderのホームページで、「ページを作成」をクリックします。

  4. 作成するページのタイプを選択します。

    • 空白ページ

    • コンポーネントを含むページ

      レポート、チャート、フォーム、ウィザード、カレンダまたはツリーを含むページを作成するには、「コンポーネントを含むページ」を選択します。このオプションを選択すると、複数の属性を含む完全なページが作成されます。たとえば、「レポート」ウィザードを実行すると、1つのリージョンと複数のボタンを含むページが生成されます。

  5. 画面に表示される手順に従います。

ページ定義からのページの作成

ページ定義の表示中に新しいページを作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. ページ上部の「ナビゲーション」バーの「作成」ボタンをクリックします。

  3. 作成するページのタイプを選択します。

    • 空白ページ

    • コンポーネントを含むページ

      レポート、チャート、フォーム、ウィザード、カレンダまたはツリーを含むページを作成するには、「コンポーネントを含むページ」を選択します。このオプションを選択すると、複数の属性を含む完全なページが作成されます。たとえば、「レポート」ウィザードを実行すると、1つのリージョンと複数のボタンを含むページが生成されます。

  4. 画面に表示される手順に従います。

「開発者」ツールバーからのページの作成

開発者権限でOracle HTML DBにログインすると、「開発者」ツールバーにアクセスできます。「開発者」ツールバーは各ページの下部に表示され、これを使用すると新しいページをすばやく作成できます。

「開発者」ツールバーから新しいページを作成するには、次の手順を実行します。

  1. 「開発者」ツールバーで「新規」を選択します。

    「新しいコンポーネント」ウィザードが表示されます。

  2. 作成するページのタイプを選択します。

    • ページ(空白ページ)

    • コンポーネント(レポート、フォーム、チャート)

    • ページ・コントロール(リージョン、アイテム、ボタン)

    • 共有コントロール(メニュー、リスト、タブ)

  3. 画面に表示される手順に従います。

ページの実行

HTML DBは、データベース表に格納されたデータに基づいて、ページを動的にレンダリングおよび処理します。レンダリングされたアプリケーションを表示するには、アプリケーションを実行するか、またはHTML DBエンジンに送信します。新しいページを作成したら、そのページを個別に実行するか、またはアプリケーション全体を実行できます。「実行」アイコンをクリックすると、Application Builderの様々な場所からページを実行できます。(図8-1を参照。)

図8-1「ページ」リストの「実行」アイコン




「ページ」リストから特定のページを実行するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

    Application Builderが表示されます。選択したアプリケーションのページ・リストが、ページの下部に表示されます。

  3. 実行するページを「ページ」リストから指定して、右側の列にある「実行」ボタンをクリックします。

ページ定義から特定のページを実行するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. ページの右上にある「実行」ボタンをクリックします。

アプリケーション全体を実行するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを指定します。

  3. 右側の列にある「実行」ボタンをクリックします。

ページのグループ化

ページをページ・グループとして編成すると、アプリケーション内のページに簡単にアクセスできるようになります。

このセクションの内容は次のとおりです。

ページ・グループの作成

ページ・グループを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. ページの右側の「タスク」リストから、「ページ・グループを管理」を選択します。

  4. 「ページ・グループ」ページで、「作成」をクリックします。

  5. 名前および説明(オプション)を入力して、「作成」をクリックします。

ページ・グループへのページの割当て

ページをページ・グループに割り当てるには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. ページの右側の「タスク」リストから、「ページ・グループを管理」を選択します。

  4. 「タスク」リストから「割り当てられないページをレポート」を選択します。

    「割り当てられないページ」ページが表示されます。

  5. 「ページ・グループ」からページを割り当てるグループを選択します。

  6. 割り当てるページを選択します。

  7. チェックした項目を割当て」をクリックします。

    ページ番号を選択すると、「ページ属性」ページが表示されます。「ページ名」を選択すると、ページ定義にリンクします。

「ページ・グループ」レポートの表示

「ページ・グループ」レポートでは、アプリケーション内のどのページがグループに割り当てられているか、またどのページが割り当てられていないかを示す包括的なリストが提供されます。

「ページ・グループ」レポートを表示するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. ページの右側の「タスク」リストから、「ページ・グループを管理」を選択します。

  4. 「ページ・グループ」ページで、「ページ・グループをレポート」をクリックします。

ページのロックおよびロック解除

アプリケーション開発中の競合を回避するには、アプリケーションのページをロックします。ページをロックすると、他の開発者がページを編集できなくなります。

アプリケーションのページをロックするには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. 「ロックされたページ」ページからページをロックするには、次の手順を実行します。

    1. ページの右側の「タスク」リストから、「ページ・ロックを管理」を選択します。

    2. 該当するページを選択して、「ロック」をクリックします。

    3. 「コメント」フィールドにコメントを入力します。

    4. ページをロック」をクリックします。

  4. 「ページ」リストからページをロックするには、次の手順を実行します。

    1. 「ページ」リストの「ロック」アイコンをクリックします。

    2. 「コメント」フィールドにコメントを入力します。

    3. ページをロック」をクリックします。

  5. ページ定義からページをロックするには、次の手順を実行します。

    1. ページ定義にナビゲートします。(「ページ定義の表示」を参照。)

    2. 「共有コンポーネント」の右上にある「ロック」アイコンをクリックします。

      「ロックされたページ」ページが表示されます。

    3. 該当するページを選択して、「ロック」をクリックします。

    4. 「コメント」フィールドにコメントを入力します。

    5. ページをロック」をクリックします。

ページのロックを解除できるのは、そのページをロックしたユーザーのみです。

アプリケーションのページのロックを解除するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. 「ロックされたページ」ページからページのロックを解除するには、次の手順を実行します。

    1. ページの右側の「タスク」リストから、「ページ・ロックを管理」を選択します。

    2. 該当するページを選択します。

    3. ロック解除」をクリックします。

  4. 「ページ」リストからページのロックを解除するには、次の手順を実行します。

    1. 「ページ」リストの「ロック」アイコンをクリックします。

      「ページ・ロックを編集」ページが表示されます。

    2. ロック解除」をクリックします。

  5. ページ定義からページのロックを解除するには、次の手順を実行します。

    1. ページ定義にナビゲートします。(「ページ定義の表示」を参照。)

    2. 「共有コンポーネント」の右上にある「ロック」アイコンをクリックします。

      「ロックされたページ」ページが表示されます。

    3. 該当するページを選択します。

    4. ロック解除」をクリックします。

該当するページのロック状態によって「ロック」アイコンは変化します。

ロックされたページの別のビューへのアクセス

「ロックされたページ」ページから、ロックされたページの別のビューにアクセスできます。

ロックされたページの別のビューにアクセスするには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. ページの右側の「タスク」リストから、「ページ・ロックを管理」を選択します。

  4. 「タスク」リストから、次のいずれかを選択します。

    • ロックされたページを表示: カレント・アプリケーションのロックされたページのみを表示します。

    • すべてのページを表示: カレント・アプリケーション内のすべてのページを表示します。

    • ロック解除されたページを表示: カレント・アプリケーションのロックが解除されたページのみを表示します。

    • ロックを管理: 作業領域管理者が、開発者によってロックされたページのロックを解除できるようになります。

ページの削除

ページを削除するには、ページ定義から削除するか、ページ属性の編集中に削除します。

ページ定義からページを削除するには、次の手順を実行します。

  1. ページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. ページ名を確認します。

  3. ページ上部の「ナビゲーション」バーから「削除」をクリックします。

  4. 画面に表示される手順に従います。


参照:

ページ属性を編集する方法の詳細は、「ページ定義の編集」を参照してください。

ページ属性の編集中にページを削除するには、次の手順を実行します。

  1. ページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. ページ上部のナビゲーション・バーから「属性を編集」をクリックします。

  3. アプリケーションIDおよびページ名を確認します。

  4. 削除」をクリックします。

  5. 画面に表示される手順に従います。

レポートの作成

Oracle HTML DBでは、レポートとは、SQL問合せの結果の書式を設定したものです。組込み問合せを選択して実行するか、またはSQL問合せに基づくレポート・リージョンを定義することによって、レポートを生成できます。

このセクションの内容は次のとおりです。

ウィザードを使用したレポートの作成

Oracle HTML DBには、レポートを生成するための多くの組込みウィザードが含まれています。

ウィザードを使用してレポートを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

    Application Builderが表示されます。

  3. ページを作成」をクリックします。

  4. コンポーネントを含むページ」を選択します。

  5. レポート」を選択します。

  6. 次のいずれかのタイプのレポートを選択します。

    • 簡易レポート: このレポートには、SQLに関する知識は必要ありません。適切なスキーマ、表、列および結果セットの表示を選択します。

    • フォーム付きレポート: このレポートには、2ページのレポートとフォームの組合せが構築されます。1ページ目では、更新する行を指定できます。2ページ目には、選択した表またはビューを更新するためのフォームが含まれます。

    • SQLレポート: カスタムSQL SELECT文に基づくレポート、または指定したSQL SELECT文を戻すPL/SQLファンクションを作成します。

  7. 画面に表示される手順に従います。

レポート属性の編集

「レポート属性」ページおよび「列属性」ページを使用すると、レポート・ページのルック・アンド・フィールを詳細に制御できます。たとえば、これらの属性を使用して、列ヘッダー・テキストの変更、列の位置の変更、列の非表示化、列の合計の作成、またはソート順序の選択を行うことができます。

ページ定義で、編集するレポート・リージョンの横にある「Q」または「RPT」をクリックすると、「レポート属性」ページにアクセスできます。「Q」はレポートが通常のレポートであることを示し、「RPT」はレポートが簡易レポートであることを示します。また、リージョン名をクリックしてから「レポート属性」タブを選択しても、「レポート属性」ページにナビゲートできます。

「レポート属性」ページを表示するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  4. 「リージョン」で、編集するレポート・リージョンの名前の横にある「Q」をクリックします。

    「レポート属性」ページが表示されます。

    図8-2「レポート属性」ページ




    「ヘッダー・タイプ」では、レポートに対してどのようにヘッダーが生成されたかが識別されます。「レポート列属性」セクションを使用して、レポート列の体裁および機能性を制御します。「リンク」列には、現在列リンクが定義されているかどうかが示されます。「編集」列には、現在列が更新可能かどうかが示されます。

    表8-1に、レポート列の一般的な編集を示します。

    表8-1 レポート列の一般的な編集

    説明 開発者の操作
    列の表示順序を変更します。 上矢印および下矢印をクリックします。
    ヘッダーの位置合せを変更します。 「列の位置合せ」で、列の新しい位置を選択します。
    列ヘッダーのテキストを変更します。 「ヘッダー」で、列の異なるテキストを入力します。
    表示する列を制御します。 表示」をクリックして、列を表示させるようにします。
    一意のソート順序を有効にします。 ソート」をクリックし、「ソート順序」から順序番号を選択します。
    列の合計を有効にします。 合計」をクリックして、列の合計を有効にします。

    「列属性」ページで、特定の列の属性をさらに詳細に指定できます。

  5. 「列属性」ページにアクセスするには、該当する列名の横にある「編集」アイコンをクリックします。

    特定の属性の詳細は、オンライン・ヘルプを参照してください。

レポート・ページ区切りの制御

レポート・ページ区切りを制御する方法を次に示します。

  • ページ区切り置換文字列をレポート・テンプレートに含める方法

  • 「レポート属性」ページの「レイアウトおよびページ区切り」から選択する方法

「レポート属性」ページの「レイアウトおよびページ区切り」属性から選択して、ページ区切りの表示方法を制御します。

「レポート属性」ページの「レイアウトおよびページ区切り」セクションにアクセスするには、次の手順を実行します。

  1. レポートを作成します。(「ウィザードを使用したレポートの作成」を参照。)

  2. 「リージョン」で、適切なレポート属性リンク(QまたはRPT)をクリックします。

    「レポート属性」ページが表示されます。

  3. 「レイアウトおよびページ区切り」までスクロールします。

    「レイアウトおよびページ区切り」属性を使用して、ページ区切りスタイルの選択、ページ区切りの表示位置の決定、ページごとに表示される行数の指定を行います。表8-2に、最も一般的に使用される「レイアウトおよびページ区切り」属性を示します。

表8-2 「レイアウトおよびページ区切り」属性

属性 説明
レポート・テンプレート このレポートに適用するテンプレートを指定します。レポート・テンプレートによって、SQL問合せによって戻される1行の結果が制御されます。多数のデフォルトのテンプレートから選択するか、またはカスタム作成のテンプレートを選択できます。
ページ区切りスキーム このレポートにページ区切りスキームを指定します。

ページ区切りによって、結果セット内の行数および現在の位置に関する情報が提供されます。また、次のページまたは前のページへのナビゲートに使用するリンクまたはボタンのスタイルも定義されます。

詳細は、このアイテムに関するヘルプを参照してください。

表示位置 ページ区切りの表示位置を定義します。

レポートの上にページ区切りを表示する場合は、選択したレポート・テンプレートでこのタイプの表示がサポートされている必要があります。

行数 ページごとに表示される最大行数を定義します。
HTMLを削除 HTML式および列リンクの元の列値からHTMLタグを削除するかどうかを指定します。

HTMLタグがすでに含まれているデータベースから値を選択すると、それらのタグが列リンクまたはHTML式用に生成されたHTMLと競合する可能性があります。このオプションを有効にすると、列値の実際のデータ部分のみが使用されます。


レポート内での行の後へのページ区切りの挿入

レポート内の行の後にページ区切りを挿入するには、次の手順を実行します。

  1. レポートを作成します。(「ウィザードを使用したレポートの作成」を参照。)

    次に、適切な「レイアウトおよびページ区切り」属性を選択します。

  2. 「レポート属性」ページにナビゲートします。

    1. ページ定義にナビゲートします。

    2. 「リージョン」で、適切なレポート属性リンク(QまたはRPT)をクリックします。

      「レポート属性」ページが表示されます。

  3. 「レイアウトおよびページ区切り」で、次の項目を選択します。

    1. レポート・テンプレート: レポート・テンプレートを選択します(オプション)。

    2. ページ区切りスキーム: ページ区切りスキームを選択します。

    3. 表示位置: 表示位置を選択します。

    4. 行数: ページごとに表示する行数を指定します。

    5. 変更を適用」をクリックします。

  4. レポート・テンプレートを編集します。

    1. ページ定義にナビゲートします。

    2. 「テンプレート」で、レポート・テンプレート名を選択します。

    3. 「行の後」属性に#PAGINATION#置換文字列を含めます。

    4. 変更を適用」をクリックします。

  5. ページを実行します。

レポート内での行の前へのページ区切りの挿入

レポート内の行の後にページ区切りを挿入するには、次の手順を実行します。

  1. レポートを作成します。(「ウィザードを使用したレポートの作成」を参照。)

    次に、適切な「レイアウトおよびページ区切り」属性を選択します。

  2. 「レポート属性」ページにナビゲートします。

    1. ページ定義にナビゲートします。

    2. 「リージョン」で、適切なレポート属性リンク(QまたはRPT)をクリックします。

      「レポート属性」ページが表示されます。

  3. 「レイアウトおよびページ区切り」で、次の手順を実行します。

    1. レポート・テンプレート: レポート・テンプレートを選択します(オプション)。

    2. ページ区切りスキーム: ページ区切りスキームを選択します。

    3. 表示位置: 「top」という語が使用されている位置を選択します。

    4. 行数: ページごとに表示する行数を指定します。

    5. 変更を適用」をクリックします。

  4. レポート・テンプレートを編集します。

    1. ページ定義にナビゲートします。

    2. 「テンプレート」で、レポート・テンプレート名を選択します。

    3. 「行の前」属性に#TOP_PAGINATION#置換文字列を含めます。

    4. 変更を適用」をクリックします。

  5. ページを実行します。

列ソートの有効化

「レポート属性」ページで列ソートを有効にできます。

列ソートを有効にするには、次の手順を実行します。

  1. 「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 「レポート列属性」で、ソートする列の横にある「ソート」チェック・ボックスを選択します。

  3. 「ソート順序」から、順序番号を選択します。

    「ソート順序」はオプションです。ただし、ソート可能な列が1列以上ある場合は、定義済のソート順序が1列以上で必要です。

  4. 「ソート」までスクロールします。

  5. 昇順イメージ属性および降順イメージ属性を指定するか、または「デフォルトを設定」をクリックします。

CSVまたはXMLファイルとしてのレポートのエクスポート

カンマ区切りファイル(.csv)またはXMLファイルとしてレポートのエクスポートを可能にするレポート内のリンクを作成できます。エクスポートの形式は、レポート・テンプレートを選択することによって指定します。

エクスポート・レポート・テンプレートを指定するには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 「レイアウトおよびページ区切り」までスクロールします。

  3. 「レポート・テンプレート」リストから、次のいずれかを選択します。

    • エクスポート: CSV: CSVファイルとしてレポートをエクスポートします。

    • エクスポート: XML: XMLファイルとしてレポートをエクスポートします。

    いずれかのオプションを選択すると、HTML DBエンジンによるページのレンダリングが停止され、コンテンツがCSVまたはXMLファイルのいずれかにダンプされます。

    「CSV出力」のオプションを使用すると、レポートの内容をダウンロードするリンクを作成できます。

  4. 「レポートのエクスポート」までスクロールします。

  5. 「SCV出力を有効化」から、「はい」を選択します。

  6. (オプション)「セパレータ」および「囲み文字」フィールドで、セパレータおよびデリミタ文字を定義します。

    デフォルトの囲み文字は、二重引用符(" ")です。デフォルトのデリミタ文字は、カンマまたはセミコロンで、現在のNLS設定によって異なります。

  7. 「リンク・ラベル」フィールドで、リンク・テキストを入力します。このテキストは、レポートに表示されます。このテキストを使用すると、ダウンロードを起動できます。

  8. (オプション)デフォルトのエクスポート・ファイル名を指定するには、「ファイル名」フィールドに名前を入力します。

    デフォルトでは、HTML DBエンジンによって、リージョン名が取得され、該当するファイル名の拡張子(.csvまたは.xml)が追加されて、エクスポート・ファイル名が作成されます。

  9. 変更を適用」をクリックします。

列リンクの作成

列リンク属性を使用すると、レポートからアプリケーション内の別のページまたはURLへのリンクを作成できます。

別のページへの列リンクを作成するには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 「レポート列属性」で、リンクを含める列を指定します。

  3. 列名の横にある「編集」アイコンをクリックします。

    「列属性」ページが表示されます。

  4. 「列リンク」までスクロールします。

  5. 別のページへの列リンクを作成するには、次の手順を実行します。

    1. 「ターゲット」で、「このアプリケーションのページ」を選択します。

    2. (オプション)「リンク属性」で、<a href= >タグに含める追加の列リンク属性(リンク・ターゲット、クラス、スタイルなど)を指定します。

    3. 「リンク・テキスト」で、リンクとして表示されるテキストを入力するか、イメージ・タグを指定するか、またはデフォルトのイメージのリストから選択します。

    4. 「ページ」で、ターゲット・ページ番号を指定します。このページのページ区切りをリセットするには、「ページ区切りをリセット」を選択します。

    5. 「リクエスト」で、使用するリクエストを指定します。

    6. 「キャッシュを消去」で、キャッシュを消去するページ(ページ番号)を指定します。ページ番号をカンマで区切ってリストすることによって、複数のページを指定できます。

    7. 特定のアイテムのセッション・ステートを指定するには、「名前」フィールドおよび「値」フィールドを使用します。

  6. 変更を適用」をクリックします。

URLへの列リンクを作成するには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。

    「列属性」ページが表示されます。

  3. 「列リンク」までスクロールします。

  4. 「列リンク」で、次のいずれかの手順を実行します。

    1. 「ターゲット・タイプ」で、「URL」を選択します。

    2. 「リンク・テキスト」で、リンクとして表示されるテキストを入力し、置換文字列を選択します。

    3. (オプション)「リンク属性」で、<a href= >タグに含める追加の列リンク属性(リンク・ターゲット、クラス、スタイルなど)を指定します。

    4. 「URL」で、該当するアドレスを入力します。

  5. 変更を適用」をクリックします。

更新可能な列の定義

「列属性」ページの「表形式フォームの要素」属性を編集することで更新可能な列を作成できます。HTML DBエンジンは、複数の行の更新が定義されている場合、または更新済データを処理するためにPL/SQLプロセスが実装されている場合にのみ、更新を実行できることに注意してください。

更新可能な列属性を定義するには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。

    「列属性」ページが表示されます。

  3. 「表形式フォームの要素」までスクロールします。

  4. 「表形式フォームの要素」で、次の選択を行います。

    1. 「表示形式」から、更新可能な列のタイプを選択します。

      列を更新可能にするには、このオプションを使用します。更新は、複数の行の更新が定義されている場合、または更新済データを処理するためにPL/SQLプロセスが実装されている場合にのみ実行できます。

    2. 日付ピッカー」の「表示形式」タイプを選択している場合は、「日付ピッカーの書式マスク」から選択を行います。

    3. 「要素の幅」で、フォーム・アイテムの幅を指定します。

    4. 「行数」で、テキスト領域に適応するフォーム・アイテムの高さを指定します。

    5. 「要素属性」で、スタイルまたは標準のフォーム要素属性を定義します。

    6. 「要素オプションの属性」で、ラジオ・グループまたはチェック・ボックス内のアイテムのフォーム要素属性を指定します。

    7. 「デフォルト・タイプ」から、デフォルトのタイプを指定します。

    8. 「デフォルト」で、デフォルトのソースを指定します。

      デフォルト・タイプおよびデフォルト・ソースを使用して、新しい行を表形式フォームに追加します。HTML DBエンジンでは、この設定を使用して、列のデフォルト値が決定されます。デフォルト値が決定されない場合、列はNULLとして定義されます。

    9. 「参照表の所有者」で、参照される表の所有者を指定します。この属性を使用して、レポートの「ユーザー・インタフェースのデフォルト値」を構築します。

    10. 「参照表名」で、現行のレポート列が含まれる表またはビューを指定します。

    11. 「参照列名」で、このレポート列が参照する列名を指定します。

  5. 変更を適用」をクリックします。

LOVとしての列定義

レポート列は、LOVとしてレンダリングされます。たとえば、選択リストまたはポップアップLOVを使用して列をレンダリングできます。または、LOVに基づく読取り専用テキストとして列をレンダリングすることもできます。

この最後の方法は、表示参照値を作成する場合に効果的な手法であり、特に、更新できない通常のレポートで役立ちます。この方法を使用すると、SQL JOINを記述することなく、列の値を表示できます。

LOVとしてレポート列をレンダリングするには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。

    「列属性」ページが表示されます。

  3. 「LOV」までスクロールします。

  4. 「名前付きLOV」から、名前付きLOVリポジトリに含まれる名前付きLOVを選択します。

  5. LOVにNULL値を含めるには、次の手順を実行します。

    1. 「NULLを表示」で、「はい」を選択します。

    2. 「NULLテキスト」で、表示する値を指定します。

    列には、LOVで表示されない値を格納することもできます。

  6. LOVで表示されない値を定義するには、次の手順を実行します。

    1. 「追加値を表示」で、「はい」を選択します。

      追加値は、実際の列値がLOVの一部ではない場合に使用されます。このような場合は、実際の値が表示されます。追加値を表示しない場合は、誤った値になる可能性があり、データが不適切に自動更新されます。

    2. 「NULL値」で、表示する値を指定します。

    3. 名前付きLOVを選択していない場合は、「LOV問合せ」フィールドで選択リストを表示するための問合せを入力します。

  7. 名前付きLOVを選択していない場合は、LOV問合せで選択リストを表示するための問合せを入力します。

  8. 変更を適用」をクリックします。

列の表示条件の制御

認可属性および条件付き表示列属性を使用すると、列の表示条件を制御できます。

認可を使用すると、事前定義されたユーザー権限に基づいて(レポート列などの)リソースへのアクセスを制御できます。たとえば、マネージャのみが特定のレポート列を表示できる認可スキームを作成できます。認可スキームを選択するには、まずその認可スキームを作成する必要があります。

条件とは、事前定義された条件タイプに基づいた列の表示の制御を可能にする論理単位です。条件は、「式」フィールドに入力した値に基づいて、trueまたはfalseと評価されます。

認可属性および条件付き表示属性を指定するには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 該当する列の横にある「編集」アイコンをクリックして、「列属性」ページにアクセスします。

    「列属性」ページが表示されます。

  3. 「認可」で、「認可スキーム」リストから選択します。

  4. 「条件付き表示」で、「条件タイプ」リストから選択し、選択したタイプに応じて該当する「式」フィールドに式または値を入力します。

    認可が正常に終了し、条件タイプの表示がtrueに評価されると、列が表示されます。

列ブレークの制御

ブレーク書式属性を使用すると、出力する場合に、特定の列を繰り返すかどうか、および列のブレーク方法を制御できます。たとえば、レポートに、部門番号ごとに従業員情報を表示するとします。複数の従業員が同じ部門に所属している場合、部門番号が1回のみ表示されるように指定することによって、読みやすさを向上できます。

このタイプの列ブレークを作成するには、次の手順を実行します。

  1. 該当する「レポート属性」ページにナビゲートします。(「レポート属性の編集」を参照。)

  2. 「ブレーク書式」までスクロールします。

  3. 「ブレーク」リストから選択します。

フォームの作成

様々なタイプのフォームをアプリケーションに含めることができます。表内の単一行のみを更新できるフォーム、または同時に複数行を更新できるフォームを含めることができます。Oracle HTML DBには、自動的にフォームを作成するために使用できる多くのウィザードが含まれていますが、手動でフォームを作成することもできます。

このセクションの内容は次のとおりです。

ウィザードを使用したフォームの作成

フォームを作成する最も簡単な方法は、ウィザードを使用することです。たとえば、表またはビューのフォーム・ウィザードでは、1つの表の1列ごとに1つのアイテムを作成します。このウィザードには、主キーを使用した表への行の挿入、表の行の更新および削除に必要なボタンおよびプロセスが含まれています。各リージョンには、名前および表示位置の他に、アイテム、ボタン、プロセスおよびブランチを定義できます。

ウィザードを使用してフォームを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

    Application Builderが表示されます。

  3. ページを作成」をクリックします。

  4. コンポーネントを含むページ」を選択します。

  5. フォーム」を選択します。

  6. 「フォーム」で、表8-3に示すウィザードを選択します。

    表8-3 「フォーム」ウィザード

    ウィザード 説明
    プロシージャのフォーム ストアド・プロシージャの引数に基づくフォームを構築します。ストアド・プロシージャまたはパッケージに実装済のロジックまたはDML(データ操作言語)が存在する場合、この方法を使用します。
    SQL問合せのフォーム 等価結合などのSQL問合せによって戻される列に基づくフォームを作成します。
    表またはビューのフォーム データベース表の単一行を更新できるフォームを作成します。
    レポート付きの表のフォーム(2ページ) 2つのページを作成します。1つのページにはレポートが表示されます。各行に2ページ目へのリンクが提供され、これを使用して各レコードを更新できます。

    注意: このウィザードでは、127列を超える列が含まれている表はサポートされていません。127列を超える列を選択すると、エラーが発生します。

    Webサービスのフォーム Webサービスの定義に基づいて、アイテムを含むページを作成します。このウィザードでは、ユーザー入力フォーム、Webサービスをコールするプロセスおよび送信ボタンを作成します。

    参照: 「「Webサービス」でのフォームの作成」

    Webサービスのフォームとレポート Webサービスの定義に基づいて、アイテムを含むページを作成します。このウィザードでは、ユーザー入力フォーム、Webサービスをコールするプロセスおよび送信ボタンを作成し、レポートに結果を表示します。

    参照: 「「Webサービス」での入力フォームとレポートの作成」

    マスター・ディテール・フォーム 1つのHTMLフォーム内にマスター行および複数のディテール行を表示するフォームを作成します。このフォームを使用すると、2つの表またはビューに対し、値の問合せ、挿入、更新および削除を行うことができます。

    参照: 「マスター・ディテール・フォームの構築」

    サマリー・ページ 読取り専用のフォームを作成します。通常、ウィザードの最後に確認ページを提供するために使用します。
    表形式フォーム データベースの複数の行を更新できるフォームを作成します。

    参照: 「表形式フォームの作成」


  7. 画面に表示される手順に従います。

表形式フォームの作成

表形式フォームを使用すると、表の複数の行を一度に更新できます。「表形式フォーム」ウィザードでは、データベース表の複数の行に対して更新、挿入および削除を行うフォームを作成します。

表形式フォームを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページから該当するアプリケーションを選択します。

  2. ページを作成」をクリックします。

  3. コンポーネントを含むページ」を選択します。

  4. フォーム」を選択します。

  5. 表形式フォーム」を選択します。

    「表形式フォーム」ウィザードが表示されます。

  6. 「表/ビューの所有者を指定」で、次の手順を実行します。

    1. 表形式フォームの基となる表またはビューの所有者を指定します。

    2. 作成する表形式フォームのタイプを選択します。

    3. 表を選択します。

  7. 「表/ビューの名前を指定」で、表を選択します。

  8. 「表示する列を指定」で、次の手順を実行します。

    1. ユーザー・インタフェースのデフォルト値を使用するかどうかを指定します。

      ユーザー・インタフェースのデフォルト値を使用して、指定したスキーマ内の表、列またはビューにデフォルトのユーザー・インタフェースのプロパティを割り当てることができます。

    2. フォームに含める列(更新可能および更新不可)を選択します。

      ページの作成後、列の順序またはSQL問合せを変更できます。

  9. 「主キーを指定」で、主キー列および外部キー列(使用可能な場合)を選択します。

  10. 「主キーおよび外部キーのデフォルト値」で、主キー列のソース・タイプを選択します。有効なオプションは次のとおりです。

    • 既存のトリガー: 表にトリガーがすでに定義されている場合はこのオプションを選択します。既存の列の主キー列ソースを定義する必要はありません。既存の列にはすでに主キーが存在しています。

    • カスタムPL/SQLファンクション: ソースが、キー値を戻すPL/SQLファンクションの場合はこのオプションを選択します。

    • 既存の順序: 表に既存の順序がすでに定義されている場合はこのオプションを選択します。この場合、順序の次の値が使用されます。

  11. 「更新可能な列」で、更新可能な列を選択します。

  12. 「ページおよびリージョン属性を指定」で、次の手順を実行します。

    1. ページおよびリージョン情報を指定します。

    2. リージョン・テンプレートを選択します。

    3. レポート・テンプレートを選択します。

  13. 「タブを指定」で、このページのタブの実装を指定します。

  14. 「ボタン・ラベル」で、「取消」、「送信」、「削除」および「行を追加」ボタンに表示される表示テキストを入力します。

  15. 「ブランチ処理を指定」で、「送信」および「取消」ボタンをクリックした後、ブランチ先のページを指定します。

  16. 終了」をクリックします。


注意:

表形式フォームのSQL文の選択リストを、生成後に変更しないでください。変更すると、フォームのデータを変更したときにチェックサム・エラーが発生します。

マスター・ディテール・フォームの構築

マスター・ディテール・フォームは、データベースの2つの表の1対多関係を示します。通常、マスター・ディテール・フォームには、1つのHTMLフォーム内にマスター行および複数のディテール行が表示されます。このフォームを使用すると、2つの表またはビューに対し、値の挿入、更新および削除を行うことができます。

マスター・ディテール・フォームを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページから該当するアプリケーションを選択します。

  2. ページを作成」をクリックします。

  3. コンポーネントを含むページ」を選択します。

  4. フォーム」を選択します。

  5. マスター・ディテール・フォーム」を選択します。

    マスター・ディテール・ウィザードが表示されます。

  6. 「マスター表を定義」で、次の手順を実行します。

    1. 表またはビューの所有者を選択します。

    2. 表またはビューの名前を選択します。

    3. 表示する列を選択します。

  7. 「ディテール表を定義」で、次の手順を実行します。

    1. 関連する表のみを表示するように指定します。

    2. 表またはビューの所有者を選択します。

    3. 表またはビューの名前を選択します。

    4. 表示する列を選択します。

  8. 「主キーを定義」で、マスター表の主キー列を選択してから、ディテール表の主キー列を選択します。

  9. 「マスター表を定義」と「ディテール表を定義」で、マスター表とディテール表の関係を定義します。

  10. マスター表およびディテール表の主キー列のソースを指定します。

  11. 「マスター・オプションを定義」で、マスター行のナビゲーションを含めるかどうかを指定します。

    マスター行のナビゲーションを含める場合は、ナビゲーション順の列を定義します。ナビゲーション順の列が定義されていないと、マスターの更新フォームは、主キー列を使用してナビゲートします。

  12. 「レイアウトを選択」で、マスター・ディテール・ページのレイアウトを指定します。

    マスター・ディテール・ページは、表形式フォームとして同じページに含めることも、別のページに追加することもできます。

  13. 「ページ属性」で、マスター・ページおよびディテール・ページ情報を確認および編集します。

  14. 「タブを指定」で、オプションのタブ・セットを含めるかどうかを指定します。

  15. 作成」をクリックします。

フォームの手動作成

次の手順を実行することによって、フォームを手動で作成することもできます。

  • (ページ・アイテムのコンテナとして機能する)HTMLリージョンを作成します。

  • リージョンに表示するアイテムを作成します。

  • プロセスおよびブランチを作成します。

フォームを手動で作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. HTMLリージョンを作成します。

    • 「リージョン」で、「作成」をクリックします。

    • リージョン・タイプに「HTML」を選択します。

    • 画面に表示される手順に従います。

  3. ページへのアイテムの追加を開始します。

    • 「アイテム」で、「作成」をクリックします。

    • 画面に表示される手順に従います。

フォームの処理

フォームを作成したら、次に、基礎となるデータベース表またはビューに対して挿入または更新を行うことによって、ユーザーが入力したデータを処理します。フォームを処理する方法には、3通りあります。

行の自動処理(DML)プロセスの作成

フォームを実装するための一般的な方法の1つは、行の自動処理(DML)プロセスを手動で作成することです。この方法には、3つのメリットがあります。1つ目は、SQLコードを指定する必要がないことです。2つ目は、Oracle HTML DBによってDMLプロセスが実行されることです。3つ目は、このプロセスによって、ロストした更新の検出が自動的に実行されることです。ロストした更新の検出によって、データに同時にアクセスできるアプリケーションのデータ整合性が保証されます。

この方法を実装するには、次の手順を実行する必要があります。

  • アイテムを追加し、「アイテム・ソース」タイプを「データベース列」に定義し、大/小文字が区別される列名を指定します。

  • 常にキャッシュ値より優先するためのオプションを選択します。

行の自動処理(DML)プロセスを作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 「プロセス」で、「作成」アイコンをクリックします。

  3. プロセス・タイプの「データ操作」を選択します。

  4. プロセス・カテゴリの「行の自動処理(DML)」を選択します。

  5. 次のプロセス属性を指定します。

    1. 「名前」フィールドで、プロセスを識別するための名前を入力します。

    2. 「順序」フィールドで、順序番号を指定します。

    3. 「ポイント」リストから、適切なプロセス・ポイントを選択します。通常、「ロード時 - ヘッダーの後」を選択します。

    4. 「タイプ」リストから、「行の自動処理(DML)」を選択します。

  6. 画面に表示される手順に従います。

1つ以上の挿入文を含むプロセスの作成

この方法でフォームを処理するには、挿入、更新および削除操作を実行する1つ以上のプロセスを作成します。HTML DBエンジンですべての操作を透過的に実行するかわりに、操作の制御はユーザーが行います。

たとえば、3つのアイテムを持つフォームが存在すると想定します。

  • P1_ID: 表に現在表示されている行の主キーを格納するための非表示アイテム。

  • P1_FIRST_NAME: ユーザー入力用のテキスト・フィールド。

  • P1_LAST_NAME: ユーザー入力用のテキスト・フィールド。

また、「挿入」、「更新」および「削除」というラベルの3つのボタンがあるとします。さらに、列idfirst_nameおよびlast_nameを含む表Tもあります。この表には、値を指定しなかった場合に自動的にID列が移入されるトリガーがあります。

新しい行の挿入を処理するには、ユーザーが「挿入」ボタンをクリックしたときに実行されるPL/SQLの条件付きプロセスを作成します。次に例を示します。

BEGIN
  INSERT INTO T ( first_name, last_name )
     VALUES  (:P1_FIRST_NAME, :P1_LAST_NAME);
END;

行の更新を処理するには、PL/SQLの条件付きプロセスをもう1つ作成します。次に例を示します。

BEGIN
    UPDATE T
       SET first_name = :P1_FIRST_NAME,
           last_name = :P1_LAST_NAME
    WHERE ID = :P1_ID;
END;

行の削除を処理するには、ユーザーが「削除」ボタンをクリックしたときに実行される条件付きプロセスを作成します。次に例を示します。

BEGIN
    DELETE FROM T
    WHERE ID = :P1_ID;
END;

PL/SQL APIを使用したフォーム値の処理

アプリケーションによっては、表へのすべてのアクセスを単一または少数のPL/SQLパッケージにまとめて処理することが適しています。DML操作を処理するパッケージを作成した場合は、このパッケージのプロシージャおよびファンクションを、送信後のPL/SQLプロセスからコールして、リクエストの挿入、更新および削除を処理できます。

フォームの移入

Oracle HTML DBでは、ロード時またはHTML DBエンジンによるページのレンダリング時にフォームが移入されます。フォームを移入するには、次の手順を実行します。

  • プロセスを作成し、タイプを「行の自動フェッチ」に定義します。

  • 非表示のセッション・ステート・アイテムを参照することによって、フォームを手動で移入します。

行の自動フェッチ・プロセスを作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 「プロセス」で、「作成」をクリックします。

  3. プロセス・タイプの「データ操作」を選択します。

  4. プロセス・カテゴリの「行の自動フェッチ」を選択します。

  5. 次のプロセス属性を指定します。

    1. 「名前」フィールドで、プロセスを識別するための名前を入力します。

    2. 「順序」フィールドで、順序番号を指定します。

    3. 「ポイント」リストから、適切なプロセス・ポイントを選択します。

    4. 「タイプ」リストから、「行の自動フェッチ」を選択します。

  6. 画面に表示される手順に従います。

非表示のセッション・ステート・アイテムを参照することによって、フォームを手動で移入することもできます。たとえば、PL/SQLタイプのOracle HTML DBプロセスの次のコードでは、enameおよびsalの値が設定されます。この例では、P2_IDという名前の非表示のセッション・ステートを参照することによってフォームを手動で移入する方法も示します。

FOR C1 in (SELECT ename, sal
FROM emp WHERE ID=:P2_ID)
LOOP
     :P2_ENAME := C1.ename;
     :P2_SAL := C1.sal;
END LOOP;

この例では、次のとおりです。

  • C1は、暗黙カーソルです。

  • P2_IDの値は設定済です。

  • このプロセスのプロセス・ポイントは、「ロード時 - リージョンの前」またはこれ以前に実行するように設定されます。

フォームでのユーザー入力の検証

検証を使用すると、ユーザーが入力したデータを処理前にチェックできます。検証および関連するエラー・メッセージを作成したら、これらを特定のアイテムと関連付けることができます。検証エラー・メッセージをインライン表示(検証が実行されたページで表示)するか、個別のエラー・ページで表示するかを選択できます。

インラインのエラー・メッセージを作成するには、次の手順を実行します。

  • 新しい検証を作成し、エラー・メッセージ・テキストを指定します。

  • 検証を特定のアイテムと関連付けます。

新しい検証を作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 「検証」で、「作成」アイコンをクリックします。

  3. 検証を作成」ウィザードが表示されたら、画面に表示される手順に従います。

    検証タイプは2つのカテゴリに分けられます。

    • アイテム: これらの検証は、「アイテム」という文字列が先頭に付きます。検証と関連付けられたアイテムに対して一般的な確認を実行できます。

    • コード: これらの検証では、検証ロジックを定義する1つのPL/SQLコードまたはSQL問合せを指定する必要があります。複数アイテムの値の確認または他のデータベース表へのアクセスが必要なカスタム検証を実行するには、このタイプの検証を使用します。

  4. 画面に表示される手順に従います。


注意:

3,950文字を超える文字は検証できません。

アイテムを検証と関連付け、エラー・メッセージ・テキストを指定するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 「検証」で、関連付ける検証アイテムを選択します。

    検証の属性ページが表示されます。

  3. 「エラー・メッセージ」までスクロールします。

    • 「エラー・メッセージ表示位置」で、表示位置を確認します。

    • 「関連付けられたアイテム」で、この検証と関連付けるアイテムを選択します。

  4. 変更を適用」をクリックします。

エラー・メッセージ

エラー・メッセージ表示位置」で、検証エラー・メッセージの表示位置が指定されます。検証エラー・メッセージは、エラー・ページに表示したり、既存ページ内にインラインで表示できます。インライン・エラー・メッセージは、通知領域(ページ・テンプレートの一部として定義される)に表示したり、フィールド・ラベル内に表示できます。

残りのすべての検証処理を停止するハード・エラーを作成する場合は、エラー・ページにエラーを表示する必要があります。

チャートの作成

Oracle HTML DBには、HTMLチャートおよびScalable Vector Graphics(SVG)チャートを生成するための組込みウィザードが含まれています。Oracle HTML DBは、次の2種類のグラフィカル・チャートをサポートしています。

SVGは、World Wide Web Consortium(W3C)が策定したXMLベースのWebグラフィックス用言語です。SVGチャートは埋込みタグで定義されます。SVGチャートがアプリケーションに適切なチャート・タイプかどうかを判断する際は、次の点に注意してください。

このセクションの内容は次のとおりです。

SVGプラグインのサポート

Adobe SVGプラグインは、UTF-8UTF-16ISO-8859-1およびUS-ASCIIでエンコードされたデータを適切に処理できます。SVGチャートのエンコードは、データベース・アクセス記述子(DAD)のデータベース・キャラクタ・セットによって決まります。DADキャラクタ・セットがUTF8AL32UTF8AL16UTF16WE8ISO8859P1またはUS7ASCII以外の場合、SVGチャートがAdobe SVGプラグインで適切にレンダリングされない場合があります。

チャートの作成

Oracle HTML DBでチャートを定義するには、ウィザードを使用します。ほとんどのチャート・ウィザードでは、チャート・タイプを選択し、次の構文を使用してSQL問合せを指定します。

SELECT link, label, value
FROM   ...

各要素の意味は次のとおりです。

  • linkは、URLです。

  • labelは、バーに表示されるテキストです。

  • valueは、バー・サイズを定義する数値列です。

次に例を示します。

SELECT null, ename, sal
FROM   scott.emp
WHERE  deptno = :P101_DEPTNO

ダイアル・チャートを選択するには、ダイアル・チャート・タイプを選択し、次の構文を使用してSQL問合せを指定します。

SELECT value , maximum_value [ ,low_value [ ,high_value] ]
FROM   ...

各要素の意味は次のとおりです。

  • valueは、ダイアルの開始点です。

  • maximum_valueは、ダイアルで指定可能な最高点です。

  • low_valueおよびhigh_valueは、履歴上の最低値および最高値です。

次に例を示します。

select dbms_random.value(500, 1200), 1300, dbms_random.value(100, 200)
FROM DUAL

表8-4に、Oracle HTML DBで使用可能なチャート・タイプを示します。

表8-4 使用可能なチャート・タイプ

チャート・タイプ 説明
棒(HTML) 各データ・ポイントが棒で表される単一データ・シリーズを示す棒グラフです。

HTMLベースです。プラグインは必要ありません。

棒(横) シリーズ内の各データ・ポイントが横棒で表される単一シリーズ・ベースの横棒グラフです。

SVGベースです。SVGプラグインが必要です。

棒(縦) シリーズ内の各データ・ポイントが縦棒で表される単一シリーズ・ベースの縦棒グラフです。

SVGベースです。SVGプラグインが必要です。

集合棒(横) 各データ・ポイントが横棒で表され、共通変数で集計される複数シリーズ・ベースの横棒グラフです(月ごとに集計される部門販売合計など)。

SVGベースです。SVGプラグインが必要です。

集合棒(縦) シリーズ内の各データ・ポイントが縦棒で表され、共通変数で集計される複数シリーズ・ベースの縦棒グラフです(月ごとに集計される部門販売合計など)。

SVGベースです。SVGプラグインが必要です。

ダイアル - スイープ 角度ゲージとも呼ばれます。このチャートには、最大値の割合または立体領域として表される最大値と比較した絶対値のいずれかを示します。

SVGベースです。SVGプラグインが必要です。

ダイアル 角度ゲージとも呼ばれます。このチャートには、最大値の割合または折れ線で表される最大値と比較した絶対値のいずれかを示します。

SVGベースです。SVGプラグインが必要です。

折れ線 各折れ線がシリーズ内のすべてのデータ・ポイントを表す複数シリーズ・ベースの折れ線グラフです。

SVGベースです。SVGプラグインが必要です。

各区分がシリーズ内の1つのデータ・ポイントを表す単一シリーズ・ベースの円グラフです。

SVGベースです。SVGプラグインが必要です。

積上げ棒(横) シリーズ内の各データ・ポイントが絶対値で、その値が1つの棒の1区分を表す複数シリーズ・ベースの横棒グラフです。

SVGベースです。SVGプラグインが必要です。

積上げ棒(縦) シリーズ内の各データ・ポイントが絶対値で、その値が1つの棒の1区分を表す複数シリーズ・ベースの縦棒グラフです。

SVGベースです。SVGプラグインが必要です。

割合積上げ棒(横) 各データ・ポイントがシリーズ内での割合(%)を示し、その割合が1つの棒の1区分を表す複数シリーズ・ベースの横棒グラフです。

SVGベースです。SVGプラグインが必要です。

割合積上げ棒(縦) 各データ・ポイントがシリーズ内での割合(%)を示し、その割合が1つの棒の1区分を表す複数シリーズ・ベースの縦棒グラフです。

SVGベースです。SVGプラグインが必要です。



注意:

既存のチャートのタイプは変更しないでください。かわりに、既存のチャートを削除して再作成してください。

新しいチャートの作成

チャートの作成方法は、既存のページにチャートを追加するか、新しいページにチャートを追加するかによって異なります。

既存ページへのチャートの追加

既存ページにチャートを追加するには、次の手順を実行します。

  1. ページ定義にナビゲートします。

  2. 「リージョン」で、「作成」アイコンをクリックします。

    「リージョンを作成」ウィザードが表示されます。

  3. チャート」を選択します。

  4. 作成するチャートのタイプを選択します。(表8-4を参照。)

  5. 画面に表示される手順に従います。

新しいページへのチャートの追加

新しいページでチャートを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. ページを作成」をクリックします。

  4. 作成するページのタイプを尋ねるプロンプトが表示されたら、「コンポーネントを含むページ」を選択します。

  5. コンポーネント・タイプの「チャート」を選択します。

  6. 作成するチャートのタイプを選択します。(表8-4を参照。)

  7. 画面に表示される手順に従います。

チャート属性の編集

チャートの作成後は、「チャート属性」ページでチャート属性を編集してチャートの表示を変更できます。

「チャート属性」ページにアクセスするには、次の手順を実行します。

  1. ページ定義にナビゲートします。

  2. 「リージョン」で、編集するチャート・リージョンの名前の横にある「チャート」をクリックします。

    「チャート属性」ページが表示されます。

    チャート・タイトル(「チャート・タイトル」属性)を削除すると、チャート凡例の位置と表示に悪影響を及ぼす場合があります。

チャートCSSクラスの理解

新しいチャートを作成すると、そのチャートは、現行のテーマに関連付けられたカスケード・スタイルシート(CSS)のクラスに基づいてOracle HTML DBによってレンダリングされます。別のCSSを参照するか、または「属性を編集」ページのCSSセクションで個々のクラスを上書きして、チャートの外観を変更できます。

次に、サンプル・アプリケーションのダイアル・チャートのCSSクラスの例を示します。この例には、使用可能なすべてのCSSクラスが示されています。クラス名は太字で表示されています。

text{fill:#000000;}
tspan{fill:#000000;}
text.title{font-weight:bold;font-size:14;fill:#000000;}
text.moredatafound{font-size:12;}
rect.legend{fill:#EEEEEE;stroke:#000000;stroke-width:1;}
text.legend{font-size:10;}
#background{fill:#FFFFFF;stroke:none;}
rect.chartholderbackground{fill:#ffffff;stroke:#000000;stroke-width:1;}
#timestamp{text-anchor:start;font-size:9;}
text.tic{stroke:none;fill:#000000;font-size:12}
line.tic{stroke:#000000;stroke-width:1px;fill:none;}
#dial{stroke:#336699;stroke-width:2px;fill:#336699;fill-opacity:.5;}
#dial.alert{fill:#FF0000;fill-opacity:.5;}
#dialbackground{stroke:#000000;stroke-width:none;fill:none;filter:url(#MyFilter);}
#dialcenter{stroke:none;fill:#111111;filter:url(#MyFilter);}
#dialbackground-border{stroke:#DDDDDD;stroke-width:2px;fill:none;filter:url
(#MyFilter);}#low{stroke-width:3;stroke:#336699;}
#high{stroke-width:3;stroke:#FF0000;}
#XAxisTitle{letter-spacing:2;kerning:auto;font-size:14;fill:#000000;text-anchor:middle;}
#YAxisTitle{letter-spacing:2;kerning:auto;font-size:14;fill:#000000;text-anchor:middle;writing-mode:tb;}
.XAxisValue{font-size:8;fill:#000000;}
.YAxisValue{font-size:8;fill:#000000;text-anchor:end;}
.nodatafound{stroke:#000000;stroke-width:1;font-size:12;}
.AxisLine{stroke:#000000;stroke-width:2;fill:#FFFFFF;}
.GridLine{stroke:#000000;stroke-width:0.3;stroke-dasharray:2,4;fill:none;}
g.dataholder rect{stroke:#000000;stroke-width:0.5;}
.legenditem rect{stroke:#000000;stroke-width:0.5;}

表8-5に、サポートされているすべてのCSSクラスを示します。一部のクラスは、特定のチャート・タイプにのみ適用されます。

表8-5 使用可能なチャートCSSクラス

クラス 説明
text チャートに表示されるテキストの外観を定義します。
tspan チャートに表示されるテキストの外観を定義します。 tspanは、textの定義に一致する必要があります。
text.title デフォルトのチャート・テキストを上書きします。このクラスは、タイトル・テキストに使用します。
text.moredatafound より多くのデータが検出されたテキストの外観を定義します。
rect.legend チャート凡例を保持する矩形ボックスを作成します。

凡例の枠線を削除するには、rect.legendを次のように変更します。

rect.legend{fill:#CCCC99;stroke:none;}

text.legend チャート凡例に表示されるテキストを定義します。
#background SVGプラグイン用のバックグラウンド全体を作成します。

枠線なしの単色の立体バックグラウンドを作成するには、#backgroundを次のように変更します。

#background{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:2;}

rect.chartholderbackground (円グラフおよびダイアル・チャートには適用されません。)チャート・データを保持する矩形のバックグラウンドを作成します。

バックグラウンドに何も表示しない場合は、rect.chartholderbackgroundを次のように変更します。

rect.chartholderbackground(display:none;)

#timestamp 「非同期更新」チャート属性が「はい」に設定されている場合にのみ適用されます。更新タイムスタンプ・テストの外観を制御します。

タイムスタンプの表示を無効にするには、「カスタムCSS、インライン」属性で#timestampを次のように定義します。

"#timestamp{display:none;}"

参照: 「非同期更新の有効化」

text.tic (ダイアル・チャート専用)ダイアル・チャートの数値を定義します。
line.tic (ダイアル・チャート専用)ダイアル・チャートの数値の直下に表示される目盛り線を定義します。
#dial (ダイアル・チャート専用)ダイアル・チャートに表示される値を定義します。
#dial.alert (ダイアル・チャート専用)別の表示画面を使用してダイアル・チャートにレンダリングされる値(アラート値)を定義します。
#dialbackground (ダイアル・チャート専用)ダイアル・チャートのバックグラウンドを作成します。
#dialcenter (ダイアル・チャート専用)ダイアル・チャートにダイアルの中心を作成します。
#dialbackground-border (ダイアル・チャート専用)#dialbackgroundと連動して特定のグラフィック効果を作成します。
#low (ダイアル・チャート専用)チャートに表示されているデータの履歴上の最低水位標を定義します。
#high (ダイアル・チャート専用)チャートに表示されているデータの履歴上の最高水位標を定義します。
#XAxisTitle X軸に表示されるタイトルを定義します。
#YAxisTitle Y軸に表示されるタイトルを定義します。
.XAxisValue X軸に表示される値を定義します。
.YAxisValue Y軸に表示される値を定義します。
.AxisLabel 軸値に類似しています。
.nodatafound 情報を参照できない場合に表示されるテキスト要素を定義します。
.AxisLine 負の値を含むチャートの0(ゼロ)を示します。
.GridLine チャートの横線および縦線を作成します。
g.dataholder rect チャートに表示されるすべてのデータに一律のスタイルを適用します。
.legenditem rect 凡例内のすべての矩形アイテムに一律のスタイルを適用します。

カスタム・カスケード・スタイルシートの参照

「チャート属性」ページの「CSS」セクションを使用して、チャート用のカスタム・カスケード・スタイルシートを参照できます。外部CSSを参照する場合は、全体を参照するか、または特定のスタイルを上書きできます。

カスタム・チャートCSSを参照するには、次の手順を実行します。

  1. CSSをOracle HTML DBにアップロードします。(「カスケード・スタイルシートのアップロード」を参照。)

  2. チャートを作成します。(「新しいチャートの作成」を参照。)

  3. ページ定義にナビゲートします。

  4. 「リージョン」で、リージョン名の横にある「チャート」をクリックします。

    「チャート属性」ページが表示されます。

  5. 「CSS」セクションまでスクロールします。

  6. 「カスタムCSSを使用」で、「はい」を選択します。

  7. 外部CSSを排他的に参照するには、次の手順を実行します。

    1. 「カスタムCSS(リンク)」で、カスタムCSSへのリンクを入力します。次に例を示します。

      #IMAGE_PREFIX#themes/theme_4/svg.css
      
      
    2. CSSが排他的に使用されるように指定します。「カスタムCSS、インライン」で、次のように入力します。

      /**/
      
      
  8. カスタムCSSを参照し、特定のスタイルを上書きするには、次の手順を実行します。

    1. 「カスタムCSS(リンク)」で、カスタム・スタイルシートへのリンクを入力します。次に例を示します。

      #IMAGE_PREFIX#themes/theme_4/svg.css
      
      
    2. 「カスタムCSS、インライン」で、上書きするカスタムCSSスタイルを入力します。

カスタムCSSスタイルのインライン指定

「チャート属性」ページの「カスタムCSS、インライン」属性を使用して、デフォルトCSS内の特定のスタイルを上書きできます。

デフォルトのCSS内の特定のスタイルを上書きするには、次の手順を実行します。

  1. チャートを作成します。(「新しいチャートの作成」を参照。)

  2. ページ定義にナビゲートします。

  3. 「リージョン」で、リージョン名の横にある「チャート」をクリックします。

    「チャート属性」ページが表示されます。

  4. 「CSS」までスクロールします。

  5. 「カスタムCSSを使用」で、「はい」を選択します。

  6. 「カスタムCSS、インライン」で、上書きするカスタムCSSスタイルを入力します。

非同期更新の有効化

「チャート属性」ページの「非同期更新」属性を有効にして、情報を監視するチャートを作成できます。この属性を有効にすると、チャートが更新され、指定した時間間隔内に基礎となるデータで行われた変更が反映されます。

非同期更新を有効にするには、次の手順を実行します。

  1. チャートを作成します。(「新しいチャートの作成」を参照。)

  2. ページ定義にナビゲートします。

  3. 「リージョン」で、リージョン名の横にある「チャート」をクリックします。

    「チャート属性」ページが表示されます。

  4. 「リフレッシュ」までスクロールします。

  5. 「非同期更新」で、「はい」を選択します。

  6. 「更新間隔(秒)」で、チャートの更新間隔(秒)を入力します。最適なパフォーマンスを得るには、2秒を超える間隔を選択します。

「非同期更新」を有効にすると、最終更新を示すタイムスタンプがチャートに表示されます。

「非同期更新」タイムスタンプを無効にするには、次の手順を実行します。

  1. 「チャート属性」ページにナビゲートします。

  2. 「CSS」セクションに移動します。

  3. 「カスタムCSSを使用」で、「はい」を選択します。

  4. 「カスタムCSS、インライン」で、#timestampを次のように編集します。

    #timestamp{display:none;}
    

他の言語でのチャートの表示

チャートを他の言語で表示するには、textおよびtspanクラスに正しい言語が反映されるように編集します。

チャートを他の言語で表示するには、次の手順を実行します。

  1. 「チャート属性」ページにナビゲートします。(「チャート属性の編集」を参照。)

  2. 「CSS」までスクロールします。

  3. 「カスタムCSSを使用」で、「はい」を選択します。

  4. 「カスタムCSS、インライン」で、textおよびtspanクラスに正しい言語が反映されるように編集します。次の例では、チャートを韓国語に変更する方法を示します。

    text{fill:#000000;}
    tspan{fill:#000000;}
    
    

ボタンの作成

アプリケーションを設計する際、ボタンを使用して、特定のページまたはURLを表示したり、情報をポストまたは処理するようにできます(たとえば、「作成」、「取消」、「次へ」、「戻る」または「削除」ボタンを作成します)。

ボタンでは、2つの異なるタイプの操作を実行できます。ボタンを使用して、ページを送信してから、URLにリダイレクトできます。また、ページを送信せずに、URLにブランチするのみの操作も可能です。

このセクションの内容は次のとおりです。

ウィザードを使用したボタンの作成

ボタンを作成するには、ページ定義から「ボタンを作成」ウィザードを実行します。各ボタンは、リージョンに存在します。リージョンはページ上の領域で、コンテンツのコンテナとして機能します。

新しいボタンを作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 必要に応じて、HTMLリージョンを作成します。(「リージョンのカスタマイズ」を参照。)

  3. 「ボタン」で、「作成」アイコンをクリックします。

    「ボタンを作成」ウィザードが表示されます。

  4. ボタンを含めるリージョンを選択します。

  5. ボタンの位置を選択します。

    • このリージョン・アイテムで表示されるボタンを作成

    • リージョン位置にボタンを作成

    ボタンをアイテムとしてリージョンに追加する(たとえば、フォーム・フィールドの右にボタンを直接追加する)には、「このリージョン・アイテムで表示されるボタンを作成」を選択します。

  6. リージョン位置にボタンを作成」を選択する場合は、次の手順を実行します。

    1. 「ボタン名」および「ラベル」を指定します。

    2. ボタン・タイプ「HTMLボタン(デフォルト)」、「イメージ」または「テンプレート駆動」を選択します。

      「元に戻す」ボタンを作成するには、「ボタンをリセット」を選択します。このタイプのボタンが有効になっている場合、ページの値がこのページの初期レンダリング時の状態にリセットされます。

    3. アクションを選択します。

      ページを送信してURLにリダイレクト」を選択すると、ユーザーがボタンをクリックするたびに、HTML DBエンジンにカレント・ページが送信されます。

      ページを送信せずにURLにリダイレクト」を選択すると、ページの送信が回避されます。ページを処理のために送信する必要がない場合(「取消」ボタンなど)、このアクションを選択します。このアクションでは、データベースでの処理が回避され、負荷が軽減されます。

  7. このリージョン・アイテムで表示されるボタンを作成」を選択する場合は、次の手順を実行します。

    1. 「ボタン名」および「順序」を指定します。

    2. ボタンを新しい行に表示するか、新しいフィールドに表示するかを指定します。

    3. 「ラベル」を指定します。

    4. リクエストの値を入力します。

    5. ボタン・スタイルを選択します。

  8. 画面に表示される手順に従います。

HTMLボタンの作成

ボタンは、事前定義されたリージョン・テンプレート位置またはフォーム内のアイテムに配置できます。HTMLボタンを作成するには、「ボタンを作成」ウィザードの実行中に次のいずれかを選択します。

  • 「タスク」で、「リージョン位置にボタンを作成」を選択します。

  • 「ボタン・タイプ」で、ボタン・タイプを選択し、次に「HTMLボタン」(デフォルト)を選択します。

複数のボタンの作成

「複数のボタンを作成」ウィザードを使用すると、同じリージョン内に一度に複数のボタンを作成できます。

一度に複数のボタンを作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 必要に応じて、HTMLリージョンを作成します。(「リージョンのカスタマイズ」を参照。)

  3. 「ボタン」で、「作成」アイコンをクリックします。

    「ボタンを作成」ウィザードが表示されます。

  4. 「タスク」リストから、「複数のボタンを作成」を選択します。

    「複数のボタンを作成」ウィザードが表示されます。

  5. 「リージョンにボタンを配置」から、ボタンを含めるリージョンを選択します。

  6. 「テンプレート」からテンプレートを選択します。

  7. 「HTML属性」で、これらのボタンのHTML属性を指定します。このテキストがHTML要素の定義に追加されます。たとえば、テキスト・ボタンのクラスを次のように設定できます。

    class="myclass"
    
    
  8. 残りのフィールドに迅速に移入するには、ページの右側にある「クイック・ボタン」リストから選択します。

  9. ボタンを作成」をクリックします。

ボタン名とREQUESTの関係の理解

ボタンに付けた名前によって、組込み属性REQUESTの値が決まります。バインド変数:REQUESTを使用して、PL/SQL内のREQUESTの値を参照できます。このバインド変数を使用して、ユーザーがクリックするボタンに応じてプロセス、検証またはブランチを条件付きで実行できます。ユーザーがボタンをクリックした際に実行されるプロセスを作成することもできます。また、より複雑な条件も使用できます。次に例を示します。

If :REQUEST in ('EDIT','DELETE') then ...
If :REQUEST != 'DELETE' then ...

これらの例では、「EDIT」および「DELETE」という名前のボタンが存在すると想定します。この構文は、PL/SQL式の条件にも使用できます。ただし、ボタン名の大/小文字が保持されることに注意してください。ボタン名を「LOGIN」に指定した場合、名前「Login」を検索するリクエストは失敗します。次に例を示します。

<input type="BUTTON" value="Finish" onClick="javascript:doSubmit('Finish');">

この例では、FinishREQUESTの名前で、大/小文字が区別されます。

ボタンを使用したブランチ処理

各ページには、任意の数のブランチを含めることができます。ブランチは、アプリケーションの他のページまたはURLにリンクします。HTML DBエンジンでは、ページ・プロセス中の異なる時点でブランチが検討されます。プロセス前、計算前、検証前およびプロセス後のどの時点でブランチするかを選択できます。Application Builderの他のコントロールと同様に、ブランチ処理には条件を設定できます。たとえば、ユーザーがボタンをクリックした場合にブランチできます。ブランチを作成する場合は、ブランチを特定のボタンに関連付けます。ブランチは、ユーザーがボタンをクリックした場合にのみ検討されます。

ボタンの条件付き表示

ボタンを条件付きで表示するには、「ページ・ボタンを編集」ページの属性を編集します。

ボタンを条件付きで表示するには、次の手順を実行します。

  1. ボタンを作成します。(「ウィザードを使用したボタンの作成」を参照。)

  2. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  3. 「ボタン」で、ボタン名を選択します。

    ボタンの属性ページが表示されます。

  4. 「条件付きボタン表示」までスクロールします。

  5. 「条件タイプ」リストから選択します。

  6. 表示されるフィールドに式を入力します。

  7. 変更を適用」をクリックします。

アイテムの作成

アイテムは、HTMLフォームの一部です。アイテムは、テキスト・フィールド、テキスト領域、パスワード、コンボボックス、チェック・ボックスなどを示します。アイテム属性は、ページ上のアイテムの表示に影響します。たとえば、これらの属性は、ラベルの表示位置、アイテムの大きさ、アイテムの表示位置(左右、上下)に影響します。

アイテムには、ページ・アイテムとアプリケーション・アイテムの2つのタイプが存在します。ページ・アイテムはページ上に配置され、「表示形式」、「ラベル」、「ラベル・テンプレート」などの関連付けられたユーザー・インタフェースのプロパティを持ちます。アプリケーション・アイテムはページに関連付けられないため、ユーザー・インタフェースのプロパティを持ちません。アプリケーション・アイテムは、グローバル変数として使用できます。

このセクションの内容は次のとおりです。

ページ・レベル・アイテムの作成

ページ・レベル・アイテムを作成するには、ページ定義から「アイテムを作成」ウィザードを実行します。

新しいページ・レベル・アイテムを作成するには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 必要に応じて、HTMLリージョンを作成します。(「リージョンのカスタマイズ」を参照。)

  3. 「アイテム」で、「作成」アイコンをクリックします。

  4. アイテム・タイプを選択します。(「アイテム・タイプ」を参照。)

  5. 画面に表示される手順に従います。

アイテムのネーミング規則

アイテム名を指定するには、次の規則に従います。 アイテム名の規則は次のとおりです。

  • 引用符は使用できません。

  • 先頭は文字または数字にする必要があります。2文字目以降には、文字、数字またはアンダースコア文字を使用できます。

  • 大/小文字は区別されません。

  • 30文字以下にする必要があります。

  • 基となるASCIIキャラクタ・セットに含まれない文字を指定できません。

アイテム・タイプ

アイテムの作成時に、アイテム・タイプを指定します。アイテムを作成すると、「ページ・アイテムを編集」ページの「表示形式」リストに、アイテムのタイプが表示されます。表8-6に、使用可能なアイテム・タイプを示します。

表8-6 使用可能なアイテム・タイプ

アイテム・タイプ 説明
ボタン Oracle HTML DBでのフォームの作成に使用されます。フォーム内の他のフィールド(アイテム)にボタンを配置するには、「アイテムのボタン」を使用します。このタイプのボタンをクリックすると、HTML DBエンジンが自動的にプロセス・モードに切り替わり、検証の実行、プロセスの実行または他のページへのブランチが可能になります。
表示のみ Oracle HTML DBは、HTML表を使用してアイテムをレンダリングします。このアイテムを使用すると、表を閉じて新しい表を開くことによって、フォームのアイテムのレイアウトを制御できます。
チェック・ボックス LOVを使用して表示します。チェック・ボックスとして表示されるアイテムには、LOVが必要です。チェックしたチェック・ボックスに対応する値が、コロン(:)で区切られた文字列で戻されます。

次の例に、YESを戻す単一のチェック・ボックスを作成する方法を示します。この例では、チェック・ボックスとフィールド・ラベルの両方が表示されます。

SELECT NULL display_text, 'YES' return_value FROM DUAL;

次の例では、追加テキスト「Click to select」を含めます。

SELECT 'Click to select' display_text, 'YES' return_value FROM DUAL;

参照: 戻り値の分割の詳細は、「HTMLDB_UTIL」を参照してください。

日付ピッカー 横にカレンダ・アイコンが付いたテキスト・フィールドを表示します。このアイコンをクリックすると小さいカレンダが表示され、ユーザーは日付および時刻を選択できます(オプション)。

必要な書式が「表示形式」リストに存在しない場合、「日付ピッカー(アプリケーションの書式マスクを使用)」を選択します。書式マスクを使用する場合は、アプリケーションによってアイテムPICK_DATE_FORMAT_MASKの書式が検索されます。このアイテム・タイプを使用するには、このアイテムを移入する必要があります。

参照: 「代替日付ピッカー・フォーマットの移入」

ファイル参照 「参照」ボタンが付いたテキスト・フィールドを表示します。これによって、ローカル・ファイル・システムのファイルを検索、およびアップロードできます。Oracle HTML DBは、これらのファイルをアップロードする表、およびファイルを取得するAPIを提供します。
非表示 HTMLの非表示のフォーム要素をレンダリングします。セッション・ステートは、テキスト・フィールドと同様に割当ておよび参照することができます。
リスト・マネージャ LOVに基づきます。このアイテムを使用すると、アイテムを選択し、リストに追加してアイテム・リストを管理できます。LOVはポップアップ表示されます。
複数選択 複数選択HTMLフォーム要素としてレンダリングします。実行時に、選択された値がコロンで区切られた文字列に戻されます。HTMLDB_UTIL APIを使用して、値を分割できます。

参照: 「HTMLDB_UTIL」

パスワード HTMLのパスワードのフォーム要素としてレンダリングします。
ポップアップLOV 横にアイコンが付いたテキスト・フィールドとしてレンダリングします。このアイコンを使用すると、ユーザーはポップアップ・ウィンドウから値を選択できます。ポップアップ・ウィンドウのリストは、LOVで作成されます。ポップアップLOVには、ウィンドウがポップアップ表示された際に行セットをフェッチするものと、フェッチしないものの2つのタイプがあります。

ポップアップLOVの値には、2つの列を選択する必要があります。次に例を示します。

SELECT ename, empno FROM emp

いずれかの列が式の場合は、別名を使用します。次に例を示します。

SELECT ename||' '||job display_value, empno FROM emp

ラジオ LOVに基づいて、HTMLのラジオ・グループのフォーム要素としてレンダリングします。ラジオ・ボタンの選択時にページを送信するには、「送信機能付きラジオ・グループ」を選択します。

次の例では、従業員名(ename)が表示されますが、従業員番号(empno)が戻されます。

SELECT ename, empno FROM emp

選択リスト LOVを使用して表示します。選択リストとしてアイテムを表示するには、LOVが必要です。選択リストは、HTMLフォーム要素<select>を使用してレンダリングされます。選択リストの値は、名前付きLOVまたはアイテム・レベルで定義されたLOVで決まります。表示値および戻り値にはNULLを指定できます。

次の例では、従業員名(ename)および従業員番号(empno)がemp表から戻されます。列の別名は必須ではありませんが、この例では、意味を明確にするために含まれています。

SELECT ename display_text, empno return_value FROM emp

Oracle HTML DBでは、標準的なHTML選択リストに加えて次の拡張機能が提供されます。

  • 送信機能付き選択リスト: ユーザーがページで選択した値を変更すると、そのページが送信されます。ページが送信されると、選択リストを表すアイテム名にREQUESTが設定され、条件付き計算、検証、プロセスおよびブランチを実行できます。

  • リダイレクト機能付き選択リスト: ユーザーを同じページにリダイレクトし、セッション・ステートの選択リストの新しく選択された値のみを設定します。

  • URLリダイレクトを戻す選択リスト: 戻り値としてURLを含むLOVに基づきます。選択リストの値を変更すると、ブラウザが対応するURLにリダイレクトします。

  • ページへのブランチ付き選択リスト: 戻り値としてページ番号を含むLOVに基づきます。選択リストで選択された値を変更すると、HTML DBエンジンが対応するページにブランチします。

テキスト 最大30,000バイトのテキストを含むHTMLテキスト・フィールドとして表示します。「高さ」および「幅」アイテム属性を編集して最大長と表示幅を制御します。
テキスト領域 HTMLのテキスト領域としてレンダリングします。これは、テキスト領域として表示されるアイテムの最大長ではありません。「高さ」および「幅」アイテム属性を編集して、高さと幅を制御します。さらに使用可能なテキスト領域の表示形式のオプションには、次のものがあります。
  • 高さ自動調整機能付きテキスト領域: テキストの量に基づいて高さが変更されます。このオプションを使用して、大量のデータがある場合は大きいテキスト領域に、データがわずかであるかまたはない場合はより小さいテキスト領域になります。

  • 文字カウント機能付きテキスト領域: フィールドに入力されたバイト数を示すカウンタを含みます。

  • スペル・チェック機能付きテキスト領域: ポップアップの英語スペル・チェッカを提供します。

  • HTMLエディタ付きテキスト領域: 基本的なテキスト書式制御を提供します。一部のブラウザでは、これらの制御が動作しない場合があることに注意してください。

テキスト テキスト・コントロールで使用可能な表示オプションは、次のとおりです。
  • テキスト・フィールド: テキスト・フィールドとしてレンダリングします。

  • テキスト・フィールド(使用不可、状態を保存しない): セッション・ステートのアイテムの値を使用してLOVから読取り専用バージョンの表示値を表示し、関連付けられたLOVで対応する表示値を検索します。画面に表示された値は、送信時にセッション・ステートには保存されません。

  • テキスト・フィールド(使用不可、状態を保存する): セッション・ステートのアイテムの値を使用してLOVから読取り専用バージョンの表示値を表示し、関連付けられたLOVで対応する表示値を検索します。

  • テキスト・フィールド([Enter]を押すと常にページを送信): セッション・ステートの読取り専用バージョンの値を表示します。送信されると、表示された値はセッション・ステートに保存されます。

  • ポップアップ計算機付きテキスト・フィールド: 横にアイコンが付いたテキスト・フィールドとしてレンダリングします。このアイコンをクリックすると、計算機付きの小さいウィンドウが表示されます。計算結果は、テキスト・フィールドに表示されます。


アイテム値の参照

リージョン、計算、プロセス、検証およびブランチのセッション・ステートに格納されたアイテム値を参照できます。表8-7に、アイテム値を参照するためにサポートされている構文を示します。

表8-7 アイテム値を参照するための構文

タイプ 構文 説明
SQL :MY_ITEM 30バイト以下のアイテム用の標準のバインド変数構文。この構文は、SQL問合せおよびPL/SQL内の参照用に使用します。
PL/SQL V('MY_ITEM') Vファンクションを使用してアイテム値を参照するPL/SQL構文。

参照: 「Oracle HTML DB API」

PL/SQL NV('MY_NUMERIC_ITEM') NVファンクションを使用して数値アイテム値を参照する標準のPL/SQL構文。

参照: 「Oracle HTML DB API」

静的テキスト &MY_ITEM 静的テキスト。
静的テキスト(完全置換) &MY_ITEM. 静的テキスト。完全置換です。

次のいずれかの方法を使用すると、アプリケーションのアイテム値を設定できます。

  • ページ・アイテムの場合、ソース属性を使用してアイテム値を設定します。

    ページ定義からアイテム名を選択して、「ページ・アイテムを編集」ページを表示します。「ソース」までスクロールして、該当するフィールドを編集します。

    次の構文を使用して、PL/SQLまたはプロセスに基づく任意のリージョンのアイテム値を設定することもできます。

    BEGIN
     :MY_ITEM :=  'new value';
    END;
    
    
  • f?p構文を使用してURL参照の値を渡します。次に例を示します。

    f?p=100:101:10636547268728380919::NO::MY_ITEM:ABC
    
    
  • 計算を使用して値を設定します。計算は、アイテム値を設定するように設計されています。次に例を示します。

    TO_CHAR(SYSDATE,'Day DD Month, YYYY');
    
    
  • PL/SQL APIを使用して、PL/SQLコンテキストにアイテム値を設定します。次に例を示します。

    HTMLDB_UTIL.SET_SESSION_STATE('MY_ITEM',SYSDATE);
    
    

条件付きアイテムまたは読取り専用アイテムの表示

「ページ・アイテムを編集」ページで属性を編集することによって、アイテムを条件付きまたは読取り専用で表示できます。

アイテムを条件付きまたは読取り専用で表示にするには、次の手順を実行します。

  1. アイテムを作成します。( 「ページ・レベル・アイテムの作成」を参照。)

  2. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  3. 「アイテム」で、アイテム名を選択します。

    アイテムの属性ページが表示されます。

  4. アイテムを条件付きで表示するには、次の手順を実行します。

    1. 「条件付き表示」までスクロールします。

    2. 「条件タイプ」リストから選択します。

    3. 表示されるフィールドに式を入力します。

  5. アイテムを読取り専用にするには、次の手順を実行します。

    1. 「読取り専用の表示設定」までスクロールします。

    2. 「読取り専用条件タイプ」リストから選択します。

    3. 表示されるフィールドに式を入力します。

  6. 変更を適用」をクリックします。

アプリケーション・レベル・アイテムの作成

アプリケーション・レベル・アイテムは表示されませんが、アプリケーションへのグローバル変数として使用されます。アプリケーション・レベル・アイテムを参照するには、ON_NEW_INSTANCEの計算を使用して値を設定する必要があります。

新しいアプリケーション・レベル・アイテムを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーション名を選択します。

  3. Application Builderが表示されたら、「共有コンポーネント」をクリックします。

  4. 「ロジック」で、「アイテム」を選択します。

    「アプリケーション・アイテム」ページが表示されます。

  5. 新しいアプリケーション・アイテムを作成するには、「作成」アイコンをクリックします。

  6. 画面に表示される手順に従います。

アプリケーション・アイテム履歴へのアクセス

「アプリケーション・アイテム」ページの上部で「履歴」をクリックすると、アプリケーション・アイテムへの変更履歴を表示できます。

代替日付ピッカー・フォーマットの移入

日付ピッカー・アイテムを作成する必要はあるが、必要なフォーマットを「表示形式」リストに表示しない場合は、「日付ピッカー(アプリケーションの書式マスクを使用)」を選択する必要があります。アプリケーションがこのタイプの日付ピッカーを使用する場合、HTML DBエンジンによって、PICK_DATE_FORMAT_MASKというアイテムから日付書式が導出されます。次の2つの方法で、このアイテムを移入できます。

  • PICK_DATE_FORMAT_MASKというアプリケーション置換文字列を定義する

  • PICK_DATE_FORMAT_MASKというアプリケーション・レベル・アイテムを作成する

アプリケーション置換文字列としてのPICK_DATE_FORMAT_MASKの定義

PICK_DATE_FORMAT_MASKを移入する方法の1つに、アプリケーション置換文字列の作成があります。「アプリケーション属性を編集」ページで、アプリケーション・レベルの置換文字列を定義します。アプリケーション・レベルの置換文字列は静的値であり、実行時に変更できないことに注意してください。

PICK_DATE_FORMAT_MASKという新しいアプリケーション置換文字列を定義するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

    Application Builderが表示されます。

  3. 属性を編集」アイコンをクリックします。

  4. 「静的置換文字列」までスクロールします。

  5. PICK_DATE_FORMAT_MASKという新しい静的置換文字列を作成します。

    1. 「置換文字列」で、名前PICK_DATE_FORMAT_MASKを入力します。

    2. 「置換値」で、日付書式の値を入力します(たとえば、Month DD, YYYYなど)。

PICK_DATE_FORMAT_MASKというアプリケーション・レベル・アイテムの定義

PICK_DATE_FORMAT_MASKを移入する別の方法は、PICK_DATE_FORMAT_MASKというアプリケーション・レベル・アイテムを作成することです。この方法を使用すると、このアイテムの値を設定するだけで、「日付ピッカー(アプリケーションの書式マスクを使用)」としてレンダリングされたすべてのアイテムを制御できます。また、アプリケーション内のどの場所からでも計算を使用して、PICK_DATE_FORMAT_MASKの値を設定できます。

ユーザーに設定項目として日付書式のリストを提供する場合は、PICK_DATE_FORMAT_MASKというアプリケーション・レベル・アイテムを作成した後で、計算を使用し、ユーザーの選択に基づいてこのアイテムの値を設定する必要があります。

LOVの作成

LOVは、ポップアップLOV、選択リスト、チェック・ボックス、ラジオ・グループ、複数の選択リストなどの、特定のタイプのページ・アイテムを表示するために使用される静的定義または動的定義です。

このセクションの内容は次のとおりです。

アプリケーション・レベルでの名前付きLOVの作成

「LOVを作成」ウィザードを実行して、アプリケーション・レベルで名前付き(共有)LOVを定義し、これらのLOVを名前付きLOVリポジトリに追加します。すべてのLOVは、静的LOVまたは動的LOVとして定義できます。静的リストは、表示と戻り値の事前定義された組合せに基づきます。動的リストは、表から値を選択するように作成したSQL問合せに基づきます。

名前付きLOVを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーション名を選択します。

  3. Application Builderが表示されたら、「共有コンポーネント」をクリックします。

  4. ユーザー・インタフェースで、「LOV」を選択します。

  5. 新しいLOVを作成するには、「作成」アイコンをクリックします。

  6. 画面に表示される手順に従います。

    新しい名前付きLOVが名前付きLOVリポジトリに追加されます。

静的LOV

静的LOVは、「LOVを作成」ウィザードの実行時に指定する表示と戻り値の静的リストに基づきます。静的LOVを作成するには、「LOVを作成」ウィザードを実行して、LOVタイプに「静的」を選択します。Oracle HTML DBによって、指定した表示値、戻り値およびソート順序が名前付きLOVリポジトリに格納されます。リポジトリに静的LOVを追加すると、アイテムを作成し、この定義に基づいてチェック・ボックス、ラジオ・グループ、選択リストまたはポップアップ・リストとしてアイテムを表示できます。

ポップアップLOV

1つのページで戻すには大きすぎるLOVの場合には、ポップアップLOVを使用することをお薦めします。ポップアップLOVでは、標準のテキスト・フィールドの右にアイコンが作成されます。 このアイコンをクリックすると、LOVを含むポップアップ・ウィンドウが表示されます。このLOVは、一連のリンクとして表示されます。この検索可能なリストから値を選択すると、選択した値がテキスト・フィールドに配置されます。ポップアップLOVは、テンプレートで制御します。ポップアップLOVテンプレートは、各アプリケーションに1つのみ指定できます。

ポップアップLOVは、異なる列別名を持つ2つの列を選択する問合せに基づく必要があります。次に例を示します。

SELECT ename name, empno id
   FROM emp

LOV内でのセッション・ステートの参照

バインド変数を使用して、セッション・ステートを参照できます。次の例に示すLOVは、my_deptnoというアイテムに有効な部門番号が含まれている場合にのみ動作します。

SELECT ename, empno FROM emp WHERE deptno = :my_deptno

LOVレポートへのアクセス

Application Builderには、LOVの管理に役立つ次のような多くのレポートが含まれています。

LOVレポートへのアクセス

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーション名を選択します。

  3. Application Builderが表示されたら、「共有コンポーネント」をクリックします。

  4. ユーザー・インタフェースで、「LOV」を選択します。

  5. ページ上部の次のいずれかのボタンを選択します。

    • LOVのNULL表示値を編集

    • サブスクリプション

    • 使用状況

    • 履歴

  6. 画面に表示される手順に従います。

LOVのデータ値をバルク更新

LOVのNULL表示値を編集」をクリックすると、「LOVのデータ値をバルク更新」ページが表示されます。このページを使用すると、すべての静的LOVの値を同時に表示できます。変更を保存するには、「変更を適用」をクリックします。特定の名前を検索するには、ページ上部にキーワードを入力し、「実行」をクリックします。

サブスクライブされたLOV

サブスクリプション」をクリックすると、「サブスクライブされたLOV」ページが表示されます。このページには、アプリケーションに存在するサブスクライブされたLOVがすべて表示されます。

LOVの使用状況

使用状況」をクリックすると、「LOVの使用状況」ページが表示されます。このページには、カレント・アプリケーションで使用されるLOVが表示されます。LOVを編集するには、LOV名をクリックします。

LOV変更履歴

履歴」をクリックすると、「LOV変更履歴」ページが表示されます。このページには、最近変更されたLOVの履歴が日付ごとに表示されます。

カレンダの作成

Oracle HTML DBには、カレンダを生成するための組込みウィザードが含まれています。カレンダの基になる表を指定すると、特定の列に格納されている情報へドリルダウンするリンクを作成できます。

このセクションの内容は次のとおりです。

カレンダの作成

Oracle HTML DBは、次の2種類のカレンダをサポートしています。

  • 簡易カレンダ: 指定したスキーマ、表および列に基づくカレンダを作成します。ウィザードによって、日付列および表示列の選択を求めるプロンプトが表示されます。

  • SQLカレンダ: 指定したSQL問合せに基づくカレンダを作成します。指定したSQL SELECT文には、少なくとも2つの列(日付列および表示列)が含まれている必要があります。

日付列は、エントリが含まれるカレンダ上の日付を決定します。表示列は、カレンダ日付を表示する特定の行を定義します。

サポートされているカレンダ置換文字列

Oracle HTML DBでは、多くの日付書式置換文字列がサポートされています。「カレンダ・テンプレート」ページで、サポートされている置換文字列の完全なリストを表示できます。

カレンダでサポートされている置換文字列のリストを表示するには、次の手順を実行します。

  1. 該当するカレンダ・テンプレートにナビゲートします。

  2. ページの右側の「置換文字列」リストを展開します。

新しいカレンダの作成

カレンダの作成方法は、既存のページにカレンダを追加するか、新しいページにカレンダを追加するかによって異なります。

既存ページへのカレンダの追加

既存ページにカレンダを追加するには、次の手順を実行します。

  1. ページ定義にナビゲートします。

  2. 「リージョン」で、「作成」アイコンをクリックします。

    「リージョンを作成」ウィザードが表示されます。

  3. カレンダ」を選択します。

  4. 作成するカレンダのタイプを選択します。

    • 簡易カレンダ: 指定した日付列および表示列に基づくカレンダを作成します。

    • SQLカレンダ: 指定したSQL問合せに基づくカレンダを作成します。

  5. 画面に表示される手順に従います。

新しいページへのカレンダの追加

新しいページでカレンダを作成するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. ページを作成」をクリックします。

  4. 作成するページのタイプを尋ねるプロンプトが表示されたら、「コンポーネントを含むページ」を選択します。

  5. コンポーネント・タイプの「カレンダ」を選択します。

  6. 作成するカレンダのタイプを選択します。

    • 簡易カレンダ: 指定した日付列および表示列に基づくカレンダを作成します。

    • SQLカレンダ: 指定したSQL問合せに基づくカレンダを作成します。

  7. 画面に表示される手順に従います。

SQLカレンダへの簡易カレンダの変換

Oracle HTML DBでカレンダを作成するには、簡易カレンダを作成することが最も簡単な方法です。ただし、結果として作成された簡易カレンダが要件を満たさない場合は、そのカレンダをSQLカレンダに変換することができます。

簡易カレンダをSQLカレンダに変換するには、次の手順を実行します。

  1. ページ定義にナビゲートします。

  2. 「リージョン」で、リージョン名の横にある「CAL」をクリックします。

    「カレンダ属性」ページが表示されます。

  3. 「タスク」リストから「SQLベースのカレンダに変換」を選択します。

    簡易カレンダがSQLカレンダに変換されると、「リージョン定義」に「リージョン・ソース」セクションが追加されます。「リージョン・ソース」には、カレンダを作成するSQL問合せが含まれます。「リージョン・ソース」へのアクセス権があるため、要件に合わせて簡単に問合せを編集できます。

カレンダ・タイトルの編集

カレンダの上部に表示されるタイトルは、リージョン・タイトルに対応しています。

リージョン・タイトルを変更するには、次の手順を実行します。

  1. ページ定義にナビゲートします。

  2. 「リージョン」で、リージョン名を選択します。

    リージョン定義が表示されます。

  3. 「リージョン」で、新しいタイトルを入力します。

  4. 変更を適用」をクリックします。

カレンダ属性の編集

カレンダを作成すると、属性を変更することによって、カレンダの表示方法を変更できます。

このセクションの内容は次のとおりです。

「カレンダ属性」ページへのアクセス

「カレンダ属性」ページにアクセスするには、次の手順を実行します。

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 「リージョン」で、リージョン名の横にある「CAL」をクリックします。

    「カレンダ属性」ページが表示されます。次のトピックでは、「カレンダ属性」ページ固有のセクションについて説明します。

カレンダ表示

「カレンダ表示」を使用して、カレンダ・テンプレート、日付列および一般的なカレンダ書式設定を指定できます。

カレンダ・テンプレートは、HTML DBエンジンがカレンダをレンダリングするときに使用するテンプレートを決定します。日付列は、日付を含む表または問合せがカレンダに配置されるときの基になる列を定義します。表示列は、カレンダ日付に表示される特定の行を定義します。

別の表示列を選択するには、次の手順を実行します。

  1. 該当する「カレンダ属性」ページにナビゲートします。

  2. 「カレンダ表示」セクションに移動します。

  3. 別の表示列を指定するには、「表示列」リストから選択します。

  4. 変更を適用」をクリックします。

カスタム表示列を指定するには、次の手順を実行します。

  1. 該当する「カレンダ属性」ページにナビゲートします。

  2. 「カレンダ表示」セクションに移動します。

  3. 「表示タイプ」で、「カスタム」を選択します。

  4. 「列の書式」で、カスタム列の書式を入力します。HTML式およびサポートされている置換文字列を使用できます。

  5. 変更を適用」をクリックします。

カレンダの間隔

「カレンダの間隔」を使用して、カレンダに含める日付を定義します。

間隔の最初から開始」は、カレンダの開始時期を決定します。このオプションを選択すると、期間全体(たとえば、1か月間)のカレンダが作成されます。次に例を示します。

  • 間隔の最初から開始」を選択した場合、6月15日に月次カレンダを表示すると、6月1日から6月30日のカレンダが作成されます。

  • 間隔の最初から開始」を選択しなかった場合、6月15日に月次カレンダを表示すると、6月15日から6月30日のカレンダが作成されます。

日付アイテム」には、カレンダの基になる日付が格納されます。

次の2つの属性は、カレンダの開始日と終了日を格納するアイテムを定義します。これらの属性を使用すると、一度に複数月にわたるカレンダを作成できます。「開始日を含むアイテム」は、カレンダの開始日が格納されるアイテムを指します。「終了日を含むアイテム」は、カレンダの終了日が格納されるアイテムを指します。いずれかのアイテムの日付書式がYYYMMDDであることを確認してください。

週の開始」は、カレンダが開始する曜日を決定します。

列リンク

「列リンク」を使用して、カレンダの列にリンクを作成します。

別のページへの列リンクを作成するには、次の手順を実行します。

  1. 該当する「カレンダ属性」ページにナビゲートします。

  2. 「列リンク」までスクロールします。

  3. 「ターゲット」から、「このアプリケーションのページ」を選択します。

  4. 「ページ」で、ターゲット・ページ番号を指定します。このページのページ区切りをリセットするには、「このページのページ区切りをリセット」を選択します。

  5. 「リクエスト」で、使用するリクエストを指定します。

  6. 「キャッシュを消去」で、キャッシュを消去するページ(ページ番号)を指定します。ページ番号をカンマで区切ってリストすることによって、複数のページを指定します。

    次の2つの属性を使用して、セッション・ステートの設定(リストしたアイテムへの値の指定)を行うことができます。

  7. セッション・ステートを設定するには、次の手順を実行します。

    1. 「次のアイテムを設定」で、セッション・ステートを設定するアイテム名をカンマで区切って入力します。

    2. 「次の値を使用」で、前述の手順で指定したアイテムの値をカンマで区切って入力します。

      静的な値または置換構文(&APP_ITEM_NAME.など)を指定できます。URLのf?p=に渡されるアイテム値にはコロン(:)を使用しないでください。また、円記号でアイテム値全体を囲んだ場合(\1234,56\など)を除いて、カンマも使用しないでください。

  8. 変更を適用」をクリックします。

URLへの列リンクを作成するには、次の手順を実行します。

  1. 該当する「カレンダ属性」ページにナビゲートします。

  2. 「列リンク」までスクロールします。

  3. 「ターゲット」から、「URL」を選択します。

  4. 「URL」で、該当するアドレスを入力します。

  5. 変更を適用」をクリックします。

日付リンク

「日付リンク」を使用して、カレンダの日付にリンクを作成します。この属性によって、カレンダの実際の数字(日付)にリンクが作成されます。

別のページへの日付リンクを作成するには、次の手順を実行します。

  1. 該当する「カレンダ属性」ページにナビゲートします。

  2. 「日付リンク」までスクロールします。

  3. 「ターゲット」から、「このアプリケーションのページ」を選択します。

  4. 「ページ」で、ターゲット・ページ番号を指定します。

    このページのページ区切りをリセットするには、「このページのページ区切りをリセット」を選択します。

  5. 「リクエスト」で、使用するリクエストを指定します。

  6. 「キャッシュを消去」で、キャッシュを消去するページ(ページ番号)を指定します。ページ番号をカンマで区切ってリストすることによって、複数のページを指定します。

    次の2つの属性を使用して、セッション・ステートの設定(リストしたアイテムへの値の指定)を行うことができます。

  7. セッション・ステートを設定するには、次の手順を実行します。

    1. 「次のアイテムを設定」で、セッション・ステートを設定するアイテム名をカンマで区切って入力します。

    2. 「次の値を使用」で、前述の手順で指定したアイテムの値をカンマで区切って入力します。

      静的な値または置換構文(&APP_ITEM_NAME.など)を指定できます。URLのf?p=に渡されるアイテム値にはコロン(:)を使用しないでください。また、円記号でアイテム値全体を囲んだ場合(\1234,56\など)を除いて、カンマも使用しないでください。

  8. 変更を適用」をクリックします。

URLへの日付リンクを作成するには、次の手順を実行します。

  1. 該当する「カレンダ属性」ページにナビゲートします。

  2. 「日付リンク」までスクロールします。

  3. 「ターゲット」から、「URL」を選択します。

  4. 「URL」で、該当するアドレスを入力します。

  5. 変更を適用」をクリックします。

ショートカットの使用

ショートカットを使用すると、HTMLまたはPL/SQLファンクションを繰り返しコーディングする必要がなくなります。ショートカットを使用して、ボタン、HTMLテキスト、PL/SQLプロシージャ、HTMLなどのページ・コントロールを定義できます。ショートカットを定義すると、そのショートカットが使用される位置に固有な特定の構文を使用して起動できます。ショートカットは何度でも参照できるため、コードの重複を削減できます。

このセクションの内容は次のとおりです。

ショートカット・タイプ

新しいショートカットを作成する際は、作成するショートカットのタイプを指定する必要があります。Oracle HTML DBは、次のショートカット・タイプをサポートしています。

  • PL/SQLファンクション本体

  • HTMLテキスト

  • エスケープされた特殊文字を持つHTMLテキスト

  • イメージ

  • エスケープされた一重引用符を持つJavaScriptのテキスト

  • メッセージ

  • エスケープされた一重引用符を持つJavaScriptのメッセージ

エスケープされた一重引用符を持つJavaScriptのテキスト

このタイプのショートカットを使用して、JavaScriptリテラル文字列内部のショートカットを参照します。このショートカットは、テキスト文字列を定義します。ショートカットが参照されると、JavaScriptに必要な一重引用符がエスケープされます。

メッセージ

このタイプのショートカットを使用して、実行時に変換可能なメッセージを参照します。このショートカットには、ショートカット・ボディがないため、ショートカット名と対応するメッセージ名は一致する必要があります。実行時、ショートカット名は、現在の言語に変換可能なメッセージのテキストに拡張されます。

エスケープされた一重引用符を持つJavaScriptのメッセージ

このタイプのショートカットを使用して、JavaScriptリテラル文字列内部のショートカットを参照し、実行時に変換可能なメッセージを参照します。

ショートカットの定義

ショートカットをアプリケーションに組み込むには、ショートカットを定義して、ショートカット・リポジトリに追加する必要があります。新しいショートカットを参照するには、次の構文を使用します。

"MY_SHORTCUT"

ショートカットの名前は、大文字で指定し、引用符で囲む必要があります。

新しいショートカットを定義するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーション名を選択します。

  3. Application Builderが表示されたら、「共有コンポーネント」をクリックします。

  4. ユーザー・インタフェースで、「ショートカット」を選択します。

  5. 作成」をクリックします。

  6. 次のいずれかの項目を選択します。

    • 最初から

    • 既存のショートカットのコピーとして

  7. 画面に表示される手順に従います。

新しいショートカットがショートカット・リポジトリに追加され、次の属性で選択可能になります。

ショートカット・レポートの表示

Application Builderには、LOVの管理に役立つ次のような多くのレポートが含まれています。

最近のショートカットの変更が記載されたレポートを表示するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーション名を選択します。

  3. Application Builderが表示されたら、「共有コンポーネント」をクリックします。

  4. ユーザー・インタフェースで、「ショートカット」を選択します。

  5. 作成」をクリックします。

  6. 画面に表示される手順に従います。

サブスクライブされたショートカット

サブスクリプション」をクリックすると、「サブスクライブされたショートカット」ページが表示されます。このページには、アプリケーションに存在するサブスクライブされたショートカットがすべて表示されます。

ショートカット履歴

履歴」をクリックすると、「ショートカット履歴」ページが表示されます。このページには、最近変更されたショートカットの履歴が日付ごとに表示されます。

アプリケーションへのJavaScriptの組込み

Web配置のすべてのメリットを失わずに、検出されたクライアント/サーバー・アプリケーションを擬似実行するファンクションを追加する最も有効な方法は、JavaScriptをWebアプリケーションに追加する方法です。Oracle HTML DBには、JavaScript追加専用に設計された複数の組込みインタフェース(フック)が含まれています。

JavaScriptは、データ処理集中型検証には適していません。たとえば、名前が大規模データベース表内に含まれていることを検証するには、大容量のHTMLドキュメントを作成して、すべてのレコードをクライアントにプルダウンする必要があります。通常、複雑な操作には、JavaScriptではなくサーバー・サイドHTML DB検証の方がより適しています。

このセクションの内容は次のとおりです。

JavaScriptを使用したアイテムの参照

アイテムを参照する場合、最も有効な方法は、IDで参照する方法です。WebブラウザでOracle HTML DBページのHTMLソースを表示すると、すべてのアイテムにID属性が含まれていることがわかります。このIDは、アイテム・ラベルではなく、アイテム名に対応します。たとえば、P1_FIRST_NAMEという名前で、First Nameというラベルを持つアイテムを作成した場合、IDはP1_FIRST_NAMEになります。

アイテムIDがわかると、JavaScriptファンクションgetElementByIdを使用してアイテムの属性および値を取得および設定できます。次に、IDでアイテムを参照する方法およびアラート・ボックスにその値を表示する方法の例を示します。

<script language="JavaScript1.1" type="text/javascript">
  function firstName(){
    alert('First Name is ' + document.getElementById('P1_FIRST_NAME').value );
  }
 // or a more generic version would be
  function displayValue(id){
    alert('The Value is ' + document.getElementById(id).value );
  }
</script>

  // Then add the following to the "Form Element Attributes" Attribute of the item:
  onChange="javascript:displayValue('P1_FIRST_NAME');"

HTMLフォームの要素属性名(前述の例で示したp_t01という形式)を使用してアイテムは参照しないでください。名前属性は動的で、ページのレンダリング時に決定されることに注意してください。たとえば、ページで最初にレンダリングされる要素がp_t01で、2番目にレンダリングされる要素がp_t02であるとします。p_t01を参照するファンクションを作成した後、最初に表示されるページで新しいアイテムを作成すると、p_t01であったアイテムがp_t02になり、ファンクションは機能しなくなります。

JavaScriptファンクションの組込み方法

JavaScriptファンクションを組み込む場所は、主に2つあります。

  • ページの「HTMLヘッダー」属性内。

  • ページ・テンプレートの.jsファイル内。


参照:

JavaScriptリテラル文字列内部のショートカットの参照については、「エスケープされた一重引用符を持つJavaScriptのテキスト」を参照してください。

「HTMLヘッダー」属性へのJavaScriptの統合

JavaScriptをアプリケーションに含める方法の1つとして、JavaScriptをページの「HTMLヘッダー」属性に追加する方法があります。これは、ページに固有のファンクションに有効な方法で、ファンクションを.jsファイルに組み込む前にテストを行う有効な方法でもあります。

「ページ属性」ページの「HTMLヘッダー」属性にコードを入力するだけで、JavaScriptファンクションをページに追加できます。たとえば、次のコードを追加すると、カレント・ページのすべての場所からアクセス可能なファンクションがテストされます。

<script language="JavaScript1.1" type="text/javascript>
  function test(){
    alert('This is a test.');
  }
</script>

「ページ・テンプレート」の.jsファイルへのJavaScriptの挿入

ページ・テンプレートの.jsファイル内。.jsファイルは、アプリケーションの最初のページ・ビューにロードされた後、ブラウザでキャッシュされるため、これが最も有効な方法となります。

次に、ページ・テンプレートのヘッダー・セクションに.jsファイルを組み込む方法を示します。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>#TITLE#</title>
    #HEAD#
    <script src="#APP_IMAGES#custom.js" type="text/javascript"></script>
</head>
<body #ONLOAD#>#FORM_OPEN#

ボタンからのJavaScriptのコール

リクエストを確認する最も有効な方法は、ボタンからJavaScriptをコールする方法です。実際、Oracle HTML DBでは、ほぼすべてのオブジェクトの削除操作にこの方法を使用します。たとえば、ボタンを削除する場合は、リクエストの確認を求めるJavaScriptアラート・ボックスが表示されます。次に例を示します。

<script language="JavaScript1.1" type="text/javascript">
  function deleteConfirm(msg)
  {
var confDel = msg;
if(confDel ==null)
  confDel= confirm("Would you like to perform this delete action?");
else
  confDel= confirm(msg);

if (confDel== true)
  doSubmit('Delete');
  }
</script>

この例では、削除操作を確認するファンクションを作成した後、ボタンからそのファンクションをコールします。このファンクションは、オプションでページを送信し、内部変数:REQUESTの値をDeleteに設定するため、リクエストの値に基づいて条件付きで実行されるプロセスを使用して削除を実行します。

ボタンの作成時に、「ページを送信せずにURLにリダイレクト」アクションを選択する必要があります。その後、URLターゲットを次のように指定します。

javascript:confirmDelete('Would you like to perform this delete action?');

依存選択リストの作成

選択リストを使用して、同じページに存在する別の選択リストの値の範囲を決定できます。これは、駆動側の選択リストから後続の選択リストに値を送信することによって行います。これらの値は、問合せのWHERE句のバインド変数として、後続の選択リストに組み込みます。

あるLOVによって別のLOVを駆動する方法を次に示します。

次に例を示します。最初のLOVで、州を選択できます。

SELECT state_name d, state_id v
FROM states

2つ目のLOVでは、最初のLOVで選択した州に基づいて国名および国IDを選択できます。

SELECT county_name d, county_id v
  FROM counties
WHERE state_id = :Px_STATE_ID

ヘルプ・ページの作成

Oracle HTML DBには、アプリケーションのヘルプを迅速かつ容易に作成するための組込み属性が含まれています。アプリケーションのヘルプを作成するには、次の手順を実行します。

Oracle HTML DBで作成したヘルプは、専用のヘルプ・ページに表示されます。ヘルプを表示するには、専用のヘルプ・ページへのリンクをクリックします。このヘルプ・ページには、表示しているページに固有のページ・ヘルプおよびアイテム・ヘルプのトピックが表示されます。

このセクションの内容は次のとおりです。

ヘルプ・ページおよびヘルプ・リージョンの作成

アプリケーションのヘルプを作成するための最初の手順は、専用のページおよびヘルプ・テキスト・リージョンを作成することです。

新しいヘルプ・テキスト・リージョンを作成するには、次の手順を実行します。

  1. ヘルプ用の新しいページを作成します。(「ページの追加」を参照。)

  2. ヘルプ・ページのページ定義にナビゲートします。(「ページの表示」を参照。)

  3. 「リージョン」で、「作成」アイコンをクリックします。

  4. リージョン・タイプを選択するプロンプトが表示されたら、「ヘルプ・テキスト」を選択します。

  5. 画面に表示される手順に従います。

ヘルプ・テキストの定義

ページまたは1つのアイテムのヘルプ・テキストを定義するには、属性を編集します。アプリケーションの作成時にこれらの属性を定義することをお薦めします。次の手順では、簡略化のために、これらの属性を定義した後にヘルプのテキストを定義する方法について説明します。

ページ・ヘルプ・テキストを定義するには、次の手順を実行します。

  1. ページ・ヘルプを追加するページのページ定義にナビゲートします。(「ページの表示」を参照。)

  2. 属性を編集」をクリックして、既存のページ属性を表示します。

  3. ページ・ヘルプ・テキスト」までスクロールします。

  4. 表示されたフィールドにヘルプ・テキストを入力します。

  5. 変更を適用」をクリックします。

ページ・ヘルプ・テキストが必要な各ページに対して、これらの手順を実行します。

アイテム・ヘルプ・テキストを定義するには、次の手順を実行します。

  1. アイテム・ヘルプを追加するページのページ定義にナビゲートします。

  2. 「アイテム」で、編集するアイテムの名前をクリックします。

  3. ヘルプ・テキスト」までスクロールします。

  4. 表示されたフィールドにヘルプ・テキストを入力します。

  5. 変更を適用」をクリックします。

ヘルプ・テキストが必要な各アイテムに対して、これらの手順を実行します。

アイテム・ヘルプ・テキストのレポート

アプリケーションにアイテム・ヘルプを含める場合は、「アイテム・ヘルプをバルク編集」レポートを使用して、アイテム・ヘルプの複数のトピックを一度に編集できます。

「アイテム・ヘルプをバルク編集」レポートを表示するには、次の手順を実行します。

  1. 「作業領域」ホームページにナビゲートします。

  2. 「アプリケーション」リストからアプリケーション名を選択します。

  3. 「タスク」リストから「アプリケーション・レポートを表示」を選択します。

    「管理レポート」ページが表示されます。

  4. アイテム・ヘルプ・テキスト」を選択します。

  5. 「アイテム・ヘルプ・テキスト」列で、適切な編集を行います。

  6. 変更を適用」をクリックします。

ヘルプ・ナビゲーション・バー・アイコンの作成

ヘルプを作成したら、次に、ユーザーがリンクに使用するためのナビゲーション・バー・アイコンを作成します。

ナビゲーション・バー・アイコンを作成するには、次の手順を実行します。

  1. ページ定義にナビゲートします。(「ページの表示」を参照。)

  2. 「ナビゲーション・バー」で、「作成」アイコンをクリックします。

  3. 適切なナビゲーション・バー・エントリ属性を指定します。

    • 順序

    • altタグ・テキスト

    • アイコン・イメージ名

    • イメージの高さおよびイメージの幅

    • テキスト

    ターゲット位置を指定します。

  4. ターゲット位置を指定するには、次の手順を実行します。

    • 「ターゲット・タイプ」で、「このアプリケーションのページ」を選択します。

    • 「ページ」で、ページ番号を指定します。

    • 「リクエスト」で、次のとおり入力します。

      &APP_PAGE_ID.
      
      

    「リクエスト」に置換文字列&APP_PAGE_IDを指定することによって、HTML DBエンジンに対して、ユーザーがこのアイコンをクリックした場合にカレント・ページのヘルプ・テキストを表示するように指示します。